------- Comment #1 from pinskia at gcc dot gnu dot org 2007-08-01 23:16 ------- Hmm, the trunk is worse than the 4.2 branch for -msse2 -mfpmath=sse. Trunk: .L2: movss -4(%ebp), %xmm1 addl $1, %eax cmpl $100, %eax addss %xmm0, %xmm1 movss %xmm1, -8(%ebp) movl -8(%ebp), %edx movl %edx, -4(%ebp) jne .L2
4.2.0: .L2: movaps %xmm2, %xmm0 addl $1, %eax addss %xmm1, %xmm0 cmpl $100, %eax movaps %xmm0, %xmm1 jne .L2 So I guess I can mark this as a regression :). -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|union cause ineffient code |[4.3 Regression] union cause |inside loops |ineffient code inside loops Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32964