nable VBMI2 support [7/7]
authorJulia Koval <julia.koval@intel.com>
Wed, 29 Nov 2017 18:45:28 +0000 (19:45 +0100)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Wed, 29 Nov 2017 18:45:28 +0000 (18:45 +0000)
commit3d2aff3de0c5712b4421e0ca6cf28b4550d1b041
tree064ce1f8e69fb468b5bf9c81e95891dae76f75d7
parent8d4f237b9fb6e4313a2f87d876027cddc1eb3972
nable VBMI2 support [7/7]

gcc/
* config/i386/avx512vbmi2intrin.h (_mm512_shldv_epi16,
_mm512_mask_shldv_epi16, _mm512_maskz_shldv_epi16, _mm512_shldv_epi32,
_mm512_mask_shldv_epi32, _mm512_maskz_shldv_epi32, _mm512_shldv_epi64,
_mm512_mask_shldv_epi64, _mm512_maskz_shldv_epi64): New intrinsics.
* config/i386/avx512vbmi2vlintrin.h (_mm256_shldv_epi16,
_mm256_mask_shldv_epi16, _mm256_maskz_shldv_epi16, _mm256_shldv_epi32,
_mm256_mask_shldv_epi32, _mm256_maskz_shldv_epi32, _mm256_shldv_epi64,
_mm256_mask_shldv_epi64, _mm256_maskz_shldv_epi64, _mm_shldv_epi16,
_mm_mask_shldv_epi16, _mm_maskz_shldv_epi16, _mm_shldv_epi32,
_mm_mask_shldv_epi32, _mm_maskz_shldv_epi32, _mm_shldv_epi64,
_mm_mask_shldv_epi64, _mm_maskz_shldv_epi64): Ditto.
* config/i386/i386-builtin.def (__builtin_ia32_vpshldv_v32hi,
__builtin_ia32_vpshldv_v32hi_mask, __builtin_ia32_vpshldv_v32hi_maskz,
__builtin_ia32_vpshldv_v16hi, __builtin_ia32_vpshldv_v16hi_mask,
__builtin_ia32_vpshldv_v16hi_maskz, __builtin_ia32_vpshldv_v8hi,
__builtin_ia32_vpshldv_v8hi_mask, __builtin_ia32_vpshldv_v8hi_maskz,
__builtin_ia32_vpshldv_v16si, __builtin_ia32_vpshldv_v16si_mask,
__builtin_ia32_vpshldv_v16si_maskz, __builtin_ia32_vpshldv_v8si,
__builtin_ia32_vpshldv_v8si_mask, __builtin_ia32_vpshldv_v8si_maskz,
__builtin_ia32_vpshldv_v4si, __builtin_ia32_vpshldv_v4si_mask,
__builtin_ia32_vpshldv_v4si_maskz, __builtin_ia32_vpshldv_v8di,
__builtin_ia32_vpshldv_v8di_mask, __builtin_ia32_vpshldv_v8di_maskz,
__builtin_ia32_vpshldv_v4di, __builtin_ia32_vpshldv_v4di_mask,
__builtin_ia32_vpshldv_v4di_maskz, __builtin_ia32_vpshldv_v2di,
__builtin_ia32_vpshldv_v2di_mask,
__builtin_ia32_vpshldv_v2di_maskz): New builtins.
* config/i386/sse.md (vpshldv_<mode>, vpshldv_<mode>_mask,
vpshldv_<mode>_maskz, vpshldv_<mode>_maskz_1): New patterns.

gcc/testsuite/
* gcc.target/i386/avx512f-vpshldv-1.c: New test.
* gcc.target/i386/avx512f-vpshldvd-2.c: Ditto.
* gcc.target/i386/avx512f-vpshldvq-2.c: Ditto.
* gcc.target/i386/avx512f-vpshldvw-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshldv-1.c: Ditto.
* gcc.target/i386/avx512vl-vpshldvd-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshldvq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpshldvw-2.c: Ditto.

From-SVN: r255250
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/avx512f-vpshldv-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-vpshldvd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-vpshldvq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512f-vpshldvw-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshldv-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshldvd-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshldvq-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512vl-vpshldvw-2.c [new file with mode: 0644]