summaryrefslogtreecommitdiff
path: root/gcc/optabs.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-11-18 20:18:39 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2007-11-18 20:18:39 +0100
commit33727b5ecb2653eaa3688a4e9102cb454c1ff6a2 (patch)
tree783387161f29ac9c3beb6ce47f7af8e82a3bca64 /gcc/optabs.h
parent3c279553647c683018e777eaf6e95f5140bc3425 (diff)
downloadgcc-33727b5ecb2653eaa3688a4e9102cb454c1ff6a2.tar.gz
re PR middle-end/33335 (FAIL: 26_numerics/complex/inserters_extractors/wchar_t/1.cc)
PR middle-end/33335 * optabs.h (optab_table): Change type to struct optab from optab. (convert_optab_table): Similarly. Adjust all _optab macros to expand to addresses of optab_table resp. convert_optab_table elements rather than the values of the elements. * optabs.c (optab_table): Change typype to struct optab from optab. If compiled by recent GCC, initialize all the insn_code fields in the array using designated range initializers. (convert_optab_table): Similarly. (convert_optab_libfunc, optab_libfunc, set_optab_libfunc, set_conv_libfunc): Into libfunc_entry's optab field store index within optab_table resp. convert_optab_table array instead of difference between two separately malloced addresses. (new_optab): Add op argument, don't return anything. Initialize just the insn_code field in handlers array and only when needed. (init_optab, init_optabv): Add op argument, don't return anything. Adjust new_optab caller. (new_convert_optab): Removed. (init_convert_optab): Add op argument, don't return anything, don't call new_convert_optab. If needed, initialize insn_code field in handlers array. (init_optabs): Adjust init_optab, init_optabv and init_convert_optab callers. (debug_optab_libfuncs): Adjust uses of optab_table and convert_optab_table arrays. From-SVN: r130274
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r--gcc/optabs.h370
1 files changed, 185 insertions, 185 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 9dd98134a0b..91625debb73 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -360,172 +360,172 @@ enum optab_index
OTI_MAX
};
-extern optab optab_table[OTI_MAX];
-
-#define ssadd_optab (optab_table[OTI_ssadd])
-#define usadd_optab (optab_table[OTI_usadd])
-#define sssub_optab (optab_table[OTI_sssub])
-#define ussub_optab (optab_table[OTI_ussub])
-#define ssmul_optab (optab_table[OTI_ssmul])
-#define usmul_optab (optab_table[OTI_usmul])
-#define ssdiv_optab (optab_table[OTI_ssdiv])
-#define usdiv_optab (optab_table[OTI_usdiv])
-#define ssneg_optab (optab_table[OTI_ssneg])
-#define usneg_optab (optab_table[OTI_usneg])
-#define ssashl_optab (optab_table[OTI_ssashl])
-#define usashl_optab (optab_table[OTI_usashl])
-
-#define add_optab (optab_table[OTI_add])
-#define sub_optab (optab_table[OTI_sub])
-#define smul_optab (optab_table[OTI_smul])
-#define addv_optab (optab_table[OTI_addv])
-#define subv_optab (optab_table[OTI_subv])
-#define smul_highpart_optab (optab_table[OTI_smul_highpart])
-#define umul_highpart_optab (optab_table[OTI_umul_highpart])
-#define smul_widen_optab (optab_table[OTI_smul_widen])
-#define umul_widen_optab (optab_table[OTI_umul_widen])
-#define usmul_widen_optab (optab_table[OTI_usmul_widen])
-#define smadd_widen_optab (optab_table[OTI_smadd_widen])
-#define umadd_widen_optab (optab_table[OTI_umadd_widen])
-#define ssmadd_widen_optab (optab_table[OTI_ssmadd_widen])
-#define usmadd_widen_optab (optab_table[OTI_usmadd_widen])
-#define smsub_widen_optab (optab_table[OTI_smsub_widen])
-#define umsub_widen_optab (optab_table[OTI_umsub_widen])
-#define ssmsub_widen_optab (optab_table[OTI_ssmsub_widen])
-#define usmsub_widen_optab (optab_table[OTI_usmsub_widen])
-#define sdiv_optab (optab_table[OTI_sdiv])
-#define smulv_optab (optab_table[OTI_smulv])
-#define sdivv_optab (optab_table[OTI_sdivv])
-#define sdivmod_optab (optab_table[OTI_sdivmod])
-#define udiv_optab (optab_table[OTI_udiv])
-#define udivmod_optab (optab_table[OTI_udivmod])
-#define smod_optab (optab_table[OTI_smod])
-#define umod_optab (optab_table[OTI_umod])
-#define fmod_optab (optab_table[OTI_fmod])
-#define remainder_optab (optab_table[OTI_remainder])
-#define ftrunc_optab (optab_table[OTI_ftrunc])
-#define and_optab (optab_table[OTI_and])
-#define ior_optab (optab_table[OTI_ior])
-#define xor_optab (optab_table[OTI_xor])
-#define ashl_optab (optab_table[OTI_ashl])
-#define lshr_optab (optab_table[OTI_lshr])
-#define ashr_optab (optab_table[OTI_ashr])
-#define rotl_optab (optab_table[OTI_rotl])
-#define rotr_optab (optab_table[OTI_rotr])
-#define smin_optab (optab_table[OTI_smin])
-#define smax_optab (optab_table[OTI_smax])
-#define umin_optab (optab_table[OTI_umin])
-#define umax_optab (optab_table[OTI_umax])
-#define pow_optab (optab_table[OTI_pow])
-#define atan2_optab (optab_table[OTI_atan2])
-
-#define mov_optab (optab_table[OTI_mov])
-#define movstrict_optab (optab_table[OTI_movstrict])
-#define movmisalign_optab (optab_table[OTI_movmisalign])
-#define storent_optab (optab_table[OTI_storent])
-
-#define neg_optab (optab_table[OTI_neg])
-#define negv_optab (optab_table[OTI_negv])
-#define abs_optab (optab_table[OTI_abs])
-#define absv_optab (optab_table[OTI_absv])
-#define one_cmpl_optab (optab_table[OTI_one_cmpl])
-#define bswap_optab (optab_table[OTI_bswap])
-#define ffs_optab (optab_table[OTI_ffs])
-#define clz_optab (optab_table[OTI_clz])
-#define ctz_optab (optab_table[OTI_ctz])
-#define popcount_optab (optab_table[OTI_popcount])
-#define parity_optab (optab_table[OTI_parity])
-#define sqrt_optab (optab_table[OTI_sqrt])
-#define sincos_optab (optab_table[OTI_sincos])
-#define sin_optab (optab_table[OTI_sin])
-#define asin_optab (optab_table[OTI_asin])
-#define cos_optab (optab_table[OTI_cos])
-#define acos_optab (optab_table[OTI_acos])
-#define exp_optab (optab_table[OTI_exp])
-#define exp10_optab (optab_table[OTI_exp10])
-#define exp2_optab (optab_table[OTI_exp2])
-#define expm1_optab (optab_table[OTI_expm1])
-#define ldexp_optab (optab_table[OTI_ldexp])
-#define scalb_optab (optab_table[OTI_scalb])
-#define logb_optab (optab_table[OTI_logb])
-#define ilogb_optab (optab_table[OTI_ilogb])
-#define log_optab (optab_table[OTI_log])
-#define log10_optab (optab_table[OTI_log10])
-#define log2_optab (optab_table[OTI_log2])
-#define log1p_optab (optab_table[OTI_log1p])
-#define floor_optab (optab_table[OTI_floor])
-#define ceil_optab (optab_table[OTI_ceil])
-#define btrunc_optab (optab_table[OTI_btrunc])
-#define round_optab (optab_table[OTI_round])
-#define nearbyint_optab (optab_table[OTI_nearbyint])
-#define rint_optab (optab_table[OTI_rint])
-#define tan_optab (optab_table[OTI_tan])
-#define atan_optab (optab_table[OTI_atan])
-#define copysign_optab (optab_table[OTI_copysign])
-#define signbit_optab (optab_table[OTI_signbit])
-#define isinf_optab (optab_table[OTI_isinf])
-
-#define cmp_optab (optab_table[OTI_cmp])
-#define ucmp_optab (optab_table[OTI_ucmp])
-#define tst_optab (optab_table[OTI_tst])
-
-#define eq_optab (optab_table[OTI_eq])
-#define ne_optab (optab_table[OTI_ne])
-#define gt_optab (optab_table[OTI_gt])
-#define ge_optab (optab_table[OTI_ge])
-#define lt_optab (optab_table[OTI_lt])
-#define le_optab (optab_table[OTI_le])
-#define unord_optab (optab_table[OTI_unord])
-
-#define strlen_optab (optab_table[OTI_strlen])
-
-#define cbranch_optab (optab_table[OTI_cbranch])
-#define cmov_optab (optab_table[OTI_cmov])
-#define cstore_optab (optab_table[OTI_cstore])
-#define push_optab (optab_table[OTI_push])
-#define addcc_optab (optab_table[OTI_addcc])
-
-#define reduc_smax_optab (optab_table[OTI_reduc_smax])
-#define reduc_umax_optab (optab_table[OTI_reduc_umax])
-#define reduc_smin_optab (optab_table[OTI_reduc_smin])
-#define reduc_umin_optab (optab_table[OTI_reduc_umin])
-#define reduc_splus_optab (optab_table[OTI_reduc_splus])
-#define reduc_uplus_optab (optab_table[OTI_reduc_uplus])
-
-#define ssum_widen_optab (optab_table[OTI_ssum_widen])
-#define usum_widen_optab (optab_table[OTI_usum_widen])
-#define sdot_prod_optab (optab_table[OTI_sdot_prod])
-#define udot_prod_optab (optab_table[OTI_udot_prod])
-
-#define vec_set_optab (optab_table[OTI_vec_set])
-#define vec_extract_optab (optab_table[OTI_vec_extract])
-#define vec_extract_even_optab (optab_table[OTI_vec_extract_even])
-#define vec_extract_odd_optab (optab_table[OTI_vec_extract_odd])
-#define vec_interleave_high_optab (optab_table[OTI_vec_interleave_high])
-#define vec_interleave_low_optab (optab_table[OTI_vec_interleave_low])
-#define vec_init_optab (optab_table[OTI_vec_init])
-#define vec_shl_optab (optab_table[OTI_vec_shl])
-#define vec_shr_optab (optab_table[OTI_vec_shr])
-#define vec_realign_load_optab (optab_table[OTI_vec_realign_load])
-#define vec_widen_umult_hi_optab (optab_table[OTI_vec_widen_umult_hi])
-#define vec_widen_umult_lo_optab (optab_table[OTI_vec_widen_umult_lo])
-#define vec_widen_smult_hi_optab (optab_table[OTI_vec_widen_smult_hi])
-#define vec_widen_smult_lo_optab (optab_table[OTI_vec_widen_smult_lo])
-#define vec_unpacks_hi_optab (optab_table[OTI_vec_unpacks_hi])
-#define vec_unpacks_lo_optab (optab_table[OTI_vec_unpacks_lo])
-#define vec_unpacku_hi_optab (optab_table[OTI_vec_unpacku_hi])
-#define vec_unpacku_lo_optab (optab_table[OTI_vec_unpacku_lo])
-#define vec_unpacks_float_hi_optab (optab_table[OTI_vec_unpacks_float_hi])
-#define vec_unpacks_float_lo_optab (optab_table[OTI_vec_unpacks_float_lo])
-#define vec_unpacku_float_hi_optab (optab_table[OTI_vec_unpacku_float_hi])
-#define vec_unpacku_float_lo_optab (optab_table[OTI_vec_unpacku_float_lo])
-#define vec_pack_trunc_optab (optab_table[OTI_vec_pack_trunc])
-#define vec_pack_ssat_optab (optab_table[OTI_vec_pack_ssat])
-#define vec_pack_usat_optab (optab_table[OTI_vec_pack_usat])
-#define vec_pack_sfix_trunc_optab (optab_table[OTI_vec_pack_sfix_trunc])
-#define vec_pack_ufix_trunc_optab (optab_table[OTI_vec_pack_ufix_trunc])
-
-#define powi_optab (optab_table[OTI_powi])
+extern struct optab optab_table[OTI_MAX];
+
+#define ssadd_optab (&optab_table[OTI_ssadd])
+#define usadd_optab (&optab_table[OTI_usadd])
+#define sssub_optab (&optab_table[OTI_sssub])
+#define ussub_optab (&optab_table[OTI_ussub])
+#define ssmul_optab (&optab_table[OTI_ssmul])
+#define usmul_optab (&optab_table[OTI_usmul])
+#define ssdiv_optab (&optab_table[OTI_ssdiv])
+#define usdiv_optab (&optab_table[OTI_usdiv])
+#define ssneg_optab (&optab_table[OTI_ssneg])
+#define usneg_optab (&optab_table[OTI_usneg])
+#define ssashl_optab (&optab_table[OTI_ssashl])
+#define usashl_optab (&optab_table[OTI_usashl])
+
+#define add_optab (&optab_table[OTI_add])
+#define sub_optab (&optab_table[OTI_sub])
+#define smul_optab (&optab_table[OTI_smul])
+#define addv_optab (&optab_table[OTI_addv])
+#define subv_optab (&optab_table[OTI_subv])
+#define smul_highpart_optab (&optab_table[OTI_smul_highpart])
+#define umul_highpart_optab (&optab_table[OTI_umul_highpart])
+#define smul_widen_optab (&optab_table[OTI_smul_widen])
+#define umul_widen_optab (&optab_table[OTI_umul_widen])
+#define usmul_widen_optab (&optab_table[OTI_usmul_widen])
+#define smadd_widen_optab (&optab_table[OTI_smadd_widen])
+#define umadd_widen_optab (&optab_table[OTI_umadd_widen])
+#define ssmadd_widen_optab (&optab_table[OTI_ssmadd_widen])
+#define usmadd_widen_optab (&optab_table[OTI_usmadd_widen])
+#define smsub_widen_optab (&optab_table[OTI_smsub_widen])
+#define umsub_widen_optab (&optab_table[OTI_umsub_widen])
+#define ssmsub_widen_optab (&optab_table[OTI_ssmsub_widen])
+#define usmsub_widen_optab (&optab_table[OTI_usmsub_widen])
+#define sdiv_optab (&optab_table[OTI_sdiv])
+#define smulv_optab (&optab_table[OTI_smulv])
+#define sdivv_optab (&optab_table[OTI_sdivv])
+#define sdivmod_optab (&optab_table[OTI_sdivmod])
+#define udiv_optab (&optab_table[OTI_udiv])
+#define udivmod_optab (&optab_table[OTI_udivmod])
+#define smod_optab (&optab_table[OTI_smod])
+#define umod_optab (&optab_table[OTI_umod])
+#define fmod_optab (&optab_table[OTI_fmod])
+#define remainder_optab (&optab_table[OTI_remainder])
+#define ftrunc_optab (&optab_table[OTI_ftrunc])
+#define and_optab (&optab_table[OTI_and])
+#define ior_optab (&optab_table[OTI_ior])
+#define xor_optab (&optab_table[OTI_xor])
+#define ashl_optab (&optab_table[OTI_ashl])
+#define lshr_optab (&optab_table[OTI_lshr])
+#define ashr_optab (&optab_table[OTI_ashr])
+#define rotl_optab (&optab_table[OTI_rotl])
+#define rotr_optab (&optab_table[OTI_rotr])
+#define smin_optab (&optab_table[OTI_smin])
+#define smax_optab (&optab_table[OTI_smax])
+#define umin_optab (&optab_table[OTI_umin])
+#define umax_optab (&optab_table[OTI_umax])
+#define pow_optab (&optab_table[OTI_pow])
+#define atan2_optab (&optab_table[OTI_atan2])
+
+#define mov_optab (&optab_table[OTI_mov])
+#define movstrict_optab (&optab_table[OTI_movstrict])
+#define movmisalign_optab (&optab_table[OTI_movmisalign])
+#define storent_optab (&optab_table[OTI_storent])
+
+#define neg_optab (&optab_table[OTI_neg])
+#define negv_optab (&optab_table[OTI_negv])
+#define abs_optab (&optab_table[OTI_abs])
+#define absv_optab (&optab_table[OTI_absv])
+#define one_cmpl_optab (&optab_table[OTI_one_cmpl])
+#define bswap_optab (&optab_table[OTI_bswap])
+#define ffs_optab (&optab_table[OTI_ffs])
+#define clz_optab (&optab_table[OTI_clz])
+#define ctz_optab (&optab_table[OTI_ctz])
+#define popcount_optab (&optab_table[OTI_popcount])
+#define parity_optab (&optab_table[OTI_parity])
+#define sqrt_optab (&optab_table[OTI_sqrt])
+#define sincos_optab (&optab_table[OTI_sincos])
+#define sin_optab (&optab_table[OTI_sin])
+#define asin_optab (&optab_table[OTI_asin])
+#define cos_optab (&optab_table[OTI_cos])
+#define acos_optab (&optab_table[OTI_acos])
+#define exp_optab (&optab_table[OTI_exp])
+#define exp10_optab (&optab_table[OTI_exp10])
+#define exp2_optab (&optab_table[OTI_exp2])
+#define expm1_optab (&optab_table[OTI_expm1])
+#define ldexp_optab (&optab_table[OTI_ldexp])
+#define scalb_optab (&optab_table[OTI_scalb])
+#define logb_optab (&optab_table[OTI_logb])
+#define ilogb_optab (&optab_table[OTI_ilogb])
+#define log_optab (&optab_table[OTI_log])
+#define log10_optab (&optab_table[OTI_log10])
+#define log2_optab (&optab_table[OTI_log2])
+#define log1p_optab (&optab_table[OTI_log1p])
+#define floor_optab (&optab_table[OTI_floor])
+#define ceil_optab (&optab_table[OTI_ceil])
+#define btrunc_optab (&optab_table[OTI_btrunc])
+#define round_optab (&optab_table[OTI_round])
+#define nearbyint_optab (&optab_table[OTI_nearbyint])
+#define rint_optab (&optab_table[OTI_rint])
+#define tan_optab (&optab_table[OTI_tan])
+#define atan_optab (&optab_table[OTI_atan])
+#define copysign_optab (&optab_table[OTI_copysign])
+#define signbit_optab (&optab_table[OTI_signbit])
+#define isinf_optab (&optab_table[OTI_isinf])
+
+#define cmp_optab (&optab_table[OTI_cmp])
+#define ucmp_optab (&optab_table[OTI_ucmp])
+#define tst_optab (&optab_table[OTI_tst])
+
+#define eq_optab (&optab_table[OTI_eq])
+#define ne_optab (&optab_table[OTI_ne])
+#define gt_optab (&optab_table[OTI_gt])
+#define ge_optab (&optab_table[OTI_ge])
+#define lt_optab (&optab_table[OTI_lt])
+#define le_optab (&optab_table[OTI_le])
+#define unord_optab (&optab_table[OTI_unord])
+
+#define strlen_optab (&optab_table[OTI_strlen])
+
+#define cbranch_optab (&optab_table[OTI_cbranch])
+#define cmov_optab (&optab_table[OTI_cmov])
+#define cstore_optab (&optab_table[OTI_cstore])
+#define push_optab (&optab_table[OTI_push])
+#define addcc_optab (&optab_table[OTI_addcc])
+
+#define reduc_smax_optab (&optab_table[OTI_reduc_smax])
+#define reduc_umax_optab (&optab_table[OTI_reduc_umax])
+#define reduc_smin_optab (&optab_table[OTI_reduc_smin])
+#define reduc_umin_optab (&optab_table[OTI_reduc_umin])
+#define reduc_splus_optab (&optab_table[OTI_reduc_splus])
+#define reduc_uplus_optab (&optab_table[OTI_reduc_uplus])
+
+#define ssum_widen_optab (&optab_table[OTI_ssum_widen])
+#define usum_widen_optab (&optab_table[OTI_usum_widen])
+#define sdot_prod_optab (&optab_table[OTI_sdot_prod])
+#define udot_prod_optab (&optab_table[OTI_udot_prod])
+
+#define vec_set_optab (&optab_table[OTI_vec_set])
+#define vec_extract_optab (&optab_table[OTI_vec_extract])
+#define vec_extract_even_optab (&optab_table[OTI_vec_extract_even])
+#define vec_extract_odd_optab (&optab_table[OTI_vec_extract_odd])
+#define vec_interleave_high_optab (&optab_table[OTI_vec_interleave_high])
+#define vec_interleave_low_optab (&optab_table[OTI_vec_interleave_low])
+#define vec_init_optab (&optab_table[OTI_vec_init])
+#define vec_shl_optab (&optab_table[OTI_vec_shl])
+#define vec_shr_optab (&optab_table[OTI_vec_shr])
+#define vec_realign_load_optab (&optab_table[OTI_vec_realign_load])
+#define vec_widen_umult_hi_optab (&optab_table[OTI_vec_widen_umult_hi])
+#define vec_widen_umult_lo_optab (&optab_table[OTI_vec_widen_umult_lo])
+#define vec_widen_smult_hi_optab (&optab_table[OTI_vec_widen_smult_hi])
+#define vec_widen_smult_lo_optab (&optab_table[OTI_vec_widen_smult_lo])
+#define vec_unpacks_hi_optab (&optab_table[OTI_vec_unpacks_hi])
+#define vec_unpacks_lo_optab (&optab_table[OTI_vec_unpacks_lo])
+#define vec_unpacku_hi_optab (&optab_table[OTI_vec_unpacku_hi])
+#define vec_unpacku_lo_optab (&optab_table[OTI_vec_unpacku_lo])
+#define vec_unpacks_float_hi_optab (&optab_table[OTI_vec_unpacks_float_hi])
+#define vec_unpacks_float_lo_optab (&optab_table[OTI_vec_unpacks_float_lo])
+#define vec_unpacku_float_hi_optab (&optab_table[OTI_vec_unpacku_float_hi])
+#define vec_unpacku_float_lo_optab (&optab_table[OTI_vec_unpacku_float_lo])
+#define vec_pack_trunc_optab (&optab_table[OTI_vec_pack_trunc])
+#define vec_pack_ssat_optab (&optab_table[OTI_vec_pack_ssat])
+#define vec_pack_usat_optab (&optab_table[OTI_vec_pack_usat])
+#define vec_pack_sfix_trunc_optab (&optab_table[OTI_vec_pack_sfix_trunc])
+#define vec_pack_ufix_trunc_optab (&optab_table[OTI_vec_pack_ufix_trunc])
+
+#define powi_optab (&optab_table[OTI_powi])
/* Conversion optabs have their own table and indexes. */
enum convert_optab_index
@@ -556,25 +556,25 @@ enum convert_optab_index
COI_MAX
};
-extern convert_optab convert_optab_table[COI_MAX];
-
-#define sext_optab (convert_optab_table[COI_sext])
-#define zext_optab (convert_optab_table[COI_zext])
-#define trunc_optab (convert_optab_table[COI_trunc])
-#define sfix_optab (convert_optab_table[COI_sfix])
-#define ufix_optab (convert_optab_table[COI_ufix])
-#define sfixtrunc_optab (convert_optab_table[COI_sfixtrunc])
-#define ufixtrunc_optab (convert_optab_table[COI_ufixtrunc])
-#define sfloat_optab (convert_optab_table[COI_sfloat])
-#define ufloat_optab (convert_optab_table[COI_ufloat])
-#define lrint_optab (convert_optab_table[COI_lrint])
-#define lround_optab (convert_optab_table[COI_lround])
-#define lfloor_optab (convert_optab_table[COI_lfloor])
-#define lceil_optab (convert_optab_table[COI_lceil])
-#define fract_optab (convert_optab_table[COI_fract])
-#define fractuns_optab (convert_optab_table[COI_fractuns])
-#define satfract_optab (convert_optab_table[COI_satfract])
-#define satfractuns_optab (convert_optab_table[COI_satfractuns])
+extern struct convert_optab convert_optab_table[COI_MAX];
+
+#define sext_optab (&convert_optab_table[COI_sext])
+#define zext_optab (&convert_optab_table[COI_zext])
+#define trunc_optab (&convert_optab_table[COI_trunc])
+#define sfix_optab (&convert_optab_table[COI_sfix])
+#define ufix_optab (&convert_optab_table[COI_ufix])
+#define sfixtrunc_optab (&convert_optab_table[COI_sfixtrunc])
+#define ufixtrunc_optab (&convert_optab_table[COI_ufixtrunc])
+#define sfloat_optab (&convert_optab_table[COI_sfloat])
+#define ufloat_optab (&convert_optab_table[COI_ufloat])
+#define lrint_optab (&convert_optab_table[COI_lrint])
+#define lround_optab (&convert_optab_table[COI_lround])
+#define lfloor_optab (&convert_optab_table[COI_lfloor])
+#define lceil_optab (&convert_optab_table[COI_lceil])
+#define fract_optab (&convert_optab_table[COI_fract])
+#define fractuns_optab (&convert_optab_table[COI_fractuns])
+#define satfract_optab (&convert_optab_table[COI_satfract])
+#define satfractuns_optab (&convert_optab_table[COI_satfractuns])
/* These arrays record the insn_code of insns that may be needed to
perform input and output reloads of special objects. They provide a