public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/61403] New: An opportunity for x86 gcc vectorizer (~40% gain)
@ 2014-06-03 13:16 evstupac at gmail dot com
2014-06-18 7:46 ` [Bug tree-optimization/61403] " kyukhin at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: evstupac at gmail dot com @ 2014-06-03 13:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61403
Bug ID: 61403
Summary: An opportunity for x86 gcc vectorizer (~40% gain)
Product: gcc
Version: 4.10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: evstupac at gmail dot com
Test normalizing 3D coordinates failed to vectorize
#include <math.h>
struct XYZ
{
float x;
float y;
float z;
};
void
norm (struct XYZ *in, struct XYZ *out, int size)
{
int i;
for (i = 0; i < size; ++i)
{
float n = sqrt(in[i].x * in[i].x + in[i].y * in[i].y + in[i].z *
in[i].z);
out[i].x = in[i].x / n;
out[i].y = in[i].y / n;
out[i].z = in[i].z / n;
}
}
gcc norm.c -Ofast -S -mssse3 -fdump-tree-vect-details
norm.c:14:3: note: type of def: 3.
norm.c:14:3: note: no array mode for V4SF[3]
norm.c:14:3: note: the size of the group of accesses is not a power of 2
norm.c:14:3: note: not vectorized: relevant stmt not supported: _19->x = _20;
Vectorization should give ~40% gain on x86
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/61403] An opportunity for x86 gcc vectorizer (~40% gain)
2014-06-03 13:16 [Bug tree-optimization/61403] New: An opportunity for x86 gcc vectorizer (~40% gain) evstupac at gmail dot com
@ 2014-06-18 7:46 ` kyukhin at gcc dot gnu.org
2015-01-22 14:13 ` jakub at gcc dot gnu.org
2015-01-22 15:05 ` evstupac at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: kyukhin at gcc dot gnu.org @ 2014-06-18 7:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61403
--- Comment #1 from Kirill Yukhin <kyukhin at gcc dot gnu.org> ---
Author: kyukhin
Date: Wed Jun 18 07:46:18 2014
New Revision: 211769
URL: https://gcc.gnu.org/viewcvs?rev=211769&root=gcc&view=rev
Log:
gcc/
* config/i386/i386.c (ix86_reassociation_width): Add alternative for
vector case.
* config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
* config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
* tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
Introduces alternative way of loads group permutaions.
(vect_transform_grouped_load): Try alternative way of permutations.
gcc/testsuite/
PR tree-optimization/52252
* gcc.target/i386/pr52252-atom.c: Test on loads group of size 3.
* gcc.target/i386/pr52252-core.c: Ditto.
PR tree-optimization/61403
* gcc.target/i386/pr61403.c: Test on loads and stores group of size 3.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr52252-atom.c
trunk/gcc/testsuite/gcc.target/i386/pr52252-core.c
trunk/gcc/testsuite/gcc.target/i386/pr61403.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.h
trunk/gcc/config/i386/x86-tune.def
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-data-refs.c
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/61403] An opportunity for x86 gcc vectorizer (~40% gain)
2014-06-03 13:16 [Bug tree-optimization/61403] New: An opportunity for x86 gcc vectorizer (~40% gain) evstupac at gmail dot com
2014-06-18 7:46 ` [Bug tree-optimization/61403] " kyukhin at gcc dot gnu.org
@ 2015-01-22 14:13 ` jakub at gcc dot gnu.org
2015-01-22 15:05 ` evstupac at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-01-22 14:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61403
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So is this fixed now?
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/61403] An opportunity for x86 gcc vectorizer (~40% gain)
2014-06-03 13:16 [Bug tree-optimization/61403] New: An opportunity for x86 gcc vectorizer (~40% gain) evstupac at gmail dot com
2014-06-18 7:46 ` [Bug tree-optimization/61403] " kyukhin at gcc dot gnu.org
2015-01-22 14:13 ` jakub at gcc dot gnu.org
@ 2015-01-22 15:05 ` evstupac at gmail dot com
2 siblings, 0 replies; 4+ messages in thread
From: evstupac at gmail dot com @ 2015-01-22 15:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61403
Stupachenko Evgeny <evstupac at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Stupachenko Evgeny <evstupac at gmail dot com> ---
(In reply to Jakub Jelinek from comment #3)
> So is this fixed now?
Yes. It is fixed.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-01-22 15:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-03 13:16 [Bug tree-optimization/61403] New: An opportunity for x86 gcc vectorizer (~40% gain) evstupac at gmail dot com
2014-06-18 7:46 ` [Bug tree-optimization/61403] " kyukhin at gcc dot gnu.org
2015-01-22 14:13 ` jakub at gcc dot gnu.org
2015-01-22 15:05 ` evstupac at gmail dot com
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).