1let TargetPrefix = "riscv" in {
2
3  class TH_VdotTernaryWideMasked
4        : DefaultAttrsIntrinsic< [llvm_anyvector_ty],
5                     [LLVMMatchType<0>, llvm_any_ty, llvm_anyvector_ty,
6                      LLVMScalarOrSameVectorWidth<2, llvm_i1_ty>,
7                      llvm_anyint_ty, LLVMMatchType<3>],
8                     [ImmArg<ArgIndex<5>>, IntrNoMem]>, RISCVVIntrinsic {
9    let ScalarOperand = 1;
10    let VLOperand = 4;
11  }
12
13  multiclass TH_VdotTernaryWide {
14    def "int_riscv_" # NAME : RISCVTernaryWideUnMasked;
15    def "int_riscv_" # NAME # "_mask" : TH_VdotTernaryWideMasked;
16  }
17
18  defm th_vmaqa    : TH_VdotTernaryWide;
19  defm th_vmaqau   : TH_VdotTernaryWide;
20  defm th_vmaqasu  : TH_VdotTernaryWide;
21  defm th_vmaqaus  : TH_VdotTernaryWide;
22}
23