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>