Date: Sun, 8 Apr 2012 09:38:20 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r234030 - projects/arm_eabi/lib/libc/arm/aeabi Message-ID: <201204080938.q389cKeM004523@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Sun Apr 8 09:38:20 2012 New Revision: 234030 URL: http://svn.freebsd.org/changeset/base/234030 Log: Update the __aeabi_* floating point functions to work Modified: projects/arm_eabi/lib/libc/arm/aeabi/aeabi_double.c projects/arm_eabi/lib/libc/arm/aeabi/aeabi_float.c Modified: projects/arm_eabi/lib/libc/arm/aeabi/aeabi_double.c ============================================================================== --- projects/arm_eabi/lib/libc/arm/aeabi/aeabi_double.c Sun Apr 8 09:33:50 2012 (r234029) +++ projects/arm_eabi/lib/libc/arm/aeabi/aeabi_double.c Sun Apr 8 09:38:20 2012 (r234030) @@ -32,81 +32,70 @@ __FBSDID("$FreeBSD$"); #include "milieu.h" #include "softfloat.h" -float64 __adddf3(float64 a, float64 b); -float64 __divdf3(float64 a, float64 b); -float64 __muldf3(float64 a, float64 b); -float64 __subdf3(float64 a, float64 b); - -float32 __truncdfsf2(float64 a); - -int32 __fixdfsi(float64); -float64 __floatsidf(int32 a); -flag __gedf2(float64, float64); -flag __ledf2(float64, float64); flag __unorddf2(float64, float64); -int __aeabi_dcmpeq(double a, double b) +int __aeabi_dcmpeq(float64 a, float64 b) { - return __ledf2(a, b) == 0; + return float64_eq(a, b); } -int __aeabi_dcmplt(double a, double b) +int __aeabi_dcmplt(float64 a, float64 b) { - return __ledf2(a, b) < 0; + return float64_lt(a, b); } -int __aeabi_dcmple(double a, double b) +int __aeabi_dcmple(float64 a, float64 b) { - return __ledf2(a, b) <= 0; + return float64_le(a, b); } -int __aeabi_dcmpge(double a, double b) +int __aeabi_dcmpge(float64 a, float64 b) { - return __gedf2(a, b) >= 0; + return float64_le(b, a); } -int __aeabi_dcmpgt(double a, double b) +int __aeabi_dcmpgt(float64 a, float64 b) { - return __gedf2(a, b) > 0; + return float64_lt(b, a); } -int __aeabi_dcmpun(double a, double b) +int __aeabi_dcmpun(float64 a, float64 b) { return __unorddf2(a, b); } -int __aeabi_d2iz(double a) +int __aeabi_d2iz(float64 a) { - return __fixdfsi(a); + return float64_to_int32_round_to_zero(a); } -float __aeabi_d2f(double a) +float32 __aeabi_d2f(float64 a) { - return __truncdfsf2(a); + return float64_to_float32(a); } -double __aeabi_i2d(int a) +float64 __aeabi_i2d(int a) { - return __floatsidf(a); + return int32_to_float64(a); } -double __aeabi_dadd(double a, double b) +float64 __aeabi_dadd(float64 a, float64 b) { - return __adddf3(a, b); + return float64_add(a, b); } -double __aeabi_ddiv(double a, double b) +float64 __aeabi_ddiv(float64 a, float64 b) { - return __divdf3(a, b); + return float64_div(a, b); } -double __aeabi_dmul(double a, double b) +float64 __aeabi_dmul(float64 a, float64 b) { - return __muldf3(a, b); + return float64_mul(a, b); } -double __aeabi_dsub(double a, double b) +float64 __aeabi_dsub(float64 a, float64 b) { - return __subdf3(a, b); + return float64_sub(a, b); } Modified: projects/arm_eabi/lib/libc/arm/aeabi/aeabi_float.c ============================================================================== --- projects/arm_eabi/lib/libc/arm/aeabi/aeabi_float.c Sun Apr 8 09:33:50 2012 (r234029) +++ projects/arm_eabi/lib/libc/arm/aeabi/aeabi_float.c Sun Apr 8 09:38:20 2012 (r234030) @@ -32,81 +32,70 @@ __FBSDID("$FreeBSD$"); #include "milieu.h" #include "softfloat.h" -float32 __addsf3(float32 a, float32 b); -float32 __divsf3(float32 a, float32 b); -float32 __mulsf3(float32 a, float32 b); -float32 __subsf3(float32 a, float32 b); - -float64 __extendsfdf2(float32 a); - -int32 __fixsfsi(float32); -float32 __floatsisf(int32 a); -flag __gesf2(float32, float32); -flag __lesf2(float32, float32); flag __unordsf2(float32, float32); -int __aeabi_fcmpeq(float a, float b) +int __aeabi_fcmpeq(float32 a, float32 b) { - return __lesf2(a, b) == 0; + return float32_eq(a, b); } -int __aeabi_fcmplt(float a, float b) +int __aeabi_fcmplt(float32 a, float32 b) { - return __lesf2(a, b) < 0; + return float32_lt(a, b); } -int __aeabi_fcmple(float a, float b) +int __aeabi_fcmple(float32 a, float32 b) { - return __lesf2(a, b) <= 0; + return float32_le(a, b); } -int __aeabi_fcmpge(float a, float b) +int __aeabi_fcmpge(float32 a, float32 b) { - return __gesf2(a, b) >= 0; + return float32_le(b, a); } -int __aeabi_fcmpgt(float a, float b) +int __aeabi_fcmpgt(float32 a, float32 b) { - return __gesf2(a, b) > 0; + return float32_lt(b, a); } -int __aeabi_fcmpun(float a, float b) +int __aeabi_fcmpun(float32 a, float32 b) { return __unordsf2(a, b); } -int __aeabi_f2iz(float a) +int __aeabi_f2iz(float32 a) { - return __fixsfsi(a); + return float32_to_int32_round_to_zero(a); } -double __aeabi_f2d(float a) +float32 __aeabi_f2d(float32 a) { - return __extendsfdf2(a); + return float32_to_float64(a); } -float __aeabi_i2f(int a) +float32 __aeabi_i2f(int a) { - return __floatsisf(a); + return int32_to_float32(a); } -float __aeabi_fadd(float a, float b) +float32 __aeabi_fadd(float32 a, float32 b) { - return __addsf3(a, b); + return float32_add(a, b); } -float __aeabi_fdiv(float a, float b) +float32 __aeabi_fdiv(float32 a, float32 b) { - return __divsf3(a, b); + return float32_div(a, b); } -float __aeabi_fmul(float a, float b) +float32 __aeabi_fmul(float32 a, float32 b) { - return __mulsf3(a, b); + return float32_mul(a, b); } -float __aeabi_fsub(float a, float b) +float32 __aeabi_fsub(float32 a, float32 b) { - return __subsf3(a, b); + return float32_sub(a, b); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204080938.q389cKeM004523>