+2019-08-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve.md (vec_shl_insert_<mode>): Add
+ MOVPRFX alternatives. Make the GPR alternatives more expensive
+ than the FPR ones.
+
2019-08-07 Richard Sandiford <richard.sandiford@arm.com>
* config/aarch64/aarch64-sve.md (fold_extract_last_<mode>):
;; Shift an SVE vector left and insert a scalar into element 0.
(define_insn "vec_shl_insert_<mode>"
- [(set (match_operand:SVE_ALL 0 "register_operand" "=w, w")
+ [(set (match_operand:SVE_ALL 0 "register_operand" "=?w, w, ??&w, ?&w")
(unspec:SVE_ALL
- [(match_operand:SVE_ALL 1 "register_operand" "0, 0")
- (match_operand:<VEL> 2 "register_operand" "rZ, w")]
+ [(match_operand:SVE_ALL 1 "register_operand" "0, 0, w, w")
+ (match_operand:<VEL> 2 "aarch64_reg_or_zero" "rZ, w, rZ, w")]
UNSPEC_INSR))]
"TARGET_SVE"
"@
insr\t%0.<Vetype>, %<vwcore>2
- insr\t%0.<Vetype>, %<Vetype>2"
+ insr\t%0.<Vetype>, %<Vetype>2
+ movprfx\t%0, %1\;insr\t%0.<Vetype>, %<vwcore>2
+ movprfx\t%0, %1\;insr\t%0.<Vetype>, %<Vetype>2"
+ [(set_attr "movprfx" "*,*,yes,yes")]
)
;; -------------------------------------------------------------------------
+2019-08-07 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/sve/init_12.c: Expect w1 to be moved into
+ a temporary FPR.
+
2019-08-07 Richard Sandiford <richard.sandiford@arm.com>
* gcc.target/aarch64/sve/clastb_8.c: New test.