https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119189
Bug ID: 119189
Summary: [15 Regression] Code quality regressions on aarch64
since ext-dce change r15-7915-g4ed07a11ee2845
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: acoplan at gcc dot gnu.org
Target Milestone: ---
Since the ext-dce change r15-7915-g4ed07a11ee2845c2085a3cd5cff043209a452441,
there have been some code quality regressions on aarch64. The following tests
have started failing:
FAIL: gcc.target/aarch64/popcnt-eq-1.c check-function-bodies h16
FAIL: gcc.target/aarch64/popcnt-le-3.c check-function-bodies le16
FAIL: gcc.target/aarch64/popcnt-le-3.c check-function-bodies gt16
FAIL: gcc.target/aarch64/vec-init-22-speed.c scan-assembler-times
\\tfmov\\ts[0-9]+, w[0-9]+ 2
FAIL: gcc.target/aarch64/tbz_2.c check-function-bodies g6
FAIL: gcc.target/aarch64/tbz_2.c check-function-bodies g7
FAIL: gcc.target/aarch64/tbz_2.c check-function-bodies g8
As an example of one of the changes, take the h16 function from popcnt-eq-1.c.
That function gains an extra zero extend after the ext-dce change:
h16:
.LFB0:
.cfi_startproc
+ and w0, w0, 65535
sub w1, w0, #1
eor w0, w0, w1
and w1, w1, 65535
cmp w1, w0, uxth
cset w0, cc
ret