1 /* PR rtl-optimization/85925 */
2 /* { dg-require-effective-target int32plus } */
3 /* Testcase by <sudi@gcc.gnu.org> */
4 
5 int a, c, d;
6 volatile int b;
7 int *e = &d;
8 
9 union U1 {
10   unsigned f0;
11   unsigned f1 : 15;
12 };
13 volatile union U1 u = { 0x4030201 };
14 
main(void)15 int main (void)
16 {
17   for (c = 0; c <= 1; c++) {
18     union U1 f = {0x4030201};
19     if (c == 1)
20       b;
21     *e = f.f1;
22   }
23 
24   if (d != u.f1)
25     __builtin_abort ();
26 
27   return 0;
28 }
29