/* Test QBBC recognition */ | |
/* { dg-do run } */ | |
/* { dg-options "-O1" } */ | |
/* -O1 in the options is significant. Without it bit-check-and-branch | |
operation may not be optimized to QBBC. */ | |
extern void abort (void); | |
unsigned int | |
test_qbbc_reg (unsigned int a, unsigned int b, unsigned int val) | |
{ | |
if (!(val & (1 << 19))) | |
return a; | |
return b; | |
} | |
int | |
main (int argc, char** argv) | |
{ | |
if (test_qbbc_reg (101, 505, (1u << 19)) != 505) | |
abort(); | |
if (test_qbbc_reg (101, 505, (1u << 18)) != 101) | |
abort(); | |
return 0; | |
} | |