libfuncs, we use our own functions, since GOFAST doesn't supply
them. */
- eqsf2_libfunc = init_one_libfunc ("fpcmp");
- nesf2_libfunc = init_one_libfunc ("fpcmp");
- gtsf2_libfunc = NULL_RTX;
- gesf2_libfunc = NULL_RTX;
- ltsf2_libfunc = init_one_libfunc ("fpcmp");
- lesf2_libfunc = init_one_libfunc ("fpcmp");
+ set_optab_libfunc (eq_optab, SFmode, "fpcmp");
+ set_optab_libfunc (ne_optab, SFmode, "fpcmp");
+ set_optab_libfunc (gt_optab, SFmode, 0);
+ set_optab_libfunc (ge_optab, SFmode, 0);
+ set_optab_libfunc (lt_optab, SFmode, "fpcmp");
+ set_optab_libfunc (le_optab, SFmode, "fpcmp");
- eqdf2_libfunc = init_one_libfunc ("dpcmp");
- nedf2_libfunc = init_one_libfunc ("dpcmp");
- gtdf2_libfunc = NULL_RTX;
- gedf2_libfunc = NULL_RTX;
- ltdf2_libfunc = init_one_libfunc ("dpcmp");
- ledf2_libfunc = init_one_libfunc ("dpcmp");
+ set_optab_libfunc (eq_optab, DFmode, "dpcmp");
+ set_optab_libfunc (ne_optab, DFmode, "dpcmp");
+ set_optab_libfunc (gt_optab, DFmode, 0);
+ set_optab_libfunc (ge_optab, DFmode, 0);
+ 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
}