aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-10-07 02:23:42 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-10-07 02:23:42 +0000
commit85363ca0942f5f45334b2b2ee56dad289f0ebd27 (patch)
tree272ff451c0f5e3b65cd727409933c9d1f5119570 /gcc/config
parent1f1dc5bb85d601f26249deecb9bf77390d674f3d (diff)
downloadgcc-85363ca0942f5f45334b2b2ee56dad289f0ebd27.zip
gcc-85363ca0942f5f45334b2b2ee56dad289f0ebd27.tar.gz
gcc-85363ca0942f5f45334b2b2ee56dad289f0ebd27.tar.bz2
* libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
(LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2) (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf) (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf) (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf) (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi) (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi) (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti) (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi) (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi) (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti) (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc) (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc) (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc) (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc) (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc) (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc) (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc) (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc) (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc) (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc) (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc) (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc) (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc) (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc) (fixunstfti_libfunc): Delete. * optabs.h (struct optab_handlers): Break out of struct optab. (struct convert_optab, convert_optab, enum convert_optab_index, convert_optab_table, sext_optab, zext_optab, trunc_optab, sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab, sfloat_optab, ufloat_optab): New. (set_conv_libfunc): Prototype. (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast. (trunc_optab): Renamed btrunc_optab. * builtins.c (expand_builtin_mathfn): Update to match. * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete. (convert_optab_table, new_convert_optab, init_convert_optab) (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs) (set_conv_libfunc): New. (can_extend_p, gen_extend_insn, can_fix_p, can_float_p) (expand_float, expand_fix): Use new conversion optabs, not old insn code tables or long chains of ifs. (init_optabs): No need to clear old insn code tables. Initialize the new optabs, not the old libfunc array entries. Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here. * genopinit.c: Initialize conversion optabs, not the former insn code tables. Remove unnecessary casts. Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here. * expr.c (convert_move): Remove redundant check that to_real==from_real. Use the conversion optabs instead of long chains of tests of modes. Move partial-integer-mode interconversion above all integer conversion. Do not recurse on a value forced into a register in the original mode. * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries in new conversion optabs; do not reference the old libfunc array entries. No need to include libfuncs.h. From-SVN: r72178
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/frv/frv.c32
-rw-r--r--gcc/config/gofast.h17
-rw-r--r--gcc/config/ia64/ia64.c23
-rw-r--r--gcc/config/mips/mips.c13
-rw-r--r--gcc/config/pa/pa.c27
-rw-r--r--gcc/config/rs6000/rs6000.c21
-rw-r--r--gcc/config/sparc/sparc.c32
7 files changed, 83 insertions, 82 deletions
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 0d83982..c9eab11 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -40,7 +40,6 @@ Boston, MA 02111-1307, USA. */
#include "except.h"
#include "function.h"
#include "optabs.h"
-#include "libfuncs.h"
#include "toplev.h"
#include "basic-block.h"
#include "tm_p.h"
@@ -9145,20 +9144,23 @@ frv_init_libfuncs (void)
set_optab_libfunc (smul_optab, DFmode, "__muld");
set_optab_libfunc (sdiv_optab, DFmode, "__divd");
- fixsfsi_libfunc = init_one_libfunc ("__ftoi");
- fixunssfsi_libfunc = init_one_libfunc ("__ftoui");
- fixsfdi_libfunc = init_one_libfunc ("__ftoll");
- fixunssfdi_libfunc = init_one_libfunc ("__ftoull");
- fixdfsi_libfunc = init_one_libfunc ("__dtoi");
- fixunsdfsi_libfunc = init_one_libfunc ("__dtoui");
- fixdfdi_libfunc = init_one_libfunc ("__dtoll");
- fixunsdfdi_libfunc = init_one_libfunc ("__dtoull");
- floatsisf_libfunc = init_one_libfunc ("__itof");
- floatdisf_libfunc = init_one_libfunc ("__lltof");
- floatsidf_libfunc = init_one_libfunc ("__itod");
- floatdidf_libfunc = init_one_libfunc ("__lltod");
- extendsfdf2_libfunc = init_one_libfunc ("__ftod");
- truncdfsf2_libfunc = init_one_libfunc ("__dtof");
+ set_conv_libfunc (sext_optab, DFmode, SFmode, "__ftod");
+ set_conv_libfunc (trunc_optab, SFmode, DFmode, "__dtof");
+
+ set_conv_libfunc (sfix_optab, SImode, SFmode, "__ftoi");
+ set_conv_libfunc (sfix_optab, DImode, SFmode, "__ftoll");
+ set_conv_libfunc (sfix_optab, SImode, DFmode, "__dtoi");
+ set_conv_libfunc (sfix_optab, DImode, DFmode, "__dtoll");
+
+ set_conv_libfunc (ufix_optab, SImode, SFmode, "__ftoui");
+ set_conv_libfunc (ufix_optab, SImode, SFmode, "__ftoull");
+ set_conv_libfunc (ufix_optab, SImode, SFmode, "__dtoui");
+ set_conv_libfunc (ufix_optab, SImode, SFmode, "__dtoull");
+
+ set_conv_libfunc (sfloat_optab, SFmode, SImode, "__itof");
+ set_conv_libfunc (sfloat_optab, SFmode, DImode, "__lltof");
+ set_conv_libfunc (sfloat_optab, DFmode, SImode, "__itod");
+ set_conv_libfunc (sfloat_optab, DFmode, DImode, "__lltod");
}
/* Convert an integer constant to an accumulator register. ICODE is the
diff --git a/gcc/config/gofast.h b/gcc/config/gofast.h
index 3b3efb9..91b0a65 100644
--- a/gcc/config/gofast.h
+++ b/gcc/config/gofast.h
@@ -66,14 +66,15 @@ gofast_maybe_init_libfuncs (void)
set_optab_libfunc (lt_optab, DFmode, "dpcmp");
set_optab_libfunc (le_optab, DFmode, "dpcmp");
- extendsfdf2_libfunc = init_one_libfunc ("fptodp");
- truncdfsf2_libfunc = init_one_libfunc ("dptofp");
+ set_conv_libfunc (sext_optab, DFmode, SFmode, "fptodp");
+ set_conv_libfunc (trunc_optab, SFmode, DFmode, "dptofp");
- floatsisf_libfunc = init_one_libfunc ("sitofp");
- floatsidf_libfunc = init_one_libfunc ("litodp");
- fixsfsi_libfunc = init_one_libfunc ("fptosi");
- fixdfsi_libfunc = init_one_libfunc ("dptoli");
- fixunssfsi_libfunc = init_one_libfunc ("fptoui");
- fixunsdfsi_libfunc = init_one_libfunc ("dptoul");
+ set_conv_libfunc (sfix_optab, SImode, SFmode, "fptosi");
+ set_conv_libfunc (sfix_optab, SImode, DFmode, "dptoli");
+ set_conv_libfunc (ufix_optab, SImode, SFmode, "fptoui");
+ set_conv_libfunc (ufix_optab, SImode, DFmode, "dptoul");
+
+ set_conv_libfunc (sfloat_optab, SFmode, SImode, "sitofp");
+ set_conv_libfunc (sfloat_optab, DFmode, DImode, "litodp");
#endif
}
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index b632d8b..75a2cb6 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -37,7 +37,6 @@ Boston, MA 02111-1307, USA. */
#include "recog.h"
#include "expr.h"
#include "optabs.h"
-#include "libfuncs.h"
#include "except.h"
#include "function.h"
#include "ggc.h"
@@ -8327,16 +8326,18 @@ ia64_hpux_init_libfuncs (void)
set_optab_libfunc (lt_optab, TFmode, "_U_Qflt");
set_optab_libfunc (le_optab, TFmode, "_U_Qfle");
- extendsftf2_libfunc = init_one_libfunc ("_U_Qfcnvff_sgl_to_quad");
- extenddftf2_libfunc = init_one_libfunc ("_U_Qfcnvff_dbl_to_quad");
- trunctfsf2_libfunc = init_one_libfunc ("_U_Qfcnvff_quad_to_sgl");
- trunctfdf2_libfunc = init_one_libfunc ("_U_Qfcnvff_quad_to_dbl");
- floatsitf_libfunc = init_one_libfunc ("_U_Qfcnvxf_sgl_to_quad");
- floatditf_libfunc = init_one_libfunc ("_U_Qfcnvxf_dbl_to_quad");
- fixtfsi_libfunc = init_one_libfunc ("_U_Qfcnvfxt_quad_to_sgl");
- fixtfdi_libfunc = init_one_libfunc ("_U_Qfcnvfxt_quad_to_dbl");
- fixunstfsi_libfunc = init_one_libfunc ("_U_Qfcnvfxut_quad_to_sgl");
- fixunstfdi_libfunc = init_one_libfunc ("_U_Qfcnvfxut_quad_to_dbl");
+ set_conv_libfunc (sext_optab, TFmode, SFmode, "_U_Qfcnvff_sgl_to_quad");
+ set_conv_libfunc (sext_optab, TFmode, DFmode, "_U_Qfcnvff_dbl_to_quad");
+ set_conv_libfunc (trunc_optab, SFmode, TFmode, "_U_Qfcnvff_quad_to_sgl");
+ set_conv_libfunc (trunc_optab, DFmode, TFmode, "_U_Qfcnvff_quad_to_dbl");
+
+ set_conv_libfunc (sfix_optab, SImode, TFmode, "_U_Qfcnvfxt_quad_to_sgl");
+ set_conv_libfunc (sfix_optab, DImode, TFmode, "_U_Qfcnvfxt_quad_to_dbl");
+ set_conv_libfunc (ufix_optab, SImode, TFmode, "_U_Qfcnvfxut_quad_to_sgl");
+ set_conv_libfunc (ufix_optab, DImode, TFmode, "_U_Qfcnvfxut_quad_to_dbl");
+
+ set_conv_libfunc (sfloat_optab, TFmode, SImode, "_U_Qfcnvxf_sgl_to_quad");
+ set_conv_libfunc (sfloat_optab, TFmode, DImode, "_U_Qfcnvxf_dbl_to_quad");
}
/* Switch to the section to which we should output X. The only thing
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 9478ec1..773d6a1 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -42,7 +42,6 @@ Boston, MA 02111-1307, USA. */
#include "function.h"
#include "expr.h"
#include "optabs.h"
-#include "libfuncs.h"
#include "flags.h"
#include "reload.h"
#include "tm_p.h"
@@ -9043,8 +9042,8 @@ mips_init_libfuncs (void)
set_optab_libfunc (lt_optab, SFmode, "__mips16_ltsf2");
set_optab_libfunc (le_optab, SFmode, "__mips16_lesf2");
- floatsisf_libfunc = init_one_libfunc ("__mips16_floatsisf");
- fixsfsi_libfunc = init_one_libfunc ("__mips16_fixsfsi");
+ set_conv_libfunc (sfix_optab, SImode, SFmode, "__mips16_fixsfsi");
+ set_conv_libfunc (sfloat_optab, SFmode, SImode, "__mips16_floatsisf");
if (TARGET_DOUBLE_FLOAT)
{
@@ -9060,11 +9059,11 @@ mips_init_libfuncs (void)
set_optab_libfunc (lt_optab, DFmode, "__mips16_ltdf2");
set_optab_libfunc (le_optab, DFmode, "__mips16_ledf2");
- floatsidf_libfunc = init_one_libfunc ("__mips16_floatsidf");
- fixdfsi_libfunc = init_one_libfunc ("__mips16_fixdfsi");
+ set_conv_libfunc (sext_optab, DFmode, SFmode, "__mips16_extendsfdf2");
+ set_conv_libfunc (trunc_optab, SFmode, DFmode, "__mips16_truncdfsf2");
- extendsfdf2_libfunc = init_one_libfunc ("__mips16_extendsfdf2");
- truncdfsf2_libfunc = init_one_libfunc ("__mips16_truncdfsf2");
+ set_conv_libfunc (sfix_optab, SImode, DFmode, "__mips16_fixdfsi");
+ set_conv_libfunc (sfloat_optab, DFmode, SImode, "__mips16_floatsidf");
}
}
else
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index a5b9a4d..a438ac4 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -37,7 +37,6 @@ Boston, MA 02111-1307, USA. */
#include "except.h"
#include "expr.h"
#include "optabs.h"
-#include "libfuncs.h"
#include "reload.h"
#include "integrate.h"
#include "function.h"
@@ -4980,18 +4979,20 @@ pa_hpux_init_libfuncs (void)
set_optab_libfunc (lt_optab, TFmode, "_U_Qflt");
set_optab_libfunc (le_optab, TFmode, "_U_Qfle");
- extendsftf2_libfunc = init_one_libfunc ("_U_Qfcnvff_sgl_to_quad");
- extenddftf2_libfunc = init_one_libfunc ("_U_Qfcnvff_dbl_to_quad");
- trunctfsf2_libfunc = init_one_libfunc ("_U_Qfcnvff_quad_to_sgl");
- trunctfdf2_libfunc = init_one_libfunc ("_U_Qfcnvff_quad_to_dbl");
- floatsitf_libfunc = init_one_libfunc ("_U_Qfcnvxf_sgl_to_quad");
- floatditf_libfunc = init_one_libfunc ("_U_Qfcnvxf_dbl_to_quad");
- fixtfsi_libfunc = init_one_libfunc (TARGET_64BIT
- ? "__U_Qfcnvfxt_quad_to_sgl"
- : "_U_Qfcnvfxt_quad_to_sgl");
- fixtfdi_libfunc = init_one_libfunc ("_U_Qfcnvfxt_quad_to_dbl");
- fixunstfsi_libfunc = init_one_libfunc ("_U_Qfcnvfxt_quad_to_usgl");
- fixunstfdi_libfunc = init_one_libfunc ("_U_Qfcnvfxt_quad_to_udbl");
+ set_conv_libfunc (sext_optab, TFmode, SFmode, "_U_Qfcnvff_sgl_to_quad");
+ set_conv_libfunc (sext_optab, TFmode, DFmode, "_U_Qfcnvff_dbl_to_quad");
+ set_conv_libfunc (trunc_optab, SFmode, TFmode, "_U_Qfcnvff_quad_to_sgl");
+ set_conv_libfunc (trunc_optab, DFmode, TFmode, "_U_Qfcnvff_quad_to_dbl");
+
+ set_conv_libfunc (sfix_optab, SImode, TFmode, TARGET_64BIT
+ ? "__U_Qfcnvfxt_quad_to_sgl"
+ : "_U_Qfcnvfxt_quad_to_sgl");
+ set_conv_libfunc (sfix_optab, DImode, TFmode, "_U_Qfcnvfxt_quad_to_dbl");
+ set_conv_libfunc (ufix_optab, SImode, TFmode, "_U_Qfcnvfxt_quad_to_usgl");
+ set_conv_libfunc (ufix_optab, DImode, TFmode, "_U_Qfcnvfxt_quad_to_udbl");
+
+ set_conv_libfunc (sfloat_optab, TFmode, SImode, "_U_Qfcnvxf_sgl_to_quad");
+ set_conv_libfunc (sfloat_optab, TFmode, DImode, "_U_Qfcnvxf_dbl_to_quad");
}
#endif
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 4316b23..be79acc 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -37,7 +37,6 @@
#include "tree.h"
#include "expr.h"
#include "optabs.h"
-#include "libfuncs.h"
#include "except.h"
#include "function.h"
#include "output.h"
@@ -6784,8 +6783,8 @@ rs6000_init_libfuncs (void)
if (TARGET_XCOFF && ! TARGET_POWER2 && ! TARGET_POWERPC)
{
/* AIX library routines for float->int conversion. */
- fixdfsi_libfunc = init_one_libfunc ("__itrunc");
- fixunsdfsi_libfunc = init_one_libfunc ("__uitrunc");
+ set_conv_libfunc (sfix_optab, SImode, DFmode, "__itrunc");
+ set_conv_libfunc (ufix_optab, SImode, DFmode, "__uitrunc");
}
/* Standard AIX/Darwin/64-bit SVR4 quad floating point routines. */
@@ -6813,17 +6812,15 @@ rs6000_init_libfuncs (void)
set_optab_libfunc (lt_optab, TFmode, "_q_flt");
set_optab_libfunc (le_optab, TFmode, "_q_fle");
- trunctfsf2_libfunc = init_one_libfunc ("_q_qtos");
- trunctfdf2_libfunc = init_one_libfunc ("_q_qtod");
- extendsftf2_libfunc = init_one_libfunc ("_q_stoq");
- extenddftf2_libfunc = init_one_libfunc ("_q_dtoq");
- floatsitf_libfunc = init_one_libfunc ("_q_itoq");
- fixtfsi_libfunc = init_one_libfunc ("_q_qtoi");
- fixunstfsi_libfunc = init_one_libfunc ("_q_qtou");
+ set_conv_libfunc (sext_optab, TFmode, SFmode, "_q_stoq");
+ set_conv_libfunc (sext_optab, TFmode, DFmode, "_q_dtoq");
+ set_conv_libfunc (trunc_optab, SFmode, TFmode, "_q_qtos");
+ set_conv_libfunc (trunc_optab, DFmode, TFmode, "_q_qtod");
+ set_conv_libfunc (sfix_optab, SImode, TFmode, "_q_qtoi");
+ set_conv_libfunc (ufix_optab, SImode, TFmode, "_q_qtou");
+ set_conv_libfunc (sfloat_optab, TFmode, SImode, "_q_itoq");
}
}
-
-
/* Expand a block move operation, and return 1 if successful. Return 0
if we should let the compiler generate normal code.
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index adea22f..96335c9 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -39,7 +39,6 @@ Boston, MA 02111-1307, USA. */
#include "function.h"
#include "expr.h"
#include "optabs.h"
-#include "libfuncs.h"
#include "recog.h"
#include "toplev.h"
#include "ggc.h"
@@ -8431,20 +8430,21 @@ sparc_init_libfuncs (void)
set_optab_libfunc (lt_optab, TFmode, "_Q_flt");
set_optab_libfunc (le_optab, TFmode, "_Q_fle");
- trunctfsf2_libfunc = init_one_libfunc ("_Q_qtos");
- trunctfdf2_libfunc = init_one_libfunc ("_Q_qtod");
- extendsftf2_libfunc = init_one_libfunc ("_Q_stoq");
- extenddftf2_libfunc = init_one_libfunc ("_Q_dtoq");
- floatsitf_libfunc = init_one_libfunc ("_Q_itoq");
- fixtfsi_libfunc = init_one_libfunc ("_Q_qtoi");
- fixunstfsi_libfunc = init_one_libfunc ("_Q_qtou");
+ set_conv_libfunc (sext_optab, TFmode, SFmode, "_Q_stoq");
+ set_conv_libfunc (sext_optab, TFmode, DFmode, "_Q_dtoq");
+ set_conv_libfunc (trunc_optab, SFmode, TFmode, "_Q_qtos");
+ set_conv_libfunc (trunc_optab, DFmode, TFmode, "_Q_qtod");
+
+ set_conv_libfunc (sfix_optab, SImode, TFmode, "_Q_qtoi");
+ set_conv_libfunc (ufix_optab, SImode, TFmode, "_Q_qtou");
+ set_conv_libfunc (sfloat_optab, TFmode, SImode, "_Q_itoq");
if (SUN_CONVERSION_LIBFUNCS)
{
- fixsfdi_libfunc = init_one_libfunc ("__ftoll");
- fixunssfdi_libfunc = init_one_libfunc ("__ftoull");
- fixdfdi_libfunc = init_one_libfunc ("__dtoll");
- fixunsdfdi_libfunc = init_one_libfunc ("__dtoull");
+ set_conv_libfunc (sfix_optab, DImode, SFmode, "__ftoll");
+ set_conv_libfunc (ufix_optab, DImode, SFmode, "__ftoull");
+ set_conv_libfunc (sfix_optab, DImode, DFmode, "__dtoll");
+ set_conv_libfunc (ufix_optab, DImode, DFmode, "__dtoull");
}
}
if (TARGET_ARCH64)
@@ -8470,10 +8470,10 @@ sparc_init_libfuncs (void)
if (SUN_CONVERSION_LIBFUNCS)
{
- fixsfdi_libfunc = init_one_libfunc ("__ftol");
- fixunssfdi_libfunc = init_one_libfunc ("__ftoul");
- fixdfdi_libfunc = init_one_libfunc ("__dtol");
- fixunsdfdi_libfunc = init_one_libfunc ("__dtoul");
+ set_conv_libfunc (sfix_optab, DImode, SFmode, "__ftol");
+ set_conv_libfunc (ufix_optab, DImode, SFmode, "__ftoul");
+ set_conv_libfunc (sfix_optab, DImode, DFmode, "__dtol");
+ set_conv_libfunc (ufix_optab, DImode, DFmode, "__dtoul");
}
}