PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / pr57344-2.c
blob599071ba46c28e00499179cbef15faad4baa5a17
1 /* PR middle-end/57344 */
2 /* { dg-require-effective-target int32plus } */
4 struct __attribute__((packed)) S
6 int a : 27;
7 #if __SIZEOF_INT__ * __CHAR_BIT__ >= 32
8 int b : 22;
9 #else
10 int b : 13;
11 #endif
12 char c;
13 int : 0;
14 } s[2];
15 int i;
17 __attribute__((noinline, noclone)) void
18 foo (int x)
20 if (x != -3161)
21 __builtin_abort ();
22 asm volatile ("" : : : "memory");
25 int
26 main ()
28 struct S t = { 0, -3161L };
29 s[1] = t;
30 for (; i < 1; i++)
31 foo (s[1].b);
32 return 0;