1239310Sdimclass sf_SInst_sf<string opc, Intrinsic IntID>
2239310Sdim  : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1),
3239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
4239310Sdim             [(set IntRegs:$dst, (IntID IntRegs:$src1))]>;
5239310Sdim
6239310Sdimclass si_SInst_sf<string opc, Intrinsic IntID>
7239310Sdim  : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1),
8239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
9239310Sdim             [(set IntRegs:$dst, (IntID IntRegs:$src1))]>;
10239310Sdim
11239310Sdimclass sf_SInst_si<string opc, Intrinsic IntID>
12239310Sdim  : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1),
13239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
14239310Sdim             [(set IntRegs:$dst, (IntID IntRegs:$src1))]>;
15239310Sdim
16239310Sdimclass sf_SInst_di<string opc, Intrinsic IntID>
17239310Sdim  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1),
18239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
19239310Sdim             [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>;
20239310Sdim
21239310Sdimclass sf_SInst_df<string opc, Intrinsic IntID>
22239310Sdim  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1),
23239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
24239310Sdim             [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>;
25239310Sdim
26239310Sdimclass si_SInst_df<string opc, Intrinsic IntID>
27239310Sdim  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1),
28239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
29239310Sdim             [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>;
30239310Sdim
31239310Sdimclass df_SInst_sf<string opc, Intrinsic IntID>
32239310Sdim  : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1),
33239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
34239310Sdim             [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>;
35239310Sdim
36239310Sdimclass di_SInst_sf<string opc, Intrinsic IntID>
37239310Sdim  : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1),
38239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
39239310Sdim             [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>;
40239310Sdim
41239310Sdimclass df_SInst_si<string opc, Intrinsic IntID>
42239310Sdim  : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1),
43239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
44239310Sdim             [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>;
45239310Sdim
46239310Sdimclass df_SInst_df<string opc, Intrinsic IntID>
47239310Sdim  : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1),
48239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
49239310Sdim             [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>;
50239310Sdim
51239310Sdimclass di_SInst_df<string opc, Intrinsic IntID>
52239310Sdim  : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1),
53239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
54239310Sdim             [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>;
55239310Sdim
56239310Sdim
57239310Sdimclass df_SInst_di<string opc, Intrinsic IntID>
58239310Sdim  : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1),
59239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
60239310Sdim             [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>;
61239310Sdim
62239310Sdimclass sf_MInst_sfsf<string opc, Intrinsic IntID>
63239310Sdim  : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
64239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
65239310Sdim             [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
66239310Sdim
67239310Sdimclass df_MInst_dfdf<string opc, Intrinsic IntID>
68239310Sdim  : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
69239310Sdim           !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
70239310Sdim           [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
71239310Sdim
72239310Sdimclass qi_ALU64_dfdf<string opc, Intrinsic IntID>
73239310Sdim  : ALU64_rr<(outs PredRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
74239310Sdim           !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
75239310Sdim           [(set PredRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
76239310Sdim
77239310Sdimclass qi_ALU64_dfu5<string opc, Intrinsic IntID>
78239310Sdim  : ALU64_ri<(outs PredRegs:$dst), (ins DoubleRegs:$src1, u5Imm:$src2),
79239310Sdim           !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
80239310Sdim           [(set PredRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
81239310Sdim
82239310Sdim
83239310Sdimclass sf_MInst_sfsfsf_acc<string opc, Intrinsic IntID>
84239310Sdim  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
85239310Sdim                                        IntRegs:$dst2),
86239310Sdim               !strconcat("$dst += ", !strconcat(opc ,
87239310Sdim                                                 "($src1, $src2)")),
88239310Sdim               [(set IntRegs:$dst, (IntID IntRegs:$src1,
89239310Sdim                                          IntRegs:$src2, IntRegs:$dst2))],
90239310Sdim               "$dst2 = $dst">;
91239310Sdim
92239310Sdimclass sf_MInst_sfsfsf_nac<string opc, Intrinsic IntID>
93239310Sdim  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
94239310Sdim                                        IntRegs:$dst2),
95239310Sdim               !strconcat("$dst -= ", !strconcat(opc ,
96239310Sdim                                                 "($src1, $src2)")),
97239310Sdim               [(set IntRegs:$dst, (IntID IntRegs:$src1,
98239310Sdim                                          IntRegs:$src2, IntRegs:$dst2))],
99239310Sdim               "$dst2 = $dst">;
100239310Sdim
101239310Sdim
102239310Sdimclass sf_MInst_sfsfsfsi_sc<string opc, Intrinsic IntID>
103239310Sdim  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src1,
104239310Sdim                                        IntRegs:$src2, IntRegs:$src3),
105239310Sdim               !strconcat("$dst += ", !strconcat(opc ,
106239310Sdim                                                 "($src1, $src2, $src3):scale")),
107239310Sdim               [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src1,
108239310Sdim                                        IntRegs:$src2, IntRegs:$src3))],
109239310Sdim               "$dst2 = $dst">;
110239310Sdim
111239310Sdimclass sf_MInst_sfsfsf_acc_lib<string opc, Intrinsic IntID>
112239310Sdim  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
113239310Sdim                                        IntRegs:$dst2),
114239310Sdim               !strconcat("$dst += ", !strconcat(opc ,
115239310Sdim                                                 "($src1, $src2):lib")),
116239310Sdim               [(set IntRegs:$dst, (IntID IntRegs:$src1,
117239310Sdim                                          IntRegs:$src2, IntRegs:$dst2))],
118239310Sdim               "$dst2 = $dst">;
119239310Sdim
120239310Sdimclass sf_MInst_sfsfsf_nac_lib<string opc, Intrinsic IntID>
121239310Sdim  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
122239310Sdim                                        IntRegs:$dst2),
123239310Sdim               !strconcat("$dst -= ", !strconcat(opc ,
124239310Sdim                                                 "($src1, $src2):lib")),
125239310Sdim               [(set IntRegs:$dst, (IntID IntRegs:$src1,
126239310Sdim                                          IntRegs:$src2, IntRegs:$dst2))],
127239310Sdim               "$dst2 = $dst">;
128239310Sdim
129239310Sdimclass df_MInst_dfdfdf_acc<string opc, Intrinsic IntID>
130239310Sdim  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
131239310Sdim                                        DoubleRegs:$dst2),
132239310Sdim               !strconcat("$dst += ", !strconcat(opc ,
133239310Sdim                                                 "($src1, $src2)")),
134239310Sdim               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
135239310Sdim                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
136239310Sdim               "$dst2 = $dst">;
137239310Sdim
138239310Sdimclass df_MInst_dfdfdf_nac<string opc, Intrinsic IntID>
139239310Sdim  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
140239310Sdim                                        DoubleRegs:$dst2),
141239310Sdim               !strconcat("$dst -= ", !strconcat(opc ,
142239310Sdim                                                 "($src1, $src2)")),
143239310Sdim               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
144239310Sdim                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
145239310Sdim               "$dst2 = $dst">;
146239310Sdim
147239310Sdim
148239310Sdimclass df_MInst_dfdfdfsi_sc<string opc, Intrinsic IntID>
149239310Sdim  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$dst2, DoubleRegs:$src1,
150239310Sdim                                        DoubleRegs:$src2, IntRegs:$src3),
151239310Sdim               !strconcat("$dst += ", !strconcat(opc ,
152239310Sdim                                                 "($src1, $src2, $src3):scale")),
153239310Sdim               [(set DoubleRegs:$dst, (IntID DoubleRegs:$dst2, DoubleRegs:$src1,
154239310Sdim                                        DoubleRegs:$src2, IntRegs:$src3))],
155239310Sdim               "$dst2 = $dst">;
156239310Sdim
157239310Sdimclass df_MInst_dfdfdf_acc_lib<string opc, Intrinsic IntID>
158239310Sdim  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
159239310Sdim                                        DoubleRegs:$dst2),
160239310Sdim               !strconcat("$dst += ", !strconcat(opc ,
161239310Sdim                                                 "($src1, $src2):lib")),
162239310Sdim               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
163239310Sdim                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
164239310Sdim               "$dst2 = $dst">;
165239310Sdim
166239310Sdimclass df_MInst_dfdfdf_nac_lib<string opc, Intrinsic IntID>
167239310Sdim  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
168239310Sdim                                        DoubleRegs:$dst2),
169239310Sdim               !strconcat("$dst -= ", !strconcat(opc ,
170239310Sdim                                                 "($src1, $src2):lib")),
171239310Sdim               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
172239310Sdim                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
173239310Sdim               "$dst2 = $dst">;
174239310Sdim
175239310Sdimclass qi_SInst_sfsf<string opc, Intrinsic IntID>
176239310Sdim  : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
177239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
178239310Sdim             [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
179239310Sdim
180239310Sdimclass qi_SInst_sfu5<string opc, Intrinsic IntID>
181239310Sdim  : MInst<(outs PredRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2),
182239310Sdim             !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
183239310Sdim             [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
184239310Sdim
185239310Sdimclass sf_ALU64_u10_pos<string opc, Intrinsic IntID>
186239310Sdim  : ALU64_ri<(outs IntRegs:$dst), (ins u10Imm:$src1),
187239310Sdim             !strconcat("$dst = ", !strconcat(opc , "#$src1):pos")),
188239310Sdim             [(set IntRegs:$dst, (IntID imm:$src1))]>;
189239310Sdim
190239310Sdimclass sf_ALU64_u10_neg<string opc, Intrinsic IntID>
191239310Sdim  : ALU64_ri<(outs IntRegs:$dst), (ins u10Imm:$src1),
192239310Sdim             !strconcat("$dst = ", !strconcat(opc , "#$src1):neg")),
193239310Sdim             [(set IntRegs:$dst, (IntID imm:$src1))]>;
194239310Sdim
195239310Sdimclass df_ALU64_u10_pos<string opc, Intrinsic IntID>
196239310Sdim  : ALU64_ri<(outs DoubleRegs:$dst), (ins u10Imm:$src1),
197239310Sdim             !strconcat("$dst = ", !strconcat(opc , "#$src1):pos")),
198239310Sdim             [(set DoubleRegs:$dst, (IntID imm:$src1))]>;
199239310Sdim
200239310Sdimclass df_ALU64_u10_neg<string opc, Intrinsic IntID>
201239310Sdim  : ALU64_ri<(outs DoubleRegs:$dst), (ins u10Imm:$src1),
202239310Sdim             !strconcat("$dst = ", !strconcat(opc , "#$src1):neg")),
203239310Sdim             [(set DoubleRegs:$dst, (IntID imm:$src1))]>;
204239310Sdim
205239310Sdimclass di_MInst_diu6<string opc, Intrinsic IntID>
206239310Sdim  : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u6Imm:$src2),
207239310Sdim          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
208239310Sdim          [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
209239310Sdim
210239310Sdimclass di_MInst_diu4_rnd<string opc, Intrinsic IntID>
211239310Sdim  : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2),
212239310Sdim          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd")),
213239310Sdim          [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
214239310Sdim
215239310Sdimclass si_MInst_diu4_rnd_sat<string opc, Intrinsic IntID>
216239310Sdim  : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2),
217239310Sdim          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd:sat")),
218239310Sdim          [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
219239310Sdim
220239310Sdimclass si_SInst_diu4_sat<string opc, Intrinsic IntID>
221239310Sdim  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2),
222239310Sdim          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):sat")),
223239310Sdim          [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
224239310Sdim
225239310Sdim
226239310Sdimdef HEXAGON_C4_fastcorner9:
227239310Sdim    qi_SInst_qiqi       <"fastcorner9", int_hexagon_C4_fastcorner9>;
228239310Sdimdef HEXAGON_C4_fastcorner9_not:
229239310Sdim    qi_SInst_qiqi <"!fastcorner9", int_hexagon_C4_fastcorner9_not>;
230239310Sdimdef HEXAGON_M5_vrmpybuu:
231239310Sdim    di_MInst_didi <"vrmpybu", int_hexagon_M5_vrmpybuu>;
232239310Sdimdef HEXAGON_M5_vrmacbuu:
233239310Sdim    di_MInst_dididi_acc <"vrmpybu", int_hexagon_M5_vrmacbuu>;
234239310Sdimdef HEXAGON_M5_vrmpybsu:
235239310Sdim    di_MInst_didi <"vrmpybsu", int_hexagon_M5_vrmpybsu>;
236239310Sdimdef HEXAGON_M5_vrmacbsu:
237239310Sdim    di_MInst_dididi_acc <"vrmpybsu", int_hexagon_M5_vrmacbsu>;
238239310Sdimdef HEXAGON_M5_vmpybuu:
239239310Sdim    di_MInst_sisi <"vmpybu", int_hexagon_M5_vmpybuu>;
240239310Sdimdef HEXAGON_M5_vmpybsu:
241239310Sdim    di_MInst_sisi <"vmpybsu", int_hexagon_M5_vmpybsu>;
242239310Sdimdef HEXAGON_M5_vmacbuu:
243239310Sdim    di_MInst_disisi_acc <"vmpybu", int_hexagon_M5_vmacbuu>;
244239310Sdimdef HEXAGON_M5_vmacbsu:
245239310Sdim    di_MInst_disisi_acc <"vmpybsu", int_hexagon_M5_vmacbsu>;
246239310Sdimdef HEXAGON_M5_vdmpybsu:
247239310Sdim    di_MInst_didi_sat <"vdmpybsu", int_hexagon_M5_vdmpybsu>;
248239310Sdimdef HEXAGON_M5_vdmacbsu:
249239310Sdim    di_MInst_dididi_acc_sat <"vdmpybsu", int_hexagon_M5_vdmacbsu>;
250239310Sdimdef HEXAGON_A5_vaddhubs:
251239310Sdim    si_SInst_didi_sat <"vaddhub", int_hexagon_A5_vaddhubs>;
252239310Sdimdef HEXAGON_S5_popcountp:
253239310Sdim    si_SInst_di <"popcount", int_hexagon_S5_popcountp>;
254239310Sdimdef HEXAGON_S5_asrhub_rnd_sat_goodsyntax:
255239310Sdim    si_MInst_diu4_rnd_sat <"vasrhub", int_hexagon_S5_asrhub_rnd_sat_goodsyntax>;
256239310Sdimdef HEXAGON_S5_asrhub_sat:
257239310Sdim    si_SInst_diu4_sat <"vasrhub", int_hexagon_S5_asrhub_sat>;
258239310Sdimdef HEXAGON_S5_vasrhrnd_goodsyntax:
259239310Sdim    di_MInst_diu4_rnd <"vasrh", int_hexagon_S5_vasrhrnd_goodsyntax>;
260239310Sdimdef HEXAGON_S2_asr_i_p_rnd:
261239310Sdim    di_SInst_diu6 <"asr", int_hexagon_S2_asr_i_p_rnd>;
262239310Sdimdef HEXAGON_S2_asr_i_p_rnd_goodsyntax:
263239310Sdim    di_MInst_diu6 <"asrrnd", int_hexagon_S2_asr_i_p_rnd_goodsyntax>;
264239310Sdimdef HEXAGON_F2_sfadd:
265239310Sdim    sf_MInst_sfsf <"sfadd", int_hexagon_F2_sfadd>;
266239310Sdimdef HEXAGON_F2_sfsub:
267239310Sdim    sf_MInst_sfsf <"sfsub", int_hexagon_F2_sfsub>;
268239310Sdimdef HEXAGON_F2_sfmpy:
269239310Sdim    sf_MInst_sfsf <"sfmpy", int_hexagon_F2_sfmpy>;
270239310Sdimdef HEXAGON_F2_sffma:
271239310Sdim    sf_MInst_sfsfsf_acc <"sfmpy", int_hexagon_F2_sffma>;
272239310Sdimdef HEXAGON_F2_sffma_sc:
273239310Sdim    sf_MInst_sfsfsfsi_sc <"sfmpy", int_hexagon_F2_sffma_sc>;
274239310Sdimdef HEXAGON_F2_sffms:
275239310Sdim    sf_MInst_sfsfsf_nac <"sfmpy", int_hexagon_F2_sffms>;
276239310Sdimdef HEXAGON_F2_sffma_lib:
277239310Sdim    sf_MInst_sfsfsf_acc_lib <"sfmpy", int_hexagon_F2_sffma_lib>;
278239310Sdimdef HEXAGON_F2_sffms_lib:
279239310Sdim    sf_MInst_sfsfsf_nac_lib <"sfmpy", int_hexagon_F2_sffms_lib>;
280239310Sdimdef HEXAGON_F2_sfcmpeq:
281239310Sdim    qi_SInst_sfsf <"sfcmp.eq", int_hexagon_F2_sfcmpeq>;
282239310Sdimdef HEXAGON_F2_sfcmpgt:
283239310Sdim    qi_SInst_sfsf <"sfcmp.gt", int_hexagon_F2_sfcmpgt>;
284239310Sdimdef HEXAGON_F2_sfcmpge:
285239310Sdim    qi_SInst_sfsf <"sfcmp.ge", int_hexagon_F2_sfcmpge>;
286239310Sdimdef HEXAGON_F2_sfcmpuo:
287239310Sdim    qi_SInst_sfsf <"sfcmp.uo", int_hexagon_F2_sfcmpuo>;
288239310Sdimdef HEXAGON_F2_sfmax:
289239310Sdim    sf_MInst_sfsf <"sfmax", int_hexagon_F2_sfmax>;
290239310Sdimdef HEXAGON_F2_sfmin:
291239310Sdim    sf_MInst_sfsf <"sfmin", int_hexagon_F2_sfmin>;
292239310Sdimdef HEXAGON_F2_sfclass:
293239310Sdim    qi_SInst_sfu5 <"sfclass", int_hexagon_F2_sfclass>;
294239310Sdimdef HEXAGON_F2_sfimm_p:
295239310Sdim    sf_ALU64_u10_pos <"sfmake", int_hexagon_F2_sfimm_p>;
296239310Sdimdef HEXAGON_F2_sfimm_n:
297239310Sdim    sf_ALU64_u10_neg <"sfmake", int_hexagon_F2_sfimm_n>;
298239310Sdimdef HEXAGON_F2_sffixupn:
299239310Sdim    sf_MInst_sfsf <"sffixupn", int_hexagon_F2_sffixupn>;
300239310Sdimdef HEXAGON_F2_sffixupd:
301239310Sdim    sf_MInst_sfsf <"sffixupd", int_hexagon_F2_sffixupd>;
302239310Sdimdef HEXAGON_F2_sffixupr:
303239310Sdim    sf_SInst_sf <"sffixupr", int_hexagon_F2_sffixupr>;
304239310Sdimdef HEXAGON_F2_dfadd:
305239310Sdim    df_MInst_dfdf <"dfadd", int_hexagon_F2_dfadd>;
306239310Sdimdef HEXAGON_F2_dfsub:
307239310Sdim    df_MInst_dfdf <"dfsub", int_hexagon_F2_dfsub>;
308239310Sdimdef HEXAGON_F2_dfmpy:
309239310Sdim    df_MInst_dfdf <"dfmpy", int_hexagon_F2_dfmpy>;
310239310Sdimdef HEXAGON_F2_dffma:
311239310Sdim    df_MInst_dfdfdf_acc <"dfmpy", int_hexagon_F2_dffma>;
312239310Sdimdef HEXAGON_F2_dffms:
313239310Sdim    df_MInst_dfdfdf_nac <"dfmpy", int_hexagon_F2_dffms>;
314239310Sdimdef HEXAGON_F2_dffma_lib:
315239310Sdim    df_MInst_dfdfdf_acc_lib <"dfmpy", int_hexagon_F2_dffma_lib>;
316239310Sdimdef HEXAGON_F2_dffms_lib:
317239310Sdim    df_MInst_dfdfdf_nac_lib <"dfmpy", int_hexagon_F2_dffms_lib>;
318239310Sdimdef HEXAGON_F2_dffma_sc:
319239310Sdim    df_MInst_dfdfdfsi_sc <"dfmpy", int_hexagon_F2_dffma_sc>;
320239310Sdimdef HEXAGON_F2_dfmax:
321239310Sdim    df_MInst_dfdf <"dfmax", int_hexagon_F2_dfmax>;
322239310Sdimdef HEXAGON_F2_dfmin:
323239310Sdim    df_MInst_dfdf <"dfmin", int_hexagon_F2_dfmin>;
324239310Sdimdef HEXAGON_F2_dfcmpeq:
325239310Sdim    qi_ALU64_dfdf <"dfcmp.eq", int_hexagon_F2_dfcmpeq>;
326239310Sdimdef HEXAGON_F2_dfcmpgt:
327239310Sdim    qi_ALU64_dfdf <"dfcmp.gt", int_hexagon_F2_dfcmpgt>;
328239310Sdimdef HEXAGON_F2_dfcmpge:
329239310Sdim    qi_ALU64_dfdf <"dfcmp.ge", int_hexagon_F2_dfcmpge>;
330239310Sdimdef HEXAGON_F2_dfcmpuo:
331239310Sdim    qi_ALU64_dfdf <"dfcmp.uo", int_hexagon_F2_dfcmpuo>;
332239310Sdimdef HEXAGON_F2_dfclass:
333239310Sdim    qi_ALU64_dfu5 <"dfclass", int_hexagon_F2_dfclass>;
334239310Sdimdef HEXAGON_F2_dfimm_p:
335239310Sdim    df_ALU64_u10_pos <"dfmake", int_hexagon_F2_dfimm_p>;
336239310Sdimdef HEXAGON_F2_dfimm_n:
337239310Sdim    df_ALU64_u10_neg <"dfmake", int_hexagon_F2_dfimm_n>;
338239310Sdimdef HEXAGON_F2_dffixupn:
339239310Sdim    df_MInst_dfdf <"dffixupn", int_hexagon_F2_dffixupn>;
340239310Sdimdef HEXAGON_F2_dffixupd:
341239310Sdim    df_MInst_dfdf <"dffixupd", int_hexagon_F2_dffixupd>;
342239310Sdimdef HEXAGON_F2_dffixupr:
343239310Sdim    df_SInst_df <"dffixupr", int_hexagon_F2_dffixupr>;
344239310Sdimdef HEXAGON_F2_conv_sf2df:
345239310Sdim    df_SInst_sf <"convert_sf2df", int_hexagon_F2_conv_sf2df>;
346239310Sdimdef HEXAGON_F2_conv_df2sf:
347239310Sdim    sf_SInst_df <"convert_df2sf", int_hexagon_F2_conv_df2sf>;
348239310Sdimdef HEXAGON_F2_conv_uw2sf:
349239310Sdim    sf_SInst_si <"convert_uw2sf", int_hexagon_F2_conv_uw2sf>;
350239310Sdimdef HEXAGON_F2_conv_uw2df:
351239310Sdim    df_SInst_si <"convert_uw2df", int_hexagon_F2_conv_uw2df>;
352239310Sdimdef HEXAGON_F2_conv_w2sf:
353239310Sdim    sf_SInst_si <"convert_w2sf", int_hexagon_F2_conv_w2sf>;
354239310Sdimdef HEXAGON_F2_conv_w2df:
355239310Sdim    df_SInst_si <"convert_w2df", int_hexagon_F2_conv_w2df>;
356239310Sdimdef HEXAGON_F2_conv_ud2sf:
357239310Sdim    sf_SInst_di <"convert_ud2sf", int_hexagon_F2_conv_ud2sf>;
358239310Sdimdef HEXAGON_F2_conv_ud2df:
359239310Sdim    df_SInst_di <"convert_ud2df", int_hexagon_F2_conv_ud2df>;
360239310Sdimdef HEXAGON_F2_conv_d2sf:
361239310Sdim    sf_SInst_di <"convert_d2sf", int_hexagon_F2_conv_d2sf>;
362239310Sdimdef HEXAGON_F2_conv_d2df:
363239310Sdim    df_SInst_di <"convert_d2df", int_hexagon_F2_conv_d2df>;
364239310Sdimdef HEXAGON_F2_conv_sf2uw:
365239310Sdim    si_SInst_sf <"convert_sf2uw", int_hexagon_F2_conv_sf2uw>;
366239310Sdimdef HEXAGON_F2_conv_sf2w:
367239310Sdim    si_SInst_sf <"convert_sf2w", int_hexagon_F2_conv_sf2w>;
368239310Sdimdef HEXAGON_F2_conv_sf2ud:
369239310Sdim    di_SInst_sf <"convert_sf2ud", int_hexagon_F2_conv_sf2ud>;
370239310Sdimdef HEXAGON_F2_conv_sf2d:
371239310Sdim    di_SInst_sf <"convert_sf2d", int_hexagon_F2_conv_sf2d>;
372239310Sdimdef HEXAGON_F2_conv_df2uw:
373239310Sdim    si_SInst_df <"convert_df2uw", int_hexagon_F2_conv_df2uw>;
374239310Sdimdef HEXAGON_F2_conv_df2w:
375239310Sdim    si_SInst_df <"convert_df2w", int_hexagon_F2_conv_df2w>;
376239310Sdimdef HEXAGON_F2_conv_df2ud:
377239310Sdim    di_SInst_df <"convert_df2ud", int_hexagon_F2_conv_df2ud>;
378239310Sdimdef HEXAGON_F2_conv_df2d:
379239310Sdim    di_SInst_df <"convert_df2d", int_hexagon_F2_conv_df2d>;
380239310Sdimdef HEXAGON_F2_conv_sf2uw_chop:
381239310Sdim    si_SInst_sf <"convert_sf2uw", int_hexagon_F2_conv_sf2uw_chop>;
382239310Sdimdef HEXAGON_F2_conv_sf2w_chop:
383239310Sdim    si_SInst_sf <"convert_sf2w", int_hexagon_F2_conv_sf2w_chop>;
384239310Sdimdef HEXAGON_F2_conv_sf2ud_chop:
385239310Sdim    di_SInst_sf <"convert_sf2ud", int_hexagon_F2_conv_sf2ud_chop>;
386239310Sdimdef HEXAGON_F2_conv_sf2d_chop:
387239310Sdim    di_SInst_sf <"convert_sf2d", int_hexagon_F2_conv_sf2d_chop>;
388239310Sdimdef HEXAGON_F2_conv_df2uw_chop:
389239310Sdim    si_SInst_df <"convert_df2uw", int_hexagon_F2_conv_df2uw_chop>;
390239310Sdimdef HEXAGON_F2_conv_df2w_chop:
391239310Sdim    si_SInst_df <"convert_df2w", int_hexagon_F2_conv_df2w_chop>;
392239310Sdimdef HEXAGON_F2_conv_df2ud_chop:
393239310Sdim    di_SInst_df <"convert_df2ud", int_hexagon_F2_conv_df2ud_chop>;
394239310Sdimdef HEXAGON_F2_conv_df2d_chop:
395239310Sdim    di_SInst_df <"convert_df2d", int_hexagon_F2_conv_df2d_chop>;
396