Lines Matching refs:opName

62 class VOP2_Pseudo <string opName, VOPProfile P, list<dag> pattern=[], string suffix = "_e32"> :
63 VOP_Pseudo <opName, suffix, P, P.Outs32, P.Ins32, "", pattern> {
133 multiclass VOP2Inst_e32<string opName,
136 string revOp = opName,
139 def _e32 : VOP2_Pseudo <opName, P, VOPPatOrNull<node,P>.ret>,
140 Commutable_REV<revOp#"_e32", !eq(revOp, opName)>;
144 VOP2Inst_e32_VOPD<string opName, VOPProfile P, bits<5> VOPDOp,
146 string revOp = opName, bit GFX9Renamed = 0> {
147 defm NAME : VOP2Inst_e32<opName, P, node, revOp, GFX9Renamed>,
150 multiclass VOP2Inst_e64<string opName,
153 string revOp = opName,
156 def _e64 : VOP3InstBase <opName, P, node, 1>,
157 Commutable_REV<revOp#"_e64", !eq(revOp, opName)>;
161 def _e64_dpp : VOP3_DPP_Pseudo <opName, P>;
166 multiclass VOP2Inst_sdwa<string opName,
171 def _sdwa : VOP2_SDWA_Pseudo <opName, P>;
175 multiclass VOP2Inst<string opName,
178 string revOp = opName,
180 VOP2Inst_e32<opName, P, node, revOp, GFX9Renamed>,
181 VOP2Inst_e64<opName, P, node, revOp, GFX9Renamed>,
182 VOP2Inst_sdwa<opName, P, GFX9Renamed> {
185 def _dpp : VOP2_DPP_Pseudo <opName, P>;
189 multiclass VOP2Inst_VOPD<string opName,
194 string revOp = opName,
196 VOP2Inst_e32_VOPD<opName, P, VOPDOp, VOPDName, node, revOp, GFX9Renamed>,
197 VOP2Inst_e64<opName, P, node, revOp, GFX9Renamed>,
198 VOP2Inst_sdwa<opName, P, GFX9Renamed> {
201 def _dpp : VOP2_DPP_Pseudo <opName, P>;
205 multiclass VOP2bInst <string opName,
208 string revOp = opName,
214 def _e32 : VOP2_Pseudo <opName, P, VOPPatOrNull<node,P>.ret>,
215 Commutable_REV<revOp#"_e32", !eq(revOp, opName)> {
220 def _sdwa : VOP2_SDWA_Pseudo <opName, P> {
224 def _dpp : VOP2_DPP_Pseudo <opName, P>;
227 def _e64 : VOP3InstBase <opName, P, node, 1>,
228 Commutable_REV<revOp#"_e64", !eq(revOp, opName)>;
232 def _e64_dpp : VOP3_DPP_Pseudo <opName, P>;
256 VOP2eInst_Base<string opName, VOPProfile P, bits<5> VOPDOp, string VOPDName,
262 def _e32 : VOP2_Pseudo <opName, P>,
263 Commutable_REV<revOp#"_e32", !eq(revOp, opName)>;
265 def _e32 : VOP2_Pseudo <opName, P>,
266 Commutable_REV<revOp#"_e32", !eq(revOp, opName)>,
270 def _sdwa : VOP2_SDWA_Pseudo <opName, P> {
275 def _dpp : VOP2_DPP_Pseudo <opName, P>;
278 def _e64 : VOP3InstBase <opName, P, node, 1>,
279 Commutable_REV<revOp#"_e64", !eq(revOp, opName)> {
285 def _e64_dpp : VOP3_DPP_Pseudo <opName, P>;
291 VOP2eInst<string opName, VOPProfile P, SDPatternOperator node = null_frag,
292 string revOp = opName, bit useSGPRInput = !eq(P.NumSrcArgs, 3)>
293 : VOP2eInst_Base<opName, P, -1, "", node, revOp, useSGPRInput>;
296 VOP2eInst_VOPD<string opName, VOPProfile P, bits<5> VOPDOp, string VOPDName,
297 SDPatternOperator node = null_frag, string revOp = opName,
299 : VOP2eInst_Base<opName, P, VOPDOp, VOPDName, node, revOp, useSGPRInput>;
1050 string opName = ps.OpName, VOPProfile p = ps.Pfl,
1052 VOP_DPP<opName, p, IsDPP16> {
1068 string opName = ps.OpName, VOPProfile p = ps.Pfl> :
1069 VOP2_DPP<op, ps, opName, p, 1> {
1076 string opName = ps.OpName, VOPProfile p = ps.Pfl> :
1077 Base_VOP2_DPP16<op, ps, opName, p>,
1139 multiclass VOP2_Real_e32_with_name_gfx11<bits<6> op, string opName,
1141 defvar ps = !cast<VOP2_Pseudo>(opName#"_e32");
1150 multiclass VOP2_Real_e64_with_name_gfx11<bits<6> op, string opName,
1152 defvar ps = !cast<VOP3_Pseudo>(opName#"_e64");
1161 multiclass VOP2_Real_dpp_with_name_gfx11<bits<6> op, string opName,
1163 defvar ps = !cast<VOP2_Pseudo>(opName#"_e32");
1165 def _dpp_gfx11 : VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"),
1171 multiclass VOP2_Real_dpp8_with_name_gfx11<bits<6> op, string opName,
1173 defvar ps = !cast<VOP2_Pseudo>(opName#"_e32");
1182 multiclass VOP2be_Real_e32_gfx11<bits<6> op, string opName, string asmName> {
1183 defvar ps = !cast<VOP2_Pseudo>(opName#"_e32");
1190 multiclass VOP2be_Real_dpp_gfx11<bits<6> op, string opName, string asmName> {
1191 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtDPP>.ret in
1193 VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), SIEncodingFamily.GFX11, asmName> {
1194 string AsmDPP = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP16;
1198 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtDPP>.ret in
1200 Base_VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), asmName> {
1201 string AsmDPP = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP16;
1206 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtDPP>.ret in
1208 Base_VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), asmName> {
1209 string AsmDPP = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP16;
1215 multiclass VOP2be_Real_dpp8_gfx11<bits<6> op, string opName, string asmName> {
1216 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtDPP>.ret in
1218 VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1219 string AsmDPP8 = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP8;
1223 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtDPP>.ret in
1225 VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1226 string AsmDPP8 = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP8;
1231 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtDPP>.ret in
1233 VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1234 string AsmDPP8 = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP8;
1247 multiclass VOP2_Realtriple_e64_with_name_gfx11<bits<6> op, string opName,
1249 defm NAME : VOP3_Realtriple_with_name_gfx11<{0, 1, 0, 0, op{5-0}}, opName, asmName> ;
1252 multiclass VOP2be_Real_gfx11<bits<6> op, string opName, string asmName> :
1253 VOP2be_Real_e32_gfx11<op, opName, asmName>,
1254 VOP3be_Realtriple_gfx11<{0, 1, 0, 0, op{5-0}}, /*isSingle=*/ 0, opName, asmName>,
1255 VOP2be_Real_dpp_gfx11<op, opName, asmName>,
1256 VOP2be_Real_dpp8_gfx11<op, opName, asmName>;
1259 multiclass VOP2e_Real_gfx11<bits<6> op, string opName, string asmName> :
1262 VOP2be_Real_dpp_gfx11<op, opName, asmName>,
1263 VOP2be_Real_dpp8_gfx11<op, opName, asmName>;
1276 multiclass VOP2_Real_NO_VOP3_with_name_gfx11<bits<6> op, string opName,
1278 VOP2_Real_e32_with_name_gfx11<op, opName, asmName, isSingle>,
1279 VOP2_Real_dpp_with_name_gfx11<op, opName, asmName>,
1280 VOP2_Real_dpp8_with_name_gfx11<op, opName, asmName>;
1282 multiclass VOP2_Real_FULL_with_name_gfx11<bits<6> op, string opName,
1284 VOP2_Realtriple_e64_with_name_gfx11<op, opName, asmName>,
1285 VOP2_Real_NO_VOP3_with_name_gfx11<op, opName, asmName>;
1290 multiclass VOP2_Real_NO_DPP_with_name_gfx11<bits<6> op, string opName,
1292 VOP2_Real_e32_with_name_gfx11<op, opName, asmName>,
1293 VOP2_Real_e64_with_name_gfx11<op, opName, asmName>;
1354 multiclass VOP2Only_Real_MADK_gfx10_with_name<bits<6> op, string opName,
1357 VOP2_Real<!cast<VOP2_Pseudo>(opName), SIEncodingFamily.GFX10>,
1358 VOP2_MADKe<op{5-0}, !cast<VOP2_Pseudo>(opName).Pfl> {
1359 VOP2_Pseudo ps = !cast<VOP2_Pseudo>(opName);
1395 multiclass VOP2_Real_e32_gfx10_with_name<bits<6> op, string opName,
1398 VOP2_Real<!cast<VOP2_Pseudo>(opName#"_e32"), SIEncodingFamily.GFX10>,
1399 VOP2e<op{5-0}, !cast<VOP2_Pseudo>(opName#"_e32").Pfl> {
1400 VOP2_Pseudo ps = !cast<VOP2_Pseudo>(opName#"_e32");
1404 multiclass VOP2_Real_e64_gfx10_with_name<bits<6> op, string opName,
1407 VOP3_Real<!cast<VOP3_Pseudo>(opName#"_e64"), SIEncodingFamily.GFX10>,
1409 !cast<VOP3_Pseudo>(opName#"_e64").Pfl> {
1410 VOP3_Pseudo ps = !cast<VOP3_Pseudo>(opName#"_e64");
1415 multiclass VOP2_Real_sdwa_gfx10_with_name<bits<6> op, string opName,
1417 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtSDWA9>.ret in
1419 VOP_SDWA10_Real<!cast<VOP2_SDWA_Pseudo>(opName#"_sdwa")>,
1420 VOP2_SDWA9Ae<op{5-0}, !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa").Pfl> {
1421 VOP2_SDWA_Pseudo ps = !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa");
1425 multiclass VOP2_Real_dpp_gfx10_with_name<bits<6> op, string opName,
1427 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1428 … def _dpp_gfx10 : VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), SIEncodingFamily.GFX10> {
1429 VOP2_Pseudo ps = !cast<VOP2_Pseudo>(opName#"_e32");
1433 multiclass VOP2_Real_dpp8_gfx10_with_name<bits<6> op, string opName,
1435 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1436 def _dpp8_gfx10 : VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1437 VOP2_Pseudo ps = !cast<VOP2_Pseudo>(opName#"_e32");
1445 multiclass VOP2be_Real_e32_gfx10<bits<6> op, string opName, string asmName> {
1447 VOP2_Real<!cast<VOP2_Pseudo>(opName#"_e32"), SIEncodingFamily.GFX10>,
1448 VOP2e<op{5-0}, !cast<VOP2_Pseudo>(opName#"_e32").Pfl> {
1449 VOP2_Pseudo Ps = !cast<VOP2_Pseudo>(opName#"_e32");
1453 multiclass VOP2be_Real_e64_gfx10<bits<6> op, string opName, string asmName> {
1455 VOP3_Real<!cast<VOP3_Pseudo>(opName#"_e64"), SIEncodingFamily.GFX10>,
1457 !cast<VOP3_Pseudo>(opName#"_e64").Pfl> {
1458 VOP3_Pseudo Ps = !cast<VOP3_Pseudo>(opName#"_e64");
1462 multiclass VOP2be_Real_sdwa_gfx10<bits<6> op, string opName, string asmName> {
1463 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtSDWA9>.ret in
1465 VOP_SDWA10_Real<!cast<VOP2_SDWA_Pseudo>(opName#"_sdwa")>,
1466 VOP2_SDWA9Ae<op{5-0}, !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa").Pfl> {
1467 VOP2_SDWA_Pseudo Ps = !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa");
1471 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtSDWA9>.ret in
1473 Base_VOP_SDWA10_Real<!cast<VOP2_SDWA_Pseudo>(opName#"_sdwa")>,
1474 VOP2_SDWA9Ae<op{5-0}, !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa").Pfl> {
1475 VOP2_SDWA_Pseudo Ps = !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa");
1481 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExtSDWA9>.ret in
1483 Base_VOP_SDWA10_Real<!cast<VOP2_SDWA_Pseudo>(opName#"_sdwa")>,
1484 VOP2_SDWA9Ae<op{5-0}, !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa").Pfl> {
1485 VOP2_SDWA_Pseudo Ps = !cast<VOP2_SDWA_Pseudo>(opName#"_sdwa");
1492 multiclass VOP2be_Real_dpp_gfx10<bits<6> op, string opName, string asmName> {
1493 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1495 VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), SIEncodingFamily.GFX10, asmName> {
1496 string AsmDPP = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP16;
1500 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1502 Base_VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), asmName> {
1503 string AsmDPP = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP16;
1508 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1510 Base_VOP2_DPP16<op, !cast<VOP2_DPP_Pseudo>(opName#"_dpp"), asmName> {
1511 string AsmDPP = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP16;
1517 multiclass VOP2be_Real_dpp8_gfx10<bits<6> op, string opName, string asmName> {
1518 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1520 VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1521 string AsmDPP8 = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP8;
1525 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1527 VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1528 string AsmDPP8 = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP8;
1533 foreach _ = BoolToList<!cast<VOP2_Pseudo>(opName#"_e32").Pfl.HasExt32BitDPP>.ret in
1535 VOP2_DPP8<op, !cast<VOP2_Pseudo>(opName#"_e32")> {
1536 string AsmDPP8 = !cast<VOP2_Pseudo>(opName#"_e32").Pfl.AsmDPP8;
1565 multiclass VOP2be_Real_gfx10<bits<6> op, string opName, string asmName> :
1566 VOP2be_Real_e32_gfx10<op, opName, asmName>,
1567 VOP2be_Real_e64_gfx10<op, opName, asmName>,
1568 VOP2be_Real_sdwa_gfx10<op, opName, asmName>,
1569 VOP2be_Real_dpp_gfx10<op, opName, asmName>,
1570 VOP2be_Real_dpp8_gfx10<op, opName, asmName>;
1572 multiclass VOP2e_Real_gfx10<bits<6> op, string opName, string asmName> :
1575 VOP2be_Real_sdwa_gfx10<op, opName, asmName>,
1576 VOP2be_Real_dpp_gfx10<op, opName, asmName>,
1577 VOP2be_Real_dpp8_gfx10<op, opName, asmName>;
1586 multiclass VOP2_Real_with_name_gfx10<bits<6> op, string opName,
1588 VOP2_Real_e32_gfx10_with_name<op, opName, asmName>,
1589 VOP2_Real_e64_gfx10_with_name<op, opName, asmName>,
1590 VOP2_Real_sdwa_gfx10_with_name<op, opName, asmName>,
1591 VOP2_Real_dpp_gfx10_with_name<op, opName, asmName>,
1592 VOP2_Real_dpp8_gfx10_with_name<op, opName, asmName>;
1594 multiclass VOP2_Real_with_name_gfx10_gfx11<bits<6> op, string opName,
1596 VOP2_Real_with_name_gfx10<op, opName, asmName>,
1597 VOP2_Real_FULL_with_name_gfx11<op, opName, asmName>;
1694 multiclass VOP2_Real_e32_gfx6_gfx7<bits<6> op, string opName = NAME> {
1696 VOP2_Real<!cast<VOP2_Pseudo>(opName#"_e32"), SIEncodingFamily.SI>,
1697 VOP2e<op{5-0}, !cast<VOP2_Pseudo>(opName#"_e32").Pfl>;
1699 multiclass VOP2_Real_e64_gfx6_gfx7<bits<6> op, string opName = NAME> {
1701 VOP3_Real<!cast<VOP3_Pseudo>(opName#"_e64"), SIEncodingFamily.SI>,
1702 VOP3e_gfx6_gfx7<{1, 0, 0, op{5-0}}, !cast<VOP3_Pseudo>(opName#"_e64").Pfl>;
1704 multiclass VOP2be_Real_e64_gfx6_gfx7<bits<6> op, string opName = NAME> {
1706 VOP3_Real<!cast<VOP3_Pseudo>(opName#"_e64"), SIEncodingFamily.SI>,
1707 VOP3be_gfx6_gfx7<{1, 0, 0, op{5-0}}, !cast<VOP3_Pseudo>(opName#"_e64").Pfl>;
1727 string opName, string asmName> {
1728 defvar ps32 = !cast<VOP2_Pseudo>(opName#"_e32");
1729 defvar ps64 = !cast<VOP3_Pseudo>(opName#"_e64");
1732 defm "" : VOP2_Real_e32_gfx6_gfx7<op, opName>;
1736 defm "" : VOP2be_Real_e64_gfx6_gfx7<op, opName>;