diff options
Diffstat (limited to 'llvm/test/Transforms/Reassociate/shift-factor.ll')
| -rw-r--r-- | llvm/test/Transforms/Reassociate/shift-factor.ll | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/llvm/test/Transforms/Reassociate/shift-factor.ll b/llvm/test/Transforms/Reassociate/shift-factor.ll index 8fbf1b9d4bc..4b102b07d5e 100644 --- a/llvm/test/Transforms/Reassociate/shift-factor.ll +++ b/llvm/test/Transforms/Reassociate/shift-factor.ll @@ -1,14 +1,16 @@ -; There should be exactly one shift and one add left. ; RUN: opt < %s -reassociate -instcombine -S | FileCheck %s -define i32 @test1(i32 %X, i32 %Y) { -; CHECK-LABEL: test1 -; CHECK-NEXT: %tmp = add i32 %Y, %X -; CHECK-NEXT: %tmp1 = shl i32 %tmp, 1 -; CHECK-NEXT: ret i32 %tmp1 +; There should be exactly one shift and one add left. - %tmp.2 = shl i32 %X, 1 - %tmp.6 = shl i32 %Y, 1 - %tmp.4 = add i32 %tmp.6, %tmp.2 - ret i32 %tmp.4 +define i32 @test1(i32 %X, i32 %Y) { +; CHECK-LABEL: @test1( +; CHECK-NEXT: [[REASS_ADD:%.*]] = add i32 %Y, %X +; CHECK-NEXT: [[REASS_MUL:%.*]] = shl i32 [[REASS_ADD]], 1 +; CHECK-NEXT: ret i32 [[REASS_MUL]] +; + %t2 = shl i32 %X, 1 + %t6 = shl i32 %Y, 1 + %t4 = add i32 %t6, %t2 + ret i32 %t4 } + |

