diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td @@ -1054,7 +1054,8 @@ class VPseudoUnaryMaskTA_NoExcept : Pseudo<(outs GetVRegNoV0.R:$rd), (ins GetVRegNoV0.R:$merge, OpClass:$rs2, VMaskOp:$vm, - AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []> { + AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>, + RISCVVPseudo { let mayLoad = 0; let mayStore = 0; let hasSideEffects = 0; @@ -1070,7 +1071,8 @@ class VPseudoUnaryMaskTA_FRM : Pseudo<(outs GetVRegNoV0.R:$rd), (ins GetVRegNoV0.R:$merge, OpClass:$rs2, - VMaskOp:$vm, ixlenimm:$frm, AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []> { + VMaskOp:$vm, ixlenimm:$frm, AVL:$vl, ixlenimm:$sew, ixlenimm:$policy), []>, + RISCVVPseudo { let mayLoad = 0; let mayStore = 0; let hasSideEffects = 0; @@ -3402,8 +3404,10 @@ defvar WriteVFCvtFToIV_MX = !cast("WriteVFCvtFToIV_" # mx); defvar ReadVFCvtFToIV_MX = !cast("ReadVFCvtFToIV_" # mx); - defm _V : VPseudoConversionRM, - Sched<[WriteVFCvtFToIV_MX, ReadVFCvtFToIV_MX, ReadVMask]>; + let BaseInstr = VFCVT_XU_F_V in { + defm _V : VPseudoConversionRM, + Sched<[WriteVFCvtFToIV_MX, ReadVFCvtFToIV_MX, ReadVMask]>; + } } } @@ -3412,9 +3416,10 @@ defvar mx = m.MX; defvar WriteVFCvtFToIV_MX = !cast("WriteVFCvtFToIV_" # mx); defvar ReadVFCvtFToIV_MX = !cast("ReadVFCvtFToIV_" # mx); - - defm _V : VPseudoConversionNoExcept, - Sched<[WriteVFCvtFToIV_MX, ReadVFCvtFToIV_MX, ReadVMask]>; + let BaseInstr = VFCVT_X_F_V in { + defm _V : VPseudoConversionNoExcept, + Sched<[WriteVFCvtFToIV_MX, ReadVFCvtFToIV_MX, ReadVMask]>; + } } } @@ -3435,8 +3440,10 @@ defvar WriteVFCvtIToFV_MX = !cast("WriteVFCvtIToFV_" # mx); defvar ReadVFCvtIToFV_MX = !cast("ReadVFCvtIToFV_" # mx); - defm _V : VPseudoConversionRM, - Sched<[WriteVFCvtIToFV_MX, ReadVFCvtIToFV_MX, ReadVMask]>; + let BaseInstr = VFCVT_F_XU_V in { + defm _V : VPseudoConversionRM, + Sched<[WriteVFCvtIToFV_MX, ReadVFCvtIToFV_MX, ReadVMask]>; + } } } @@ -3465,8 +3472,10 @@ defvar WriteVFWCvtFToIV_MX = !cast("WriteVFWCvtFToIV_" # mx); defvar ReadVFWCvtFToIV_MX = !cast("ReadVFWCvtFToIV_" # mx); - defm _V : VPseudoConversionRM, - Sched<[WriteVFWCvtFToIV_MX, ReadVFWCvtFToIV_MX, ReadVMask]>; + let BaseInstr = VFWCVT_X_F_V in { + defm _V : VPseudoConversionRM, + Sched<[WriteVFWCvtFToIV_MX, ReadVFWCvtFToIV_MX, ReadVMask]>; + } } } @@ -3489,8 +3498,10 @@ defvar WriteVFWCvtIToFV_MX = !cast("WriteVFWCvtIToFV_" # mx); defvar ReadVFWCvtIToFV_MX = !cast("ReadVFWCvtIToFV_" # mx); - defm _V : VPseudoConversionRM, - Sched<[WriteVFWCvtIToFV_MX, ReadVFWCvtIToFV_MX, ReadVMask]>; + let BaseInstr = VFWCVT_F_XU_V in { + defm _V : VPseudoConversionRM, + Sched<[WriteVFWCvtIToFV_MX, ReadVFWCvtIToFV_MX, ReadVMask]>; + } } } @@ -3525,8 +3536,10 @@ defvar WriteVFNCvtFToIV_MX = !cast("WriteVFNCvtFToIV_" # mx); defvar ReadVFNCvtFToIV_MX = !cast("ReadVFNCvtFToIV_" # mx); - defm _W : VPseudoConversionRM, - Sched<[WriteVFNCvtFToIV_MX, ReadVFNCvtFToIV_MX, ReadVMask]>; + let BaseInstr = VFNCVT_X_F_W in { + defm _W : VPseudoConversionRM, + Sched<[WriteVFNCvtFToIV_MX, ReadVFNCvtFToIV_MX, ReadVMask]>; + } } } @@ -3549,8 +3562,10 @@ defvar WriteVFNCvtIToFV_MX = !cast("WriteVFNCvtIToFV_" # mx); defvar ReadVFNCvtIToFV_MX = !cast("ReadVFNCvtIToFV_" # mx); - defm _W : VPseudoConversionRM, - Sched<[WriteVFNCvtIToFV_MX, ReadVFNCvtIToFV_MX, ReadVMask]>; + let BaseInstr = VFNCVT_F_XU_W in { + defm _W : VPseudoConversionRM, + Sched<[WriteVFNCvtIToFV_MX, ReadVFNCvtIToFV_MX, ReadVMask]>; + } } }