Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 20dccf3 in mainline


Ignore:
Timestamp:
2012-08-17T10:50:43Z (9 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master
Children:
7feb86e6, bdf3c0c
Parents:
568693b
Message:

implement basic ARM EABI floating point routines

Location:
uspace/lib/softfloat
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/softfloat/generic/softfloat.c

    r568693b r20dccf3  
    12671267}
    12681268
     1269double __aeabi_i2d(int i)
     1270{
     1271        return __floatsidf(i);
     1272}
     1273
     1274double __aeabi_ui2d(unsigned int i)
     1275{
     1276        return __floatunsidf(i);
     1277}
     1278
     1279int __aeabi_d2iz(double a)
     1280{
     1281        return __fixdfsi(a);
     1282}
     1283
     1284unsigned int __aeabi_d2uiz(double a)
     1285{
     1286        return __fixunsdfsi(a);
     1287}
     1288
     1289int __aeabi_dcmpge(double a, double b)
     1290{
     1291        return __gedf2(a, b);
     1292}
     1293
     1294int __aeabi_dcmpgt(double a, double b)
     1295{
     1296        return __gtdf2(a, b);
     1297}
     1298
     1299int __aeabi_dcmplt(double a, double b)
     1300{
     1301        return __ltdf2(a, b);
     1302}
     1303
     1304double __aeabi_dadd(double a, double b)
     1305{
     1306        return __adddf3(a, b);
     1307}
     1308
     1309double __aeabi_dsub(double a, double b)
     1310{
     1311        return __subdf3(a, b);
     1312}
     1313
     1314double __aeabi_dmul(double a, double b)
     1315{
     1316        return __muldf3(a, b);
     1317}
     1318
     1319double __aeabi_ddiv(double a, double b)
     1320{
     1321        return __divdf3(a, b);
     1322}
     1323
    12691324/** @}
    12701325 */
  • uspace/lib/softfloat/include/softfloat.h

    r568693b r20dccf3  
    173173
    174174/* SPARC quadruple-precision wrappers */
    175 
    176175extern void _Qp_add(long double *, long double *, long double *);
    177176extern void _Qp_sub(long double *, long double *, long double *);
     
    204203extern int _Qp_fne(long double *, long double *);
    205204
     205/* ARM EABI */
     206extern double __aeabi_i2d(int);
     207extern double __aeabi_ui2d(unsigned int);
     208extern unsigned int __aeabi_d2uiz(double);
     209extern int __aeabi_d2iz(double);
     210
     211extern int __aeabi_dcmpge(double, double);
     212extern int __aeabi_dcmpgt(double, double);
     213extern int __aeabi_dcmplt(double, double);
     214
     215extern double __aeabi_dadd(double, double);
     216extern double __aeabi_dsub(double, double);
     217extern double __aeabi_dmul(double, double);
     218extern double __aeabi_ddiv(double, double);
     219
    206220/* Not implemented yet */
    207221extern void _Qp_sqrt(long double *, long double *);
Note: See TracChangeset for help on using the changeset viewer.