1class sf_SInst_sf<string opc, Intrinsic IntID>
2  : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1),
3             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
4             [(set IntRegs:$dst, (IntID IntRegs:$src1))]>;
5
6class si_SInst_sf<string opc, Intrinsic IntID>
7  : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1),
8             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
9             [(set IntRegs:$dst, (IntID IntRegs:$src1))]>;
10
11class sf_SInst_si<string opc, Intrinsic IntID>
12  : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1),
13             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
14             [(set IntRegs:$dst, (IntID IntRegs:$src1))]>;
15
16class sf_SInst_di<string opc, Intrinsic IntID>
17  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1),
18             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
19             [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>;
20
21class sf_SInst_df<string opc, Intrinsic IntID>
22  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1),
23             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
24             [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>;
25
26class si_SInst_df<string opc, Intrinsic IntID>
27  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1),
28             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
29             [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>;
30
31class df_SInst_sf<string opc, Intrinsic IntID>
32  : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1),
33             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
34             [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>;
35
36class di_SInst_sf<string opc, Intrinsic IntID>
37  : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1),
38             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
39             [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>;
40
41class df_SInst_si<string opc, Intrinsic IntID>
42  : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1),
43             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
44             [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>;
45
46class df_SInst_df<string opc, Intrinsic IntID>
47  : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1),
48             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
49             [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>;
50
51class di_SInst_df<string opc, Intrinsic IntID>
52  : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1),
53             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
54             [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>;
55
56
57class df_SInst_di<string opc, Intrinsic IntID>
58  : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1),
59             !strconcat("$dst = ", !strconcat(opc , "($src1)")),
60             [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>;
61
62class sf_MInst_sfsf<string opc, Intrinsic IntID>
63  : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
64             !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
65             [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
66
67class df_MInst_dfdf<string opc, Intrinsic IntID>
68  : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
69           !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
70           [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
71
72class qi_ALU64_dfdf<string opc, Intrinsic IntID>
73  : ALU64_rr<(outs PredRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
74           !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
75           [(set PredRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
76
77class qi_ALU64_dfu5<string opc, Intrinsic IntID>
78  : ALU64_ri<(outs PredRegs:$dst), (ins DoubleRegs:$src1, u5Imm:$src2),
79           !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
80           [(set PredRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
81
82
83class sf_MInst_sfsfsf_acc<string opc, Intrinsic IntID>
84  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
85                                        IntRegs:$dst2),
86               !strconcat("$dst += ", !strconcat(opc ,
87                                                 "($src1, $src2)")),
88               [(set IntRegs:$dst, (IntID IntRegs:$src1,
89                                          IntRegs:$src2, IntRegs:$dst2))],
90               "$dst2 = $dst">;
91
92class sf_MInst_sfsfsf_nac<string opc, Intrinsic IntID>
93  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
94                                        IntRegs:$dst2),
95               !strconcat("$dst -= ", !strconcat(opc ,
96                                                 "($src1, $src2)")),
97               [(set IntRegs:$dst, (IntID IntRegs:$src1,
98                                          IntRegs:$src2, IntRegs:$dst2))],
99               "$dst2 = $dst">;
100
101
102class sf_MInst_sfsfsfsi_sc<string opc, Intrinsic IntID>
103  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src1,
104                                        IntRegs:$src2, IntRegs:$src3),
105               !strconcat("$dst += ", !strconcat(opc ,
106                                                 "($src1, $src2, $src3):scale")),
107               [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src1,
108                                        IntRegs:$src2, IntRegs:$src3))],
109               "$dst2 = $dst">;
110
111class sf_MInst_sfsfsf_acc_lib<string opc, Intrinsic IntID>
112  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
113                                        IntRegs:$dst2),
114               !strconcat("$dst += ", !strconcat(opc ,
115                                                 "($src1, $src2):lib")),
116               [(set IntRegs:$dst, (IntID IntRegs:$src1,
117                                          IntRegs:$src2, IntRegs:$dst2))],
118               "$dst2 = $dst">;
119
120class sf_MInst_sfsfsf_nac_lib<string opc, Intrinsic IntID>
121  : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
122                                        IntRegs:$dst2),
123               !strconcat("$dst -= ", !strconcat(opc ,
124                                                 "($src1, $src2):lib")),
125               [(set IntRegs:$dst, (IntID IntRegs:$src1,
126                                          IntRegs:$src2, IntRegs:$dst2))],
127               "$dst2 = $dst">;
128
129class df_MInst_dfdfdf_acc<string opc, Intrinsic IntID>
130  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
131                                        DoubleRegs:$dst2),
132               !strconcat("$dst += ", !strconcat(opc ,
133                                                 "($src1, $src2)")),
134               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
135                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
136               "$dst2 = $dst">;
137
138class df_MInst_dfdfdf_nac<string opc, Intrinsic IntID>
139  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
140                                        DoubleRegs:$dst2),
141               !strconcat("$dst -= ", !strconcat(opc ,
142                                                 "($src1, $src2)")),
143               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
144                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
145               "$dst2 = $dst">;
146
147
148class df_MInst_dfdfdfsi_sc<string opc, Intrinsic IntID>
149  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$dst2, DoubleRegs:$src1,
150                                        DoubleRegs:$src2, IntRegs:$src3),
151               !strconcat("$dst += ", !strconcat(opc ,
152                                                 "($src1, $src2, $src3):scale")),
153               [(set DoubleRegs:$dst, (IntID DoubleRegs:$dst2, DoubleRegs:$src1,
154                                        DoubleRegs:$src2, IntRegs:$src3))],
155               "$dst2 = $dst">;
156
157class df_MInst_dfdfdf_acc_lib<string opc, Intrinsic IntID>
158  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
159                                        DoubleRegs:$dst2),
160               !strconcat("$dst += ", !strconcat(opc ,
161                                                 "($src1, $src2):lib")),
162               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
163                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
164               "$dst2 = $dst">;
165
166class df_MInst_dfdfdf_nac_lib<string opc, Intrinsic IntID>
167  : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
168                                        DoubleRegs:$dst2),
169               !strconcat("$dst -= ", !strconcat(opc ,
170                                                 "($src1, $src2):lib")),
171               [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1,
172                                          DoubleRegs:$src2, DoubleRegs:$dst2))],
173               "$dst2 = $dst">;
174
175class qi_SInst_sfsf<string opc, Intrinsic IntID>
176  : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
177             !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
178             [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
179
180class qi_SInst_sfu5<string opc, Intrinsic IntID>
181  : MInst<(outs PredRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2),
182             !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
183             [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
184
185class sf_ALU64_u10_pos<string opc, Intrinsic IntID>
186  : ALU64_ri<(outs IntRegs:$dst), (ins u10Imm:$src1),
187             !strconcat("$dst = ", !strconcat(opc , "#$src1):pos")),
188             [(set IntRegs:$dst, (IntID imm:$src1))]>;
189
190class sf_ALU64_u10_neg<string opc, Intrinsic IntID>
191  : ALU64_ri<(outs IntRegs:$dst), (ins u10Imm:$src1),
192             !strconcat("$dst = ", !strconcat(opc , "#$src1):neg")),
193             [(set IntRegs:$dst, (IntID imm:$src1))]>;
194
195class df_ALU64_u10_pos<string opc, Intrinsic IntID>
196  : ALU64_ri<(outs DoubleRegs:$dst), (ins u10Imm:$src1),
197             !strconcat("$dst = ", !strconcat(opc , "#$src1):pos")),
198             [(set DoubleRegs:$dst, (IntID imm:$src1))]>;
199
200class df_ALU64_u10_neg<string opc, Intrinsic IntID>
201  : ALU64_ri<(outs DoubleRegs:$dst), (ins u10Imm:$src1),
202             !strconcat("$dst = ", !strconcat(opc , "#$src1):neg")),
203             [(set DoubleRegs:$dst, (IntID imm:$src1))]>;
204
205class di_MInst_diu6<string opc, Intrinsic IntID>
206  : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u6Imm:$src2),
207          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
208          [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
209
210class di_MInst_diu4_rnd<string opc, Intrinsic IntID>
211  : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2),
212          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd")),
213          [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
214
215class si_MInst_diu4_rnd_sat<string opc, Intrinsic IntID>
216  : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2),
217          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd:sat")),
218          [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
219
220class si_SInst_diu4_sat<string opc, Intrinsic IntID>
221  : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2),
222          !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):sat")),
223          [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
224
225
226def HEXAGON_C4_fastcorner9:
227    qi_SInst_qiqi       <"fastcorner9", int_hexagon_C4_fastcorner9>;
228def HEXAGON_C4_fastcorner9_not:
229    qi_SInst_qiqi <"!fastcorner9", int_hexagon_C4_fastcorner9_not>;
230def HEXAGON_M5_vrmpybuu:
231    di_MInst_didi <"vrmpybu", int_hexagon_M5_vrmpybuu>;
232def HEXAGON_M5_vrmacbuu:
233    di_MInst_dididi_acc <"vrmpybu", int_hexagon_M5_vrmacbuu>;
234def HEXAGON_M5_vrmpybsu:
235    di_MInst_didi <"vrmpybsu", int_hexagon_M5_vrmpybsu>;
236def HEXAGON_M5_vrmacbsu:
237    di_MInst_dididi_acc <"vrmpybsu", int_hexagon_M5_vrmacbsu>;
238def HEXAGON_M5_vmpybuu:
239    di_MInst_sisi <"vmpybu", int_hexagon_M5_vmpybuu>;
240def HEXAGON_M5_vmpybsu:
241    di_MInst_sisi <"vmpybsu", int_hexagon_M5_vmpybsu>;
242def HEXAGON_M5_vmacbuu:
243    di_MInst_disisi_acc <"vmpybu", int_hexagon_M5_vmacbuu>;
244def HEXAGON_M5_vmacbsu:
245    di_MInst_disisi_acc <"vmpybsu", int_hexagon_M5_vmacbsu>;
246def HEXAGON_M5_vdmpybsu:
247    di_MInst_didi_sat <"vdmpybsu", int_hexagon_M5_vdmpybsu>;
248def HEXAGON_M5_vdmacbsu:
249    di_MInst_dididi_acc_sat <"vdmpybsu", int_hexagon_M5_vdmacbsu>;
250def HEXAGON_A5_vaddhubs:
251    si_SInst_didi_sat <"vaddhub", int_hexagon_A5_vaddhubs>;
252def HEXAGON_S5_popcountp:
253    si_SInst_di <"popcount", int_hexagon_S5_popcountp>;
254def HEXAGON_S5_asrhub_rnd_sat_goodsyntax:
255    si_MInst_diu4_rnd_sat <"vasrhub", int_hexagon_S5_asrhub_rnd_sat_goodsyntax>;
256def HEXAGON_S5_asrhub_sat:
257    si_SInst_diu4_sat <"vasrhub", int_hexagon_S5_asrhub_sat>;
258def HEXAGON_S5_vasrhrnd_goodsyntax:
259    di_MInst_diu4_rnd <"vasrh", int_hexagon_S5_vasrhrnd_goodsyntax>;
260def HEXAGON_S2_asr_i_p_rnd:
261    di_SInst_diu6 <"asr", int_hexagon_S2_asr_i_p_rnd>;
262def HEXAGON_S2_asr_i_p_rnd_goodsyntax:
263    di_MInst_diu6 <"asrrnd", int_hexagon_S2_asr_i_p_rnd_goodsyntax>;
264def HEXAGON_F2_sfadd:
265    sf_MInst_sfsf <"sfadd", int_hexagon_F2_sfadd>;
266def HEXAGON_F2_sfsub:
267    sf_MInst_sfsf <"sfsub", int_hexagon_F2_sfsub>;
268def HEXAGON_F2_sfmpy:
269    sf_MInst_sfsf <"sfmpy", int_hexagon_F2_sfmpy>;
270def HEXAGON_F2_sffma:
271    sf_MInst_sfsfsf_acc <"sfmpy", int_hexagon_F2_sffma>;
272def HEXAGON_F2_sffma_sc:
273    sf_MInst_sfsfsfsi_sc <"sfmpy", int_hexagon_F2_sffma_sc>;
274def HEXAGON_F2_sffms:
275    sf_MInst_sfsfsf_nac <"sfmpy", int_hexagon_F2_sffms>;
276def HEXAGON_F2_sffma_lib:
277    sf_MInst_sfsfsf_acc_lib <"sfmpy", int_hexagon_F2_sffma_lib>;
278def HEXAGON_F2_sffms_lib:
279    sf_MInst_sfsfsf_nac_lib <"sfmpy", int_hexagon_F2_sffms_lib>;
280def HEXAGON_F2_sfcmpeq:
281    qi_SInst_sfsf <"sfcmp.eq", int_hexagon_F2_sfcmpeq>;
282def HEXAGON_F2_sfcmpgt:
283    qi_SInst_sfsf <"sfcmp.gt", int_hexagon_F2_sfcmpgt>;
284def HEXAGON_F2_sfcmpge:
285    qi_SInst_sfsf <"sfcmp.ge", int_hexagon_F2_sfcmpge>;
286def HEXAGON_F2_sfcmpuo:
287    qi_SInst_sfsf <"sfcmp.uo", int_hexagon_F2_sfcmpuo>;
288def HEXAGON_F2_sfmax:
289    sf_MInst_sfsf <"sfmax", int_hexagon_F2_sfmax>;
290def HEXAGON_F2_sfmin:
291    sf_MInst_sfsf <"sfmin", int_hexagon_F2_sfmin>;
292def HEXAGON_F2_sfclass:
293    qi_SInst_sfu5 <"sfclass", int_hexagon_F2_sfclass>;
294def HEXAGON_F2_sfimm_p:
295    sf_ALU64_u10_pos <"sfmake", int_hexagon_F2_sfimm_p>;
296def HEXAGON_F2_sfimm_n:
297    sf_ALU64_u10_neg <"sfmake", int_hexagon_F2_sfimm_n>;
298def HEXAGON_F2_sffixupn:
299    sf_MInst_sfsf <"sffixupn", int_hexagon_F2_sffixupn>;
300def HEXAGON_F2_sffixupd:
301    sf_MInst_sfsf <"sffixupd", int_hexagon_F2_sffixupd>;
302def HEXAGON_F2_sffixupr:
303    sf_SInst_sf <"sffixupr", int_hexagon_F2_sffixupr>;
304def HEXAGON_F2_dfadd:
305    df_MInst_dfdf <"dfadd", int_hexagon_F2_dfadd>;
306def HEXAGON_F2_dfsub:
307    df_MInst_dfdf <"dfsub", int_hexagon_F2_dfsub>;
308def HEXAGON_F2_dfmpy:
309    df_MInst_dfdf <"dfmpy", int_hexagon_F2_dfmpy>;
310def HEXAGON_F2_dffma:
311    df_MInst_dfdfdf_acc <"dfmpy", int_hexagon_F2_dffma>;
312def HEXAGON_F2_dffms:
313    df_MInst_dfdfdf_nac <"dfmpy", int_hexagon_F2_dffms>;
314def HEXAGON_F2_dffma_lib:
315    df_MInst_dfdfdf_acc_lib <"dfmpy", int_hexagon_F2_dffma_lib>;
316def HEXAGON_F2_dffms_lib:
317    df_MInst_dfdfdf_nac_lib <"dfmpy", int_hexagon_F2_dffms_lib>;
318def HEXAGON_F2_dffma_sc:
319    df_MInst_dfdfdfsi_sc <"dfmpy", int_hexagon_F2_dffma_sc>;
320def HEXAGON_F2_dfmax:
321    df_MInst_dfdf <"dfmax", int_hexagon_F2_dfmax>;
322def HEXAGON_F2_dfmin:
323    df_MInst_dfdf <"dfmin", int_hexagon_F2_dfmin>;
324def HEXAGON_F2_dfcmpeq:
325    qi_ALU64_dfdf <"dfcmp.eq", int_hexagon_F2_dfcmpeq>;
326def HEXAGON_F2_dfcmpgt:
327    qi_ALU64_dfdf <"dfcmp.gt", int_hexagon_F2_dfcmpgt>;
328def HEXAGON_F2_dfcmpge:
329    qi_ALU64_dfdf <"dfcmp.ge", int_hexagon_F2_dfcmpge>;
330def HEXAGON_F2_dfcmpuo:
331    qi_ALU64_dfdf <"dfcmp.uo", int_hexagon_F2_dfcmpuo>;
332def HEXAGON_F2_dfclass:
333    qi_ALU64_dfu5 <"dfclass", int_hexagon_F2_dfclass>;
334def HEXAGON_F2_dfimm_p:
335    df_ALU64_u10_pos <"dfmake", int_hexagon_F2_dfimm_p>;
336def HEXAGON_F2_dfimm_n:
337    df_ALU64_u10_neg <"dfmake", int_hexagon_F2_dfimm_n>;
338def HEXAGON_F2_dffixupn:
339    df_MInst_dfdf <"dffixupn", int_hexagon_F2_dffixupn>;
340def HEXAGON_F2_dffixupd:
341    df_MInst_dfdf <"dffixupd", int_hexagon_F2_dffixupd>;
342def HEXAGON_F2_dffixupr:
343    df_SInst_df <"dffixupr", int_hexagon_F2_dffixupr>;
344def HEXAGON_F2_conv_sf2df:
345    df_SInst_sf <"convert_sf2df", int_hexagon_F2_conv_sf2df>;
346def HEXAGON_F2_conv_df2sf:
347    sf_SInst_df <"convert_df2sf", int_hexagon_F2_conv_df2sf>;
348def HEXAGON_F2_conv_uw2sf:
349    sf_SInst_si <"convert_uw2sf", int_hexagon_F2_conv_uw2sf>;
350def HEXAGON_F2_conv_uw2df:
351    df_SInst_si <"convert_uw2df", int_hexagon_F2_conv_uw2df>;
352def HEXAGON_F2_conv_w2sf:
353    sf_SInst_si <"convert_w2sf", int_hexagon_F2_conv_w2sf>;
354def HEXAGON_F2_conv_w2df:
355    df_SInst_si <"convert_w2df", int_hexagon_F2_conv_w2df>;
356def HEXAGON_F2_conv_ud2sf:
357    sf_SInst_di <"convert_ud2sf", int_hexagon_F2_conv_ud2sf>;
358def HEXAGON_F2_conv_ud2df:
359    df_SInst_di <"convert_ud2df", int_hexagon_F2_conv_ud2df>;
360def HEXAGON_F2_conv_d2sf:
361    sf_SInst_di <"convert_d2sf", int_hexagon_F2_conv_d2sf>;
362def HEXAGON_F2_conv_d2df:
363    df_SInst_di <"convert_d2df", int_hexagon_F2_conv_d2df>;
364def HEXAGON_F2_conv_sf2uw:
365    si_SInst_sf <"convert_sf2uw", int_hexagon_F2_conv_sf2uw>;
366def HEXAGON_F2_conv_sf2w:
367    si_SInst_sf <"convert_sf2w", int_hexagon_F2_conv_sf2w>;
368def HEXAGON_F2_conv_sf2ud:
369    di_SInst_sf <"convert_sf2ud", int_hexagon_F2_conv_sf2ud>;
370def HEXAGON_F2_conv_sf2d:
371    di_SInst_sf <"convert_sf2d", int_hexagon_F2_conv_sf2d>;
372def HEXAGON_F2_conv_df2uw:
373    si_SInst_df <"convert_df2uw", int_hexagon_F2_conv_df2uw>;
374def HEXAGON_F2_conv_df2w:
375    si_SInst_df <"convert_df2w", int_hexagon_F2_conv_df2w>;
376def HEXAGON_F2_conv_df2ud:
377    di_SInst_df <"convert_df2ud", int_hexagon_F2_conv_df2ud>;
378def HEXAGON_F2_conv_df2d:
379    di_SInst_df <"convert_df2d", int_hexagon_F2_conv_df2d>;
380def HEXAGON_F2_conv_sf2uw_chop:
381    si_SInst_sf <"convert_sf2uw", int_hexagon_F2_conv_sf2uw_chop>;
382def HEXAGON_F2_conv_sf2w_chop:
383    si_SInst_sf <"convert_sf2w", int_hexagon_F2_conv_sf2w_chop>;
384def HEXAGON_F2_conv_sf2ud_chop:
385    di_SInst_sf <"convert_sf2ud", int_hexagon_F2_conv_sf2ud_chop>;
386def HEXAGON_F2_conv_sf2d_chop:
387    di_SInst_sf <"convert_sf2d", int_hexagon_F2_conv_sf2d_chop>;
388def HEXAGON_F2_conv_df2uw_chop:
389    si_SInst_df <"convert_df2uw", int_hexagon_F2_conv_df2uw_chop>;
390def HEXAGON_F2_conv_df2w_chop:
391    si_SInst_df <"convert_df2w", int_hexagon_F2_conv_df2w_chop>;
392def HEXAGON_F2_conv_df2ud_chop:
393    di_SInst_df <"convert_df2ud", int_hexagon_F2_conv_df2ud_chop>;
394def HEXAGON_F2_conv_df2d_chop:
395    di_SInst_df <"convert_df2d", int_hexagon_F2_conv_df2d_chop>;
396