https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89654
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Uroš Bizjak from comment #6) > (In reply to H.J. Lu from comment #4) > > Is this a dup of PR 69693? > > Yes, indeed. The issue with too many moves remain, I'll open a new PR for > that. I'll also open a new PR due to difference with -march=haswell (---) and -march=skylake (+++): --- haswell/pr89654.s 2019-03-12 13:54:24.517146380 +0100 +++ skylake/pr89654.s 2019-03-12 13:57:39.792106411 +0100 @@ -6,8 +6,16 @@ foo: .LFB0: .cfi_startproc - vmovq 4(%esp), %xmm0 - vpsllq $3, %xmm0, %xmm0 + subl $28, %esp + .cfi_def_cfa_offset 32 + movl 32(%esp), %eax + movl 36(%esp), %edx + movl %eax, (%esp) + movl %edx, 4(%esp) + vmovdqa (%esp), %xmm1 + addl $28, %esp + .cfi_def_cfa_offset 4 + vpsllq $3, %xmm1, %xmm0 vmovd %xmm0, %eax vpextrd $1, %xmm0, %edx ret