2 /* { dg-options "-O" } */
3 /* { dg-require-effective-target int32plus } */
5 extern void abort (void);
6 typedef unsigned int u_int32;
9 union {u_int32 Xl_ui;} Ul_i;
10 union {u_int32 Xl_uf;} Ul_f;
19 work.Ul_f.Xl_uf = 0x535f3d8;
28 work.Ul_i.Xl_ui <<= 1;
29 if ((work.Ul_f.Xl_uf) & 0x80000000)
30 (work.Ul_i.Xl_ui) |= 0x1;
31 (work.Ul_f.Xl_uf) <<= 1;
34 (work.Ul_i.Xl_ui) <<= 1;
35 if ((work.Ul_f.Xl_uf) & 0x80000000)
36 (work.Ul_i.Xl_ui) |= 0x1;
37 (work.Ul_f.Xl_uf) <<= 1;
39 (work.Ul_i.Xl_ui) <<= 1;
40 if ((work.Ul_f.Xl_uf) & 0x80000000)
41 (work.Ul_i.Xl_ui) |= 0x1;
42 (work.Ul_f.Xl_uf) <<= 1;
44 lo_tmp = ((work.Ul_f.Xl_uf) & 0xffff) + ((ftmp.Ul_f.Xl_uf) & 0xffff);
45 hi_tmp = (((work.Ul_f.Xl_uf) >> 16) & 0xffff)
46 + (((ftmp.Ul_f.Xl_uf) >> 16) & 0xffff);
51 (work.Ul_f.Xl_uf) = ((hi_tmp & 0xffff) << 16) | (lo_tmp & 0xffff);
52 (work.Ul_i.Xl_ui) += (ftmp.Ul_i.Xl_ui);
58 if (!(work.Ul_i.Xl_ui < 10))