asm errors

dynamic ppl dynamicppl04@yahoo.com
Sun Aug 22 13:35:00 GMT 2004


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 



More information about the Gcc-help mailing list