eda9d998be9cb3b02d9a508cb27e74f0d49f2b84
[oota-llvm.git] / test / Transforms / InstCombine / cast-and-cast.ll
1 ; RUN: opt < %s -instcombine -S | \
2 ; RUN:   not grep bitcast
3
4 define i1 @test1(i32 %val) {
5         %t1 = bitcast i32 %val to i32           ; <i32> [#uses=1]
6         %t2 = and i32 %t1, 1            ; <i32> [#uses=1]
7         %t3 = trunc i32 %t2 to i1               ; <i1> [#uses=1]
8         ret i1 %t3
9 }
10
11 define i16 @test1.upgrd.1(i32 %val) {
12         %t1 = bitcast i32 %val to i32           ; <i32> [#uses=1]
13         %t2 = and i32 %t1, 1            ; <i32> [#uses=1]
14         %t3 = trunc i32 %t2 to i16              ; <i16> [#uses=1]
15         ret i16 %t3
16 }
17