* [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
@ 2023-01-06 12:18 ` marxin at gcc dot gnu.org
2023-01-10 7:09 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2023-01-06 12:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Summary|[13 Regression] ICE in |[13 Regression] ICE in
|maybe_gen_insn via |maybe_gen_insn via
|expand_SCATTER_STORE when |expand_SCATTER_STORE when
|vectorizing for SVE |vectorizing for SVE since
| |r13-2737-g4a773bf2f08656
Last reconfirmed| |2023-01-06
Target Milestone|--- |13.0
CC| |marxin at gcc dot gnu.org,
| |richard.sandiford at arm dot com
Status|UNCONFIRMED |NEW
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r13-2737-g4a773bf2f08656.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
2023-01-06 12:18 ` [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656 marxin at gcc dot gnu.org
@ 2023-01-10 7:09 ` rguenth at gcc dot gnu.org
2023-02-06 13:49 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-01-10 7:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
2023-01-06 12:18 ` [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656 marxin at gcc dot gnu.org
2023-01-10 7:09 ` rguenth at gcc dot gnu.org
@ 2023-02-06 13:49 ` jakub at gcc dot gnu.org
2023-02-06 15:06 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-06 13:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Small tweak to the testcase (C, no UB):
extern _Bool a[];
void
foo (short i, int b[][64][1])
{
for (; i < 64; i += 4)
a[i] = b[0][i] != 0;
}
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (2 preceding siblings ...)
2023-02-06 13:49 ` jakub at gcc dot gnu.org
@ 2023-02-06 15:06 ` jakub at gcc dot gnu.org
2023-02-07 15:31 ` rsandifo at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-06 15:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems vect_check_gather_scatter sees that there is no scatter_storevnx2qivnx2si
nor
mask_scatter_storevnx2qivnx2si and loops (in vect_gather_scatter_fn_p) to try
scatter_storevnx2qivnx2di instead which does exist.
But in the expand during expansion we see one with rhs mode E_VNx2QImode and
offset
mode E_VNx2SImode rather than E_VNx2DImode that actually was supported.
I'm afraid I don't know much about scatters/gathers using ifns rather than
builtins though, especially for SVE.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (3 preceding siblings ...)
2023-02-06 15:06 ` jakub at gcc dot gnu.org
@ 2023-02-07 15:31 ` rsandifo at gcc dot gnu.org
2023-02-08 13:40 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2023-02-07 15:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot gnu.org
CC| |rsandifo at gcc dot gnu.org
--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
Mine. We rely on pattern recognition to make the types match,
but in this case an earlier pattern takes priority. Fixing that
properly is stage 1 material, so I think we'll have to prevent the
optimisation for GCC 13.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (4 preceding siblings ...)
2023-02-07 15:31 ` rsandifo at gcc dot gnu.org
@ 2023-02-08 13:40 ` cvs-commit at gcc dot gnu.org
2023-02-11 15:00 ` [Bug target/108316] " jakub at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-02-08 13:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
--- Comment #5 from CVS 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:740a3be7df29b280f39a04c441fd4917af4eef5e
commit r13-5739-g740a3be7df29b280f39a04c441fd4917af4eef5e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date: Wed Feb 8 13:40:29 2023 +0000
vect: Check gather/scatter offset types [PR108316]
The gather/scatter support can over-widen an offset if the target
requires it, but this relies on using a pattern sequence to add
the widening conversion. That failed in the testcase because an
earlier pattern (bool) took priority.
I think we should allow patterns to be applied to other patterns,
but that's quite an invasive change and isn't suitable for stage 4.
This patch instead punts if the offset type doesn't match the
expected one.
If we switched to using the SLP representation for everything,
we would probably handle both patterns by rewriting the graph,
which should be much easier.
gcc/
PR tree-optimization/108316
* tree-vect-stmts.cc (get_load_store_type): When using
internal functions for gather/scatter, make sure that the type
of the offset argument is consistent with the offset vector type.
gcc/testsuite/
PR tree-optimization/108316
* gcc.dg/vect/pr108316.c: New test.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (5 preceding siblings ...)
2023-02-08 13:40 ` cvs-commit at gcc dot gnu.org
@ 2023-02-11 15:00 ` jakub at gcc dot gnu.org
2023-04-26 6:57 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-02-11 15:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[13 Regression] ICE in |ICE in maybe_gen_insn via
|maybe_gen_insn via |expand_SCATTER_STORE when
|expand_SCATTER_STORE when |vectorizing for SVE since
|vectorizing for SVE since |r13-2737-g4a773bf2f08656
|r13-2737-g4a773bf2f08656 |
Priority|P1 |P3
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Removing regression tag, keeping open for above mentioned improvements.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (6 preceding siblings ...)
2023-02-11 15:00 ` [Bug target/108316] " jakub at gcc dot gnu.org
@ 2023-04-26 6:57 ` rguenth at gcc dot gnu.org
2023-07-27 9:25 ` rguenth at gcc dot gnu.org
2024-05-21 9:13 ` jakub at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-04-26 6:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|13.0 |13.2
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 13.1 is being released, retargeting bugs to GCC 13.2.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (7 preceding siblings ...)
2023-04-26 6:57 ` rguenth at gcc dot gnu.org
@ 2023-07-27 9:25 ` rguenth at gcc dot gnu.org
2024-05-21 9:13 ` jakub at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-27 9:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|13.2 |13.3
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 13.2 is being released, retargeting bugs to GCC 13.3.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug target/108316] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656
2023-01-06 11:42 [Bug target/108316] New: [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE acoplan at gcc dot gnu.org
` (8 preceding siblings ...)
2023-07-27 9:25 ` rguenth at gcc dot gnu.org
@ 2024-05-21 9:13 ` jakub at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-05-21 9:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|13.3 |13.4
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 13.3 is being released, retargeting bugs to GCC 13.4.
^ permalink raw reply [flat|nested] 11+ messages in thread