Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Oct 2013 14:52:14 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r256789 - projects/arm_eabi_vfp/lib/libc/arm/aeabi
Message-ID:  <201310201452.r9KEqEN7070245@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310201452.r9KEqEN7070245>