public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/116604] New: [15 regression] regressions on aarch64 since r15-1619-g3b9b8d6cfdf593
@ 2024-09-04 20:55 thiago.bauermann at linaro dot org
  2024-09-04 21:00 ` [Bug target/116604] " pinskia at gcc dot gnu.org
  0 siblings, 1 reply; 2+ messages in thread
From: thiago.bauermann at linaro dot org @ 2024-09-04 20:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116604

            Bug ID: 116604
           Summary: [15 regression] regressions on aarch64 since
                    r15-1619-g3b9b8d6cfdf593
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: testsuite-fail
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: thiago.bauermann at linaro dot org
                CC: jskumari at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64

Since commit r15-1619-g3b9b8d6cfdf593 we see this vectorization regression on
aarch64-linux-gnu:

Running gcc:gcc.target/aarch64/sve/pcs/aarch64-sve-pcs.exp ...
FAIL: gcc.target/aarch64/sve/pcs/args_1.c -march=armv8.2-a+sve
-fno-stack-protector  check-function-bodies callee_pred

The failure is:

body: \taddvl   sp, sp, #-1
\tstr   p[0-9]+, \[sp\]
\tstr   p[0-9]+, \[sp, #1, mul vl\]
\tldr   (p[0-9]+), \[x0\]
\tldr   (p[0-9]+), \[x1\]
\tbrkpa (p[0-7])\.b, p0/z, p1\.b, p2\.b
\tbrkpb (p[0-7])\.b, \3/z, p3\.b, \1\.b
\tbrka  p0\.b, \4/z, \2\.b
\tldr   p[0-9]+, \[sp\]
\tldr   p[0-9]+, \[sp, #1, mul vl\]
\taddvl sp, sp, #1
\tret

against:        addvl   sp, sp, #-1
        str     p14, [sp]
        str     p15, [sp, #1, mul vl]
        mov     p14.b, p3.b
        ldr     p15, [x0]
        ldr     p3, [x1]
        brkpa   p0.b, p0/z, p1.b, p2.b
        brkpb   p0.b, p0/z, p14.b, p15.b
        brka    p0.b, p0/z, p3.b
        ldr     p14, [sp]
        ldr     p15, [sp, #1, mul vl]
        addvl   sp, sp, #1
        ret

The difference in expected vs actual is that there's an extra instruction "mov
p14.b, p3.b", and also in the brkpb instruction p14.b is used instead of the
expected p3.b.

We also see regressions in other testcases on arm-linux-gnueabihf and yet
others on arm-none-eabi, but I'll file separate bugzillas for those.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Bug target/116604] [15 regression] regressions on aarch64 since r15-1619-g3b9b8d6cfdf593
  2024-09-04 20:55 [Bug target/116604] New: [15 regression] regressions on aarch64 since r15-1619-g3b9b8d6cfdf593 thiago.bauermann at linaro dot org
@ 2024-09-04 21:00 ` pinskia at gcc dot gnu.org
  0 siblings, 0 replies; 2+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-09-04 21:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116604

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |15.0
           Keywords|                            |missed-optimization, ra

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Looks like a register allocation issue. I have not double checked but I suspect
some of the instructions only support p0-p7 while other support the full range
and RA is selecting p14 in one case and then have to move it to p3 too.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-09-04 21:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-04 20:55 [Bug target/116604] New: [15 regression] regressions on aarch64 since r15-1619-g3b9b8d6cfdf593 thiago.bauermann at linaro dot org
2024-09-04 21:00 ` [Bug target/116604] " pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).