2 typedef unsigned int USItype __attribute__ ((mode (SI)));
3 typedef int DItype __attribute__ ((mode (DI)));
4 typedef unsigned int UDItype __attribute__ ((mode (DI)));
5 typedef float SFtype __attribute__ ((mode (SF)));
6 typedef float DFtype __attribute__ ((mode (DF)));
8 DItype __fixsfdi (SFtype);
10 /* This version is needed to prevent recursion; fixunssfdi in libgcc
11 calls fixsfdi, which in turn calls calls fixunssfdi. */
14 local_fixunssfdi (SFtype original_a)
16 DFtype a = original_a;
19 hi = a / (((UDItype) 1) << (sizeof (USItype) * 8));
20 lo = a - ((DFtype) hi) * (((UDItype) 1) << (sizeof (USItype) * 8));
21 return ((UDItype) hi << (sizeof (USItype) * 8)) | lo;
28 return - local_fixunssfdi (-a);
29 return local_fixunssfdi (a);