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