Heuristic: If the number of operands in the alias are more than the number of
[llvm/stm8.git] / test / Analysis / ScalarEvolution / 2009-04-22-TruncCast.ll
blobc2e108aa9c049f02a022028b891bf6c081c751e3
1 ; RUN: opt < %s -analyze -scalar-evolution | grep {(trunc i} | not grep ext
3 define i16 @test1(i8 %x) {
4   %A = sext i8 %x to i32
5   %B = trunc i32 %A to i16
6   ret i16 %B
9 define i8 @test2(i16 %x) {
10   %A = sext i16 %x to i32
11   %B = trunc i32 %A to i8
12   ret i8 %B
15 define i16 @test3(i16 %x) {
16   %A = sext i16 %x to i32
17   %B = trunc i32 %A to i16
18   ret i16 %B
21 define i16 @test4(i8 %x) {
22   %A = zext i8 %x to i32
23   %B = trunc i32 %A to i16
24   ret i16 %B
27 define i8 @test5(i16 %x) {
28   %A = zext i16 %x to i32
29   %B = trunc i32 %A to i8
30   ret i8 %B
33 define i16 @test6(i16 %x) {
34   %A = zext i16 %x to i32
35   %B = trunc i32 %A to i16
36   ret i16 %B