public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
@ 2020-07-29 15:50 clyon at gcc dot gnu.org
2020-07-30 6:02 ` [Bug tree-optimization/96376] " rguenth at gcc dot gnu.org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-07-29 15:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
Bug ID: 96376
Summary: [11 regression] vect/vect-alias-check.c and
vect/vect-live-5.c fail on armeb
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: clyon at gcc dot gnu.org
Target Milestone: ---
I've noticed regressions on target armeb-none-linux-gnueabihf --with-mode arm
--with-cpu cortex-a9 --with-fpu neon-fp16:
gcc.dg/vect/vect-alias-check.c -flto -ffat-lto-objects scan-tree-dump-times
vect "vectorized 1 loops" 1
gcc.dg/vect/vect-alias-check.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/vect-live-5.c -flto -ffat-lto-objects scan-tree-dump-times vect
"vectorized 1 loops" 1
gcc.dg/vect/vect-live-5.c scan-tree-dump-times vect "vectorized 1 loops" 1
In my logs I can see:
PASS: gcc.dg/vect/vect-live-5.c execution test
gcc.dg/vect/vect-live-5.c: pattern found 0 times
FAIL: gcc.dg/vect/vect-live-5.c scan-tree-dump-times vect "vectorized 1 loops"
1
PASS: gcc.dg/vect/vect-alias-check.c (test for excess errors)
gcc.dg/vect/vect-alias-check.c: pattern found 0 times
FAIL: gcc.dg/vect/vect-alias-check.c scan-tree-dump-times vect "vectorized 1
loops" 1
This appeared between r11-1908 and r11-1952.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
@ 2020-07-30 6:02 ` rguenth at gcc dot gnu.org
2020-07-30 12:13 ` clyon at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-30 6:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|unknown |11.0
Target Milestone|--- |11.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
2020-07-30 6:02 ` [Bug tree-optimization/96376] " rguenth at gcc dot gnu.org
@ 2020-07-30 12:13 ` clyon at gcc dot gnu.org
2020-10-16 11:59 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-07-30 12:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
--- Comment #1 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Bisect identified commit g30fdaead5b7880c4e9f140618e26ad1c545642d5
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
2020-07-30 6:02 ` [Bug tree-optimization/96376] " rguenth at gcc dot gnu.org
2020-07-30 12:13 ` clyon at gcc dot gnu.org
@ 2020-10-16 11:59 ` rguenth at gcc dot gnu.org
2020-10-16 12:05 ` clyon at gcc dot gnu.org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-16 11:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Priority|P3 |P1
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2020-10-16
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look. How do I need to configure to reproduce with a cc1 cross?
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
` (2 preceding siblings ...)
2020-10-16 11:59 ` rguenth at gcc dot gnu.org
@ 2020-10-16 12:05 ` clyon at gcc dot gnu.org
2020-10-21 7:56 ` linkw at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: clyon at gcc dot gnu.org @ 2020-10-16 12:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
--- Comment #3 from Christophe Lyon <clyon at gcc dot gnu.org> ---
I mentioned the configuration flags above:
--target armeb-none-linux-gnueabihf --with-mode arm --with-cpu cortex-a9
--with-fpu neon-fp16
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
` (3 preceding siblings ...)
2020-10-16 12:05 ` clyon at gcc dot gnu.org
@ 2020-10-21 7:56 ` linkw at gcc dot gnu.org
2020-10-21 8:20 ` linkw at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: linkw at gcc dot gnu.org @ 2020-10-21 7:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
Kewen Lin <linkw at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ro at gcc dot gnu.org
--- Comment #4 from Kewen Lin <linkw at gcc dot gnu.org> ---
*** Bug 96129 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
` (4 preceding siblings ...)
2020-10-21 7:56 ` linkw at gcc dot gnu.org
@ 2020-10-21 8:20 ` linkw at gcc dot gnu.org
2021-01-15 14:07 ` cvs-commit at gcc dot gnu.org
2021-01-15 14:08 ` rguenth at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: linkw at gcc dot gnu.org @ 2020-10-21 8:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
Kewen Lin <linkw at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |linkw at gcc dot gnu.org
--- Comment #5 from Kewen Lin <linkw at gcc dot gnu.org> ---
By checking the case vect-alias-check.c on the sparc machine, although
vectorizer does the versioning for the alignment requirement and is able to set
the misaligned flag off for misaligned DRs, it bypasses the DRs *b_20(D) and
MEM[(int *)b_20(D) + 4B], as they satisfy the condition check
!vect_relevant_for_alignment_p.
if (aligned_access_p (dr_info)
|| !vect_relevant_for_alignment_p (dr_info))
continue;
More specific, it's due to these two DR's steps are unchanged in the loop (b[0]
and b[1]).
/* Scatter-gather and invariant accesses continue to address individual
scalars, so vector-level alignment is irrelevant. */
if (STMT_VINFO_GATHER_SCATTER_P (stmt_info)
|| integer_zerop (DR_STEP (dr_info->dr)))
return false;
A simple fix seems to be:
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 2b4421b5fb4..d5f52929f89 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -1186,7 +1186,7 @@ vect_update_misalignment_for_peel (dr_vec_info *dr_info,
/* Return true if alignment is relevant for DR_INFO. */
-static bool
+bool
vect_relevant_for_alignment_p (dr_vec_info *dr_info)
{
stmt_vec_info stmt_info = dr_info->stmt;
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index cec5c601268..8a04f55fdb1 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -2369,7 +2369,8 @@ get_load_store_type (vec_info *vinfo, stmt_vec_info
stmt_info,
return false;
}
- if (*alignment_support_scheme == dr_unaligned_unsupported)
+ if (*alignment_support_scheme == dr_unaligned_unsupported
+ && vect_relevant_for_alignment_p (STMT_VINFO_DR_INFO (stmt_info)))
{
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 7c6de8397b3..067222ffe39 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -1935,6 +1935,7 @@ extern tree vect_get_new_ssa_name (tree, enum
vect_var_kind,
extern tree vect_create_addr_base_for_vector_ref (vec_info *,
stmt_vec_info, gimple_seq *,
tree, tree = NULL_TREE);
+bool vect_relevant_for_alignment_p (dr_vec_info *dr_info);
/* In tree-vect-loop.c. */
extern widest_int vect_iv_limit_for_partial_vectors (loop_vec_info
loop_vinfo);
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
` (5 preceding siblings ...)
2020-10-21 8:20 ` linkw at gcc dot gnu.org
@ 2021-01-15 14:07 ` cvs-commit at gcc dot gnu.org
2021-01-15 14:08 ` rguenth at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-15 14:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
--- Comment #6 from CVS 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:446703ccc2ce09e9710964f781a21030bf3c2d54
commit r11-6717-g446703ccc2ce09e9710964f781a21030bf3c2d54
Author: Richard Biener <rguenther@suse.de>
Date: Fri Jan 15 14:20:43 2021 +0100
tree-optimization/96376 - do not check alignment for invariant loads
The testcases show that we fail to disregard alignment for invariant
loads. The patch handles them like we handle gather and scatter.
2021-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/96376
* tree-vect-stmts.c (get_load_store_type): Disregard alignment
for VMAT_INVARIANT.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/96376] [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
` (6 preceding siblings ...)
2021-01-15 14:07 ` cvs-commit at gcc dot gnu.org
@ 2021-01-15 14:08 ` rguenth at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-15 14:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96376
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Should be fixed now.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-01-15 14:08 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-29 15:50 [Bug tree-optimization/96376] New: [11 regression] vect/vect-alias-check.c and vect/vect-live-5.c fail on armeb clyon at gcc dot gnu.org
2020-07-30 6:02 ` [Bug tree-optimization/96376] " rguenth at gcc dot gnu.org
2020-07-30 12:13 ` clyon at gcc dot gnu.org
2020-10-16 11:59 ` rguenth at gcc dot gnu.org
2020-10-16 12:05 ` clyon at gcc dot gnu.org
2020-10-21 7:56 ` linkw at gcc dot gnu.org
2020-10-21 8:20 ` linkw at gcc dot gnu.org
2021-01-15 14:07 ` cvs-commit at gcc dot gnu.org
2021-01-15 14:08 ` 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).