2018-02-09 Sebastian Perta <sebastian.perta@renesas.com>
[official-gcc.git] / gcc / testsuite / gcc.target / s390 / pr69709.c
blobe9aa024521d5ba6ad206231cad9e4f7303e39f8c
1 /* PR69709 This testcase used to fail due to a broken risbg
2 splitter. */
4 /* { dg-do run } */
5 /* { dg-options "-O3 -march=z10" } */
8 typedef struct
10 unsigned int sig[2];
12 val_t;
14 unsigned int __attribute__ ((noinline))
15 div_significands (const val_t * a)
17 val_t u = *a;
18 int bit = 64;
19 unsigned int r;
22 u.sig[1] = (u.sig[1] << 1) | (u.sig[0] >> 31);
23 u.sig[0] = 42;
25 if (bit == 64)
26 r = u.sig[1];
28 while (--bit >= 0);
29 return r;
32 int
33 main (void)
35 val_t a = { { 0x1, 0x1 } };
36 if (div_significands (&a) != 2)
37 __builtin_abort ();
38 return 0;