[AArch64] Merge stores of D-register values with different modes
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / pr52979-2.c
blob91d4fbca8ac5137cb2d333679fa83f7453b65db6
1 /* PR middle-end/52979 */
2 /* { dg-require-effective-target int32plus } */
4 extern void abort (void);
5 int c, d, e;
7 void
8 foo (void)
12 struct __attribute__((packed)) S { int g : 31; int h : 6; };
13 static struct S b = { 1 };
14 struct S a = { 1 };
16 void
17 bar (void)
19 a.h = 1;
20 struct S f = { };
21 b = f;
22 e = 0;
23 if (d)
24 c = a.g;
27 void
28 baz (void)
30 bar ();
31 a = b;
34 int
35 main ()
37 baz ();
38 if (a.g)
39 abort ();
40 return 0;