This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [i386] Mask generation in avx2intrin.h
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 30 Apr 2018 23:04:26 +0200 (CEST)
- Subject: Re: [i386] Mask generation in avx2intrin.h
- References: <alpine.DEB.2.02.1711251032400.27363@stedding.saclay.inria.fr>
Ping https://gcc.gnu.org/ml/gcc-patches/2017-11/msg02233.html
On Sat, 25 Nov 2017, Marc Glisse wrote:
Hello,
the way full masks are generated currently in avx2intrin.h is questionable:
opaque for the inline functions, weird/wrong for the macros.
It is possible we may want to add code so the constant mask with all ones may
be generated with vxorpd+vcmpeqpd instead of loading it from memory, but that
looks like something that should be decided globally, not in each instruction
that uses it.
Bootstrap+regtest on x86_64-pc-linux-gnu (skylake).
2017-11-27 Marc Glisse <marc.glisse@inria.fr>
PR target/80885
* config/i386/avx2intrin.h (_mm_i32gather_pd): Rewrite mask generation.
(_mm256_i32gather_pd): Likewise.
(_mm_i64gather_pd): Likewise.
(_mm256_i64gather_pd): Likewise.
(_mm_i32gather_ps): Likewise.
(_mm256_i32gather_ps): Likewise.
(_mm_i64gather_ps): Likewise.
(_mm256_i64gather_ps): Likewise.
--
Marc Glisse