From 297e95b865aab8e33bfb792c36ed8c166a2d09d6 Mon Sep 17 00:00:00 2001 From: Michael Maitland Date: Tue, 6 Dec 2022 17:11:20 -0800 Subject: [PATCH] [RISCV][CodeGen] Kill dead pseudo classes and replace with specific LMUL versions. NFC Since changes to account for LMUL in scheduler model existed over patches, we had to keep both LMUL specific and all LMUL classes around. Now that only the LMUL specific classes are used, we can remove the old ones. --- llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 201 ++++++++---------------- 1 file changed, 66 insertions(+), 135 deletions(-) diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td index 135d096..db46cb0 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td @@ -1967,12 +1967,7 @@ multiclass VPseudoTiedBinary { - foreach m = MxList in - defm _VV : VPseudoBinary; -} - -multiclass VPseudoBinaryV_VV_LMUL { +multiclass VPseudoBinaryV_VV { defm _VV : VPseudoBinary; } @@ -2001,12 +1996,7 @@ multiclass VPseudoVGTR_VV_EEW { } } -multiclass VPseudoBinaryV_VX { - foreach m = MxList in - defm "_VX" : VPseudoBinary; -} - -multiclass VPseudoBinaryV_VX_LMUL { +multiclass VPseudoBinaryV_VX { defm "_VX" : VPseudoBinary; } @@ -2042,12 +2032,7 @@ multiclass VPseudoVSLD1_VF { } } -multiclass VPseudoBinaryV_VI { - foreach m = MxList in - defm _VI : VPseudoBinary; -} - -multiclass VPseudoBinaryV_VI_LMUL { +multiclass VPseudoBinaryV_VI { defm _VI : VPseudoBinary; } @@ -2071,18 +2056,12 @@ multiclass VPseudoVALU_MM { // * The destination EEW is greater than the source EEW, the source EMUL is // at least 1, and the overlap is in the highest-numbered part of the // destination register group is legal. Otherwise, it is illegal. -multiclass VPseudoBinaryW_VV mxlist = MxListW> { - foreach m = mxlist in - defm _VV : VPseudoBinary; -} - -multiclass VPseudoBinaryW_VV_LMUL { +multiclass VPseudoBinaryW_VV { defm _VV : VPseudoBinary; } -multiclass VPseudoBinaryW_VX_LMUL { +multiclass VPseudoBinaryW_VX { defm "_VX" : VPseudoBinary; } @@ -2093,23 +2072,14 @@ multiclass VPseudoBinaryW_VF { "@earlyclobber $rd">; } -multiclass VPseudoBinaryW_WV mxlist = MxListW> { - foreach m = mxlist in { - defm _WV : VPseudoBinary; - defm _WV : VPseudoTiedBinary; - } -} - -multiclass VPseudoBinaryW_WV_LMUL { +multiclass VPseudoBinaryW_WV { defm _WV : VPseudoBinary; defm _WV : VPseudoTiedBinary; } -multiclass VPseudoBinaryW_WX_LMUL { +multiclass VPseudoBinaryW_WX { defm "_WX" : VPseudoBinary; } @@ -2123,35 +2093,17 @@ multiclass VPseudoBinaryW_WF { // exception from the spec. // "The destination EEW is smaller than the source EEW and the overlap is in the // lowest-numbered part of the source register group." -multiclass VPseudoBinaryV_WV { - foreach m = MxListW in - defm _WV : VPseudoBinary; -} - -multiclass VPseudoBinaryV_WV_LMUL { +multiclass VPseudoBinaryV_WV { defm _WV : VPseudoBinary; } -multiclass VPseudoBinaryV_WX { - foreach m = MxListW in - defm _WX : VPseudoBinary; -} - -multiclass VPseudoBinaryV_WX_LMUL { +multiclass VPseudoBinaryV_WX { defm _WX : VPseudoBinary; } -multiclass VPseudoBinaryV_WI { - foreach m = MxListW in - defm _WI : VPseudoBinary; -} - -multiclass VPseudoBinaryV_WI_LMUL { +multiclass VPseudoBinaryV_WI { defm _WI : VPseudoBinary; } @@ -2409,13 +2361,7 @@ multiclass PseudoVEXT_VF8 { // lowest-numbered part of the source register group". // With LMUL<=1 the source and dest occupy a single register so any overlap // is in the lowest-numbered part. -multiclass VPseudoBinaryM_VV mxlist = MxList> { - foreach m = mxlist in - defm _VV : VPseudoBinaryM; -} - -multiclass VPseudoBinaryM_VV_LMUL { +multiclass VPseudoBinaryM_VV { defm _VV : VPseudoBinaryM; } @@ -2446,11 +2392,11 @@ multiclass VPseudoVGTR_VV_VX_VI defvar ReadVGatherV_MX = !cast("ReadVGatherV_" # mx); defvar ReadVGatherX_MX = !cast("ReadVGatherX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVGatherV_MX, ReadVGatherV_MX, ReadVGatherV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVGatherX_MX, ReadVGatherV_MX, ReadVGatherX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VI_LMUL, + defm "" : VPseudoBinaryV_VI, Sched<[WriteVGatherI_MX, ReadVGatherV_MX, ReadVMask]>; } } @@ -2464,11 +2410,11 @@ multiclass VPseudoVSALU_VV_VX_VI("ReadVSALUV_" # mx); defvar ReadVSALUX_MX = !cast("ReadVSALUX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVSALUV_MX, ReadVSALUV_MX, ReadVSALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVSALUX_MX, ReadVSALUV_MX, ReadVSALUX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VI_LMUL, + defm "" : VPseudoBinaryV_VI, Sched<[WriteVSALUI_MX, ReadVSALUV_MX, ReadVMask]>; } } @@ -2483,11 +2429,11 @@ multiclass VPseudoVSHT_VV_VX_VI defvar ReadVShiftV_MX = !cast("ReadVShiftV_" # mx); defvar ReadVShiftX_MX = !cast("ReadVShiftX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVShiftV_MX, ReadVShiftV_MX, ReadVShiftV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVShiftX_MX, ReadVShiftV_MX, ReadVShiftX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VI_LMUL, + defm "" : VPseudoBinaryV_VI, Sched<[WriteVShiftI_MX, ReadVShiftV_MX, ReadVMask]>; } } @@ -2501,11 +2447,11 @@ multiclass VPseudoVSSHT_VV_VX_VI("ReadVSShiftV_" # mx); defvar ReadVSShiftX_MX = !cast("ReadVSShiftX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVSShiftV_MX, ReadVSShiftV_MX, ReadVSShiftV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVSShiftX_MX, ReadVSShiftV_MX, ReadVSShiftX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VI_LMUL, + defm "" : VPseudoBinaryV_VI, Sched<[WriteVSShiftI_MX, ReadVSShiftV_MX, ReadVMask]>; } } @@ -2519,11 +2465,11 @@ multiclass VPseudoVALU_VV_VX_VI defvar ReadVIALUV_MX = !cast("ReadVIALUV_" # mx); defvar ReadVIALUX_MX = !cast("ReadVIALUX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVIALUV_MX, ReadVIALUV_MX, ReadVIALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVIALUX_MX, ReadVIALUV_MX, ReadVIALUX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VI_LMUL, + defm "" : VPseudoBinaryV_VI, Sched<[WriteVIALUI_MX, ReadVIALUV_MX, ReadVMask]>; } } @@ -2536,9 +2482,9 @@ multiclass VPseudoVSALU_VV_VX { defvar ReadVSALUV_MX = !cast("ReadVSALUV_" # mx); defvar ReadVSALUX_MX = !cast("ReadVSALUX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVSALUV_MX, ReadVSALUV_MX, ReadVSALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVSALUX_MX, ReadVSALUV_MX, ReadVSALUX_MX, ReadVMask]>; } } @@ -2551,9 +2497,9 @@ multiclass VPseudoVSMUL_VV_VX { defvar ReadVSMulV_MX = !cast("ReadVSMulV_" # mx); defvar ReadVSMulX_MX = !cast("ReadVSMulX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVSMulV_MX, ReadVSMulV_MX, ReadVSMulV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVSMulX_MX, ReadVSMulV_MX, ReadVSMulX_MX, ReadVMask]>; } } @@ -2566,9 +2512,9 @@ multiclass VPseudoVAALU_VV_VX { defvar ReadVAALUV_MX = !cast("ReadVAALUV_" # mx); defvar ReadVAALUX_MX = !cast("ReadVAALUX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVAALUV_MX, ReadVAALUV_MX, ReadVAALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVAALUX_MX, ReadVAALUV_MX, ReadVAALUX_MX, ReadVMask]>; } } @@ -2581,9 +2527,9 @@ multiclass VPseudoVMINMAX_VV_VX { defvar ReadVICmpV_MX = !cast("ReadVICmpV_" # mx); defvar ReadVICmpX_MX = !cast("ReadVICmpX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVICmpV_MX, ReadVICmpV_MX, ReadVICmpV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVICmpX_MX, ReadVICmpV_MX, ReadVICmpX_MX, ReadVMask]>; } } @@ -2596,9 +2542,9 @@ multiclass VPseudoVMUL_VV_VX { defvar ReadVIMulV_MX = !cast("ReadVIMulV_" # mx); defvar ReadVIMulX_MX = !cast("ReadVIMulX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVIMulV_MX, ReadVIMulV_MX, ReadVIMulV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVIMulX_MX, ReadVIMulV_MX, ReadVIMulX_MX, ReadVMask]>; } } @@ -2611,9 +2557,9 @@ multiclass VPseudoVDIV_VV_VX { defvar ReadVIDivV_MX = !cast("ReadVIDivV_" # mx); defvar ReadVIDivX_MX = !cast("ReadVIDivX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVIDivV_MX, ReadVIDivV_MX, ReadVIDivV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVIDivX_MX, ReadVIDivV_MX, ReadVIDivX_MX, ReadVMask]>; } } @@ -2685,9 +2631,9 @@ multiclass VPseudoVALU_VV_VX { defvar ReadVIALUV_MX = !cast("ReadVIALUV_" # mx); defvar ReadVIALUX_MX = !cast("ReadVIALUX_" # mx); - defm "" : VPseudoBinaryV_VV_LMUL, + defm "" : VPseudoBinaryV_VV, Sched<[WriteVIALUV_MX, ReadVIALUV_MX, ReadVIALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVIALUX_MX, ReadVIALUV_MX, ReadVIALUX_MX, ReadVMask]>; } } @@ -2782,9 +2728,9 @@ multiclass VPseudoVALU_VX_VI { defvar ReadVIALUV_MX = !cast("ReadVIALUV_" # mx); defvar ReadVIALUX_MX = !cast("ReadVIALUX_" # mx); - defm "" : VPseudoBinaryV_VX_LMUL, + defm "" : VPseudoBinaryV_VX, Sched<[WriteVIALUX_MX, ReadVIALUV_MX, ReadVIALUX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_VI_LMUL, + defm "" : VPseudoBinaryV_VI, Sched<[WriteVIALUI_MX, ReadVIALUV_MX, ReadVMask]>; } } @@ -2797,9 +2743,9 @@ multiclass VPseudoVWALU_VV_VX { defvar ReadVIWALUV_MX = !cast("ReadVIWALUV_" # mx); defvar ReadVIWALUX_MX = !cast("ReadVIWALUX_" # mx); - defm "" : VPseudoBinaryW_VV_LMUL, + defm "" : VPseudoBinaryW_VV, Sched<[WriteVIWALUV_MX, ReadVIWALUV_MX, ReadVIWALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryW_VX_LMUL, + defm "" : VPseudoBinaryW_VX, Sched<[WriteVIWALUX_MX, ReadVIWALUV_MX, ReadVIWALUX_MX, ReadVMask]>; } } @@ -2812,9 +2758,9 @@ multiclass VPseudoVWMUL_VV_VX { defvar ReadVIWMulV_MX = !cast("ReadVIWMulV_" # mx); defvar ReadVIWMulX_MX = !cast("ReadVIWMulX_" # mx); - defm "" : VPseudoBinaryW_VV_LMUL, + defm "" : VPseudoBinaryW_VV, Sched<[WriteVIWMulV_MX, ReadVIWMulV_MX, ReadVIWMulV_MX, ReadVMask]>; - defm "" : VPseudoBinaryW_VX_LMUL, + defm "" : VPseudoBinaryW_VX, Sched<[WriteVIWMulX_MX, ReadVIWMulV_MX, ReadVIWMulX_MX, ReadVMask]>; } } @@ -2825,7 +2771,7 @@ multiclass VPseudoVWMUL_VV_VF { defvar WriteVFWMulV_MX = !cast("WriteVFWMulV_" # mx); defvar ReadVFWMulV_MX = !cast("ReadVFWMulV_" # mx); - defm "" : VPseudoBinaryW_VV_LMUL, + defm "" : VPseudoBinaryW_VV, Sched<[WriteVFWMulV_MX, ReadVFWMulV_MX, ReadVFWMulV_MX, ReadVMask]>; } @@ -2850,9 +2796,9 @@ multiclass VPseudoVWALU_WV_WX { defvar ReadVIWALUV_MX = !cast("ReadVIWALUV_" # mx); defvar ReadVIWALUX_MX = !cast("ReadVIWALUX_" # mx); - defm "" : VPseudoBinaryW_WV_LMUL, + defm "" : VPseudoBinaryW_WV, Sched<[WriteVIWALUV_MX, ReadVIWALUV_MX, ReadVIWALUV_MX, ReadVMask]>; - defm "" : VPseudoBinaryW_WX_LMUL, + defm "" : VPseudoBinaryW_WX, Sched<[WriteVIWALUX_MX, ReadVIWALUV_MX, ReadVIWALUX_MX, ReadVMask]>; } } @@ -2863,7 +2809,7 @@ multiclass VPseudoVFWALU_VV_VF { defvar WriteVFWALUV_MX = !cast("WriteVFWALUV_" # mx); defvar ReadVFWALUV_MX = !cast("ReadVFWALUV_" # mx); - defm "" : VPseudoBinaryW_VV_LMUL, + defm "" : VPseudoBinaryW_VV, Sched<[WriteVFWALUV_MX, ReadVFWALUV_MX, ReadVFWALUV_MX, ReadVMask]>; } @@ -2886,7 +2832,7 @@ multiclass VPseudoVFWALU_WV_WF { defvar WriteVFWALUV_MX = !cast("WriteVFWALUV_" # mx); defvar ReadVFWALUV_MX = !cast("ReadVFWALUV_" # mx); - defm "" : VPseudoBinaryW_WV_LMUL, + defm "" : VPseudoBinaryW_WV, Sched<[WriteVFWALUV_MX, ReadVFWALUV_MX, ReadVFWALUV_MX, ReadVMask]>; } foreach f = FPListW in { @@ -3047,11 +2993,11 @@ multiclass VPseudoVNCLP_WV_WX_WI { defvar ReadVNClipV_MX = !cast("ReadVNClipV_" # mx); defvar ReadVNClipX_MX = !cast("ReadVNClipX_" # mx); - defm "" : VPseudoBinaryV_WV_LMUL, + defm "" : VPseudoBinaryV_WV, Sched<[WriteVNClipV_MX, ReadVNClipV_MX, ReadVNClipV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_WX_LMUL, + defm "" : VPseudoBinaryV_WX, Sched<[WriteVNClipX_MX, ReadVNClipV_MX, ReadVNClipX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_WI_LMUL, + defm "" : VPseudoBinaryV_WI, Sched<[WriteVNClipI_MX, ReadVNClipV_MX, ReadVMask]>; } } @@ -3065,11 +3011,11 @@ multiclass VPseudoVNSHT_WV_WX_WI { defvar ReadVNShiftV_MX = !cast("ReadVNShiftV_" # mx); defvar ReadVNShiftX_MX = !cast("ReadVNShiftX_" # mx); - defm "" : VPseudoBinaryV_WV_LMUL, + defm "" : VPseudoBinaryV_WV, Sched<[WriteVNShiftV_MX, ReadVNShiftV_MX, ReadVNShiftV_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_WX_LMUL, + defm "" : VPseudoBinaryV_WX, Sched<[WriteVNShiftX_MX, ReadVNShiftV_MX, ReadVNShiftX_MX, ReadVMask]>; - defm "" : VPseudoBinaryV_WI_LMUL, + defm "" : VPseudoBinaryV_WI, Sched<[WriteVNShiftI_MX, ReadVNShiftV_MX, ReadVMask]>; } } @@ -3111,15 +3057,7 @@ multiclass VPseudoTernaryWithPolicy mxlist = MxList> { - foreach m = mxlist in { - defm _VV : VPseudoTernaryWithPolicy; - } -} - -multiclass VPseudoTernaryV_VV_AAXA_LMUL { +multiclass VPseudoTernaryV_VV_AAXA { defm _VV : VPseudoTernaryWithPolicy; } @@ -3139,14 +3077,7 @@ multiclass VPseudoTernaryV_VF_AAXA; -} - -multiclass VPseudoTernaryW_VV_LMUL { +multiclass VPseudoTernaryW_VV { defvar constraint = "@earlyclobber $rd"; defm _VV : VPseudoTernaryWithPolicy; @@ -3176,7 +3107,7 @@ multiclass VPseudoVMAC_VV_VX_AAXA { defvar ReadVIMulAddV_MX = !cast("ReadVIMulAddV_" # mx); defvar ReadVIMulAddX_MX = !cast("ReadVIMulAddX_" # mx); - defm "" : VPseudoTernaryV_VV_AAXA_LMUL, + defm "" : VPseudoTernaryV_VV_AAXA, Sched<[WriteVIMulAddV_MX, ReadVIMulAddV_MX, ReadVIMulAddV_MX, ReadVIMulAddV_MX, ReadVMask]>; defm "" : VPseudoTernaryV_VX_AAXA, @@ -3191,7 +3122,7 @@ multiclass VPseudoVMAC_VV_VF_AAXA { defvar WriteVFMulAddV_MX = !cast("WriteVFMulAddV_" # mx); defvar ReadVFMulAddV_MX = !cast("ReadVFMulAddV_" # mx); - defm "" : VPseudoTernaryV_VV_AAXA_LMUL, + defm "" : VPseudoTernaryV_VV_AAXA, Sched<[WriteVFMulAddV_MX, ReadVFMulAddV_MX, ReadVFMulAddV_MX, ReadVFMulAddV_MX, ReadVMask]>; } @@ -3232,7 +3163,7 @@ multiclass VPseudoVWMAC_VV_VX { defvar ReadVIWMulAddV_MX = !cast("ReadVIWMulAddV_" # mx); defvar ReadVIWMulAddX_MX = !cast("ReadVIWMulAddX_" # mx); - defm "" : VPseudoTernaryW_VV_LMUL, + defm "" : VPseudoTernaryW_VV, Sched<[WriteVIWMulAddV_MX, ReadVIWMulAddV_MX, ReadVIWMulAddV_MX, ReadVIWMulAddV_MX, ReadVMask]>; defm "" : VPseudoTernaryW_VX, @@ -3260,7 +3191,7 @@ multiclass VPseudoVWMAC_VV_VF { defvar WriteVFWMulAddV_MX = !cast("WriteVFWMulAddV_" # mx); defvar ReadVFWMulAddV_MX = !cast("ReadVFWMulAddV_" # mx); - defm "" : VPseudoTernaryW_VV_LMUL, + defm "" : VPseudoTernaryW_VV, Sched<[WriteVFWMulAddV_MX, ReadVFWMulAddV_MX, ReadVFWMulAddV_MX, ReadVFWMulAddV_MX, ReadVMask]>; } @@ -3288,7 +3219,7 @@ multiclass VPseudoVCMPM_VV_VX_VI { defvar ReadVICmpV_MX = !cast("ReadVICmpV_" # mx); defvar ReadVICmpX_MX = !cast("ReadVICmpX_" # mx); - defm "" : VPseudoBinaryM_VV_LMUL, + defm "" : VPseudoBinaryM_VV, Sched<[WriteVICmpV_MX, ReadVICmpV_MX, ReadVICmpV_MX, ReadVMask]>; defm "" : VPseudoBinaryM_VX, Sched<[WriteVICmpX_MX, ReadVICmpV_MX, ReadVICmpX_MX, ReadVMask]>; @@ -3305,7 +3236,7 @@ multiclass VPseudoVCMPM_VV_VX { defvar ReadVICmpV_MX = !cast("ReadVICmpV_" # mx); defvar ReadVICmpX_MX = !cast("ReadVICmpX_" # mx); - defm "" : VPseudoBinaryM_VV_LMUL, + defm "" : VPseudoBinaryM_VV, Sched<[WriteVICmpV_MX, ReadVICmpV_MX, ReadVICmpV_MX, ReadVMask]>; defm "" : VPseudoBinaryM_VX, Sched<[WriteVICmpX_MX, ReadVICmpV_MX, ReadVICmpX_MX, ReadVMask]>; @@ -3318,7 +3249,7 @@ multiclass VPseudoVCMPM_VV_VF { defvar WriteVFCmpV_MX = !cast("WriteVFCmpV_" # mx); defvar ReadVFCmpV_MX = !cast("ReadVFCmpV_" # mx); - defm "" : VPseudoBinaryM_VV_LMUL, + defm "" : VPseudoBinaryM_VV, Sched<[WriteVFCmpV_MX, ReadVFCmpV_MX, ReadVFCmpV_MX, ReadVMask]>; } -- 2.7.4