blob: 69de6b2911ab1a4b470d7828b0cdd16f4c5ad676 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-sccp-details" } */
/* { dg-final { scan-tree-dump-times {final value replacement} 8 "sccp" } } */
unsigned int
__attribute__((noipa))
foo (unsigned int tmp, unsigned int bit2)
{
for (int bit = 0; bit < 64; bit++)
tmp &= bit2;
return tmp;
}
unsigned int
__attribute__((noipa))
foo1 (unsigned int tmp, unsigned int bit2)
{
for (int bit = 63; bit >= 0; bit -=3)
tmp &= bit2;
return tmp;
}
unsigned int
__attribute__((noipa))
foo2 (unsigned int tmp, unsigned int bit2)
{
for (int bit = 0; bit < 64; bit++)
tmp |= bit2;
return tmp;
}
unsigned int
__attribute__((noipa))
foo3 (unsigned int tmp, unsigned int bit2)
{
for (int bit = 63; bit >= 0; bit -=3)
tmp |= bit2;
return tmp;
}
unsigned int
__attribute__((noipa))
foo4 (unsigned int tmp, unsigned int bit2)
{
for (int bit = 0; bit < 64; bit++)
tmp ^= bit2;
return tmp;
}
unsigned int
__attribute__((noipa))
foo5 (unsigned int tmp, unsigned int bit2)
{
for (int bit = 0; bit < 63; bit++)
tmp ^= bit2;
return tmp;
}
unsigned int
__attribute__((noipa))
f (unsigned int tmp, int bit, unsigned int bit2)
{
unsigned int res = tmp;
for (int i = 0; i < bit; i++)
res &= bit2;
return res;
}
unsigned int
__attribute__((noipa))
f1 (unsigned int tmp, int bit, unsigned int bit2)
{
unsigned int res = tmp;
for (int i = 0; i < bit; i++)
res |= bit2;
return res;
}
unsigned int
__attribute__((noipa))
f2 (unsigned int tmp, int bit, unsigned int bit2)
{
unsigned int res = tmp;
for (int i = 0; i < bit; i++)
res ^= bit2;
return res;
}