blob: 67a990fcb105a91acd2f56f6e18a0439b046944d [file] [log] [blame]
Rafael Espindola80546be2014-06-02 21:23:54 +00001; RUN: opt < %s -instcombine -S | FileCheck %s
Chris Lattner7ac943f2008-05-20 05:46:13 +00002
Rafael Espindola80546be2014-06-02 21:23:54 +00003; CHECK-LABEL: define i64 @test
Chris Lattner7ac943f2008-05-20 05:46:13 +00004define i64 @test1(i32 %A) {
Rafael Espindola80546be2014-06-02 21:23:54 +00005; CHECK: %[[ADD:.*]] = add nsw i32 %B, %C
6; CHECK: %F = sext i32 %[[ADD]] to i64
7; CHECK: ret i64 %F
8
Chris Lattner7ac943f2008-05-20 05:46:13 +00009 %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