69 lines
1.2 KiB
C
69 lines
1.2 KiB
C
/* PR tree-optimization/66299 */
|
|
/* { dg-do run } */
|
|
/* { dg-options "-fdump-tree-original" } */
|
|
|
|
void __attribute__ ((noinline, noclone))
|
|
test1 (int x)
|
|
{
|
|
if ((2 << x) == 1
|
|
|| (8 << x) == 1
|
|
|| (8 << x) == 2
|
|
|| (3072 << x) == 3
|
|
|| (294912 << x) == 9
|
|
|| (45056 << x) == 11
|
|
|| (2176 << x) == 17)
|
|
__builtin_abort ();
|
|
}
|
|
|
|
void __attribute__ ((noinline, noclone))
|
|
test2 (int x)
|
|
{
|
|
if ((2 << x) != 1
|
|
&& (8 << x) != 1
|
|
&& (8 << x) != 2
|
|
&& (3072 << x) != 3
|
|
&& (294912 << x) != 9
|
|
&& (45056 << x) != 11
|
|
&& (2176 << x) != 17)
|
|
;
|
|
else
|
|
__builtin_abort ();
|
|
}
|
|
|
|
void __attribute__ ((noinline, noclone))
|
|
test3 (int x)
|
|
{
|
|
if ((3 << x) == 4
|
|
|| (1 << x) == 12
|
|
|| (40 << x) == 1024
|
|
|| (2 << x) == 84
|
|
|| (3 << x) == 16384
|
|
|| (10 << x) == 6144)
|
|
__builtin_abort ();
|
|
}
|
|
|
|
void __attribute__ ((noinline, noclone))
|
|
test4 (int x)
|
|
{
|
|
if ((3 << x) != 4
|
|
&& (1 << x) != 12
|
|
&& (40 << x) != 1024
|
|
&& (2 << x) != 84
|
|
&& (3 << x) != 16384
|
|
&& (10 << x) != 6144)
|
|
;
|
|
else
|
|
__builtin_abort ();
|
|
}
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
test1 (0);
|
|
test2 (1);
|
|
test3 (1);
|
|
test4 (2);
|
|
}
|
|
|
|
/* { dg-final { scan-tree-dump-not "(<<|==|!=)" "original" } } */
|