Add mov[us]wb store intrinsics.
authorJulia Koval <julia.koval@intel.com>
Thu, 8 Jun 2017 13:04:43 +0000 (15:04 +0200)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Thu, 8 Jun 2017 13:04:43 +0000 (13:04 +0000)
commitc46f9051654ff52ed083084c109e9247b7fce9aa
treeab80f354dbded12efd451d0cefc525b221220c3d
parent5ed418891b23588989460bc85fb53c60fbabbcbc
Add mov[us]wb store intrinsics.

gcc/
* config/i386/avx512bwintrin.h (_mm512_mask_cvtepi16_storeu_epi8,
_mm512_mask_cvtsepi16_storeu_epi8,
_mm512_mask_cvtusepi16_storeu_epi8): New intrinsics.
* config/i386/avx512vlbwintrin.h (_mm256_mask_cvtepi16_storeu_epi8,
_mm_mask_cvtsepi16_storeu_epi8, _mm256_mask_cvtsepi16_storeu_epi8,
_mm_mask_cvtusepi16_storeu_epi8, _mm256_mask_cvtusepi16_storeu_epi8,
_mm_mask_cvtepi16_storeu_epi8): New intrinsics.
* config/i386/i386-builtin-types.def (PV8Q, V8QI): New pointer type.
(VOID_FTYPE_PV32QI_V32HI_USI, VOID_FTYPE_PV8QI_V8HI_UQI,
VOID_FTYPE_PV16QI_V16HI_UHI): New function types.
* config/i386/i386-builtin.def (__builtin_ia32_pmovwb128mem_mask,
__builtin_ia32_pmovwb256mem_mask, __builtin_ia32_pmovswb128mem_mask,
__builtin_ia32_pmovswb256mem_mask, __builtin_ia32_pmovuswb128mem_mask,
__builtin_ia32_pmovuswb256mem_mask,
__builtin_ia32_pmovuswb512mem_mask, __builtin_ia32_pmovswb512mem_mask)
__builtin_ia32_pmovwb512mem_mask): New builtins.

gcc/testsuite/
* gcc.target/i386/avx512bw-vpmovswb-1.c: Add new intrinsics to test.
* gcc.target/i386/avx512bw-vpmovswb-2.c: Ditto.
* gcc.target/i386/avx512bw-vpmovuswb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovuswb-2.c: Ditto.
* gcc.target/i386/avx512bw-vpmovwb-1.c: Ditto.
* gcc.target/i386/avx512bw-vpmovwb-2.c: Ditto.

From-SVN: r249012
13 files changed:
gcc/ChangeLog
gcc/config/i386/avx512bwintrin.h
gcc/config/i386/avx512vlbwintrin.h
gcc/config/i386/i386-builtin-types.def
gcc/config/i386/i386-builtin.def
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512bw-vpmovswb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovswb-2.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovuswb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovuswb-2.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovwb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovwb-2.c