blob: ffee04972a0eeea5b06d06941d7cadf55cfffa63 [file] [log] [blame]
/* 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" } } */