public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/95960] New: GCC should re-vectorize vector code with larger VF
@ 2020-06-29 12:09 rguenth at gcc dot gnu.org
2020-06-29 12:12 ` [Bug tree-optimization/95960] " rguenth at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-29 12:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95960
Bug ID: 95960
Summary: GCC should re-vectorize vector code with larger VF
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
For the following simple case GCC should vectorize it using AVX:
typedef double __attribute__((vector_size(16))) v2df;
double a[4];
double b[4];
void f()
{
*(v2df *)&b[0] += *(v2df *)&a[0];
*(v2df *)&b[2] += *(v2df *)&a[2];
}
Similar opportunities may exist for loops where also Neon -> SVE transforms
may be profitable. Starting with BB vectorization might be easier since
you only need to consider SLP.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/95960] GCC should re-vectorize vector code with larger VF
2020-06-29 12:09 [Bug tree-optimization/95960] New: GCC should re-vectorize vector code with larger VF rguenth at gcc dot gnu.org
@ 2020-06-29 12:12 ` rguenth at gcc dot gnu.org
2021-08-16 21:36 ` pinskia at gcc dot gnu.org
2024-01-26 5:55 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-29 12:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95960
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Created attachment 48801
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48801&action=edit
start
So quick experiments show where we need to do adjustments. We do have
an explicit SLP_TREE_LANES we could use for "true" scalar lanes as compared
to the number of "scalar" stmts but uses might have been transitioned not
exactly along this boundary. Then there's of course 'group_size' which
can mean either depending on context.
The biggest churn is likely in dataref group analysis where we IMHO
also want a "lanes" representation.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/95960] GCC should re-vectorize vector code with larger VF
2020-06-29 12:09 [Bug tree-optimization/95960] New: GCC should re-vectorize vector code with larger VF rguenth at gcc dot gnu.org
2020-06-29 12:12 ` [Bug tree-optimization/95960] " rguenth at gcc dot gnu.org
@ 2021-08-16 21:36 ` pinskia at gcc dot gnu.org
2024-01-26 5:55 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-16 21:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95960
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Severity|normal |enhancement
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/95960] GCC should re-vectorize vector code with larger VF
2020-06-29 12:09 [Bug tree-optimization/95960] New: GCC should re-vectorize vector code with larger VF rguenth at gcc dot gnu.org
2020-06-29 12:12 ` [Bug tree-optimization/95960] " rguenth at gcc dot gnu.org
2021-08-16 21:36 ` pinskia at gcc dot gnu.org
@ 2024-01-26 5:55 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-26 5:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95960
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2024-01-26
Status|UNCONFIRMED |NEW
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
Even V2SF -> V4SF would be useful for aarch64:
```
typedef float __attribute__((vector_size(8))) v2sf;
float a[4];
float b[4];
void f()
{
*(v2sf *)&b[0] += *(v2sf *)&a[0];
*(v2sf *)&b[2] += *(v2sf *)&a[2];
}
```
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-01-26 5:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-29 12:09 [Bug tree-optimization/95960] New: GCC should re-vectorize vector code with larger VF rguenth at gcc dot gnu.org
2020-06-29 12:12 ` [Bug tree-optimization/95960] " rguenth at gcc dot gnu.org
2021-08-16 21:36 ` pinskia at gcc dot gnu.org
2024-01-26 5:55 ` pinskia 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).