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

Reply via email to