summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pic-1.c
blob: 25b8aae9e80ebe8c77f788e3e8ec420551eb8374 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* PR target/8340 */
/* { dg-do compile } */
/* { dg-require-effective-target ia32 } */
/* { dg-require-effective-target fpic } */
/* { dg-skip-if "No Windows PIC" { *-*-mingw* *-*-cygwin } } */
/* { dg-options "-fPIC" } */

/* Test verifies that %ebx is no longer fixed when generating PIC code on i686.  */

int foo ()
{
  static int a;

  __asm__ __volatile__ (
    "xorl %%ebx, %%ebx\n"
    "movl %%ebx, %0\n"
    : "=m" (a)
    :
    : "%ebx"
  );

  return a;
}