| 1 | /* Generated automatically by the program `genopinit' |
| 2 | from the machine description file `md'. */ |
| 3 | |
| 4 | #include "config.h" |
| 5 | #include "rtl.h" |
| 6 | #include "flags.h" |
| 7 | #include "insn-flags.h" |
| 8 | #include "insn-codes.h" |
| 9 | #include "insn-config.h" |
| 10 | #include "recog.h" |
| 11 | #include "expr.h" |
| 12 | #include "reload.h" |
| 13 | |
| 14 | void |
| 15 | init_all_optabs () |
| 16 | { |
| 17 | tst_optab->handlers[(int) SImode].insn_code = CODE_FOR_tstsi; |
| 18 | tst_optab->handlers[(int) HImode].insn_code = CODE_FOR_tsthi; |
| 19 | tst_optab->handlers[(int) QImode].insn_code = CODE_FOR_tstqi; |
| 20 | if (HAVE_tstsf) |
| 21 | tst_optab->handlers[(int) SFmode].insn_code = CODE_FOR_tstsf; |
| 22 | if (HAVE_tstdf) |
| 23 | tst_optab->handlers[(int) DFmode].insn_code = CODE_FOR_tstdf; |
| 24 | cmp_optab->handlers[(int) SImode].insn_code = CODE_FOR_cmpsi; |
| 25 | cmp_optab->handlers[(int) HImode].insn_code = CODE_FOR_cmphi; |
| 26 | cmp_optab->handlers[(int) QImode].insn_code = CODE_FOR_cmpqi; |
| 27 | if (HAVE_cmpdf) |
| 28 | cmp_optab->handlers[(int) DFmode].insn_code = CODE_FOR_cmpdf; |
| 29 | if (HAVE_cmpsf) |
| 30 | cmp_optab->handlers[(int) SFmode].insn_code = CODE_FOR_cmpsf; |
| 31 | mov_optab->handlers[(int) SImode].insn_code = CODE_FOR_movsi; |
| 32 | mov_optab->handlers[(int) HImode].insn_code = CODE_FOR_movhi; |
| 33 | movstrict_optab->handlers[(int) HImode].insn_code = CODE_FOR_movstricthi; |
| 34 | mov_optab->handlers[(int) QImode].insn_code = CODE_FOR_movqi; |
| 35 | movstrict_optab->handlers[(int) QImode].insn_code = CODE_FOR_movstrictqi; |
| 36 | mov_optab->handlers[(int) SFmode].insn_code = CODE_FOR_movsf; |
| 37 | mov_optab->handlers[(int) DFmode].insn_code = CODE_FOR_movdf; |
| 38 | mov_optab->handlers[(int) DImode].insn_code = CODE_FOR_movdi; |
| 39 | extendtab[(int) SImode][(int) HImode][1] = CODE_FOR_zero_extendhisi2; |
| 40 | extendtab[(int) HImode][(int) QImode][1] = CODE_FOR_zero_extendqihi2; |
| 41 | extendtab[(int) SImode][(int) QImode][1] = CODE_FOR_zero_extendqisi2; |
| 42 | extendtab[(int) DImode][(int) SImode][1] = CODE_FOR_zero_extendsidi2; |
| 43 | extendtab[(int) DImode][(int) SImode][0] = CODE_FOR_extendsidi2; |
| 44 | extendtab[(int) SImode][(int) HImode][0] = CODE_FOR_extendhisi2; |
| 45 | extendtab[(int) HImode][(int) QImode][0] = CODE_FOR_extendqihi2; |
| 46 | extendtab[(int) SImode][(int) QImode][0] = CODE_FOR_extendqisi2; |
| 47 | if (HAVE_extendsfdf2) |
| 48 | extendtab[(int) DFmode][(int) SFmode][0] = CODE_FOR_extendsfdf2; |
| 49 | if (HAVE_fixuns_truncdfsi2) |
| 50 | fixtrunctab[(int) DFmode][(int) SImode][1] = CODE_FOR_fixuns_truncdfsi2; |
| 51 | if (HAVE_fixuns_truncsfsi2) |
| 52 | fixtrunctab[(int) SFmode][(int) SImode][1] = CODE_FOR_fixuns_truncsfsi2; |
| 53 | if (HAVE_fix_truncdfdi2) |
| 54 | fixtrunctab[(int) DFmode][(int) DImode][0] = CODE_FOR_fix_truncdfdi2; |
| 55 | if (HAVE_fix_truncsfdi2) |
| 56 | fixtrunctab[(int) SFmode][(int) DImode][0] = CODE_FOR_fix_truncsfdi2; |
| 57 | if (HAVE_fix_truncdfsi2) |
| 58 | fixtrunctab[(int) DFmode][(int) SImode][0] = CODE_FOR_fix_truncdfsi2; |
| 59 | if (HAVE_fix_truncsfsi2) |
| 60 | fixtrunctab[(int) SFmode][(int) SImode][0] = CODE_FOR_fix_truncsfsi2; |
| 61 | if (HAVE_floatsisf2) |
| 62 | floattab[(int) SFmode][(int) SImode][0] = CODE_FOR_floatsisf2; |
| 63 | if (HAVE_floatdisf2) |
| 64 | floattab[(int) SFmode][(int) DImode][0] = CODE_FOR_floatdisf2; |
| 65 | if (HAVE_floatsidf2) |
| 66 | floattab[(int) DFmode][(int) SImode][0] = CODE_FOR_floatsidf2; |
| 67 | if (HAVE_floatdidf2) |
| 68 | floattab[(int) DFmode][(int) DImode][0] = CODE_FOR_floatdidf2; |
| 69 | add_optab->handlers[(int) DImode].insn_code = CODE_FOR_adddi3; |
| 70 | add_optab->handlers[(int) SImode].insn_code = CODE_FOR_addsi3; |
| 71 | add_optab->handlers[(int) HImode].insn_code = CODE_FOR_addhi3; |
| 72 | add_optab->handlers[(int) QImode].insn_code = CODE_FOR_addqi3; |
| 73 | if (HAVE_adddf3) |
| 74 | add_optab->handlers[(int) DFmode].insn_code = CODE_FOR_adddf3; |
| 75 | if (HAVE_addsf3) |
| 76 | add_optab->handlers[(int) SFmode].insn_code = CODE_FOR_addsf3; |
| 77 | sub_optab->handlers[(int) DImode].insn_code = CODE_FOR_subdi3; |
| 78 | sub_optab->handlers[(int) SImode].insn_code = CODE_FOR_subsi3; |
| 79 | sub_optab->handlers[(int) HImode].insn_code = CODE_FOR_subhi3; |
| 80 | sub_optab->handlers[(int) QImode].insn_code = CODE_FOR_subqi3; |
| 81 | if (HAVE_subdf3) |
| 82 | sub_optab->handlers[(int) DFmode].insn_code = CODE_FOR_subdf3; |
| 83 | if (HAVE_subsf3) |
| 84 | sub_optab->handlers[(int) SFmode].insn_code = CODE_FOR_subsf3; |
| 85 | smul_optab->handlers[(int) HImode].insn_code = CODE_FOR_mulhi3; |
| 86 | smul_optab->handlers[(int) SImode].insn_code = CODE_FOR_mulsi3; |
| 87 | if (HAVE_muldf3) |
| 88 | smul_optab->handlers[(int) DFmode].insn_code = CODE_FOR_muldf3; |
| 89 | if (HAVE_mulsf3) |
| 90 | smul_optab->handlers[(int) SFmode].insn_code = CODE_FOR_mulsf3; |
| 91 | sdiv_optab->handlers[(int) QImode].insn_code = CODE_FOR_divqi3; |
| 92 | udiv_optab->handlers[(int) QImode].insn_code = CODE_FOR_udivqi3; |
| 93 | if (HAVE_divdf3) |
| 94 | flodiv_optab->handlers[(int) DFmode].insn_code = CODE_FOR_divdf3; |
| 95 | if (HAVE_divsf3) |
| 96 | flodiv_optab->handlers[(int) SFmode].insn_code = CODE_FOR_divsf3; |
| 97 | sdivmod_optab->handlers[(int) SImode].insn_code = CODE_FOR_divmodsi4; |
| 98 | sdivmod_optab->handlers[(int) HImode].insn_code = CODE_FOR_divmodhi4; |
| 99 | udivmod_optab->handlers[(int) SImode].insn_code = CODE_FOR_udivmodsi4; |
| 100 | udivmod_optab->handlers[(int) HImode].insn_code = CODE_FOR_udivmodhi4; |
| 101 | and_optab->handlers[(int) SImode].insn_code = CODE_FOR_andsi3; |
| 102 | and_optab->handlers[(int) HImode].insn_code = CODE_FOR_andhi3; |
| 103 | and_optab->handlers[(int) QImode].insn_code = CODE_FOR_andqi3; |
| 104 | ior_optab->handlers[(int) SImode].insn_code = CODE_FOR_iorsi3; |
| 105 | ior_optab->handlers[(int) HImode].insn_code = CODE_FOR_iorhi3; |
| 106 | ior_optab->handlers[(int) QImode].insn_code = CODE_FOR_iorqi3; |
| 107 | xor_optab->handlers[(int) SImode].insn_code = CODE_FOR_xorsi3; |
| 108 | xor_optab->handlers[(int) HImode].insn_code = CODE_FOR_xorhi3; |
| 109 | xor_optab->handlers[(int) QImode].insn_code = CODE_FOR_xorqi3; |
| 110 | neg_optab->handlers[(int) DImode].insn_code = CODE_FOR_negdi2; |
| 111 | neg_optab->handlers[(int) SImode].insn_code = CODE_FOR_negsi2; |
| 112 | neg_optab->handlers[(int) HImode].insn_code = CODE_FOR_neghi2; |
| 113 | neg_optab->handlers[(int) QImode].insn_code = CODE_FOR_negqi2; |
| 114 | if (HAVE_negsf2) |
| 115 | neg_optab->handlers[(int) SFmode].insn_code = CODE_FOR_negsf2; |
| 116 | if (HAVE_negdf2) |
| 117 | neg_optab->handlers[(int) DFmode].insn_code = CODE_FOR_negdf2; |
| 118 | if (HAVE_abssf2) |
| 119 | abs_optab->handlers[(int) SFmode].insn_code = CODE_FOR_abssf2; |
| 120 | if (HAVE_absdf2) |
| 121 | abs_optab->handlers[(int) DFmode].insn_code = CODE_FOR_absdf2; |
| 122 | if (HAVE_sqrtsf2) |
| 123 | sqrt_optab->handlers[(int) SFmode].insn_code = CODE_FOR_sqrtsf2; |
| 124 | if (HAVE_sqrtdf2) |
| 125 | sqrt_optab->handlers[(int) DFmode].insn_code = CODE_FOR_sqrtdf2; |
| 126 | if (HAVE_sindf2) |
| 127 | sin_optab->handlers[(int) DFmode].insn_code = CODE_FOR_sindf2; |
| 128 | if (HAVE_sinsf2) |
| 129 | sin_optab->handlers[(int) SFmode].insn_code = CODE_FOR_sinsf2; |
| 130 | if (HAVE_cosdf2) |
| 131 | cos_optab->handlers[(int) DFmode].insn_code = CODE_FOR_cosdf2; |
| 132 | if (HAVE_cossf2) |
| 133 | cos_optab->handlers[(int) SFmode].insn_code = CODE_FOR_cossf2; |
| 134 | one_cmpl_optab->handlers[(int) SImode].insn_code = CODE_FOR_one_cmplsi2; |
| 135 | one_cmpl_optab->handlers[(int) HImode].insn_code = CODE_FOR_one_cmplhi2; |
| 136 | one_cmpl_optab->handlers[(int) QImode].insn_code = CODE_FOR_one_cmplqi2; |
| 137 | ashl_optab->handlers[(int) DImode].insn_code = CODE_FOR_ashldi3; |
| 138 | ashl_optab->handlers[(int) SImode].insn_code = CODE_FOR_ashlsi3; |
| 139 | ashl_optab->handlers[(int) HImode].insn_code = CODE_FOR_ashlhi3; |
| 140 | ashl_optab->handlers[(int) QImode].insn_code = CODE_FOR_ashlqi3; |
| 141 | ashr_optab->handlers[(int) DImode].insn_code = CODE_FOR_ashrdi3; |
| 142 | ashr_optab->handlers[(int) SImode].insn_code = CODE_FOR_ashrsi3; |
| 143 | ashr_optab->handlers[(int) HImode].insn_code = CODE_FOR_ashrhi3; |
| 144 | ashr_optab->handlers[(int) QImode].insn_code = CODE_FOR_ashrqi3; |
| 145 | lshr_optab->handlers[(int) DImode].insn_code = CODE_FOR_lshrdi3; |
| 146 | lshr_optab->handlers[(int) SImode].insn_code = CODE_FOR_lshrsi3; |
| 147 | lshr_optab->handlers[(int) HImode].insn_code = CODE_FOR_lshrhi3; |
| 148 | lshr_optab->handlers[(int) QImode].insn_code = CODE_FOR_lshrqi3; |
| 149 | rotl_optab->handlers[(int) SImode].insn_code = CODE_FOR_rotlsi3; |
| 150 | rotl_optab->handlers[(int) HImode].insn_code = CODE_FOR_rotlhi3; |
| 151 | rotl_optab->handlers[(int) QImode].insn_code = CODE_FOR_rotlqi3; |
| 152 | rotr_optab->handlers[(int) SImode].insn_code = CODE_FOR_rotrsi3; |
| 153 | rotr_optab->handlers[(int) HImode].insn_code = CODE_FOR_rotrhi3; |
| 154 | rotr_optab->handlers[(int) QImode].insn_code = CODE_FOR_rotrqi3; |
| 155 | setcc_gen_code[(int) EQ] = CODE_FOR_seq; |
| 156 | setcc_gen_code[(int) NE] = CODE_FOR_sne; |
| 157 | setcc_gen_code[(int) GT] = CODE_FOR_sgt; |
| 158 | setcc_gen_code[(int) GTU] = CODE_FOR_sgtu; |
| 159 | setcc_gen_code[(int) LT] = CODE_FOR_slt; |
| 160 | setcc_gen_code[(int) LTU] = CODE_FOR_sltu; |
| 161 | setcc_gen_code[(int) GE] = CODE_FOR_sge; |
| 162 | setcc_gen_code[(int) GEU] = CODE_FOR_sgeu; |
| 163 | setcc_gen_code[(int) LE] = CODE_FOR_sle; |
| 164 | setcc_gen_code[(int) LEU] = CODE_FOR_sleu; |
| 165 | bcc_gen_fctn[(int) EQ] = gen_beq; |
| 166 | bcc_gen_fctn[(int) NE] = gen_bne; |
| 167 | bcc_gen_fctn[(int) GT] = gen_bgt; |
| 168 | bcc_gen_fctn[(int) GTU] = gen_bgtu; |
| 169 | bcc_gen_fctn[(int) LT] = gen_blt; |
| 170 | bcc_gen_fctn[(int) LTU] = gen_bltu; |
| 171 | bcc_gen_fctn[(int) GE] = gen_bge; |
| 172 | bcc_gen_fctn[(int) GEU] = gen_bgeu; |
| 173 | bcc_gen_fctn[(int) LE] = gen_ble; |
| 174 | bcc_gen_fctn[(int) LEU] = gen_bleu; |
| 175 | movstr_optab[(int) SImode] = CODE_FOR_movstrsi; |
| 176 | ffs_optab->handlers[(int) SImode].insn_code = CODE_FOR_ffssi2; |
| 177 | ffs_optab->handlers[(int) HImode].insn_code = CODE_FOR_ffshi2; |
| 178 | strlen_optab->handlers[(int) SImode].insn_code = CODE_FOR_strlensi; |
| 179 | } |