https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55266
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|ASSIGNED |RESOLVED --- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- The original issue is fixed. f: .LFB0: .cfi_startproc movapd (%rdi), %xmm2 movapd 16(%rdi), %xmm1 movapd %xmm2, %xmm0 addpd %xmm2, %xmm0 addpd %xmm2, %xmm0 movaps %xmm0, (%rdi) movapd %xmm1, %xmm0 addpd %xmm1, %xmm0 addpd %xmm1, %xmm0 movaps %xmm0, 16(%rdi) ret the issue in comment#4 as well I think: _Z5dotd1Dv4_fS_: .LFB3: .cfi_startproc movaps %xmm1, %xmm3 pxor %xmm2, %xmm2 movhlps %xmm0, %xmm2 cvtps2pd %xmm0, %xmm0 cvtps2pd %xmm2, %xmm1 pxor %xmm2, %xmm2 movhlps %xmm3, %xmm2 cvtps2pd %xmm3, %xmm3 cvtps2pd %xmm2, %xmm2 mulpd %xmm3, %xmm0 mulpd %xmm2, %xmm1 addpd %xmm0, %xmm1 movapd %xmm1, %xmm0 unpckhpd %xmm1, %xmm0 addpd %xmm1, %xmm0 cvtsd2ss %xmm0, %xmm0 ret .cfi_endproc .LFE3: .size _Z5dotd1Dv4_fS_, .-_Z5dotd1Dv4_fS_ .p2align 4 .globl _Z5dotd2Dv4_fS_ .type _Z5dotd2Dv4_fS_, @function _Z5dotd2Dv4_fS_: .LFB4: .cfi_startproc movaps %xmm1, %xmm3 cvtps2pd %xmm0, %xmm4 pxor %xmm2, %xmm2 movhlps %xmm0, %xmm2 pxor %xmm0, %xmm0 movhlps %xmm3, %xmm0 cvtps2pd %xmm2, %xmm2 cvtps2pd %xmm1, %xmm1 cvtps2pd %xmm0, %xmm0 mulpd %xmm4, %xmm1 mulpd %xmm0, %xmm2 addpd %xmm2, %xmm1 movapd %xmm1, %xmm0 unpckhpd %xmm1, %xmm0 addpd %xmm1, %xmm0 cvtsd2ss %xmm0, %xmm0 ret