------- Comment #5 from ubizjak at gmail dot com 2007-09-25 13:58 ------- (In reply to comment #1)
> #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ > __asm__ ("addq %5,%q1\n\tadcq %3,%q0" \ > : "=r" (sh), "=&r" (sl) \ > : "0" ((UDItype)(ah)), "rme" ((UDItype)(bh)), \ > "%1" ((UDItype)(al)), "rme" ((UDItype)(bl))) > > marking %0 early-clobbered fixes the problem. We also have longlong.h in gcc/ directory, where #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("addq %5,%1\n\tadcq %3,%0" \ : "=r" ((UDItype) (sh)), \ "=&r" ((UDItype) (sl)) \ : "%0" ((UDItype) (ah)), \ "rme" ((UDItype) (bh)), \ "%1" ((UDItype) (al)), \ "rme" ((UDItype) (bl))) It looks to me that gmp's longlong.h is buggy (gcc/longlong.h is used in soft-fp TFmode calculations and these are used in a couple of places through the testsuite). > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33552