gcc/
        * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
	(_mm512_mask_prefetch_i64gather_pd): Ditto.
	(_mm512_prefetch_i32scatter_pd): Ditto.
	(_mm512_mask_prefetch_i32scatter_pd): Ditto.
	(_mm512_prefetch_i64scatter_pd): Ditto.
	(_mm512_mask_prefetch_i64scatter_pd): Ditto.
	(_mm512_mask_prefetch_i32gather_ps): Fix operand type.
	(_mm512_mask_prefetch_i64gather_ps): Ditto.
	(_mm512_prefetch_i32scatter_ps): Ditto.
	(_mm512_mask_prefetch_i32scatter_ps): Ditto.
	(_mm512_prefetch_i64scatter_ps): Ditto.
	(_mm512_mask_prefetch_i64scatter_ps): Ditto.
	* config/i386/i386-builtin-types.def: Define
	VOID_FTYPE_QI_V8SI_PCINT64_INT_INT and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
	* config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
	IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
	IX86_BUILTIN_SCATTERPFQPD.
	(ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
	__builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
	__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
	__builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
	__builtin_ia32_scatterpfqps.
	(ix86_expand_builtin): Expand new built-ins.
	* config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
	fix memory access data type.
	(*avx512pf_gatherpf<mode>_mask): Ditto.
	(*avx512pf_gatherpf<mode>): Ditto.
	(avx512pf_scatterpf<mode>): Ditto.
	(*avx512pf_scatterpf<mode>_mask): Ditto.
	(*avx512pf_scatterpf<mode>): Ditto.
	(GATHER_SCATTER_SF_MEM_MODE): New.
	(avx512pf_gatherpf<mode>df): Ditto.
	(*avx512pf_gatherpf<mode>df_mask): Ditto.
	(*avx512pf_scatterpf<mode>df): Ditto.

testsuite/
        * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: New.
	* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
	* gcc.target/i386/sse-14.c: Add new built-ins, fix AVX-512ER
	built-ins roudning immediate.
	* gcc.target/i386/sse-22.c: Add new built-ins.
	* gcc.target/i386/sse-23.c: Ditto.
	* gcc.target/i386/avx-1.c: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207149 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
	(_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
	(_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
	(_mm512_mask_cvtepi32_storeu_epi16): Ditto.
	(_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
	(_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
	(_mm512_mask_cvtepi64_storeu_epi32): Ditto.
	(_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
	(_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
	(_mm512_mask_cvtepi64_storeu_epi16): Ditto.
	(_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
	(_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
	(_mm512_mask_cvtepi64_storeu_epi8): Ditto.
	(_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
	(_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
	(_mm512_storeu_epi64): Ditto.
	(_mm512_cmpge_epi32_mask): Ditto.
	(_mm512_cmpge_epu32_mask): Ditto.
	(_mm512_cmpge_epi64_mask): Ditto.
	(_mm512_cmpge_epu64_mask): Ditto.
	(_mm512_cmple_epi32_mask): Ditto.
	(_mm512_cmple_epu32_mask): Ditto.
	(_mm512_cmple_epi64_mask): Ditto.
	(_mm512_cmple_epu64_mask): Ditto.
	(_mm512_cmplt_epi32_mask): Ditto.
	(_mm512_cmplt_epu32_mask): Ditto.
	(_mm512_cmplt_epi64_mask): Ditto.
	(_mm512_cmplt_epu64_mask): Ditto.
	(_mm512_cmpneq_epi32_mask): Ditto.
	(_mm512_cmpneq_epu32_mask): Ditto.
	(_mm512_cmpneq_epi64_mask): Ditto.
	(_mm512_cmpneq_epu64_mask): Ditto.
	(_mm512_expand_pd): Ditto.
	(_mm512_expand_ps): Ditto.
	* config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
	VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
	VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
	* config/i386/i386.c (ix86_builtins): Add
	IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
	IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
	IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
	IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
	IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
	IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
	IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
	IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
	IX86_BUILTIN_PMOVUSQW512_MEM.
	(bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
	__builtin_ia32_pmovsqd512mem_mask,
	__builtin_ia32_pmovqd512mem_mask,
	__builtin_ia32_pmovusqw512mem_mask,
	__builtin_ia32_pmovsqw512mem_mask,
	__builtin_ia32_pmovqw512mem_mask,
	__builtin_ia32_pmovusdw512mem_mask,
	__builtin_ia32_pmovsdw512mem_mask,
	__builtin_ia32_pmovdw512mem_mask,
	__builtin_ia32_pmovqb512mem_mask,
	__builtin_ia32_pmovusqb512mem_mask,
	__builtin_ia32_pmovsqb512mem_mask,
	__builtin_ia32_pmovusdb512mem_mask,
	__builtin_ia32_pmovsdb512mem_mask,
	__builtin_ia32_pmovdb512mem_mask.
	(bdesc_args): Add __builtin_ia32_expanddf512,
	__builtin_ia32_expandsf512.
	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI, 
	VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
	VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
	* config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
	(avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
	(*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
	(avx512f_<code>v8div16qi2_mask_store): This.
	(avx512f_expand<mode>): New.

testsuite/
	* gcc.target/i386/avx512f-vexpandpd-1.c: Also test _mm512_expand_pd.
	* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vexpandps-1.c: Also test _mm512_expand_ps.
	* gcc.target/i386/avx512f-vexpandps-2.c: Ditto. 
	* gcc.target/i386/avx512f-vmovdqu64-1.c: Also test _mm512_storeu_epi64.
	* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpged-1.c: New. 
	* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovdb-1.c: Also test
	_mm512_mask_cvtepi32_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovdw-1.c: Also test
	_mm512_mask_cvtepi32_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovqb-1.c: Also test
	_mm512_mask_cvtepi64_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovqw-1.c: Also test
	_mm512_mask_cvtepi64_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovqd-1.c: Also test
	_mm512_mask_cvtepi64_storeu_epi32.
	* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsdb-1.c: Also test
	_mm512_mask_cvtsepi32_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsdw-1.c: Also test
	_mm512_mask_cvtsepi32_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsqb-1.c: Also test
	_mm512_mask_cvtsepi64_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsqw-1.c: Also test
	_mm512_mask_cvtsepi64_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsqd-1.c: Also test
	_mm512_mask_cvtsepi64_storeu_epi32.
	* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusdb-1.c: Also test
	_mm512_mask_cvtusepi32_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusdw-1.c: Also test
	_mm512_mask_cvtusepi32_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusqb-1.c: Also test
	_mm512_mask_cvtusepi64_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusqw-1.c: Also test
	_mm512_mask_cvtusepi64_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusqd-1.c: Also test
	_mm512_mask_cvtusepi64_storeu_epi32.
	* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto. 
	* gcc.target/i386/m128-check.h: Add checkVs, checkVb.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207150 138bc75d-0d04-0410-961f-82ee72b054a4
        * ipa-inline.c (inline_small_functions): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207151 138bc75d-0d04-0410-961f-82ee72b054a4