Current Path : /usr/src/contrib/gcc/config/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/contrib/gcc/config/fixdfdi.c |
/* Public domain. */ typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int DItype __attribute__ ((mode (DI))); typedef unsigned int UDItype __attribute__ ((mode (DI))); typedef float DFtype __attribute__ ((mode (DF))); DItype __fixdfdi (DFtype); /* This version is needed to prevent recursion; fixunsdfdi in libgcc calls fixdfdi, which in turn calls calls fixunsdfdi. */ static DItype local_fixunsdfdi (DFtype a) { USItype hi, lo; hi = a / (((UDItype) 1) << (sizeof (USItype) * 8)); lo = a - ((DFtype) hi) * (((UDItype) 1) << (sizeof (USItype) * 8)); return ((UDItype) hi << (sizeof (USItype) * 8)) | lo; } DItype __fixdfdi (DFtype a) { if (a < 0) return - local_fixunsdfdi (-a); return local_fixunsdfdi (a); }