1*1f5207b7SJohn Levon unsigned short bswap16(void);
bswap16(void)2*1f5207b7SJohn Levon unsigned 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 Levon unsigned 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 Levon unsigned 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 Levon unsigned 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