diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-10-11 22:39:58 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-10-11 22:39:58 +0000 |
| commit | 1fe15dbbbb3dd1de04f521b9ee544689a5917560 (patch) | |
| tree | 932be20f98606f30f861ab4e8f782ee5230134ae /llvm/test/Transforms/InstCombine/shift.ll | |
| parent | d7969a2796d28750e0320f0aab1f56d99c71e2b4 (diff) | |
| download | bcm5719-llvm-1fe15dbbbb3dd1de04f521b9ee544689a5917560.tar.gz bcm5719-llvm-1fe15dbbbb3dd1de04f521b9ee544689a5917560.zip | |
merge test into shift.ll, this also eliminates awful grepping on -stats output
llvm-svn: 83802
Diffstat (limited to 'llvm/test/Transforms/InstCombine/shift.ll')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/shift.ll | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/shift.ll b/llvm/test/Transforms/InstCombine/shift.ll index d3c3794055f..feed37bd10a 100644 --- a/llvm/test/Transforms/InstCombine/shift.ll +++ b/llvm/test/Transforms/InstCombine/shift.ll @@ -309,3 +309,37 @@ define i1 @test27(i32 %x) nounwind { ret i1 %z } +define i8 @test28(i8 %x) { +entry: +; CHECK: @test28 +; CHECK: icmp slt i8 %x, 0 +; CHECK-NEXT: br i1 + %tmp1 = lshr i8 %x, 7 + %cond1 = icmp ne i8 %tmp1, 0 + br i1 %cond1, label %bb1, label %bb2 + +bb1: + ret i8 0 + +bb2: + ret i8 1 +} + +define i8 @test28a(i8 %x, i8 %y) { +entry: +; This shouldn't be transformed. +; CHECK: @test28a +; CHECK: %tmp1 = lshr i8 %x, 7 +; CHECK: %cond1 = icmp eq i8 %tmp1, 0 +; CHECK: br i1 %cond1, label %bb2, label %bb1 + %tmp1 = lshr i8 %x, 7 + %cond1 = icmp ne i8 %tmp1, 0 + br i1 %cond1, label %bb1, label %bb2 +bb1: + ret i8 %tmp1 +bb2: + %tmp2 = add i8 %tmp1, %y + ret i8 %tmp2 +} + + |

