| Nate Begeman | 82049eb | 2006-01-14 01:25:24 +0000 | [diff] [blame] | 1 | ; bswap should be constant folded when it is passed a constant argument | 
|  | 2 |  | 
| Dan Gohman | 72a13d2 | 2009-09-08 22:34:10 +0000 | [diff] [blame^] | 3 | ; RUN: opt %s -constprop -S | not grep call | 
| Nate Begeman | 82049eb | 2006-01-14 01:25:24 +0000 | [diff] [blame] | 4 |  | 
| Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 5 | declare i16 @llvm.bswap.i16(i16) | 
| Nate Begeman | 82049eb | 2006-01-14 01:25:24 +0000 | [diff] [blame] | 6 |  | 
| Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 7 | declare i32 @llvm.bswap.i32(i32) | 
|  | 8 |  | 
|  | 9 | declare i64 @llvm.bswap.i64(i64) | 
|  | 10 |  | 
|  | 11 | define i16 @W() { | 
|  | 12 | %Z = call i16 @llvm.bswap.i16( i16 1 )          ; <i16> [#uses=1] | 
|  | 13 | ret i16 %Z | 
| Nate Begeman | 82049eb | 2006-01-14 01:25:24 +0000 | [diff] [blame] | 14 | } | 
|  | 15 |  | 
| Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 16 | define i32 @X() { | 
|  | 17 | %Z = call i32 @llvm.bswap.i32( i32 1 )          ; <i32> [#uses=1] | 
|  | 18 | ret i32 %Z | 
| Nate Begeman | 82049eb | 2006-01-14 01:25:24 +0000 | [diff] [blame] | 19 | } | 
|  | 20 |  | 
| Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 21 | define i64 @Y() { | 
|  | 22 | %Z = call i64 @llvm.bswap.i64( i64 1 )          ; <i64> [#uses=1] | 
|  | 23 | ret i64 %Z | 
| Nate Begeman | 82049eb | 2006-01-14 01:25:24 +0000 | [diff] [blame] | 24 | } | 
| Tanya Lattner | 5640bd1 | 2008-03-01 09:15:35 +0000 | [diff] [blame] | 25 |  |