blob: 1e010fd62ae96b364393f64b1e229992518cb44c [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Os" } */
unsigned int test_0(unsigned int a)
{
return (a & 0x000000FF) << 24 |
(a & 0x0000FF00) << 8 |
(a & 0x00FF0000) >> 8 |
(a & 0xFF000000) >> 24;
}
unsigned int test_1(unsigned int a)
{
union
{
unsigned int i;
unsigned char a[4];
} u, v;
u.i = a;
v.a[0] = u.a[3];
v.a[1] = u.a[2];
v.a[2] = u.a[1];
v.a[3] = u.a[0];
return v.i;
}
unsigned int test_2(unsigned int a)
{
return __builtin_bswap32(a);
}
unsigned long long test_3(unsigned long long a)
{
return __builtin_bswap64(a);
}
/* { dg-final { scan-assembler-times "call" 4 } } */