Commit | Line | Data |
---|---|---|
9bf86ebb PR |
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; | |
2a5f595d | 178 | strlen_optab->handlers[(int) SImode].insn_code = CODE_FOR_strlensi; |
9bf86ebb | 179 | } |