implement unordered floating point compares
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30928 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/ARM/fpcmp.ll b/test/CodeGen/ARM/fpcmp.ll
index 53529bc..5c120ea 100644
--- a/test/CodeGen/ARM/fpcmp.ll
+++ b/test/CodeGen/ARM/fpcmp.ll
@@ -5,7 +5,9 @@
; RUN: llvm-as < %s | llc -march=arm | grep movge &&
; RUN: llvm-as < %s | llc -march=arm | grep movle &&
; RUN: llvm-as < %s | llc -march=arm | grep fcmpes &&
-; RUN: llvm-as < %s | llc -march=arm | grep fcmped
+; RUN: llvm-as < %s | llc -march=arm | grep fcmps &&
+; RUN: llvm-as < %s | llc -march=arm | grep fcmped &&
+; RUN: llvm-as < %s | llc -march=arm | grep fcmpd
int %f1(float %a) {
entry:
@@ -42,9 +44,23 @@
ret int %tmp
}
+int %f6(float %a) {
+entry:
+ %tmp = setne float %a, 1.000000e+00 ; <bool> [#uses=1]
+ %tmp = cast bool %tmp to int ; <int> [#uses=1]
+ ret int %tmp
+}
+
int %g1(double %a) {
entry:
%tmp = setlt double %a, 1.000000e+00 ; <bool> [#uses=1]
%tmp = cast bool %tmp to int ; <int> [#uses=1]
ret int %tmp
}
+
+int %g2(double %a) {
+entry:
+ %tmp = setne double %a, 1.000000e+00 ; <bool> [#uses=1]
+ %tmp = cast bool %tmp to int ; <int> [#uses=1]
+ ret int %tmp
+}