This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [i386] Mask generation in avx2intrin.h


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]