diff options
Diffstat (limited to 'gnu/gcc2/libgcc/_subsf3.c')
| -rw-r--r-- | gnu/gcc2/libgcc/_subsf3.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/gcc2/libgcc/_subsf3.c b/gnu/gcc2/libgcc/_subsf3.c new file mode 100644 index 000000000000..23c30596e095 --- /dev/null +++ b/gnu/gcc2/libgcc/_subsf3.c @@ -0,0 +1,32 @@ +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; }; +float +__subsf3 (a, b) + union flt_or_int a, b; +{ + union flt_or_value intify; + return (( a ).f) - (( b ).f) ; +} |
