Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ |
Dan Gohman | f9dd170 | 2007-08-15 13:36:28 +0000 | [diff] [blame] | 2 | ; RUN: grep ret | count 3 |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 3 | ; RUN: llvm-as < %s | opt -instcombine | llvm-dis | \ |
Reid Spencer | 91948d4 | 2007-04-14 20:13:02 +0000 | [diff] [blame] | 4 | ; RUN: not grep call.*bswap |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 5 | |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 6 | define i1 @test1(i16 %tmp2) { |
| 7 | %tmp10 = call i16 @llvm.bswap.i16( i16 %tmp2 ) ; <i16> [#uses=1] |
| 8 | %tmp = icmp eq i16 %tmp10, 1 ; <i1> [#uses=1] |
| 9 | ret i1 %tmp |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 10 | } |
| 11 | |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 12 | define i1 @test2(i32 %tmp) { |
| 13 | %tmp34 = tail call i32 @llvm.bswap.i32( i32 %tmp ) ; <i32> [#uses=1] |
| 14 | %tmp.upgrd.1 = icmp eq i32 %tmp34, 1 ; <i1> [#uses=1] |
| 15 | ret i1 %tmp.upgrd.1 |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 16 | } |
| 17 | |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 18 | declare i32 @llvm.bswap.i32(i32) |
Reid Spencer | a5f996b | 2007-04-02 00:51:15 +0000 | [diff] [blame] | 19 | |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 20 | define i1 @test3(i64 %tmp) { |
| 21 | %tmp34 = tail call i64 @llvm.bswap.i64( i64 %tmp ) ; <i64> [#uses=1] |
| 22 | %tmp.upgrd.2 = icmp eq i64 %tmp34, 1 ; <i1> [#uses=1] |
| 23 | ret i1 %tmp.upgrd.2 |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 24 | } |
| 25 | |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 26 | declare i64 @llvm.bswap.i64(i64) |
Chris Lattner | e7f83dc | 2006-11-29 05:00:14 +0000 | [diff] [blame] | 27 | |
Tanya Lattner | aa6f5c9 | 2008-03-09 08:16:40 +0000 | [diff] [blame^] | 28 | declare i16 @llvm.bswap.i16(i16) |
| 29 | |