i386.c (ix86_expand_builtin): If gather mask argument is known to have all high bits...
authorJakub Jelinek <jakub@redhat.com>
Mon, 7 Nov 2011 16:00:08 +0000 (17:00 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 7 Nov 2011 16:00:08 +0000 (17:00 +0100)
commitda80a6464e2f41f4e139fcd182fdaa00a024851e
treec76018ce8a3bf4d0b9e9c7b74c7f46fd636d2477
parentaec7ae7deaef9d52541da07c387066ad6ceb3d87
i386.c (ix86_expand_builtin): If gather mask argument is known to have all high bits set...

* config/i386/i386.c (ix86_expand_builtin): If gather mask
argument is known to have all high bits set, pass pc_rtx as
second argument to the expander instead of op0.
* config/i386/sse.md (*avx2_gathersi<mode>_2,
*avx2_gatherdi<mode>_2): New patterns.
* config/i386/avx2intrin.h (_mm256_i32gather_pd,
_mm256_i64gather_pd, _mm256_i32gather_ps): Set mask using
_mm256_cmp_pd with zero vector arguments and _CMP_EQ_OQ instead of
_mm256_set1_pd.

From-SVN: r181090
gcc/ChangeLog
gcc/config/i386/avx2intrin.h
gcc/config/i386/i386.c
gcc/config/i386/sse.md