/* { dg-do compile } */ | |
/* { dg-options "-O2" } */ | |
extern void bar (void); | |
void foo1 (unsigned int i) | |
{ | |
if (i & 4) | |
bar (); | |
} | |
void foo2 (unsigned int i) | |
{ | |
if (i & 0x80000000) | |
bar (); | |
} | |
void foo3 (unsigned char c) | |
{ | |
if (c & 4) | |
bar (); | |
} | |
void foo4 (unsigned char c) | |
{ | |
if (c & 0x80) | |
bar (); | |
} | |
/* { dg-final { scan-assembler-times "lsr" 2 } } */ | |
/* { dg-final { scan-assembler-times "cmp" 2 } } */ |