[i386] Mask generation in avx2intrin.h
Marc Glisse
marc.glisse@inria.fr
Tue Dec 5 12:19:00 GMT 2017
Adding Cc: Uros and Kirill
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
More information about the Gcc-patches
mailing list