public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/112933] New: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be
@ 2023-12-09  2:49 pinskia at gcc dot gnu.org
  2023-12-09 17:06 ` [Bug target/112933] " rsandifo at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-12-09  2:49 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 112933
           Summary: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c
                    fails on aarch64_be
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: missed-optimization, testsuite-fail
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
                CC: rsandifo at gcc dot gnu.org
  Target Milestone: ---
            Target: aarch64_be

From the log
```
FAIL: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c  -std=c23 -O2
-fno-schedule-insns -fno-schedule-insns2 -DCHECK_ASM --save-temps -DTEST_FULL 
check-function-bodies read_0_z0
body: \tmov     (w8|w9|w10|w11), w0
\tmova  {z0\.d - z1\.d}, za\.d\[\1, 0, vgx2\]
\tret

against:        addvl   sp, sp, #-2
        mov     w9, w0
        mova    {z30.d - z31.d}, za.d[w9, 0, vgx2]
        ptrue   p7.b, all
        st1d    z30.d, p7, [sp]
        st1d    z31.d, p7, [sp, #1, mul vl]
        ld1h    z0.h, p7/z, [sp]
        ld1h    z1.h, p7/z, [sp, #1, mul vl]
        addvl   sp, sp, #2
        ret
```

Seems like all of the SME check-function-bodies testcases fail this way for
big-endian in that they extra store/loads there ...

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

* [Bug target/112933] gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be
  2023-12-09  2:49 [Bug target/112933] New: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be pinskia at gcc dot gnu.org
@ 2023-12-09 17:06 ` rsandifo at gcc dot gnu.org
  2023-12-10 19:46 ` cvs-commit at gcc dot gnu.org
  2023-12-10 19:56 ` rsandifo at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2023-12-09 17:06 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Sandiford <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-12-09
           Assignee|unassigned at gcc dot gnu.org      |rsandifo at gcc dot gnu.org
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #1 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
Gah, forgot to test the SME2 support on BE.

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

* [Bug target/112933] gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be
  2023-12-09  2:49 [Bug target/112933] New: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be pinskia at gcc dot gnu.org
  2023-12-09 17:06 ` [Bug target/112933] " rsandifo at gcc dot gnu.org
@ 2023-12-10 19:46 ` cvs-commit at gcc dot gnu.org
  2023-12-10 19:56 ` rsandifo at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-12-10 19:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsandifo@gcc.gnu.org>:

https://gcc.gnu.org/g:b3aed459634654d295a1d00e6c149565ced7a9a2

commit r14-6387-gb3aed459634654d295a1d00e6c149565ced7a9a2
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Sun Dec 10 19:46:07 2023 +0000

    aarch64: Fix invalid subregs for BE svread/write_za

    Multi-register svread_za and svwrite_za are implemented using one
    pattern per register count, with the register contents being bitcast
    on entry (for writes) or return (for reads).  Previously we relied
    on subregs for this, with the subreg for reads being handled by
    target-independent code.  But using subregs isn't correct for many
    big-endian cases, where following subreg rules often requires actual
    instructions.  The semantics are instead supposed to be those of
    svreinterpret.

    gcc/
            PR target/112931
            PR target/112933
            * config/aarch64/aarch64-protos.h (aarch64_sve_reinterpret):
Declare.
            * config/aarch64/aarch64.cc (aarch64_sve_reinterpret): New
function.
            * config/aarch64/aarch64-sve-builtins-sme.cc
(svread_za_impl::expand)
            (svwrite_za_impl::expand): Use it to cast the SVE register to the
            right mode.

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

* [Bug target/112933] gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be
  2023-12-09  2:49 [Bug target/112933] New: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be pinskia at gcc dot gnu.org
  2023-12-09 17:06 ` [Bug target/112933] " rsandifo at gcc dot gnu.org
  2023-12-10 19:46 ` cvs-commit at gcc dot gnu.org
@ 2023-12-10 19:56 ` rsandifo at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2023-12-10 19:56 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Sandiford <rsandifo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #3 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
Fixed.

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

end of thread, other threads:[~2023-12-10 19:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-09  2:49 [Bug target/112933] New: gcc.target/aarch64/sme2/acle-asm/read_za16_vg1x2.c fails on aarch64_be pinskia at gcc dot gnu.org
2023-12-09 17:06 ` [Bug target/112933] " rsandifo at gcc dot gnu.org
2023-12-10 19:46 ` cvs-commit at gcc dot gnu.org
2023-12-10 19:56 ` rsandifo 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).