diff options
Diffstat (limited to 'gnu/gcc2/libgcc/_fixdfsi.c')
| -rw-r--r-- | gnu/gcc2/libgcc/_fixdfsi.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/gnu/gcc2/libgcc/_fixdfsi.c b/gnu/gcc2/libgcc/_fixdfsi.c deleted file mode 100644 index 16cbd4f5678e..000000000000 --- a/gnu/gcc2/libgcc/_fixdfsi.c +++ /dev/null @@ -1,31 +0,0 @@ -extern int target_flags; - -enum reg_class -{ - NO_REGS, - AREG, DREG, CREG, BREG, - Q_REGS, - SIREG, DIREG, - INDEX_REGS, - GENERAL_REGS, - FP_TOP_REG, FP_SECOND_REG, - FLOAT_REGS, - ALL_REGS, LIM_REG_CLASSES -}; -extern enum reg_class regclass_map[17 ]; - - -extern struct rtx_def *i386_compare_op0, *i386_compare_op1; -extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)(); -extern char *hi_reg_name[]; -extern char *qi_reg_name[]; -extern char *qi_high_reg_name[]; - -union flt_or_value { float i; float f; }; -union flt_or_int { int i; float f; }; -long int -__fixdfsi (a) - double a; -{ - { auto unsigned short ostatus; auto unsigned short nstatus; auto int ret; auto double tmp; &ostatus; &nstatus; &ret; &tmp; asm volatile ("fnstcw %0" : "=m" (ostatus)); nstatus = ostatus | 0x0c00; asm volatile ("fldcw %0" : : "m" (nstatus)); tmp = a ; asm volatile ("fldl %0" : : "m" (tmp)); asm volatile ("fistpl %0" : "=m" (ret)); asm volatile ("fldcw %0" : : "m" (ostatus)); return ret; } ; -} |
