aboutsummaryrefslogtreecommitdiff
path: root/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/builtins/arm/aeabi_cdcmpeq_check_nan.c')
-rw-r--r--lib/builtins/arm/aeabi_cdcmpeq_check_nan.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c b/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c
new file mode 100644
index 000000000000..577f6b2c5535
--- /dev/null
+++ b/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c
@@ -0,0 +1,16 @@
+//===-- lib/arm/aeabi_cdcmpeq_helper.c - Helper for cdcmpeq ---------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include <stdint.h>
+
+__attribute__((pcs("aapcs")))
+__attribute__((visibility("hidden")))
+int __aeabi_cdcmpeq_check_nan(double a, double b) {
+ return __builtin_isnan(a) || __builtin_isnan(b);
+}