------- Comment #10 from pinskia at gcc dot gnu dot org 2008-09-14 04:18 ------- Hmm, IRA for x87 produces worse code for even the non pure/const case. before: L2: fstl (%eax) leal -24(%ebp), %ecx flds (%edx) fstpl 8(%eax) addl $16, %eax cmpl %ecx, %eax jne L2
After: jmp L2 L11: fxch %st(1) L2: fstl (%eax) fxch %st(1) leal -24(%ebp), %edx fstl 8(%eax) addl $16, %eax cmpl %edx, %eax jne L11 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=5739