blob: 1f4ffa34b48dcf1b2544c257654c0206dca95f75 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-sccp-details" } */
/* { dg-final { scan-tree-dump-times {final value replacement} 12 "sccp" } } */
unsigned short
__attribute__((noipa))
foo (unsigned short tmp)
{
for (int bit = 0; bit < 16; bit += 3)
tmp &= ~(1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo1 (unsigned short tmp)
{
for (int bit = 15; bit >= 0; bit -= 3)
tmp &= ~(1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo2 (unsigned short tmp)
{
for (int bit = 0; bit < 16; bit += 3)
tmp &= (1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo3 (unsigned short tmp)
{
for (int bit = 15; bit >= 0; bit -= 3)
tmp &= (1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo4 (unsigned short tmp)
{
for (int bit = 0; bit < 16; bit += 3)
tmp |= ~(1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo5 (unsigned short tmp)
{
for (int bit = 15; bit >= 0; bit -= 3)
tmp |= ~(1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo6 (unsigned short tmp)
{
for (int bit = 0; bit < 16; bit += 3)
tmp |= (1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo7 (unsigned short tmp)
{
for (int bit = 15; bit >= 0; bit -= 3)
tmp |= (1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo8 (unsigned short tmp)
{
for (int bit = 0; bit < 16; bit += 3)
tmp ^= ~(1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo9 (unsigned short tmp)
{
for (int bit = 15; bit >= 0; bit -= 3)
tmp ^= ~(1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo10 (unsigned short tmp)
{
for (int bit = 0; bit < 16; bit += 3)
tmp ^= (1U << bit);
return tmp;
}
unsigned short
__attribute__((noipa))
foo11 (unsigned short tmp)
{
for (int bit = 15; bit >= 0; bit -= 3)
tmp ^= (1U << bit);
return tmp;
}