[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-11 Thread mmokrejs at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 mmokrejs at gmail dot com changed: What|Removed |Added CC||mmokrejs at gmail dot com ---

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-11 Thread mmokrejs at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #3 from mmokrejs at gmail dot com --- Weird, why g++ can do the task although probably less efficiently than icc? $ g++ -O3 -march=core-avx-i -mtune=core-avx-i -mavx2 stream.c ; objdump -d a.out | grep ymm stream.c:106:48: warning: d

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-11 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-17 Thread mmokrejs at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #5 from mmokrejs at gmail dot com --- (In reply to Jakub Jelinek from comment #4) > As for #c2/#c3, GCC 4.9 is not supported anymore and the dumps are too large > to find out what exactly you mean by efficient and not efficient, both

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #6 from Jakub Jelinek --- (In reply to mmokrejs from comment #5) > (In reply to Jakub Jelinek from comment #4) > > > As for #c2/#c3, GCC 4.9 is not supported anymore and the dumps are too large > > to find out what exactly you mean b

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-17 Thread mmokrejs at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #7 from mmokrejs at gmail dot com --- (In reply to Jakub Jelinek from comment #6) > > $ gcc -O3 -march=native stream.c ; objdump -d a.out | grep ymm | wc -l > > 63 > > $ > > Of course, vectorization is only enabled by default for -O3

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #8 from Jakub Jelinek --- Why should there be any references to that? -march= is an ISA selection option, it says the compiler may use the instructions from the ISA. -ftree-vectorize is an optimization option (default at -O3 and -Ofa

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2017-05-17 Thread mmokrejs at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #9 from mmokrejs at gmail dot com --- Thank you, I updated https://wiki.gentoo.org/wiki/GCC_optimization and added the notes on -ftree-vectorize option.

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2021-06-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 Richard Biener changed: What|Removed |Added Known to work||10.1.0 Resolution|---

[Bug target/57952] AVX/AVX2 no ymm registers used in a trivial reduction

2013-07-23 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57952 --- Comment #1 from vincenzo Innocente --- I modified a bit the benchmark adding timing and the new version now vectorize YMM with avx2, still not with old avx if I remove the call to rdtsc(); it does not use YMM anymore -fno-tree-pre does not hel