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).