]> gcc.gnu.org Git - gcc.git/commit
x32: Update gcc.target/i386/builtin_thread_pointer.c
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 9 Sep 2020 17:29:47 +0000 (10:29 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 9 Sep 2020 17:42:27 +0000 (10:42 -0700)
commitbf69edf8ce47ca618eff30df2308279a40b22096
tree0310ee372fb7395b9c8aca04d7fccc6f6ae21c31
parentc6632dc9a8ee77ad66a8d62d736a9112de9e41c7
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.
gcc/testsuite/gcc.target/i386/builtin_thread_pointer.c
This page took 0.07171 seconds and 6 git commands to generate.