blob: 9fce309b7887f21f99fdb6a9571715fbc23507a8 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; bswap should be constant folded when it is passed a constant argument
2
Dan Gohman3c7d3082009-09-11 18:01:28 +00003; RUN: opt < %s -constprop -S | not grep call
Dan Gohmanf17a25c2007-07-18 16:29:46 +00004
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00005declare i16 @llvm.bswap.i16(i16)
Dan Gohmanf17a25c2007-07-18 16:29:46 +00006
Tanya Lattner4c4d0b82008-03-01 09:15:35 +00007declare i32 @llvm.bswap.i32(i32)
8
9declare i64 @llvm.bswap.i64(i64)
10
11define i16 @W() {
12 %Z = call i16 @llvm.bswap.i16( i16 1 ) ; <i16> [#uses=1]
13 ret i16 %Z
Dan Gohmanf17a25c2007-07-18 16:29:46 +000014}
15
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000016define i32 @X() {
17 %Z = call i32 @llvm.bswap.i32( i32 1 ) ; <i32> [#uses=1]
18 ret i32 %Z
Dan Gohmanf17a25c2007-07-18 16:29:46 +000019}
20
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000021define i64 @Y() {
22 %Z = call i64 @llvm.bswap.i64( i64 1 ) ; <i64> [#uses=1]
23 ret i64 %Z
Dan Gohmanf17a25c2007-07-18 16:29:46 +000024}
Tanya Lattner4c4d0b82008-03-01 09:15:35 +000025