svn commit: r256789 - projects/arm_eabi_vfp/lib/libc/arm/aeabi
Andrew Turner
andrew at FreeBSD.org
Sun Oct 20 14:52:15 UTC 2013
Author: andrew
Date: Sun Oct 20 14:52:14 2013
New Revision: 256789
URL: http://svnweb.freebsd.org/changeset/base/256789
Log:
The ARM EABI Run-time ABI defines the __aeabi_* floating-point functions to
pass their values in the integer registers. Update the hard-float version of
the functions to do this.
Modified:
projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h
Modified: projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h
==============================================================================
--- projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h Sun Oct 20 14:01:09 2013 (r256788)
+++ projects/arm_eabi_vfp/lib/libc/arm/aeabi/aeabi_vfp.h Sun Oct 20 14:52:14 2013 (r256789)
@@ -29,14 +29,18 @@
#define AEABI_VFP_H
/*
- * ASM helper macros. These allow the functions to be changed when
- * building for a hard-float version of the ABI.
+ * ASM helper macros. These allow the functions to be changed depending on
+ * the endian-ness we are building for.
*/
+/* Allow the name of the function to be changed depending on the ABI */
#ifndef __ARM_PCS_VFP
-/* Define a standard name for the function */
#define AEABI_ENTRY(x) ENTRY(__aeabi_ ## x ## _softfp)
#define AEABI_END(x) END(__aeabi_ ## x ## _softfp)
+#else
+#define AEABI_ENTRY(x) ENTRY(__aeabi_ ## x)
+#define AEABI_END(x) END(__aeabi_ ## x)
+#endif
/*
* These should be used when a function either takes, or returns a floating
@@ -54,21 +58,6 @@
#define LOAD_SREGS(vreg0, vreg1, reg0, reg1) vmov vreg0, vreg1, reg0, reg1
#define LOAD_SREG(vreg, reg) vmov vreg, reg
#define UNLOAD_SREG(reg, vreg) vmov reg, vreg
-#else
-#define AEABI_ENTRY(x) ENTRY(__aeabi_ ## x)
-#define AEABI_END(x) END(__aeabi_ ## x)
-
-/*
- * On ARM Hard-Float we don't need these as the data
- * is already in the VFP registers.
- */
-#define LOAD_DREG(vreg, reg0, reg1)
-#define UNLOAD_DREG(reg0, reg1, vreg)
-
-#define LOAD_SREGS(vreg0, vreg1, reg0, reg1)
-#define LOAD_SREG(vreg, reg)
-#define UNLOAD_SREG(reg, vreg)
-#endif
/*
* C Helper macros
More information about the svn-src-projects
mailing list