blob: 5014f2acad8348368335bd1ecb425947afe6a494 [file] [log] [blame]
/* { dg-do compile} */
/* { dg-options "-O2 -fdump-tree-evrp" } */
unsigned char
foo (unsigned int x)
{
_Bool y = x;
return (((unsigned char) ~0) >> y) * 2;
}
unsigned char
bar (unsigned int x)
{
return (((unsigned char) ~0) >> (_Bool) x) * 2;
}
unsigned
baz (unsigned int x)
{
if (x >= 4) return 32;
return (-1U >> x) * 16;
}
/* { dg-final { scan-tree-dump-times "254" 2 "evrp" } } */
/* { dg-final { scan-tree-dump "= PHI <32.*, 4294967280" "evrp" } } */