diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-01-02 08:20:51 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-01-02 08:20:51 +0000 |
| commit | b1567bd58427c66c0c17cd4e7b628adb42de4c52 (patch) | |
| tree | 69d8e3d4f398659c96ea8141f8e2c644c858d6c6 /llvm/test/Transforms/InstCombine/load-cmp.ll | |
| parent | a061859ccc17ced9829a51670bd34dc97a56cdea (diff) | |
| download | bcm5719-llvm-b1567bd58427c66c0c17cd4e7b628adb42de4c52.tar.gz bcm5719-llvm-b1567bd58427c66c0c17cd4e7b628adb42de4c52.zip | |
enhance the previous optimization to work with fcmp in addition
to icmp.
llvm-svn: 92412
Diffstat (limited to 'llvm/test/Transforms/InstCombine/load-cmp.ll')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/load-cmp.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/load-cmp.ll b/llvm/test/Transforms/InstCombine/load-cmp.ll index f410939e702..eac9ae495dc 100644 --- a/llvm/test/Transforms/InstCombine/load-cmp.ll +++ b/llvm/test/Transforms/InstCombine/load-cmp.ll @@ -2,6 +2,7 @@ @G16 = internal constant [10 x i16] [i16 35, i16 82, i16 69, i16 81, i16 85, i16 73, i16 82, i16 69, i16 68, i16 0] +@GD = internal constant [3 x double] [double 1.0, double 4.0, double -20.0] define i1 @test1(i32 %X) { %P = getelementptr [10 x i16]* @G16, i32 0, i32 %X @@ -23,3 +24,13 @@ define i1 @test2(i32 %X) { ; CHECK-NEXT: ret i1 %R } +define i1 @test3(i32 %X) { + %P = getelementptr [3 x double]* @GD, i32 0, i32 %X + %Q = load double* %P + %R = fcmp oeq double %Q, 1.0 + ret i1 %R +; CHECK: @test3 +; CHECK-NEXT: %R = icmp eq i32 %X, 0 +; CHECK-NEXT: ret i1 %R +} + |

