[PATCH][i386,AVX] Enable VBMI2 support [5/7]

Koval, Julia julia.koval@intel.com
Tue Oct 24 10:05:00 GMT 2017


Hi,
This patch enables VPSHRD instruction. The doc for isaset and instruction: https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf

Ok for trunk?

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.



More information about the Gcc-patches mailing list