------- Comment #6 from jakub at gcc dot gnu dot org 2009-03-11 21:09 ------- Yeah, sync_double_compare_and_swapdi_pic and sync_double_compare_and_swap_ccdi_pic insns are a little bit register hungry, they need %eax, %edx, %ecx and one of %esi or %edi. %ebx is reserved for PIC pointer, without -fomit-frame-pointer %ebp is reserved as well, %esp is reserved, so only one of %esi and %edi is left for other stuff.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39431