diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td index 80c0e9e7bbb2a..6d3c005583c29 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td @@ -554,6 +554,7 @@ class RISCVVPseudo { Instruction BaseInstr = !cast(PseudoToVInst.VInst); // SEW = 0 is used to denote that the Pseudo is not SEW specific (or unknown). bits<8> SEW = 0; + bit IncludeInInversePseudoTable = 1; } // The actual table. @@ -568,6 +569,7 @@ def RISCVVPseudosTable : GenericTable { def RISCVVInversePseudosTable : GenericTable { let FilterClass = "RISCVVPseudo"; + let FilterClassField = "IncludeInInversePseudoTable"; let CppTypeName = "PseudoInfo"; let Fields = [ "Pseudo", "BaseInstr", "VLMul", "SEW"]; let PrimaryKey = [ "BaseInstr", "VLMul", "SEW"]; @@ -810,6 +812,7 @@ class VPseudoUSLoadMask : @@ -1009,6 +1017,7 @@ class VPseudoNullaryMask : let HasSEWOp = 1; let UsesMaskPolicy = 1; let HasVecPolicyOp = 1; + let IncludeInInversePseudoTable = 0; } // Nullary for pseudo instructions. They are expanded in @@ -1022,6 +1031,7 @@ class VPseudoNullaryPseudoM : let HasVLOp = 1; let HasSEWOp = 1; let BaseInstr = !cast(BaseInst); + let IncludeInInversePseudoTable = 0; } class VPseudoUnaryNoMask LMUL, @@ -1334,6 +1350,7 @@ class VPseudoIStoreMask LMUL, let hasSideEffects = 0; let HasVLOp = 1; let HasSEWOp = 1; + let IncludeInInversePseudoTable = 0; } class VPseudoBinaryMaskPolicy