1typedef unsigned short u16; 2typedef unsigned int u32; 3typedef unsigned long long u64; 4 5static u16 swap16v(u16 a) 6{ 7 return __builtin_bswap16(a); 8} 9 10static u32 swap32v(u64 a) 11{ 12 return __builtin_bswap32(a); 13} 14 15static u64 swap64v(u32 a) 16{ 17 return __builtin_bswap64(a); 18} 19 20/* 21 * check-name: builtin-bswap 22 * check-command: test-linearize $file 23 * check-description: Check that the right builtin function is called, and 24 * that the args are correctly promoted or truncated. 25 * 26 * check-output-ignore 27 * check-output-contains:call.16 .* __builtin_bswap16 28 * check-output-contains:trunc.32 .* (64) %arg1 29 * check-output-contains:call.32 .* __builtin_bswap32 30 * check-output-contains:zext.64 .* (32) %arg1 31 * check-output-contains:call.64 .* __builtin_bswap64 32 */ 33