Lines Matching refs:ps

153 class VOP_Real<VOP_Pseudo ps> {
155 bit IsSingle = ps.Pfl.IsSingle;
158 class VOP3_Real <VOP_Pseudo ps, int EncodingFamily, string asm_name = ps.Mnemonic> :
159 VOP_Real <ps>,
160 InstSI <ps.OutOperandList, ps.InOperandList, asm_name # ps.AsmOperands, []>,
161 SIMCInstr <ps.PseudoInstr, EncodingFamily> {
170 let SubtargetPredicate = ps.SubtargetPredicate;
171 let OtherPredicates = ps.OtherPredicates;
172 let AsmMatchConverter = ps.AsmMatchConverter;
173 let AsmVariantName = ps.AsmVariantName;
174 let Constraints = ps.Constraints;
175 let DisableEncoding = ps.DisableEncoding;
176 let TSFlags = ps.TSFlags;
177 let UseNamedOperandTable = ps.UseNamedOperandTable;
178 let Uses = ps.Uses;
179 let Defs = ps.Defs;
180 let SchedRW = ps.SchedRW;
181 let mayLoad = ps.mayLoad;
182 let mayStore = ps.mayStore;
183 let TRANS = ps.TRANS;
185 VOPProfile Pfl = ps.Pfl;
190 class VOP3P_Real<VOP_Pseudo ps, int EncodingFamily, string asm_name = ps.Mnemonic> :
191 VOP3_Real<ps, EncodingFamily, asm_name> {
194 let Constraints = !if(!eq(!substr(ps.Mnemonic,0,6), "v_wmma"), "", ps.Constraints);
581 class VOP_SDWA_Real <VOP_SDWA_Pseudo ps> :
582 InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands, []>,
583 SIMCInstr <ps.PseudoInstr, SIEncodingFamily.SDWA> {
590 let Defs = ps.Defs;
591 let Uses = ps.Uses;
592 let hasSideEffects = ps.hasSideEffects;
594 let Constraints = ps.Constraints;
595 let DisableEncoding = ps.DisableEncoding;
598 let SubtargetPredicate = ps.SubtargetPredicate;
599 let AssemblerPredicate = ps.AssemblerPredicate;
600 let AsmMatchConverter = ps.AsmMatchConverter;
601 let AsmVariantName = ps.AsmVariantName;
602 let UseNamedOperandTable = ps.UseNamedOperandTable;
603 let DecoderNamespace = ps.DecoderNamespace;
604 let Constraints = ps.Constraints;
605 let DisableEncoding = ps.DisableEncoding;
606 let TSFlags = ps.TSFlags;
607 let SchedRW = ps.SchedRW;
608 let mayLoad = ps.mayLoad;
609 let mayStore = ps.mayStore;
610 let TRANS = ps.TRANS;
613 class Base_VOP_SDWA9_Real <VOP_SDWA_Pseudo ps> :
614 InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands9, []> {
621 let Defs = ps.Defs;
622 let Uses = ps.Uses;
623 let hasSideEffects = ps.hasSideEffects;
625 let Constraints = ps.Constraints;
626 let DisableEncoding = ps.DisableEncoding;
630 let AsmVariantName = !if(ps.Pfl.HasExtSDWA9, AMDGPUAsmVariants.SDWA9,
635 let AsmMatchConverter = ps.AsmMatchConverter;
636 let UseNamedOperandTable = ps.UseNamedOperandTable;
637 let Constraints = ps.Constraints;
638 let DisableEncoding = ps.DisableEncoding;
639 let TSFlags = ps.TSFlags;
640 let SchedRW = ps.SchedRW;
641 let mayLoad = ps.mayLoad;
642 let mayStore = ps.mayStore;
643 let TRANS = ps.TRANS;
646 class VOP_SDWA9_Real <VOP_SDWA_Pseudo ps> :
647 Base_VOP_SDWA9_Real <ps >,
648 SIMCInstr <ps.PseudoInstr, SIEncodingFamily.SDWA9>;
650 class Base_VOP_SDWA10_Real<VOP_SDWA_Pseudo ps> : Base_VOP_SDWA9_Real<ps> {
656 class VOP_SDWA10_Real<VOP_SDWA_Pseudo ps> :
657 Base_VOP_SDWA10_Real<ps>, SIMCInstr<ps.PseudoInstr, SIEncodingFamily.SDWA10>;
811 class VOP_DPP_Real <VOP_DPP_Pseudo ps, int EncodingFamily> :
812 InstSI <ps.OutOperandList, ps.InOperandList, ps.Mnemonic # ps.AsmOperands, []>,
813 SIMCInstr <ps.PseudoInstr, EncodingFamily> {
820 let Defs = ps.Defs;
821 let Uses = ps.Uses;
822 let hasSideEffects = ps.hasSideEffects;
824 let Constraints = ps.Constraints;
825 let DisableEncoding = ps.DisableEncoding;
828 let isConvergent = ps.isConvergent;
829 let SubtargetPredicate = ps.SubtargetPredicate;
830 let AssemblerPredicate = ps.AssemblerPredicate;
831 let OtherPredicates = ps.OtherPredicates;
832 let AsmMatchConverter = ps.AsmMatchConverter;
833 let AsmVariantName = ps.AsmVariantName;
834 let UseNamedOperandTable = ps.UseNamedOperandTable;
835 let DecoderNamespace = ps.DecoderNamespace;
836 let Constraints = ps.Constraints;
837 let DisableEncoding = ps.DisableEncoding;
838 let TSFlags = ps.TSFlags;
839 let SchedRW = ps.SchedRW;
840 let mayLoad = ps.mayLoad;
841 let mayStore = ps.mayStore;
842 let TRANS = ps.TRANS;
1275 class Base_VOP3_DPP16<bits<10> op, VOP_DPP_Pseudo ps, string opName = ps.OpName>
1276 : VOP3_DPP<op, opName, ps.Pfl, 1> {
1277 let VOP3_OPSEL = ps.Pfl.HasOpSel;
1278 let IsDOT = ps.IsDOT;
1279 let hasSideEffects = ps.hasSideEffects;
1280 let Defs = ps.Defs;
1281 let SchedRW = ps.SchedRW;
1282 let Uses = ps.Uses;
1285 let OtherPredicates = ps.OtherPredicates;
1288 class VOP3_DPP16<bits<10> op, VOP_DPP_Pseudo ps, int subtarget,
1289 string opName = ps.OpName>
1290 : Base_VOP3_DPP16<op, ps, opName>, SIMCInstr<ps.PseudoInstr, subtarget>;
1292 class Base_VOP3_DPP8<bits<10> op, VOP_Pseudo ps, string opName = ps.OpName>
1293 : VOP3_DPP8<op, opName, ps.Pfl> {
1294 let VOP3_OPSEL = ps.Pfl.HasOpSel;
1295 let IsDOT = ps.IsDOT;
1296 let hasSideEffects = ps.hasSideEffects;
1297 let Defs = ps.Defs;
1298 let SchedRW = ps.SchedRW;
1299 let Uses = ps.Uses;
1301 let OtherPredicates = ps.OtherPredicates;
1304 class Base_VOP3b_DPP16<bits<10> op, VOP_DPP_Pseudo ps,
1305 string opName = ps.OpName>
1306 : Base_VOP3_DPP16<op, ps, opName> {
1311 class VOP3b_DPP8_Base<bits<10> op, VOP_Pseudo ps, string opName = ps.OpName>
1312 : Base_VOP3_DPP8<op, ps, opName> {
1325 defvar ps = !cast<VOP_Pseudo>(opName#"_e64");
1326 let IsSingle = !or(isSingle, ps.Pfl.IsSingle) in {
1327 foreach _ = BoolToList<ps.Pfl.HasOpSel>.ret in
1329 VOP3_Real<ps, SIEncodingFamily.GFX11>,
1330 VOP3OpSel_gfx11<op, ps.Pfl>;
1331 foreach _ = BoolToList<!not(ps.Pfl.HasOpSel)>.ret in
1333 VOP3_Real<ps, SIEncodingFamily.GFX11>,
1334 VOP3e_gfx11<op, ps.Pfl>;
1339 defvar ps = !cast<VOP_Pseudo>(opName#"_e64");
1340 let IsSingle = !or(isSingle, ps.Pfl.IsSingle) in {
1342 VOP3_Real<ps, SIEncodingFamily.GFX11>,
1343 VOP3DotOpSel_gfx11<op, ps.Pfl>;
1348 defvar ps = !cast<VOP_Pseudo>(opName#"_e64");
1349 let AsmString = asmName # ps.AsmOperands,
1350 IsSingle = !or(isSingle, ps.Pfl.IsSingle) in {
1351 foreach _ = BoolToList<ps.Pfl.HasOpSel>.ret in
1353 VOP3_Real<ps, SIEncodingFamily.GFX11>,
1354 VOP3OpSel_gfx11<op, ps.Pfl>,
1355 MnemonicAlias<ps.Mnemonic, asmName>, Requires<[isGFX11Plus]>;
1356 foreach _ = BoolToList<!not(ps.Pfl.HasOpSel)>.ret in
1358 VOP3_Real<ps, SIEncodingFamily.GFX11>,
1359 VOP3e_gfx11<op, ps.Pfl>,
1360 MnemonicAlias<ps.Mnemonic, asmName>, Requires<[isGFX11Plus]>;
1365 defvar ps = !cast<VOP_Pseudo>(opName);
1367 VOP3_Real<ps, SIEncodingFamily.GFX11>,
1368 VOP3e_gfx11<op, ps.Pfl>;
1386 defvar ps = !cast<VOP3_Pseudo>(opName#"_e64");
1387 let AsmString = asmName # ps.Pfl.AsmVOP3DPP16, DecoderNamespace = "DPPGFX11" in {
1392 defvar ps = !cast<VOP3_Pseudo>(opName#"_e64");
1393 def _e64_dpp8_gfx11 : Base_VOP3_DPP8<op, ps> {
1399 defvar ps = !cast<VOP3_Pseudo>(opName#"_e64");
1400 def _e64_dpp8_gfx11 : Base_VOP3_DPP8<op, ps> {
1409 defvar ps = !cast<VOP3_Pseudo>(opName#"_e64");
1410 let AsmString = asmName # ps.Pfl.AsmVOP3DPP8, DecoderNamespace = "DPP8GFX11" in {
1416 defvar ps = !cast<VOP3_Pseudo>(opName#"_e64");
1417 let IsSingle = !or(isSingle, ps.Pfl.IsSingle) in
1419 VOP3_Real<ps, SIEncodingFamily.GFX11, asmName>,
1420 VOP3be_gfx11<op, ps.Pfl> ;
1423 defvar ps = !cast<VOP3_Pseudo>(opName #"_e64");
1431 defvar ps = !cast<VOP3_Pseudo>(opName #"_e64");
1432 def _e64_dpp8_gfx11 : VOP3b_DPP8_Base<op, ps, asmName> {