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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2023-03-29

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
init_olock_op_element_struct asm output looks fine to me:

        movzwl  .LC0(%rip), %eax
        movq    $0, (%rdi)
        movq    $0, 8(%rdi)
        movl    $0, 16(%rdi)
        movw    %ax, 20(%rdi)

LC0 is:
.LC0:
        .byte   6
        .byte   10

olock_fsm_event is fine too as it is just duplicating those basic blocks (the
calls).

init_olock_op_struct looks fine really:
        movq    %fs:0, %rax
        pxor    %xmm0, %xmm0
        movups  %xmm0, (%rdi)
        addq    $olock_tparams@tpoff, %rax

In Intel asm syntax:

        mov     rax, QWORD PTR fs:0
        pxor    xmm0, xmm0
        movups  XMMWORD PTR [rdi], xmm0
        add     rax, OFFSET FLAT:olock_tparams@tpoff

it is basically moving the TLS pointer to rax and then adding the offset for
the variable.

I don't understand what exactly you are complaining about really.

Reply via email to