/* { dg-require-effective-target int32plus } */ | |
int f(unsigned int a) __attribute__((noipa)); | |
int f(unsigned int a) | |
{ | |
return ((__builtin_bswap32(a))>>24) & 0x3; | |
} | |
int g(unsigned int a) __attribute__((noipa)); | |
int g(unsigned int a) | |
{ | |
return a&0x3; | |
} | |
int main(void) | |
{ | |
for (int b = 0; b <= 0xF; b++) | |
{ | |
if (f(b) != g(b)) | |
__builtin_abort (); | |
} | |
return 0; | |
} | |