svn commit: r231062 - projects/arm_eabi/contrib/compiler-rt/lib
Andrew Turner
andrew at FreeBSD.org
Mon Feb 6 07:18:59 UTC 2012
Author: andrew
Date: Mon Feb 6 07:18:59 2012
New Revision: 231062
URL: http://svn.freebsd.org/changeset/base/231062
Log:
Implement __aeabi_{d,f}cmp*
Modified:
projects/arm_eabi/contrib/compiler-rt/lib/comparedf2.c
projects/arm_eabi/contrib/compiler-rt/lib/comparesf2.c
Modified: projects/arm_eabi/contrib/compiler-rt/lib/comparedf2.c
==============================================================================
--- projects/arm_eabi/contrib/compiler-rt/lib/comparedf2.c Mon Feb 6 07:16:13 2012 (r231061)
+++ projects/arm_eabi/contrib/compiler-rt/lib/comparedf2.c Mon Feb 6 07:18:59 2012 (r231062)
@@ -130,3 +130,31 @@ enum GE_RESULT __gtdf2(fp_t a, fp_t b) {
return __gedf2(a, b);
}
+#ifdef __ARM_EABI__
+// The following are required for the ARM EABI.
+
+int __aeabi_dcmpeq(fp_t a, fp_t b) {
+ return __ledf2(a, b) == 0;
+}
+
+int __aeabi_dcmplt(fp_t a, fp_t b) {
+ return __ledf2(a, b) < 0;
+}
+
+int __aeabi_dcmple(fp_t a, fp_t b) {
+ return __ledf2(a, b) <= 0;
+}
+
+int __aeabi_dcmpge(fp_t a, fp_t b) {
+ return __gedf2(a, b) >= 0;
+}
+
+int __aeabi_dcmpgt(fp_t a, fp_t b) {
+ return __gedf2(a, b) > 0;
+}
+
+int __aeabi_dcmpun(fp_t a, fp_t b) {
+ return __unorddf2(a, b);
+}
+#endif
+
Modified: projects/arm_eabi/contrib/compiler-rt/lib/comparesf2.c
==============================================================================
--- projects/arm_eabi/contrib/compiler-rt/lib/comparesf2.c Mon Feb 6 07:16:13 2012 (r231061)
+++ projects/arm_eabi/contrib/compiler-rt/lib/comparesf2.c Mon Feb 6 07:18:59 2012 (r231062)
@@ -129,3 +129,32 @@ enum LE_RESULT __nesf2(fp_t a, fp_t b) {
enum GE_RESULT __gtsf2(fp_t a, fp_t b) {
return __gesf2(a, b);
}
+
+#ifdef __ARM_EABI__
+// The following are required for the ARM EABI.
+
+int __aeabi_fcmpeq(fp_t a, fp_t b) {
+ return __lesf2(a, b) == 0;
+}
+
+int __aeabi_fcmplt(fp_t a, fp_t b) {
+ return __lesf2(a, b) < 0;
+}
+
+int __aeabi_fcmple(fp_t a, fp_t b) {
+ return __lesf2(a, b) <= 0;
+}
+
+int __aeabi_fcmpge(fp_t a, fp_t b) {
+ return __gesf2(a, b) >= 0;
+}
+
+int __aeabi_fcmpgt(fp_t a, fp_t b) {
+ return __gesf2(a, b) > 0;
+}
+
+int __aeabi_fcmpun(fp_t a, fp_t b) {
+ return __unordsf2(a, b);
+}
+#endif
+
More information about the svn-src-projects
mailing list