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 @@ -3296,25 +3296,17 @@ multiclass VPseudoVWMAC_VV_VF_BF_RM { foreach m = MxListFW in { defvar mx = m.MX; - defvar WriteVFWMulAddV_MX = !cast("WriteVFWMulAddV_" # mx); - defvar ReadVFWMulAddV_MX = !cast("ReadVFWMulAddV_" # mx); - // FIXME: should use SchedTernary defm "" : VPseudoTernaryW_VV_RM, - Sched<[WriteVFWMulAddV_MX, ReadVFWMulAddV_MX, - ReadVFWMulAddV_MX, ReadVFWMulAddV_MX, ReadVMask]>; + SchedTernary<"WriteVFWMulAddV", "ReadVFWMullAddV", + "ReadVFWMullAddV", "ReadVFWMullAddV", mx>; } foreach f = BFPListW in { foreach m = f.MxListFW in { defvar mx = m.MX; - defvar WriteVFWMulAddF_MX = !cast("WriteVFWMulAddF_" # mx); - defvar ReadVFWMulAddV_MX = !cast("ReadVFWMulAddV_" # mx); - defvar ReadVFWMulAddF_MX = !cast("ReadVFWMulAddF_" # mx); - - // FIXME: should use SchedTernary defm "" : VPseudoTernaryW_VF_RM, - Sched<[WriteVFWMulAddF_MX, ReadVFWMulAddV_MX, - ReadVFWMulAddF_MX, ReadVFWMulAddV_MX, ReadVMask]>; + SchedTernary<"WriteVFWMulAddF", "ReadVFWMulAddV", + "ReadVFWMulAddF", "ReadVFWMulAddV", mx>; } } }