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 | 37dfcfeca7844143eab68b53839ed1f656ef8888 (patch) | |
tree | da27cc9755d4c2473ea35c94cf019ec8e7af03fc /test | |
parent | 78264d83269eb1415fa6182529d3e0cfc752b8ce (diff) | |
download | external_llvm-37dfcfeca7844143eab68b53839ed1f656ef8888.zip external_llvm-37dfcfeca7844143eab68b53839ed1f656ef8888.tar.gz external_llvm-37dfcfeca7844143eab68b53839ed1f656ef8888.tar.bz2 |
enhance the previous optimization to work with fcmp in addition
to icmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92412 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Transforms/InstCombine/load-cmp.ll | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/load-cmp.ll b/test/Transforms/InstCombine/load-cmp.ll index f410939..eac9ae4 100644 --- a/test/Transforms/InstCombine/load-cmp.ll +++ b/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 +} + |