blob: 6a04288511f819f6bc488b8326a5d3fff724808d [file] [log] [blame]
/* { dg-do compile { target int32 } } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
__attribute__((noipa)) int
t1 (int x)
{
int y = x << 31;
int z = y >> 31;
return z;
}
__attribute__((noipa)) int
t2 (unsigned int x)
{
int y = x << 31;
int z = y >> 31;
return z;
}
__attribute__((noipa)) int
t3 (int x)
{
return (x << 31) >> 31;
}
__attribute__((noipa)) int
t4 (int x)
{
return (x << 24) >> 24;
}
__attribute__((noipa)) int
t5 (int x)
{
return (x << 16) >> 16;
}
__attribute__((noipa)) long long
t6 (long long x)
{
return (x << 63) >> 63;
}
__attribute__((noipa)) long long
t7 (long long x)
{
return (x << 56) >> 56;
}
__attribute__((noipa)) long long
t8 (long long x)
{
return (x << 48) >> 48;
}
__attribute__((noipa)) long long
t9 (long long x)
{
return (x << 32) >> 32;
}
/* { dg-final { scan-tree-dump-not " >> " "optimized" } } */
/* { dg-final { scan-tree-dump-not " << " "optimized" } } */