blob: 3c1b6ae0fec445f8a1c7c9ad6f08a708096ede72 [file] [log] [blame]
Nick Lewycky73f565e2011-01-19 15:56:12 +00001; RUN: opt -analyze -scalar-evolution %s -S | FileCheck %s
2
Nick Lewycky30aa8b12011-01-19 16:59:46 +00003define i16 @test1(i8 %x) {
Nick Lewycky73f565e2011-01-19 15:56:12 +00004 %A = zext i8 %x to i12
5 %B = sext i12 %A to i16
6; CHECK: zext i8 %x to i16
7 ret i16 %B
8}
Nick Lewycky30aa8b12011-01-19 16:59:46 +00009
10define i8 @test2(i8 %x) {
11 %A = zext i8 %x to i16
12 %B = add i16 %A, 1025
13 %C = trunc i16 %B to i8
14; CHECK: (1 + %x)
15 ret i8 %C
16}
Nick Lewycky5c6fc1c2011-01-19 18:56:00 +000017
18define i8 @test3(i8 %x) {
19 %A = zext i8 %x to i16
20 %B = mul i16 %A, 1027
21 %C = trunc i16 %B to i8
22; CHECK: (3 * %x)
23 ret i8 %C
24}