public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
@ 2024-09-03 5:59 tnfchris at gcc dot gnu.org
2024-09-03 6:09 ` [Bug tree-optimization/116575] " pinskia at gcc dot gnu.org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2024-09-03 5:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
Bug ID: 116575
Summary: [15 Regression] blender in SPEC2017 ICE in
vect_analyze_slp
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: tnfchris at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*
Blender from spec2017 ICEs when compiled with -Ofast -flto -mcpu=neoverse-v1
with
during GIMPLE pass: vect
blender/source/blender/editors/object/object_bake_api.c: In function
'write_internal_bake_pixels':
blender/source/blender/editors/object/object_bake_api.c:173:13: internal
compiler error: in vect_analyze_slp, at tree-vect-slp.cc:4765
173 | static bool write_internal_bake_pixels(
| ^
0x1c0a0f7 internal_error(char const*, ...)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/diagnostic-global-context.cc:492
0x7bb0c7 fancy_abort(char const*, int, char const*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/diagnostic.cc:1658
0xfaf1bb vect_analyze_slp(vec_info*, unsigned int)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-slp.cc:4765
0xf83a6b vect_analyze_loop_2
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop.cc:2862
0xf85123 vect_analyze_loop_1
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop.cc:3409
0xf85857 vect_analyze_loop(loop*, vec_info_shared*)
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-loop.cc:3567
0xfc3cef try_vectorize_loop_1
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1068
0xfc3cef try_vectorize_loop
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1184
0xfc4223 execute
/opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vectorizer.cc:1300
Creating a reducer and bisecting
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
@ 2024-09-03 6:09 ` pinskia at gcc dot gnu.org
2024-09-03 6:21 ` tnfchris at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-09-03 6:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |15.0
CC| |pinskia at gcc dot gnu.org
Component|middle-end |tree-optimization
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
2024-09-03 6:09 ` [Bug tree-optimization/116575] " pinskia at gcc dot gnu.org
@ 2024-09-03 6:21 ` tnfchris at gcc dot gnu.org
2024-09-03 6:26 ` pinskia at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2024-09-03 6:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
--- Comment #1 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
---
int a;
float *b, *c;
void d() {
char *e;
for (; a; a++, b += 4, c += 4)
if (*e++) {
float *f = c;
f[0] = b[0];
f[1] = b[1];
f[2] = b[2];
f[3] = b[3];
}
}
compiled with -mcpu=neoverse-v1 -Ofast reproduces the ICE
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
2024-09-03 6:09 ` [Bug tree-optimization/116575] " pinskia at gcc dot gnu.org
2024-09-03 6:21 ` tnfchris at gcc dot gnu.org
@ 2024-09-03 6:26 ` pinskia at gcc dot gnu.org
2024-09-03 6:57 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-09-03 6:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2024-09-03
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Tamar Christina from comment #1)
> compiled with -mcpu=neoverse-v1 -Ofast reproduces the ICE
here is a better testcase with no undefinedness:
```
int a;
float *b, *c;
void d(char * __restrict e) {
for (; a; a++, b += 4, c += 4)
if (*e++) {
float *f = c;
f[0] = b[0];
f[1] = b[1];
f[2] = b[2];
f[3] = b[3];
}
}
```
Just `-O3 -march=armv9-a` is needed.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
` (2 preceding siblings ...)
2024-09-03 6:26 ` pinskia at gcc dot gnu.org
@ 2024-09-03 6:57 ` rguenth at gcc dot gnu.org
2024-09-03 7:21 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-09-03 6:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
` (3 preceding siblings ...)
2024-09-03 6:57 ` rguenth at gcc dot gnu.org
@ 2024-09-03 7:21 ` rguenth at gcc dot gnu.org
2024-09-03 9:31 ` cvs-commit at gcc dot gnu.org
2024-09-03 10:04 ` [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 fails to use mask_load_lanes rguenth at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-09-03 7:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so we fail single-lane SLP discovery where we succeeded with multi-lane.
This is because the loads appear permuted during discovery and we have a
masked load feeding a masked store. But we do not handle permuting masked
operations so for single-lane discovery it appears as such.
I'll for now avoid the situation and leave the actual fix for later.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
` (4 preceding siblings ...)
2024-09-03 7:21 ` rguenth at gcc dot gnu.org
@ 2024-09-03 9:31 ` cvs-commit at gcc dot gnu.org
2024-09-03 10:04 ` [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 fails to use mask_load_lanes rguenth at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-09-03 9:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
--- Comment #5 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:ac6cd62a351a8f1f3637a2552c74eb5eb51cfdda
commit r15-3411-gac6cd62a351a8f1f3637a2552c74eb5eb51cfdda
Author: Richard Biener <rguenther@suse.de>
Date: Tue Sep 3 09:23:20 2024 +0200
tree-optimization/116575 - avoid ICE with SLP mask_load_lane
The following avoids performing re-discovery with single lanes in
the attempt to for the use of mask_load_lane as rediscovery will
fail since a single lane of a mask load will appear permuted which
isn't supported.
PR tree-optimization/116575
* tree-vect-slp.cc (vect_analyze_slp): Properly compute
the mask argument for vect_load/store_lanes_supported.
When the load is masked for now avoid rediscovery.
* gcc.dg/vect/pr116575.c: New testcase.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 fails to use mask_load_lanes
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
` (5 preceding siblings ...)
2024-09-03 9:31 ` cvs-commit at gcc dot gnu.org
@ 2024-09-03 10:04 ` rguenth at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-09-03 10:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116575
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|ice-on-valid-code |missed-optimization
Summary|[15 Regression] blender in |[15 Regression] blender in
|SPEC2017 ICE in |SPEC2017 fails to use
|vect_analyze_slp |mask_load_lanes
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
I've morphed this into the appropriate missed-optimization bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-09-03 10:04 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-09-03 5:59 [Bug middle-end/116575] New: [15 Regression] blender in SPEC2017 ICE in vect_analyze_slp tnfchris at gcc dot gnu.org
2024-09-03 6:09 ` [Bug tree-optimization/116575] " pinskia at gcc dot gnu.org
2024-09-03 6:21 ` tnfchris at gcc dot gnu.org
2024-09-03 6:26 ` pinskia at gcc dot gnu.org
2024-09-03 6:57 ` rguenth at gcc dot gnu.org
2024-09-03 7:21 ` rguenth at gcc dot gnu.org
2024-09-03 9:31 ` cvs-commit at gcc dot gnu.org
2024-09-03 10:04 ` [Bug tree-optimization/116575] [15 Regression] blender in SPEC2017 fails to use mask_load_lanes rguenth 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).