Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 1 | let 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 | } |