Hi Folks, Can some one shed some light on this? I am trying to compile a package named tmpi and in one particular file i get this error and the person who wrote the code is unable to help. gcc version : 3.2.2 20030222 Processor : Athlon. __inline__ int cas32(volatile int *addr, int old, int new) { char ret; __asm__ __volatile__(LOCK_PREFIX "cmpxchg %2, %1\n\t" /* swap values if current value is known */ "sete %0" /* read success/fail from EF */ : "=q" (ret), "=m" (ADDR) : "r" (new), "a" (old) : "%eax" ); return (int)ret; } error: ---------- make[3]: [clean] Error 1 (ignored) cc -O -Wall -I. -D__SMP__ -c -o atomic.o atomic.c atomic.c: In function `casp': atomic.c:28: warning: cast from pointer to integer of different size atomic.c:28: warning: cast from pointer to integer of different size atomic.c: In function `cas32': atomic.c:7: can't find a register in class `AREG' while reloading `asm' make: *** [atomic.o] Error 1 __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com