[Committed] RISC-V: Remove @ of vec_duplicate pattern
Checks
Commit Message
It's obvious the @ of vec_duplicate pattern is duplicate.
Regression passed.
Committed.
gcc/ChangeLog:
* config/riscv/riscv-v.cc (gen_const_vector_dup): Use global expand function.
* config/riscv/vector.md (@vec_duplicate<mode>): Remove @.
(vec_duplicate<mode>): Ditto.
---
gcc/config/riscv/riscv-v.cc | 4 +---
gcc/config/riscv/vector.md | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
@@ -696,9 +696,7 @@ gen_const_vector_dup (machine_mode mode, poly_int64 val)
{
/* When VAL is const_poly_int value, we need to explicitly broadcast
it into a vector using RVV broadcast instruction. */
- rtx dup = gen_reg_rtx (mode);
- emit_insn (gen_vec_duplicate (mode, dup, c));
- return dup;
+ return expand_vector_broadcast (mode, c);
}
return gen_const_vec_duplicate (mode, c);
}
@@ -1371,7 +1371,7 @@
;; This pattern only handles duplicates of non-constant inputs.
;; Constant vectors go through the movm pattern instead.
;; So "direct_broadcast_operand" can only be mem or reg, no CONSTANT.
-(define_insn_and_split "@vec_duplicate<mode>"
+(define_insn_and_split "vec_duplicate<mode>"
[(set (match_operand:V_VLS 0 "register_operand")
(vec_duplicate:V_VLS
(match_operand:<VEL> 1 "direct_broadcast_operand")))]