* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
@ 2024-03-05 5:11 ` sjames at gcc dot gnu.org
2024-03-05 5:15 ` pinskia at gcc dot gnu.org
` (17 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-05 5:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #1 from Sam James <sjames at gcc dot gnu.org> ---
Created attachment 57607
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57607&action=edit
reduced.ii
`g++ -c reduced.ii -march=sapphirerapids -O2 -fno-vect-cost-model` is enough
for the reduced version.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
2024-03-05 5:11 ` [Bug tree-optimization/114231] " sjames at gcc dot gnu.org
@ 2024-03-05 5:15 ` pinskia at gcc dot gnu.org
2024-03-05 5:16 ` sjames at gcc dot gnu.org
` (16 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 5:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
Target Milestone|--- |14.0
CC| |pinskia at gcc dot gnu.org
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
2024-03-05 5:11 ` [Bug tree-optimization/114231] " sjames at gcc dot gnu.org
2024-03-05 5:15 ` pinskia at gcc dot gnu.org
@ 2024-03-05 5:16 ` sjames at gcc dot gnu.org
2024-03-05 5:22 ` pinskia at gcc dot gnu.org
` (15 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: sjames at gcc dot gnu.org @ 2024-03-05 5:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Sam James from comment #1)
> Created attachment 57607 [details]
> reduced.ii
>
> `g++ -c reduced.ii -march=sapphirerapids -O2 -fno-vect-cost-model` is enough
> for the reduced version.
in fact, g++ -c reduced.ii -O2 -fno-vect-cost-model is enough
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (2 preceding siblings ...)
2024-03-05 5:16 ` sjames at gcc dot gnu.org
@ 2024-03-05 5:22 ` pinskia at gcc dot gnu.org
2024-03-05 5:33 ` pinskia at gcc dot gnu.org
` (14 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 5:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
vectorizable_shift
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (3 preceding siblings ...)
2024-03-05 5:22 ` pinskia at gcc dot gnu.org
@ 2024-03-05 5:33 ` pinskia at gcc dot gnu.org
2024-03-05 5:41 ` pinskia at gcc dot gnu.org
` (13 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 5:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-03-05
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Further reduced:
```
static inline
long ClampedSize(long begin, unsigned long size_max) {
return begin + size_max ? size_max : 0;
}
void f(long*);
int ff[2];
void k(unsigned long x, unsigned long y) {
long t = x >> ff[0];
long t1 = ff[1];
long t2 = y >> ff[0];
long t3 = ClampedSize(t, t2);
long t4[2];
t4[0] = t1;
t4[1] = t3;
f(t4);
}
```
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (4 preceding siblings ...)
2024-03-05 5:33 ` pinskia at gcc dot gnu.org
@ 2024-03-05 5:41 ` pinskia at gcc dot gnu.org
2024-03-05 5:49 ` pinskia at gcc dot gnu.org
` (12 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 5:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Little more reduced:
```
void f(long*);
int ff[2];
void f1(long, long);
void k(unsigned long x, unsigned long y) {
long t = x >> ff[0];
long t1 = ff[1];
unsigned long t2 = y >> ff[0];
long t3 = t+t2 ? t2 : 0;
f1(t1, t3);
}
```
/app/example.cpp:9:14: missed: unusable type for last operand in vector/vector
shift/rotate.
Note if you change the type of ff to long, this works.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (5 preceding siblings ...)
2024-03-05 5:41 ` pinskia at gcc dot gnu.org
@ 2024-03-05 5:49 ` pinskia at gcc dot gnu.org
2024-03-05 5:54 ` [Bug tree-optimization/114231] [12/13/14 " pinskia at gcc dot gnu.org
` (11 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 5:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
A little better reduced (this time only 1 BB even):
```
void f(long*);
int ff[2];
void f2(long, long, unsigned long);
void k(unsigned long x, unsigned long y) {
long t = x >> ff[0];
long t1 = ff[1];
unsigned long t2 = y >> ff[0];
f2(t1, t+t2, t2);
}
```
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (6 preceding siblings ...)
2024-03-05 5:49 ` pinskia at gcc dot gnu.org
@ 2024-03-05 5:54 ` pinskia at gcc dot gnu.org
2024-03-05 6:11 ` pinskia at gcc dot gnu.org
` (10 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 5:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|14.0 |12.4
Keywords| |needs-bisection
Known to work| |11.1.0
Summary|[14 regression] ICE when |[12/13/14 regression] ICE
|building libjxl |when building libjxl
Target| |aarch64 x86_64
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So my reduced testcase fails for aarch64 since GCC 12 but for x86_64 only on
the trunk. I suspect the commit that it will bisect to on x86_64 is just
enabling the pattern for x86_64.
So if anyone does a bisect, please try on aarch64.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (7 preceding siblings ...)
2024-03-05 5:54 ` [Bug tree-optimization/114231] [12/13/14 " pinskia at gcc dot gnu.org
@ 2024-03-05 6:11 ` pinskia at gcc dot gnu.org
2024-03-05 6:20 ` pinskia at gcc dot gnu.org
` (9 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 6:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #7)
> So my reduced testcase fails for aarch64 since GCC 12 but for x86_64 only on
> the trunk. I suspect the commit that it will bisect to on x86_64 is just
> enabling the pattern for x86_64.
>
> So if anyone does a bisect, please try on aarch64.
Note also use `-O3 -fno-vect-cost-model` for the options since -O2 might catch
when the vectorizer is turned on for -O2.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (8 preceding siblings ...)
2024-03-05 6:11 ` pinskia at gcc dot gnu.org
@ 2024-03-05 6:20 ` pinskia at gcc dot gnu.org
2024-03-05 7:31 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-03-05 6:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The testcases are kinda of flaky because the following fails only on the trunk
for aarch64:
```
void f(long*);
int ff[2];
long tt[4];
unsigned long ttt;
void k(long x, long y) {
long t = x >> ff[0];
long t1 = ff[1];
long t2 = y >> ff[0];
tt[0] = t1;
tt[1] = t+t2;
tt[2] = t2;
}
```
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (9 preceding siblings ...)
2024-03-05 6:20 ` pinskia at gcc dot gnu.org
@ 2024-03-05 7:31 ` jakub at gcc dot gnu.org
2024-03-05 8:56 ` rguenth at gcc dot gnu.org
` (7 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu.org @ 2024-03-05 7:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
On x86_64 the #c6 testcase with -O3 -fno-vect-cost-model started to ICE with
r14-5603-g2b59e2b4dff42118fe3a505f07b9a6aa4cf53bdf
For aarch64 same testcase, my bet is
r12-1551-g3dfa4fe9f1a089b2b3906c83e22a1b39c49d937c
though I've only verified r12-1529 works and r12-1573 ICEs and there are no IL
differences before slp2 which newly ICEs.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (10 preceding siblings ...)
2024-03-05 7:31 ` jakub at gcc dot gnu.org
@ 2024-03-05 8:56 ` rguenth at gcc dot gnu.org
2024-03-05 9:54 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-03-05 8:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Status|NEW |ASSIGNED
Priority|P3 |P2
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (11 preceding siblings ...)
2024-03-05 8:56 ` rguenth at gcc dot gnu.org
@ 2024-03-05 9:54 ` rguenth at gcc dot gnu.org
2024-03-05 10:47 ` cvs-commit at gcc dot gnu.org
` (5 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-03-05 9:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
So the immediate reason is that between analysis and transform whether we
consider the shift vectorizable changes. That's because we code generated
a live lane which ended up changing operands in stmts we will vectorize
(there's some odd broken handling there I think). That's because we
match up the scalar from the SLP node with the scalar in the scalar GIMPLE
IL (which changed) here:
stmt_vec_info op1_def_stmt_info;
slp_tree slp_op1;
if (!vect_is_simple_use (vinfo, stmt_info, slp_node, 1, &op1, &slp_op1,
&dt[1], &op1_vectype, &op1_def_stmt_info))
...
FOR_EACH_VEC_ELT (stmts, k, slpstmt_info)
{
gassign *slpstmt = as_a <gassign *> (slpstmt_info->stmt);
if (!operand_equal_p (gimple_assign_rhs2 (slpstmt), op1, 0))
scalar_shift_arg = false;
}
which is a bit fragile.
But the underlying issue seems to be the live lane stuff.
Ah, and that's because we do the reduction discovery on the original
scalar stmt while live lane extraction honors patterns when checking
whether the stmt is vectorized ...
I have a patch, not sure how big the fallout might be though.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13/14 regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (12 preceding siblings ...)
2024-03-05 9:54 ` rguenth at gcc dot gnu.org
@ 2024-03-05 10:47 ` cvs-commit at gcc dot gnu.org
2024-03-05 10:53 ` [Bug tree-optimization/114231] [12/13 Regression] " rguenth at gcc dot gnu.org
` (4 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-05 10:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #13 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:7890836de20912bd92afaf5abbeaf9d8c5b86542
commit r14-9316-g7890836de20912bd92afaf5abbeaf9d8c5b86542
Author: Richard Biener <rguenther@suse.de>
Date: Tue Mar 5 10:55:56 2024 +0100
tree-optimization/114231 - use patterns for BB SLP discovery root stmts
The following makes sure to use recognized patterns when vectorizing
roots during BB SLP discovery. We need to apply those late since
during root discovery we've not yet done pattern recognition.
All parts of the vectorizer assume patterns get used, for the testcase
we mix this up when doing live lane computation.
PR tree-optimization/114231
* tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
processing a BB SLP root.
* gcc.dg/vect/pr114231.c: New testcase.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13 Regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (13 preceding siblings ...)
2024-03-05 10:47 ` cvs-commit at gcc dot gnu.org
@ 2024-03-05 10:53 ` rguenth at gcc dot gnu.org
2024-03-21 13:54 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-03-05 10:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[12/13/14 regression] ICE |[12/13 Regression] ICE when
|when building libjxl |building libjxl
Known to work| |14.0
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12/13 Regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (14 preceding siblings ...)
2024-03-05 10:53 ` [Bug tree-optimization/114231] [12/13 Regression] " rguenth at gcc dot gnu.org
@ 2024-03-21 13:54 ` cvs-commit at gcc dot gnu.org
2024-03-21 13:55 ` [Bug tree-optimization/114231] [12 " rguenth at gcc dot gnu.org
` (2 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-21 13:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #15 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:04fffbaa87997ac893a9aa68b674c938ba3ecddb
commit r13-8486-g04fffbaa87997ac893a9aa68b674c938ba3ecddb
Author: Richard Biener <rguenther@suse.de>
Date: Tue Mar 5 10:55:56 2024 +0100
tree-optimization/114231 - use patterns for BB SLP discovery root stmts
The following makes sure to use recognized patterns when vectorizing
roots during BB SLP discovery. We need to apply those late since
during root discovery we've not yet done pattern recognition.
All parts of the vectorizer assume patterns get used, for the testcase
we mix this up when doing live lane computation.
PR tree-optimization/114231
* tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
processing a BB SLP root.
* gcc.dg/vect/pr114231.c: New testcase.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12 Regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (15 preceding siblings ...)
2024-03-21 13:54 ` cvs-commit at gcc dot gnu.org
@ 2024-03-21 13:55 ` rguenth at gcc dot gnu.org
2024-05-16 9:56 ` cvs-commit at gcc dot gnu.org
2024-05-16 10:39 ` rguenth at gcc dot gnu.org
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-03-21 13:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |13.2.0
Known to work| |13.2.1
Summary|[12/13 Regression] ICE when |[12 Regression] ICE when
|building libjxl |building libjxl
--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
The simpler patch should be enough for the simpler code in GCC 13 and before.
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12 Regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (16 preceding siblings ...)
2024-03-21 13:55 ` [Bug tree-optimization/114231] [12 " rguenth at gcc dot gnu.org
@ 2024-05-16 9:56 ` cvs-commit at gcc dot gnu.org
2024-05-16 10:39 ` rguenth at gcc dot gnu.org
18 siblings, 0 replies; 20+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-16 9:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
--- Comment #17 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:a7b1d814da0aa2e7331c56180264a8b786012971
commit r12-10448-ga7b1d814da0aa2e7331c56180264a8b786012971
Author: Richard Biener <rguenther@suse.de>
Date: Tue Mar 5 10:55:56 2024 +0100
tree-optimization/114231 - use patterns for BB SLP discovery root stmts
The following makes sure to use recognized patterns when vectorizing
roots during BB SLP discovery. We need to apply those late since
during root discovery we've not yet done pattern recognition.
All parts of the vectorizer assume patterns get used, for the testcase
we mix this up when doing live lane computation.
PR tree-optimization/114231
* tree-vect-slp.cc (vect_analyze_slp): Lookup patterns when
processing a BB SLP root.
* gcc.dg/vect/pr114231.c: New testcase.
(cherry picked from commit 04fffbaa87997ac893a9aa68b674c938ba3ecddb)
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug tree-optimization/114231] [12 Regression] ICE when building libjxl
2024-03-05 5:11 [Bug tree-optimization/114231] New: [14 regression] ICE when building libjxl sjames at gcc dot gnu.org
` (17 preceding siblings ...)
2024-05-16 9:56 ` cvs-commit at gcc dot gnu.org
@ 2024-05-16 10:39 ` rguenth at gcc dot gnu.org
18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-05-16 10:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114231
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |12.3.0
Status|ASSIGNED |RESOLVED
Known to work| |12.3.1
Resolution|--- |FIXED
--- Comment #18 from Richard Biener <rguenth at gcc dot gnu.org> ---
Should be fixed now.
^ permalink raw reply [flat|nested] 20+ messages in thread