diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-10-07 02:23:42 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-10-07 02:23:42 +0000 |
commit | 85363ca0942f5f45334b2b2ee56dad289f0ebd27 (patch) | |
tree | 272ff451c0f5e3b65cd727409933c9d1f5119570 /gcc/config | |
parent | 1f1dc5bb85d601f26249deecb9bf77390d674f3d (diff) | |
download | gcc-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.c | 32 | ||||
-rw-r--r-- | gcc/config/gofast.h | 17 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 23 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 13 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 27 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 21 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 32 |
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"); } } |