https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114552

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The r13-989 to r13-990 difference is
-       movl    k(%rip), %eax
-       movl    %eax, (%rsp)
-       movzwl  k+4(%rip), %eax
-       movw    %ax, 4(%rsp)
+       movw    $1, (%rsp)
+       movl    $0, 2(%rsp)
+       movl    $0, 8(%rsp)
which clearly shows that previously it was copying just 6 bytes from k to
%rsp+0,
while now it directly sets those 6 bytes at %rsp+0 + another 4 bytes at %rsp+8.
The last insn is incorrect, shouldn't be there.

Reply via email to