1 /* PR tree-optimization/51581 */
2 /* { dg-require-effective-target int32plus } */
4 extern void abort (void);
8 unsigned int b
[N
], d
[N
];
10 __attribute__((noinline
, noclone
)) void
14 for (i
= 0; i
< N
; i
++)
18 __attribute__((noinline
, noclone
)) void
22 for (i
= 0; i
< N
; i
++)
26 __attribute__((noinline
, noclone
)) void
30 for (i
= 0; i
< N
; i
++)
34 __attribute__((noinline
, noclone
)) void
38 for (i
= 0; i
< N
; i
++)
42 __attribute__((noinline
, noclone
)) void
46 for (i
= 0; i
< N
; i
++)
50 __attribute__((noinline
, noclone
)) void
54 for (i
= 0; i
< N
; i
++)
58 #if __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8
59 __attribute__((noinline
, noclone
)) void
63 for (i
= 0; i
< N
; i
++)
65 int x
= (int) ((unsigned long long) (a
[i
] * 0x55555556LL
) >> 32) - (a
[i
] >> 31);
70 __attribute__((noinline
, noclone
)) void
74 for (i
= 0; i
< N
; i
++)
76 unsigned int x
= ((unsigned int) ((b
[i
] * 0xaaaaaaabULL
) >> 32) >> 1);
81 __attribute__((noinline
, noclone
)) void
85 for (i
= 0; i
< N
; i
++)
87 int x
= (((int) ((unsigned long long) (a
[i
] * 0x38e38e39LL
) >> 32)) >> 2) - (a
[i
] >> 31);
92 __attribute__((noinline
, noclone
)) void
96 for (i
= 0; i
< N
; i
++)
98 unsigned int x
= (unsigned int) ((b
[i
] * 0x38e38e39ULL
) >> 32) >> 2;
103 __attribute__((noinline
, noclone
)) void
107 for (i
= 0; i
< N
; i
++)
109 int x
= (((int) ((unsigned long long) (a
[i
] * 0x6bca1af3LL
) >> 32)) >> 3) - (a
[i
] >> 31);
110 c
[i
] = a
[i
] - x
* 19;
114 __attribute__((noinline
, noclone
)) void
118 for (i
= 0; i
< N
; i
++)
120 unsigned int tmp
= (b
[i
] * 0xaf286bcbULL
) >> 32;
121 unsigned int x
= (((b
[i
] - tmp
) >> 1) + tmp
) >> 4;
122 d
[i
] = b
[i
] - x
* 19;
131 for (i
= 0; i
< N
; i
++)
137 a
[0] = -__INT_MAX__
- 1;
139 a
[N
- 1] = __INT_MAX__
;
143 for (i
= 0; i
< N
; i
++)
144 if (c
[i
] != a
[i
] % 3 || d
[i
] != b
[i
] % 3)
148 for (i
= 0; i
< N
; i
++)
149 if (c
[i
] != a
[i
] % 18 || d
[i
] != b
[i
] % 18)
153 for (i
= 0; i
< N
; i
++)
154 if (c
[i
] != a
[i
] % 19 || d
[i
] != b
[i
] % 19)
156 #if __SIZEOF_INT__ == 4 && __SIZEOF_LONG_LONG__ == 8
159 for (i
= 0; i
< N
; i
++)
160 if (c
[i
] != a
[i
] % 3 || d
[i
] != b
[i
] % 3)
164 for (i
= 0; i
< N
; i
++)
165 if (c
[i
] != a
[i
] % 18 || d
[i
] != b
[i
] % 18)
169 for (i
= 0; i
< N
; i
++)
170 if (c
[i
] != a
[i
] % 19 || d
[i
] != b
[i
] % 19)