@@ -800,45 +800,43 @@ class SVEInstr2Rev<string name1, string name2, bit name1IsReverseInstr> {
800800//
801801// Pseudos for destructive operands
802802//
803- let hasNoSchedulingInfo = 1 in {
804- class PredTwoOpPseudo<string name, ZPRRegOp zprty,
805- FalseLanesEnum flags = FalseLanesNone>
806- : SVEPseudo2Instr<name, 0>,
807- Pseudo<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zs1, zprty:$Zs2), []> {
808- let FalseLanes = flags;
809- }
810803
811- class PredTwoOpImmPseudo <string name, ZPRRegOp zprty, Operand immty ,
812- FalseLanesEnum flags = FalseLanesNone>
813- : SVEPseudo2Instr<name, 0>,
814- Pseudo<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zs1, immty:$imm ), []> {
815- let FalseLanes = flags;
816- }
804+ class PredTwoOpPseudo <string name, ZPRRegOp zprty,
805+ FalseLanesEnum flags = FalseLanesNone>
806+ : SVEPseudo2Instr<name, 0>,
807+ Pseudo<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zs1, zprty:$Zs2 ), []> {
808+ let FalseLanes = flags;
809+ }
817810
818- class PredThreeOpPseudo <string name, ZPRRegOp zprty,
819- FalseLanesEnum flags = FalseLanesNone>
820- : SVEPseudo2Instr<name, 0>,
821- Pseudo<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zs1, zprty:$Zs2, zprty:$Zs3 ), []> {
822- let FalseLanes = flags;
823- }
811+ class PredTwoOpImmPseudo <string name, ZPRRegOp zprty, Operand immty ,
812+ FalseLanesEnum flags = FalseLanesNone>
813+ : SVEPseudo2Instr<name, 0>,
814+ Pseudo<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zs1, immty:$imm ), []> {
815+ let FalseLanes = flags;
816+ }
824817
825- class UnpredRegImmPseudo<ZPRRegOp zprty, Operand immty>
826- : SVEPseudo2Instr<NAME, 0>,
827- Pseudo<(outs zprty:$Zd), (ins zprty:$Zs, immty:$imm), []> {
828- }
818+ class PredThreeOpPseudo<string name, ZPRRegOp zprty,
819+ FalseLanesEnum flags = FalseLanesNone>
820+ : SVEPseudo2Instr<name, 0>,
821+ Pseudo<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zs1, zprty:$Zs2, zprty:$Zs3), []> {
822+ let FalseLanes = flags;
823+ }
824+
825+ class UnpredRegImmPseudo<ZPRRegOp zprty, Operand immty>
826+ : SVEPseudo2Instr<NAME, 0>,
827+ Pseudo<(outs zprty:$Zd), (ins zprty:$Zs, immty:$imm), []> {
829828}
830829
831830//
832831// Pseudos for passthru operands
833832//
834- let hasNoSchedulingInfo = 1 in {
835- class PredOneOpPassthruPseudo<string name, ZPRRegOp zprty,
836- FalseLanesEnum flags = FalseLanesNone>
837- : SVEPseudo2Instr<name, 0>,
838- Pseudo<(outs zprty:$Zd), (ins zprty:$Passthru, PPR3bAny:$Pg, zprty:$Zs), []> {
839- let FalseLanes = flags;
840- let Constraints = !if(!eq(flags, FalseLanesZero), "$Zd = $Passthru,@earlyclobber $Zd", "");
841- }
833+
834+ class PredOneOpPassthruPseudo<string name, ZPRRegOp zprty,
835+ FalseLanesEnum flags = FalseLanesNone>
836+ : SVEPseudo2Instr<name, 0>,
837+ Pseudo<(outs zprty:$Zd), (ins zprty:$Passthru, PPR3bAny:$Pg, zprty:$Zs), []> {
838+ let FalseLanes = flags;
839+ let Constraints = !if(!eq(flags, FalseLanesZero), "$Zd = $Passthru,@earlyclobber $Zd", "");
842840}
843841
844842//===----------------------------------------------------------------------===//
@@ -901,7 +899,7 @@ multiclass sve_int_ptest<bits<6> opc, string asm, SDPatternOperator op,
901899 SDPatternOperator op_any, SDPatternOperator op_first> {
902900 def NAME : sve_int_ptest<opc, asm, op>;
903901
904- let hasNoSchedulingInfo = 1, isCompare = 1, Defs = [NZCV] in {
902+ let isCompare = 1, Defs = [NZCV] in {
905903 def _ANY : Pseudo<(outs), (ins PPRAny:$Pg, PPR8:$Pn),
906904 [(set NZCV, (op_any (nxv16i1 PPRAny:$Pg), (nxv16i1 PPR8:$Pn)))]>,
907905 PseudoInstExpansion<(!cast<Instruction>(NAME) PPRAny:$Pg, PPR8:$Pn)>;
0 commit comments