1*1f5207b7SJohn Levon unsigned short bswap16(void); bswap16(void)2*1f5207b7SJohn Levonunsigned short bswap16(void) 3*1f5207b7SJohn Levon { 4*1f5207b7SJohn Levon return __builtin_bswap16(0x1234); 5*1f5207b7SJohn Levon } 6*1f5207b7SJohn Levon 7*1f5207b7SJohn Levon unsigned int bswap32(void); bswap32(void)8*1f5207b7SJohn Levonunsigned int bswap32(void) 9*1f5207b7SJohn Levon { 10*1f5207b7SJohn Levon return __builtin_bswap32(0x12345678); 11*1f5207b7SJohn Levon } 12*1f5207b7SJohn Levon 13*1f5207b7SJohn Levon unsigned long long bswap64(void); bswap64(void)14*1f5207b7SJohn Levonunsigned long long bswap64(void) 15*1f5207b7SJohn Levon { 16*1f5207b7SJohn Levon return __builtin_bswap64(0x123456789abcdef0ULL); 17*1f5207b7SJohn Levon } 18*1f5207b7SJohn Levon 19*1f5207b7SJohn Levon unsigned int half_constant(void); half_constant(void)20*1f5207b7SJohn Levonunsigned int half_constant(void) 21*1f5207b7SJohn Levon { 22*1f5207b7SJohn Levon int v = 0x12345678; 23*1f5207b7SJohn Levon return __builtin_bswap32(v); 24*1f5207b7SJohn Levon } 25*1f5207b7SJohn Levon /* 26*1f5207b7SJohn Levon * check-name: builtin-bswap-constant 27*1f5207b7SJohn Levon * check-command: test-linearize $file 28*1f5207b7SJohn Levon * 29*1f5207b7SJohn Levon * check-output-ignore 30*1f5207b7SJohn Levon * check-output-excludes: __builtin_bswap 31*1f5207b7SJohn Levon * check-output-contains:ret.16 *.0x3412 32*1f5207b7SJohn Levon * check-output-contains:ret.32 *.0x78563412 33*1f5207b7SJohn Levon * check-output-contains:ret.64 *.0xf0debc9a78563412 34*1f5207b7SJohn Levon */ 35