}
class VPseudoBinaryMask<VReg RetClass,
- VReg Op1Class,
+ RegisterClass Op1Class,
DAGOperand Op2Class,
string Constraint> :
Pseudo<(outs GetVRegNoV0<RetClass>.R:$rd),
}
class VPseudoTernaryNoMask<VReg RetClass,
- VReg Op1Class,
+ RegisterClass Op1Class,
DAGOperand Op2Class,
string Constraint> :
Pseudo<(outs RetClass:$rd),
}
multiclass VPseudoTernary<VReg RetClass,
- VReg Op1Class,
- RegisterClass Op2Class,
+ RegisterClass Op1Class,
+ DAGOperand Op2Class,
LMULInfo MInfo,
string Constraint = ""> {
let VLMul = MInfo.value in {
multiclass VPatUSLoad<string intrinsic,
string inst,
- LLVMType type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
VReg reg_class>
}
multiclass VPatUSLoadFF<string inst,
- LLVMType type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
VReg reg_class>
multiclass VPatSLoad<string intrinsic,
string inst,
- LLVMType type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
VReg reg_class>
multiclass VPatILoad<string intrinsic,
string inst,
- LLVMType type,
- LLVMType idx_type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType idx_type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
LMULInfo idx_vlmul,
multiclass VPatUSStore<string intrinsic,
string inst,
- LLVMType type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
VReg reg_class>
multiclass VPatSStore<string intrinsic,
string inst,
- LLVMType type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
VReg reg_class>
multiclass VPatIStore<string intrinsic,
string inst,
- LLVMType type,
- LLVMType idx_type,
- LLVMType mask_type,
+ ValueType type,
+ ValueType idx_type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
LMULInfo idx_vlmul,
dag Value = !con(Prefix, !if(swap, B, A), !if(swap, A, B), Suffix);
}
-multiclass VPatUSLoadStoreSDNode<LLVMType type,
- LLVMType mask_type,
+multiclass VPatUSLoadStoreSDNode<ValueType type,
+ ValueType mask_type,
int sew,
LMULInfo vlmul,
OutPatFrag avl,