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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

https://gcc.gnu.org/g:bf69edf8ce47ca618eff30df2308279a40b22096

commit r11-3081-gbf69edf8ce47ca618eff30df2308279a40b22096
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Wed Sep 9 10:29:47 2020 -0700

    x32: Update gcc.target/i386/builtin_thread_pointer.c

    Update gcc.target/i386/builtin_thread_pointer.c for x32.  For

    int
    foo3 (int i)
    {
      int* p = (int*) __builtin_thread_pointer ();
      return p[i];
    }

    we can't generate:

            movl    %fs:0(,%edi,4), %eax
            ret

    for x32 since the address of %fs:0(,%edi,4) is %fs + zero-extended to 64
    bits of 0(,%edi,4).  Instead, we generate:

            movl    %fs:0, %eax
            movl    (%eax,%edi,4), %eax

            PR target/96955
            * gcc.target/i386/builtin_thread_pointer.c: Update scan-assembler
            for x32.

Reply via email to