| /* { dg-do compile } */ |
| /* { dg-options "-mlittle-endian" } */ |
| |
| unsigned short in16 = 0x1234U; |
| unsigned int in32 = 0x12345678U; |
| unsigned long in64 = 0x123456789abcdef0ULL; |
| |
| unsigned short out16 = 0; |
| unsigned int out32 = 0; |
| unsigned long out64 = 0; |
| |
| int foo (void) |
| { |
| out16 = __builtin_bswap16 (in16); |
| out32 = __builtin_bswap32 (in32); |
| out64 = __builtin_bswap64 (in64); |
| |
| return 0; |
| } |
| |
| /* { dg-final { scan-assembler "endbe\t%r., 16" } } */ |
| /* { dg-final { scan-assembler "endbe\t%r., 32" } } */ |
| /* { dg-final { scan-assembler "endbe\t%r., 64" } } */ |