Reid Spencer | d0e30dc | 2006-12-02 04:23:10 +0000 | [diff] [blame] | 1 | ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep ret | wc -l | grep 3 && |
| 2 | ; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep 'call.*bswap' |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 3 | |
| 4 | bool %test1(ushort %tmp2) { |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame^] | 5 | %tmp10 = call ushort %llvm.bswap.i16( ushort %tmp2 ) |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 6 | %tmp = seteq ushort %tmp10, 1 |
| 7 | ret bool %tmp |
| 8 | } |
| 9 | |
| 10 | bool %test2(uint %tmp) { |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame^] | 11 | %tmp34 = tail call uint %llvm.bswap.i32( uint %tmp ) |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 12 | %tmp = seteq uint %tmp34, 1 |
| 13 | ret bool %tmp |
| 14 | } |
| 15 | |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame^] | 16 | declare uint %llvm.bswap.i32(uint) |
| 17 | |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 18 | bool %test3(ulong %tmp) { |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame^] | 19 | %tmp34 = tail call ulong %llvm.bswap.i64( ulong %tmp ) |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 20 | %tmp = seteq ulong %tmp34, 1 |
| 21 | ret bool %tmp |
| 22 | } |
| 23 | |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame^] | 24 | declare ulong %llvm.bswap.i64(ulong) |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 25 | |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame^] | 26 | declare ushort %llvm.bswap.i16(ushort) |