summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/SystemZ/fp-cmp-03.ll
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-07 11:03:34 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-08-07 11:03:34 +0000
commit9f11bc1956abeb654dbc98d9859a3fa3b8661b13 (patch)
tree5ebe9a07d5574414fe0d08695314963283da9779 /llvm/test/CodeGen/SystemZ/fp-cmp-03.ll
parentf502fd75ab60d18bd7bc942fe486214898b6224e (diff)
downloadbcm5719-llvm-9f11bc1956abeb654dbc98d9859a3fa3b8661b13.tar.gz
bcm5719-llvm-9f11bc1956abeb654dbc98d9859a3fa3b8661b13.zip
[SystemZ] Add floating-point load-and-test instructions
These instructions can also be used as comparisons with zero. llvm-svn: 187882
Diffstat (limited to 'llvm/test/CodeGen/SystemZ/fp-cmp-03.ll')
-rw-r--r--llvm/test/CodeGen/SystemZ/fp-cmp-03.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/SystemZ/fp-cmp-03.ll b/llvm/test/CodeGen/SystemZ/fp-cmp-03.ll
index 3badc46352c..0f71f4e3a92 100644
--- a/llvm/test/CodeGen/SystemZ/fp-cmp-03.ll
+++ b/llvm/test/CodeGen/SystemZ/fp-cmp-03.ll
@@ -18,3 +18,18 @@ define i64 @f1(i64 %a, i64 %b, fp128 *%ptr, float %f2) {
%res = select i1 %cond, i64 %a, i64 %b
ret i64 %res
}
+
+; Check comparison with zero.
+define i64 @f2(i64 %a, i64 %b, fp128 *%ptr) {
+; CHECK-LABEL: f2:
+; CHECK: ld %f0, 0(%r4)
+; CHECK: ld %f2, 8(%r4)
+; CHECK: ltxbr %f0, %f0
+; CHECK-NEXT: je
+; CHECK: lgr %r2, %r3
+; CHECK: br %r14
+ %f = load fp128 *%ptr
+ %cond = fcmp oeq fp128 %f, 0xL00000000000000000000000000000000
+ %res = select i1 %cond, i64 %a, i64 %b
+ ret i64 %res
+}
OpenPOWER on IntegriCloud