Home | History | Annotate | Download | only in ScalarEvolution
      1 ; RUN: opt < %s -analyze -scalar-evolution | grep {(trunc i} | not grep ext
      2 
      3 define i16 @test1(i8 %x) {
      4   %A = sext i8 %x to i32
      5   %B = trunc i32 %A to i16
      6   ret i16 %B
      7 }
      8 
      9 define i8 @test2(i16 %x) {
     10   %A = sext i16 %x to i32
     11   %B = trunc i32 %A to i8
     12   ret i8 %B
     13 }
     14 
     15 define i16 @test3(i16 %x) {
     16   %A = sext i16 %x to i32
     17   %B = trunc i32 %A to i16
     18   ret i16 %B
     19 }
     20 
     21 define i16 @test4(i8 %x) {
     22   %A = zext i8 %x to i32
     23   %B = trunc i32 %A to i16
     24   ret i16 %B
     25 }
     26 
     27 define i8 @test5(i16 %x) {
     28   %A = zext i16 %x to i32
     29   %B = trunc i32 %A to i8
     30   ret i8 %B
     31 }
     32 
     33 define i16 @test6(i16 %x) {
     34   %A = zext i16 %x to i32
     35   %B = trunc i32 %A to i16
     36   ret i16 %B
     37 }
     38