svn commit: r234030 - projects/arm_eabi/lib/libc/arm/aeabi
Andrew Turner
andrew at FreeBSD.org
Sun Apr 8 09:38:21 UTC 2012
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);
}
More information about the svn-src-projects
mailing list