Verifier: Call verifyModule() from llc and opt
[oota-llvm.git] / test / Transforms / InstCombine / add-shrink.ll
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
2
3 ; CHECK-LABEL: define i64 @test
4 define i64 @test1(i32 %A) {
5 ; CHECK: %[[ADD:.*]] = add nsw i32 %B, %C
6 ; CHECK: %F = sext i32 %[[ADD]] to i64
7 ; CHECK: ret i64 %F
8
9         %B = ashr i32 %A, 7             ; <i32> [#uses=1]
10         %C = ashr i32 %A, 9             ; <i32> [#uses=1]
11         %D = sext i32 %B to i64         ; <i64> [#uses=1]
12         %E = sext i32 %C to i64         ; <i64> [#uses=1]
13         %F = add i64 %D, %E             ; <i64> [#uses=1]
14         ret i64 %F
15 }
16