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

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> ---
The code looks like:

        vmovq   %xmm2, %r15
        vmovq   %xmm3, %rbp
.LEHB0:
        call    pthread_exit
.LEHE0:
.L15:
        movl    %eax, %ebx
.L14:
        vmovq   %rbp, %xmm0
        movl    $4, %edi
        vzeroupper
        call    _Z11check_magicid

101             vmovq   %xmm3, %rbp
(gdb) next
103             call    pthread_exit
(gdb) p/x $rbp
$3 = 0x3f853f3c88fc5280
(gdb) next
106             movl    %eax, %ebx
(gdb) p/x $rbp
$4 = 0x88fc5280  <<<<< Only lower 32-bits are restored.
(gdb)

Reply via email to