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