summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/load-cmp.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-02 08:20:51 +0000
committerChris Lattner <sabre@nondot.org>2010-01-02 08:20:51 +0000
commitb1567bd58427c66c0c17cd4e7b628adb42de4c52 (patch)
tree69d8e3d4f398659c96ea8141f8e2c644c858d6c6 /llvm/test/Transforms/InstCombine/load-cmp.ll
parenta061859ccc17ced9829a51670bd34dc97a56cdea (diff)
downloadbcm5719-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.ll11
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
+}
+
OpenPOWER on IntegriCloud