[Bug target/44217] GCC emits cmpxchg16b which Sun as cannot handle
ro at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 11 14:04:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44217
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.01.11 13:49:30
Ever Confirmed|0 |1
--- Comment #2 from Rainer Orth <ro at gcc dot gnu.org> 2011-01-11 13:49:30 UTC ---
Looking further, there's certainly a compiler problem here. In the assembler
output for ibgomp.c/atomic-2.c, I see
> grep cmpxchg atomic-2.s
lock cmpxchgq %rcx, d(%rip)
lock cmpxchg16b ld(%rip)
The first variant can be assembled correctly by Sun as, while the second
cannot.
It seems that GCC is buggy/inconsistent here: while Sun as knows about
cmpxchg8b,
it normally requires cmpxchg{b,w,l,q}, and definitely cannot handle cmpxchg16b.
More information about the Gcc-bugs
mailing list