https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111784
Bug ID: 111784
Summary: [14 Regression] aarch64: ldp_stp_{15,16,17,18}.c test
failures
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: acoplan at gcc dot gnu.org
Target Milestone: ---
Since r14-4579-g0bdb9bb5607edd7df1ee74ddfcadb87324ca00c2 the following aarch64
tests are failing:
FAIL: gcc.target/aarch64/ldp_stp_15.c check-function-bodies dup_8_int32_t
FAIL: gcc.target/aarch64/ldp_stp_15.c check-function-bodies cons2_16_int32_t
FAIL: gcc.target/aarch64/ldp_stp_15.c check-function-bodies cons4_8_int32_t
FAIL: gcc.target/aarch64/ldp_stp_16.c check-function-bodies cons2_4_float
FAIL: gcc.target/aarch64/ldp_stp_17.c check-function-bodies dup_16_int64_t
FAIL: gcc.target/aarch64/ldp_stp_17.c check-function-bodies cons2_16_int64_t
FAIL: gcc.target/aarch64/ldp_stp_17.c check-function-bodies cons4_16_int64_t
FAIL: gcc.target/aarch64/ldp_stp_18.c check-function-bodies dup_8_double
FAIL: gcc.target/aarch64/ldp_stp_18.c check-function-bodies dup_16_double
FAIL: gcc.target/aarch64/ldp_stp_18.c check-function-bodies cons2_4_double
FAIL: gcc.target/aarch64/ldp_stp_18.c check-function-bodies cons2_8_double
FAIL: gcc.target/aarch64/ldp_stp_18.c check-function-bodies cons2_8_double
FAIL: gcc.target/aarch64/ldp_stp_18.c check-function-bodies cons2_8_double
E.g. for dup8_int32_t, we now generate:
dup_8_int32_t:
.LFB9:
.cfi_startproc
stp w1, w1, [x0]
stp w1, w1, [x0, 8]
stp w1, w1, [x0, 16]
stp w1, w1, [x0, 24]
ret
instead of a dup with a q-register stp. Most likely we need to update the costs
on the aarch64 side.