------- Comment #2 from rguenth at gcc dot gnu dot org 2006-10-16 10:16 ------- Differences mainline vs. 4.1.x are
@@ -8,14 +8,19 @@ test: pushl %ebp movl %esp, %ebp - subl $40, %esp - movss 12(%ebp), %xmm1 - movaps %xmm1, %xmm2 - unpcklps %xmm1, %xmm2 - movaps %xmm2, %xmm0 + subl $56, %esp + movd 12(%ebp), %mm1 + movq %mm1, %mm2 + punpckldq %mm2, %mm2 + movd %mm1, -4(%ebp) + movss -4(%ebp), %xmm1 xorps %xmm2, %xmm2 unpcklps %xmm2, %xmm1 - movlhps %xmm1, %xmm0 + movaps %xmm1, %xmm0 + movq %mm2, -16(%ebp) + movq2dq %mm2, %xmm1 + movlhps %xmm0, %xmm1 + movaps %xmm1, %xmm0 addps mm, %xmm0 movaps %xmm0, mm movl 8(%ebp), %eax i.e. 4.1.x uses MMX code here. This is PR28825 actually, I'll do a backport. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- BugsThisDependsOn| |28825 AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2006-09-06 14:23:10 |2006-10-16 10:16:09 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28960