Enable VBMI2 support [5/7]
authorJulia Koval <julia.koval@intel.com>
Tue, 28 Nov 2017 17:59:39 +0000 (18:59 +0100)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Tue, 28 Nov 2017 17:59:39 +0000 (17:59 +0000)
commit04d1ea7a8b8fc97700825cefd0ae1741e2d555d8
treefc410fcaa86530d0f33293ff5770d29dcc86021a
parent2794892aa501666e233bb3ce267031ea60d6bbcc
Enable VBMI2 support [5/7]

gcc/
* config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16,
_mm512_mask_shrdi_epi16, _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32,
_mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, _mm512_shrdi_epi64,
_mm512_mask_shrdi_epi64, _mm512_maskz_shrdi_epi64): New intrinsics.
* config/i386/avx512vbmi2vlintrin.h (_mm256_shrdi_epi16,
_mm256_mask_shrdi_epi16, _mm256_maskz_shrdi_epi16,
_mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, _mm256_shrdi_epi32,
_mm256_mask_shrdi_epi64, _mm256_maskz_shrdi_epi64, _mm256_shrdi_epi64,
_mm_mask_shrdi_epi16, _mm_maskz_shrdi_epi16, _mm_shrdi_epi16,
_mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, _mm_shrdi_epi32,
_mm_mask_shrdi_epi64, _mm_maskz_shrdi_epi64, _mm_shrdi_epi64): Ditto.
* config/i386/i386-builtin.def (__builtin_ia32_vpshrd_v32hi,
__builtin_ia32_vpshrd_v32hi_mask, __builtin_ia32_vpshrd_v16hi,
__builtin_ia32_vpshrd_v16hi_mask, __builtin_ia32_vpshrd_v8hi,
__builtin_ia32_vpshrd_v8hi_mask, __builtin_ia32_vpshrd_v16si,
__builtin_ia32_vpshrd_v16si_mask, __builtin_ia32_vpshrd_v8si,
__builtin_ia32_vpshrd_v8si_mask, __builtin_ia32_vpshrd_v4si,
__builtin_ia32_vpshrd_v4si_mask, __builtin_ia32_vpshrd_v8di,
__builtin_ia32_vpshrd_v8di_mask, __builtin_ia32_vpshrd_v4di,
__builtin_ia32_vpshrd_v4di_mask, __builtin_ia32_vpshrd_v2di,
__builtin_ia32_vpshrd_v2di_mask): New builtins.
* config/i386/sse.md (vpshrd_<mode><mask_name>): New pattern.

gcc/testsuite/
* gcc.target/i386/avx-1.c: Handle new intrinsics.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/avx512f-vpshrdd-2.c: New.
* gcc.target/i386/avx512f-vpshrdq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshrd-1.c: Ditto.
* gcc.target/i386/avx512vl-vpshrdd-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshrdq-2.c: Ditto.

From-SVN: r255209
14 files changed:
gcc/ChangeLog
gcc/config/i386/avx512vbmi2intrin.h
gcc/config/i386/avx512vbmi2vlintrin.h
gcc/config/i386/i386-builtin.def
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpshrdd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-vpshrdq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshrd-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshrdd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshrdq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-13.c
gcc/testsuite/gcc.target/i386/sse-23.c