(define_insn_and_split "reduc_plus_scal_<mode>"
[(set (match_operand:<VEL> 0 "register_operand")
(unspec:<VEL> [
- (match_operand:VI 1 "register_operand")
+ (match_operand:V_VLSI 1 "register_operand")
] UNSPEC_REDUC_SUM))]
"TARGET_VECTOR && can_create_pseudo_p ()"
"#"
(define_expand "reduc_smax_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
int prec = GET_MODE_PRECISION (<VEL>mode);
(define_expand "reduc_umax_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
riscv_vector::expand_reduction (UNSPEC_REDUC_MAXU, riscv_vector::REDUCE_OP,
(define_expand "reduc_smin_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
int prec = GET_MODE_PRECISION (<VEL>mode);
(define_expand "reduc_umin_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
int prec = GET_MODE_PRECISION (<VEL>mode);
(define_expand "reduc_and_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
riscv_vector::expand_reduction (UNSPEC_REDUC_AND, riscv_vector::REDUCE_OP,
(define_expand "reduc_ior_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
riscv_vector::expand_reduction (UNSPEC_REDUC_OR, riscv_vector::REDUCE_OP,
(define_expand "reduc_xor_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VI 1 "register_operand")]
+ (match_operand:V_VLSI 1 "register_operand")]
"TARGET_VECTOR"
{
riscv_vector::expand_reduction (UNSPEC_REDUC_XOR, riscv_vector::REDUCE_OP,
(define_insn_and_split "reduc_plus_scal_<mode>"
[(set (match_operand:<VEL> 0 "register_operand")
(unspec:<VEL> [
- (match_operand:VF 1 "register_operand")
+ (match_operand:V_VLSF 1 "register_operand")
] UNSPEC_REDUC_SUM_UNORDERED))]
"TARGET_VECTOR && can_create_pseudo_p ()"
"#"
(define_expand "reduc_smax_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VF 1 "register_operand")]
+ (match_operand:V_VLSF 1 "register_operand")]
"TARGET_VECTOR"
{
REAL_VALUE_TYPE rv;
(define_expand "reduc_smin_scal_<mode>"
[(match_operand:<VEL> 0 "register_operand")
- (match_operand:VF 1 "register_operand")]
+ (match_operand:V_VLSF 1 "register_operand")]
"TARGET_VECTOR"
{
REAL_VALUE_TYPE rv;
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
(unspec:<V_LMUL1> [
- (match_operand:VI 3 "register_operand" " vr, vr")
+ (match_operand:V_VLSI 3 "register_operand" " vr, vr")
(match_operand:<V_LMUL1> 4 "register_operand" " vr, vr")
] ANY_REDUC)
(match_operand:<V_LMUL1> 2 "vector_merge_operand" " vu, 0")] UNSPEC_REDUC))]
(reg:SI VL_REGNUM)
(reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
(unspec:<V_LMUL1> [
- (match_operand:VF 3 "register_operand" " vr, vr")
+ (match_operand:V_VLSF 3 "register_operand" " vr, vr")
(match_operand:<V_LMUL1> 4 "register_operand" " vr, vr")
] ANY_FREDUC)
(match_operand:<V_LMUL1> 2 "vector_merge_operand" " vu, 0")] UNSPEC_REDUC))]
(reg:SI VTYPE_REGNUM)
(reg:SI FRM_REGNUM)] UNSPEC_VPREDICATE)
(unspec:<V_LMUL1> [
- (match_operand:VF 3 "register_operand" " vr, vr")
+ (match_operand:V_VLSF 3 "register_operand" " vr, vr")
(match_operand:<V_LMUL1> 4 "register_operand" " vr, vr")
] ANY_FREDUC_SUM)
(match_operand:<V_LMUL1> 2 "vector_merge_operand" " vu, 0")] UNSPEC_REDUC))]