Commit Graph

134051 Commits

Author SHA1 Message Date
Alexander Ivchenko
936c0fe4cb AVX-512. 85/n. Add intrinsics headers.
gcc/
	* config/i386/avx512bwintrin.h: New.
	* config/i386/avx512dqintrin.h: Ditto.
	* config/i386/avx512vlbwintrin.h: Ditto.
	* config/i386/avx512vldqintrin.h: Ditto.
	* config/i386/avx512vlintrin.h: Ditto.
	* config/i386/immintrin.h: Include avx512vlintrin.h, avx512bwintrin.h,
	avx512dqintrin.h, avx512vlbwintrin.h, avx512vldqintrin.h.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216798
2014-10-28 14:11:00 +00:00
Alexander Ivchenko
a40be84c87 AVX-512. 84/n. Add missing immediate checks.
gcc/
	* config/i386/i386.c
	(ix86_expand_args_builtin): Handle avx_vpermilv4df_mask,
	avx_shufpd256_mask, avx_vpermilv2df_mask.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216797
2014-10-28 14:01:00 +00:00
Alexander Ivchenko
e29588cc59 AVX-512. 83/n. Add scatter built-ins.
gcc/
	* config/i386/i386.c
	(ix86_init_mmx_sse_builtins):
	Define __builtin_ia32_gather3siv2df, __builtin_ia32_gather3siv4df,
	__builtin_ia32_gather3div2df, __builtin_ia32_gather3div4df,
	__builtin_ia32_gather3siv4sf, __builtin_ia32_gather3siv8sf,
	__builtin_ia32_gather3div4sf, __builtin_ia32_gather3div8sf,
	__builtin_ia32_gather3siv2di, __builtin_ia32_gather3siv4di,
	__builtin_ia32_gather3div2di, __builtin_ia32_gather3div4di,
	__builtin_ia32_gather3siv4si, __builtin_ia32_gather3siv8si,
	__builtin_ia32_gather3div4si, __builtin_ia32_gather3div8si,
	__builtin_ia32_gather3altsiv4df, __builtin_ia32_gather3altdiv8sf,
	__builtin_ia32_gather3altsiv4di, __builtin_ia32_gather3altdiv8si,
	__builtin_ia32_scattersiv8sf, __builtin_ia32_scattersiv4sf,
	__builtin_ia32_scattersiv4df, __builtin_ia32_scattersiv2df,
	__builtin_ia32_scatterdiv8sf, __builtin_ia32_scatterdiv4sf,
	__builtin_ia32_scatterdiv4df, __builtin_ia32_scatterdiv2df,
	__builtin_ia32_scattersiv8si, __builtin_ia32_scattersiv4si,
	__builtin_ia32_scattersiv4di, __builtin_ia32_scattersiv2di,
	__builtin_ia32_scatterdiv8si, __builtin_ia32_scatterdiv4si,
	__builtin_ia32_scatterdiv4di, __builtin_ia32_scatterdiv2di.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216796
2014-10-28 13:59:16 +00:00
Alexander Ivchenko
f1c1c221e2 AVX-512. 82/n. Add gather built-ins.
gcc/
	* config/i386/i386.c
	(ix86_builtins): Add IX86_BUILTIN_GATHER3ALTSIV4DF,
	IX86_BUILTIN_GATHER3ALTDIV8SF, IX86_BUILTIN_GATHER3ALTSIV4DI,
	IX86_BUILTIN_GATHER3ALTDIV8SI.
	(ix86_expand_builtin):
	Handle IX86_BUILTIN_GATHER3ALTDIV8SF, IX86_BUILTIN_GATHER3ALTDIV8SI,
	IX86_BUILTIN_SCATTERSIV4DF, IX86_BUILTIN_SCATTERSIV4DI,
	IX86_BUILTIN_SCATTERDIV2DF, IX86_BUILTIN_SCATTERDIV4DF,
	IX86_BUILTIN_GATHER3ALTSIV4DI, IX86_BUILTIN_GATHER3ALTSIV4DF,
	IX86_BUILTIN_SCATTERDIV4DI, IX86_BUILTIN_SCATTERDIV2DI,
	IX86_BUILTIN_GATHER3SIV8SI, IX86_BUILTIN_GATHER3DIV8SI,
	IX86_BUILTIN_GATHER3SIV4DF, IX86_BUILTIN_GATHER3SIV4DI,
	IX86_BUILTIN_GATHER3DIV8SF, IX86_BUILTIN_GATHER3SIV8SF,
	IX86_BUILTIN_GATHER3DIV4DF, IX86_BUILTIN_GATHER3DIV2DF,
	IX86_BUILTIN_GATHER3DIV2DI, IX86_BUILTIN_GATHER3DIV4DI,
	IX86_BUILTIN_SCATTERDIV4SF, IX86_BUILTIN_SCATTERSIV2DI,
	IX86_BUILTIN_GATHER3SIV2DI, IX86_BUILTIN_GATHER3SIV4SI,
	IX86_BUILTIN_GATHER3SIV4SF, IX86_BUILTIN_GATHER3SIV2DF,
	IX86_BUILTIN_SCATTERSIV2DF, IX86_BUILTIN_SCATTERDIV4SI,
	IX86_BUILTIN_SCATTERSIV4SF, IX86_BUILTIN_SCATTERSIV4SI,
	IX86_BUILTIN_SCATTERDIV8SI, IX86_BUILTIN_GATHER3DIV4SI,
	IX86_BUILTIN_SCATTERSIV8SI, IX86_BUILTIN_SCATTERSIV8SF,
	IX86_BUILTIN_GATHER3DIV4SF, IX86_BUILTIN_SCATTERDIV8SF.
	(ix86_vectorize_builtin_gather): Update V2DFmode, V4DFmode, V2DImode,
	V4DImode, V4SFmode, V8SFmode, V4SImode, V8SImode.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216795
2014-10-28 13:57:28 +00:00
Alexander Ivchenko
e83507ebdc AVX-512. 81.2/n. Add new built-ins.
gcc/
	* config/i386/i386-builtin-types.def
	(SHORT): New.
	(V32HI): Ditto.
	(V12QI): Ditto.
	(V14QI): Ditto.
	(V32SI): Ditto.
	(V8UDI): Ditto.
	(V16USI): Ditto.
	(V32UHI): Ditto.
	(PSHORT): Ditto.
	(PV32QI): Ditto.
	(PV32HI): Ditto.
	(PV64QI): Ditto.
	(PCV8HI): Ditto.
	(PCV16QI): Ditto.
	(PCV16HI): Ditto.
	(PCV32QI): Ditto.
	(PCV32HI): Ditto.
	(PCV64QI): Ditto.
	(V4SF_FTYPE_V2DF_V4SF_QI): Ditto.
	(V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
	(V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
	(V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
	(V16SF_FTYPE_V16HI): Ditto.
	(V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
	(V16SF_FTYPE_V16SI): Ditto.
	(V4DI_FTYPE_V4DI): Ditto.
	(V16SI_FTYPE_V16SF): Ditto.
	(V8DI_FTYPE_PV2DI): Ditto.
	(V8DF_FTYPE_PV2DF): Ditto.
	(V4DI_FTYPE_PV2DI): Ditto.
	(V4DF_FTYPE_PV2DF): Ditto.
	(V16SI_FTYPE_PV2SI): Ditto.
	(V16SF_FTYPE_PV2SF): Ditto.
	(V8SF_FTYPE_FLOAT): Ditto.
	(V4SF_FTYPE_FLOAT): Ditto.
	(V4DF_FTYPE_DOUBLE): Ditto.
	(V8SF_FTYPE_PV4SF): Ditto.
	(V8SI_FTYPE_PV4SI): Ditto.
	(V4SI_FTYPE_PV2SI): Ditto.
	(V8SF_FTYPE_PV2SF): Ditto.
	(V8SI_FTYPE_PV2SI): Ditto.
	(V16SF_FTYPE_PV8SF): Ditto.
	(V16SI_FTYPE_PV8SI): Ditto.
	(V8DI_FTYPE_V8SF): Ditto.
	(V4DI_FTYPE_V4SF): Ditto.
	(V2DI_FTYPE_V4SF): Ditto.
	(V64QI_FTYPE_QI): Ditto.
	(V32HI_FTYPE_HI): Ditto.
	(V16UHI_FTYPE_V16UHI): Ditto.
	(V32UHI_FTYPE_V32UHI): Ditto.
	(V2UDI_FTYPE_V2UDI): Ditto.
	(V4UDI_FTYPE_V4UDI): Ditto.
	(V8UDI_FTYPE_V8UDI): Ditto.
	(V4USI_FTYPE_V4USI): Ditto.
	(V16USI_FTYPE_V16USI): Ditto.
	(V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
	(V2DF_FTYPE_V8DF_INT): Ditto.
	(V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
	(V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
	(V8DF_FTYPE_V8DF_INT): Ditto.
	(V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
	(V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
	(V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
	(V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
	(V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
	(V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
	(V8DI_FTYPE_V8DI_INT): Ditto.
	(V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
	(V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
	(V8SF_FTYPE_V16SF_INT): Ditto.
	(V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
	(V64QI_FTYPE_V32HI_V32HI): Ditto.
	(V32HI_FTYPE_V16SI_V16SI): Ditto.
	(V8DF_FTYPE_V8DF_V2DF_INT): Ditto.
	(V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
	(V8DF_FTYPE_V8DF_V8DF_INT): Ditto.
	(V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI_INT): Ditto.
	(V8DF_FTYPE_V8DF_V8DF_V8DI_INT): Ditto.
	(V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
	(V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
	(V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
	(V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI_INT): Ditto.
	(V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
	(V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
	(V32HI_FTYPE_V64QI_V64QI): Ditto.
	(V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
	(V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
	(V32HI_FTYPE_V32HI_V32HI): Ditto.
	(V32HI_FTYPE_V32HI_INT): Ditto.
	(V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
	(V16SI_FTYPE_V32HI_V32HI): Ditto.
	(V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
	(V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
	(V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
	(V8SI_FTYPE_V16SI_INT): Ditto.
	(V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
	(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
	(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
	(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
	(V8DI_FTYPE_V8DI_V4DI_INT): Ditto.
	(V8DI_FTYPE_V8DI_V2DI_INT): Ditto.
	(V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
	(V8DI_FTYPE_V16SI_V16SI): Ditto.
	(V8DI_FTYPE_V64QI_V64QI): Ditto.
	(V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
	(V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
	(V2DI_FTYPE_V8DI_INT): Ditto.
	(V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
	(QI_FTYPE_QI): Ditto.
	(SI_FTYPE_SI): Ditto.
	(DI_FTYPE_DI): Ditto.
	(HI_FTYPE_V16QI): Ditto.
	(SI_FTYPE_V32QI): Ditto.
	(DI_FTYPE_V64QI): Ditto.
	(QI_FTYPE_V8HI): Ditto.
	(HI_FTYPE_V16HI): Ditto.
	(SI_FTYPE_V32HI): Ditto.
	(QI_FTYPE_V4SI): Ditto.
	(QI_FTYPE_V8SI): Ditto.
	(HI_FTYPE_V16SI): Ditto.
	(QI_FTYPE_V2DI): Ditto.
	(QI_FTYPE_V4DI): Ditto.
	(QI_FTYPE_V8DI): Ditto.
	(V16QI_FTYPE_HI): Ditto.
	(V32QI_FTYPE_SI): Ditto.
	(V64QI_FTYPE_DI): Ditto.
	(V8HI_FTYPE_QI): Ditto.
	(V16HI_FTYPE_HI): Ditto.
	(V32HI_FTYPE_SI): Ditto.
	(V4SI_FTYPE_QI): Ditto.
	(V4SI_FTYPE_HI): Ditto.
	(V8SI_FTYPE_QI): Ditto.
	(V8SI_FTYPE_HI): Ditto.
	(V2DI_FTYPE_QI): Ditto.
	(V4DI_FTYPE_QI): Ditto.
	(QI_FTYPE_QI_QI): Ditto.
	(SI_FTYPE_SI_SI): Ditto.
	(DI_FTYPE_DI_DI): Ditto.
	(QI_FTYPE_QI_INT): Ditto.
	(SI_FTYPE_SI_INT): Ditto.
	(DI_FTYPE_DI_INT): Ditto.
	(HI_FTYPE_V16QI_V16QI): Ditto.
	(HI_FTYPE_V16QI_V16QI_HI): Ditto.
	(HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
	(SI_FTYPE_V32QI_V32QI): Ditto.
	(SI_FTYPE_V32QI_V32QI_SI): Ditto.
	(SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
	(DI_FTYPE_V64QI_V64QI): Ditto.
	(DI_FTYPE_V64QI_V64QI_DI): Ditto.
	(DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
	(QI_FTYPE_V8HI_V8HI): Ditto.
	(QI_FTYPE_V8HI_V8HI_QI): Ditto.
	(QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
	(HI_FTYPE_V16HI_V16HI): Ditto.
	(HI_FTYPE_V16HI_V16HI_HI): Ditto.
	(HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
	(SI_FTYPE_V32HI_V32HI): Ditto.
	(SI_FTYPE_V32HI_V32HI_SI): Ditto.
	(SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
	(QI_FTYPE_V4SI_V4SI): Ditto.
	(QI_FTYPE_V4SI_V4SI_QI): Ditto.
	(QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
	(QI_FTYPE_V8SI_V8SI): Ditto.
	(QI_FTYPE_V8SI_V8SI_QI): Ditto.
	(QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
	(QI_FTYPE_V2DI_V2DI): Ditto.
	(QI_FTYPE_V2DI_V2DI_QI): Ditto.
	(QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
	(QI_FTYPE_V4DI_V4DI): Ditto.
	(QI_FTYPE_V4DI_V4DI_QI): Ditto.
	(QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
	(V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
	(V4DF_FTYPE_V4DF_V4DI_INT): Ditto.
	(V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
	(V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
	(V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
	(V8DI_FTYPE_V8DI_V8DI_INT): Ditto.
	(V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
	(V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
	(V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
	(V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
	(V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
	(V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
	(V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
	(V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
	(V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
	(V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
	(V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
	(V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
	(V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
	(V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
	(V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
	(V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
	(V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
	(V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
	(V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
	(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
	(V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
	(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
	(V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
	(V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
	(V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
	(V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
	(V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
	(V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
	(V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
	(V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
	(V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
	(V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
	(V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
	(V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
	(V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
	(V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
	(V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
	(V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
	(V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
	(V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
	(V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
	(V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
	(V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
	(V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
	(V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
	(V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
	(V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
	(V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
	(V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
	(V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
	(V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
	(V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
	(V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
	(V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
	(V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
	(V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
	(V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
	(V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
	(V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
	(V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
	(V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
	(V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
	(V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
	(V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
	(V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
	(V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
	(V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
	(V32HI_FTYPE_V64QI_V64QI_INT): Ditto.
	(V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
	(V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
	(V16HI_FTYPE_V32QI_V32QI_INT): Ditto.
	(V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
	(V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
	(V8HI_FTYPE_V16QI_V16QI_INT): Ditto.
	(V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
	(V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
	(V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
	(V8SI_FTYPE_SI_V8SI_QI): Ditto.
	(V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
	(V4SI_FTYPE_SI_V4SI_QI): Ditto.
	(V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
	(V4DI_FTYPE_DI_V4DI_QI): Ditto.
	(V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
	(V2DI_FTYPE_DI_V2DI_QI): Ditto.
	(V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
	(V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
	(V64QI_FTYPE_QI_V64QI_DI): Ditto.
	(V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
	(V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
	(V32QI_FTYPE_QI_V32QI_SI): Ditto.
	(V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
	(V16QI_FTYPE_QI_V16QI_HI): Ditto.
	(V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
	(V32HI_FTYPE_HI_V32HI_SI): Ditto.
	(V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
	(V16HI_FTYPE_HI_V16HI_HI): Ditto.
	(V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
	(V8HI_FTYPE_HI_V8HI_QI): Ditto.
	(V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
	(V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
	(V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
	(V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
	(V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
	(V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
	(V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
	(V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
	(V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
	(V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
	(V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
	(V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
	(V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
	(V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
	(V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
	(V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
	(V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
	(V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
	(V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
	(V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
	(V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
	(V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
	(V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
	(V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
	(V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
	(V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
	(V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
	(V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
	(V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
	(V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
	(V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
	(V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
	(V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
	(V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
	(V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
	(V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
	(V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
	(V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
	(V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
	(V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
	(V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
	(V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
	(V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
	(VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
	(VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
	(VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
	(VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
	(VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
	(VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
	(VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
	(VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
	(VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
	(VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
	(VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
	(VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
	(VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
	(VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
	(VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
	(VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
	(VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
	(VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
	(VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
	(VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
	(VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
	(VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
	(VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
	(VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
	(V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
	(V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
	(V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
	(V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
	(V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
	(V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
	(V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
	(V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
	(V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
	(V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
	(V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
	(V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
	(V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
	(V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
	(V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
	(V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
	(V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
	(V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
	(V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
	(V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
	(V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
	(V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
	(V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
	(V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
	(V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
	(V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
	(V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
	(V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
	(V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
	(V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
	(V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
	(V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
	(V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
	(V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
	(V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
	(V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
	(V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
	(V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
	(QI_FTYPE_V8DF_INT): Ditto.
	(QI_FTYPE_V4DF_INT): Ditto.
	(QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
	(QI_FTYPE_V2DF_INT): Ditto.
	(HI_FTYPE_V16SF_INT): Ditto.
	(QI_FTYPE_V8SF_INT): Ditto.
	(QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
	(QI_FTYPE_V4SF_INT): Ditto.
	(QI_FTYPE_V8DF_INT_QI): Ditto.
	(QI_FTYPE_V4DF_INT_QI): Ditto.
	(QI_FTYPE_V2DF_INT_QI): Ditto.
	(HI_FTYPE_V16SF_INT_HI): Ditto.
	(QI_FTYPE_V8SF_INT_QI): Ditto.
	(QI_FTYPE_V4SF_INT_QI): Ditto.
	(V8DI_FTYPE_V8DF_V8DI_QI_INT): Ditto.
	(V8DI_FTYPE_V8SF_V8DI_QI_INT): Ditto.
	(V8DF_FTYPE_V8DI_V8DF_QI_INT): Ditto.
	(V8SF_FTYPE_V8DI_V8SF_QI_INT): Ditto.
	(V2DF_FTYPE_V2DF_PCDOUBLE_V4SI_QI_INT): Ditto.
	(V4DF_FTYPE_V4DF_PCDOUBLE_V4SI_QI_INT): Ditto.
	(V4DF_FTYPE_V4DF_PCDOUBLE_V8SI_QI_INT): Ditto.
	(V2DF_FTYPE_V2DF_PCDOUBLE_V2DI_QI_INT): Ditto.
	(V4DF_FTYPE_V4DF_PCDOUBLE_V4DI_QI_INT): Ditto.
	(V4SF_FTYPE_V4SF_PCFLOAT_V4SI_QI_INT): Ditto.
	(V8SF_FTYPE_V8SF_PCFLOAT_V8SI_QI_INT): Ditto.
	(V4SF_FTYPE_V4SF_PCFLOAT_V2DI_QI_INT): Ditto.
	(V4SF_FTYPE_V4SF_PCFLOAT_V4DI_QI_INT): Ditto.
	(V8SF_FTYPE_V8SF_PCFLOAT_V4DI_QI_INT): Ditto.
	(V2DI_FTYPE_V2DI_PCINT64_V4SI_QI_INT): Ditto.
	(V4DI_FTYPE_V4DI_PCINT64_V4SI_QI_INT): Ditto.
	(V4DI_FTYPE_V4DI_PCINT64_V8SI_QI_INT): Ditto.
	(V2DI_FTYPE_V2DI_PCINT64_V2DI_QI_INT): Ditto.
	(V4DI_FTYPE_V4DI_PCINT64_V4DI_QI_INT): Ditto.
	(V4SI_FTYPE_V4SI_PCINT_V4SI_QI_INT): Ditto.
	(V8SI_FTYPE_V8SI_PCINT_V8SI_QI_INT): Ditto.
	(V4SI_FTYPE_V4SI_PCINT_V2DI_QI_INT): Ditto.
	(V4SI_FTYPE_V4SI_PCINT_V4DI_QI_INT): Ditto.
	(V8SI_FTYPE_V8SI_PCINT_V4DI_QI_INT): Ditto.
	(VOID_FTYPE_PFLOAT_QI_V8SI_V8SF_INT): Ditto.
	(VOID_FTYPE_PFLOAT_QI_V4SI_V4SF_INT): Ditto.
	(VOID_FTYPE_PDOUBLE_QI_V4SI_V4DF_INT): Ditto.
	(VOID_FTYPE_PDOUBLE_QI_V4SI_V2DF_INT): Ditto.
	(VOID_FTYPE_PFLOAT_QI_V4DI_V4SF_INT): Ditto.
	(VOID_FTYPE_PFLOAT_QI_V2DI_V4SF_INT): Ditto.
	(VOID_FTYPE_PDOUBLE_QI_V4DI_V4DF_INT): Ditto.
	(VOID_FTYPE_PDOUBLE_QI_V2DI_V2DF_INT): Ditto.
	(VOID_FTYPE_PINT_QI_V8SI_V8SI_INT): Ditto.
	(VOID_FTYPE_PINT_QI_V4SI_V4SI_INT): Ditto.
	(VOID_FTYPE_PLONGLONG_QI_V4SI_V4DI_INT): Ditto.
	(VOID_FTYPE_PLONGLONG_QI_V4SI_V2DI_INT): Ditto.
	(VOID_FTYPE_PINT_QI_V4DI_V4SI_INT): Ditto.
	(VOID_FTYPE_PINT_QI_V2DI_V4SI_INT): Ditto.
	(VOID_FTYPE_PLONGLONG_QI_V4DI_V4DI_INT): Ditto.
	(VOID_FTYPE_PLONGLONG_QI_V2DI_V2DI_INT): Ditto.
	(V8DI_FTYPE_V8DI_INT): Ditto.
	(V8DI_FTYPE_V8DI_V8DI_INT): Ditto.
	(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
	(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
	(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
	(V2DF_FTYPE_ V2DF_ V2DF_ V2DI_ INT_ QI): Remove.
	(V4SF_FTYPE_ V4SF_ V2DF_ V4SF_ QI): Ditto.
	(V4SF_FTYPE_ V4SF_ V4SF_ V4SF_ QI): Ditto.
	(V2DF_FTYPE_ PCDOUBLE_ V2DF_ QI): Ditto.
	(V4SF_FTYPE_ PCFLOAT_ V4SF_ QI): Ditto.
	(V16QI_FTYPE_ V16SI_ V16QI_ HI): Ditto.
	(V16QI_FTYPE_ V8DI_ V16QI_ QI): Ditto.
	(V4SF_FTYPE_ V4SF_ V4SF_ INT_ V4SF_ QI): Ditto.
	(V2DF_FTYPE_ V2DF_ V2DF_ INT_ V2DF_ QI): Ditto.
	(V8DI_FTYPE_ V16SI_ V16SI_ V8DI_ QI): Ditto.
	* config/i386/i386.c (ix86_builtins):
	Add IX86_BUILTIN_PMOVUSQD256_MEM, IX86_BUILTIN_PMOVUSQD128_MEM,
	IX86_BUILTIN_PMOVSQD256_MEM, IX86_BUILTIN_PMOVSQD128_MEM,
	IX86_BUILTIN_PMOVQD256_MEM, IX86_BUILTIN_PMOVQD128_MEM,
	IX86_BUILTIN_PMOVUSQW256_MEM, IX86_BUILTIN_PMOVUSQW128_MEM,
	IX86_BUILTIN_PMOVSQW256_MEM, IX86_BUILTIN_PMOVSQW128_MEM,
	IX86_BUILTIN_PMOVQW256_MEM, IX86_BUILTIN_PMOVQW128_MEM,
	IX86_BUILTIN_PMOVUSQB256_MEM, IX86_BUILTIN_PMOVUSQB128_MEM,
	IX86_BUILTIN_PMOVSQB256_MEM, IX86_BUILTIN_PMOVSQB128_MEM,
	IX86_BUILTIN_PMOVQB256_MEM, IX86_BUILTIN_PMOVQB128_MEM,
	IX86_BUILTIN_PMOVUSDW256_MEM, IX86_BUILTIN_PMOVUSDW128_MEM,
	IX86_BUILTIN_PMOVSDW256_MEM, IX86_BUILTIN_PMOVSDW128_MEM,
	IX86_BUILTIN_PMOVDW256_MEM, IX86_BUILTIN_PMOVDW128_MEM,
	IX86_BUILTIN_PMOVUSDB256_MEM, IX86_BUILTIN_PMOVUSDB128_MEM,
	IX86_BUILTIN_PMOVSDB256_MEM, IX86_BUILTIN_PMOVSDB128_MEM,
	IX86_BUILTIN_PMOVDB256_MEM, IX86_BUILTIN_PMOVDB128_MEM,
	IX86_BUILTIN_MOVDQA64LOAD256_MASK, IX86_BUILTIN_MOVDQA64LOAD128_MASK,
	IX86_BUILTIN_MOVDQA32LOAD256_MASK, IX86_BUILTIN_MOVDQA32LOAD128_MASK,
	IX86_BUILTIN_MOVDQA64STORE256_MASK, IX86_BUILTIN_MOVDQA64STORE128_MASK,
	IX86_BUILTIN_MOVDQA32STORE256_MASK, IX86_BUILTIN_MOVDQA32STORE128_MASK,
	IX86_BUILTIN_LOADAPD256_MASK, IX86_BUILTIN_LOADAPD128_MASK,
	IX86_BUILTIN_LOADAPS256_MASK, IX86_BUILTIN_LOADAPS128_MASK,
	IX86_BUILTIN_STOREAPD256_MASK, IX86_BUILTIN_STOREAPD128_MASK,
	IX86_BUILTIN_STOREAPS256_MASK, IX86_BUILTIN_STOREAPS128_MASK,
	IX86_BUILTIN_LOADUPD256_MASK, IX86_BUILTIN_LOADUPD128_MASK,
	IX86_BUILTIN_LOADUPS256_MASK, IX86_BUILTIN_LOADUPS128_MASK,
	IX86_BUILTIN_STOREUPD256_MASK, IX86_BUILTIN_STOREUPD128_MASK,
	IX86_BUILTIN_STOREUPS256_MASK, IX86_BUILTIN_STOREUPS128_MASK,
	IX86_BUILTIN_LOADDQUDI256_MASK, IX86_BUILTIN_LOADDQUDI128_MASK,
	IX86_BUILTIN_LOADDQUSI256_MASK, IX86_BUILTIN_LOADDQUSI128_MASK,
	IX86_BUILTIN_LOADDQUHI256_MASK, IX86_BUILTIN_LOADDQUHI128_MASK,
	IX86_BUILTIN_LOADDQUQI256_MASK, IX86_BUILTIN_LOADDQUQI128_MASK,
	IX86_BUILTIN_STOREDQUDI256_MASK, IX86_BUILTIN_STOREDQUDI128_MASK,
	IX86_BUILTIN_STOREDQUSI256_MASK, IX86_BUILTIN_STOREDQUSI128_MASK,
	IX86_BUILTIN_STOREDQUHI256_MASK, IX86_BUILTIN_STOREDQUHI128_MASK,
	IX86_BUILTIN_STOREDQUQI256_MASK, IX86_BUILTIN_STOREDQUQI128_MASK,
	IX86_BUILTIN_COMPRESSPDSTORE256, IX86_BUILTIN_COMPRESSPDSTORE128,
	IX86_BUILTIN_COMPRESSPSSTORE256, IX86_BUILTIN_COMPRESSPSSTORE128,
	IX86_BUILTIN_PCOMPRESSQSTORE256, IX86_BUILTIN_PCOMPRESSQSTORE128,
	IX86_BUILTIN_PCOMPRESSDSTORE256, IX86_BUILTIN_PCOMPRESSDSTORE128,
	IX86_BUILTIN_EXPANDPDLOAD256, IX86_BUILTIN_EXPANDPDLOAD128,
	IX86_BUILTIN_EXPANDPSLOAD256, IX86_BUILTIN_EXPANDPSLOAD128,
	IX86_BUILTIN_PEXPANDQLOAD256, IX86_BUILTIN_PEXPANDQLOAD128,
	IX86_BUILTIN_PEXPANDDLOAD256, IX86_BUILTIN_PEXPANDDLOAD128,
	IX86_BUILTIN_EXPANDPDLOAD256Z, IX86_BUILTIN_EXPANDPDLOAD128Z,
	IX86_BUILTIN_EXPANDPSLOAD256Z, IX86_BUILTIN_EXPANDPSLOAD128Z,
	IX86_BUILTIN_PEXPANDQLOAD256Z, IX86_BUILTIN_PEXPANDQLOAD128Z,
	IX86_BUILTIN_PEXPANDDLOAD256Z, IX86_BUILTIN_PEXPANDDLOAD128Z,
	IX86_BUILTIN_PALIGNR256_MASK, IX86_BUILTIN_PALIGNR128_MASK,
	IX86_BUILTIN_MOVDQA64_256_MASK, IX86_BUILTIN_MOVDQA64_128_MASK,
	IX86_BUILTIN_MOVDQA32_256_MASK, IX86_BUILTIN_MOVDQA32_128_MASK,
	IX86_BUILTIN_MOVAPD256_MASK, IX86_BUILTIN_MOVAPD128_MASK,
	IX86_BUILTIN_MOVAPS256_MASK, IX86_BUILTIN_MOVAPS128_MASK,
	IX86_BUILTIN_MOVDQUHI256_MASK, IX86_BUILTIN_MOVDQUHI128_MASK,
	IX86_BUILTIN_MOVDQUQI256_MASK, IX86_BUILTIN_MOVDQUQI128_MASK,
	IX86_BUILTIN_MINPS128_MASK, IX86_BUILTIN_MAXPS128_MASK,
	IX86_BUILTIN_MINPD128_MASK, IX86_BUILTIN_MAXPD128_MASK,
	IX86_BUILTIN_MAXPD256_MASK, IX86_BUILTIN_MAXPS256_MASK,
	IX86_BUILTIN_MINPD256_MASK, IX86_BUILTIN_MINPS256_MASK,
	IX86_BUILTIN_MULPS128_MASK, IX86_BUILTIN_DIVPS128_MASK,
	IX86_BUILTIN_MULPD128_MASK, IX86_BUILTIN_DIVPD128_MASK,
	IX86_BUILTIN_DIVPD256_MASK, IX86_BUILTIN_DIVPS256_MASK,
	IX86_BUILTIN_MULPD256_MASK, IX86_BUILTIN_MULPS256_MASK,
	IX86_BUILTIN_ADDPD128_MASK, IX86_BUILTIN_ADDPD256_MASK,
	IX86_BUILTIN_ADDPS128_MASK, IX86_BUILTIN_ADDPS256_MASK,
	IX86_BUILTIN_SUBPD128_MASK, IX86_BUILTIN_SUBPD256_MASK,
	IX86_BUILTIN_SUBPS128_MASK, IX86_BUILTIN_SUBPS256_MASK,
	IX86_BUILTIN_XORPD256_MASK, IX86_BUILTIN_XORPD128_MASK,
	IX86_BUILTIN_XORPS256_MASK, IX86_BUILTIN_XORPS128_MASK,
	IX86_BUILTIN_ORPD256_MASK, IX86_BUILTIN_ORPD128_MASK,
	IX86_BUILTIN_ORPS256_MASK, IX86_BUILTIN_ORPS128_MASK,
	IX86_BUILTIN_BROADCASTF32x2_256, IX86_BUILTIN_BROADCASTI32x2_256,
	IX86_BUILTIN_BROADCASTI32x2_128, IX86_BUILTIN_BROADCASTF64X2_256,
	IX86_BUILTIN_BROADCASTI64X2_256, IX86_BUILTIN_BROADCASTF32X4_256,
	IX86_BUILTIN_BROADCASTI32X4_256, IX86_BUILTIN_EXTRACTF32X4_256,
	IX86_BUILTIN_EXTRACTI32X4_256, IX86_BUILTIN_DBPSADBW256,
	IX86_BUILTIN_DBPSADBW128, IX86_BUILTIN_CVTTPD2QQ256,
	IX86_BUILTIN_CVTTPD2QQ128, IX86_BUILTIN_CVTTPD2UQQ256,
	IX86_BUILTIN_CVTTPD2UQQ128, IX86_BUILTIN_CVTPD2QQ256,
	IX86_BUILTIN_CVTPD2QQ128, IX86_BUILTIN_CVTPD2UQQ256,
	IX86_BUILTIN_CVTPD2UQQ128, IX86_BUILTIN_CVTPD2UDQ256_MASK,
	IX86_BUILTIN_CVTPD2UDQ128_MASK, IX86_BUILTIN_CVTTPS2QQ256,
	IX86_BUILTIN_CVTTPS2QQ128, IX86_BUILTIN_CVTTPS2UQQ256,
	IX86_BUILTIN_CVTTPS2UQQ128, IX86_BUILTIN_CVTTPS2DQ256_MASK,
	IX86_BUILTIN_CVTTPS2DQ128_MASK, IX86_BUILTIN_CVTTPS2UDQ256,
	IX86_BUILTIN_CVTTPS2UDQ128, IX86_BUILTIN_CVTTPD2DQ256_MASK,
	IX86_BUILTIN_CVTTPD2DQ128_MASK, IX86_BUILTIN_CVTTPD2UDQ256_MASK,
	IX86_BUILTIN_CVTTPD2UDQ128_MASK, IX86_BUILTIN_CVTPD2DQ256_MASK,
	IX86_BUILTIN_CVTPD2DQ128_MASK, IX86_BUILTIN_CVTDQ2PD256_MASK,
	IX86_BUILTIN_CVTDQ2PD128_MASK, IX86_BUILTIN_CVTUDQ2PD256_MASK,
	IX86_BUILTIN_CVTUDQ2PD128_MASK, IX86_BUILTIN_CVTDQ2PS256_MASK,
	IX86_BUILTIN_CVTDQ2PS128_MASK, IX86_BUILTIN_CVTUDQ2PS256_MASK,
	IX86_BUILTIN_CVTUDQ2PS128_MASK, IX86_BUILTIN_CVTPS2PD256_MASK,
	IX86_BUILTIN_CVTPS2PD128_MASK, IX86_BUILTIN_PBROADCASTB256_MASK,
	IX86_BUILTIN_PBROADCASTB256_GPR_MASK, IX86_BUILTIN_PBROADCASTB128_MASK,
	IX86_BUILTIN_PBROADCASTB128_GPR_MASK, IX86_BUILTIN_PBROADCASTW256_MASK,
	IX86_BUILTIN_PBROADCASTW256_GPR_MASK, IX86_BUILTIN_PBROADCASTW128_MASK,
	IX86_BUILTIN_PBROADCASTW128_GPR_MASK, IX86_BUILTIN_PBROADCASTD256_MASK,
	IX86_BUILTIN_PBROADCASTD256_GPR_MASK, IX86_BUILTIN_PBROADCASTD128_MASK,
	IX86_BUILTIN_PBROADCASTD128_GPR_MASK, IX86_BUILTIN_PBROADCASTQ256_MASK,
	IX86_BUILTIN_PBROADCASTQ256_GPR_MASK, IX86_BUILTIN_PBROADCASTQ256_MEM_MASK,
	IX86_BUILTIN_PBROADCASTQ128_MASK, IX86_BUILTIN_PBROADCASTQ128_GPR_MASK,
	IX86_BUILTIN_PBROADCASTQ128_MEM_MASK, IX86_BUILTIN_BROADCASTSS256,
	IX86_BUILTIN_BROADCASTSS128, IX86_BUILTIN_BROADCASTSD256,
	IX86_BUILTIN_EXTRACTF64X2_256, IX86_BUILTIN_EXTRACTI64X2_256,
	IX86_BUILTIN_INSERTF32X4_256, IX86_BUILTIN_INSERTI32X4_256,
	IX86_BUILTIN_PMOVSXBW256_MASK, IX86_BUILTIN_PMOVSXBW128_MASK,
	IX86_BUILTIN_PMOVSXBD256_MASK, IX86_BUILTIN_PMOVSXBD128_MASK,
	IX86_BUILTIN_PMOVSXBQ256_MASK, IX86_BUILTIN_PMOVSXBQ128_MASK,
	IX86_BUILTIN_PMOVSXWD256_MASK, IX86_BUILTIN_PMOVSXWD128_MASK,
	IX86_BUILTIN_PMOVSXWQ256_MASK, IX86_BUILTIN_PMOVSXWQ128_MASK,
	IX86_BUILTIN_PMOVSXDQ256_MASK, IX86_BUILTIN_PMOVSXDQ128_MASK,
	IX86_BUILTIN_PMOVZXBW256_MASK, IX86_BUILTIN_PMOVZXBW128_MASK,
	IX86_BUILTIN_PMOVZXBD256_MASK, IX86_BUILTIN_PMOVZXBD128_MASK,
	IX86_BUILTIN_PMOVZXBQ256_MASK, IX86_BUILTIN_PMOVZXBQ128_MASK,
	IX86_BUILTIN_PMOVZXWD256_MASK, IX86_BUILTIN_PMOVZXWD128_MASK,
	IX86_BUILTIN_PMOVZXWQ256_MASK, IX86_BUILTIN_PMOVZXWQ128_MASK,
	IX86_BUILTIN_PMOVZXDQ256_MASK, IX86_BUILTIN_PMOVZXDQ128_MASK,
	IX86_BUILTIN_REDUCEPD256_MASK, IX86_BUILTIN_REDUCEPD128_MASK,
	IX86_BUILTIN_REDUCEPS256_MASK, IX86_BUILTIN_REDUCEPS128_MASK,
	IX86_BUILTIN_REDUCESD_MASK, IX86_BUILTIN_REDUCESS_MASK,
	IX86_BUILTIN_VPERMVARHI256_MASK, IX86_BUILTIN_VPERMVARHI128_MASK,
	IX86_BUILTIN_VPERMT2VARHI256, IX86_BUILTIN_VPERMT2VARHI256_MASKZ,
	IX86_BUILTIN_VPERMT2VARHI128, IX86_BUILTIN_VPERMT2VARHI128_MASKZ,
	IX86_BUILTIN_VPERMI2VARHI256, IX86_BUILTIN_VPERMI2VARHI128,
	IX86_BUILTIN_RCP14PD256, IX86_BUILTIN_RCP14PD128,
	IX86_BUILTIN_RCP14PS256, IX86_BUILTIN_RCP14PS128,
	IX86_BUILTIN_RSQRT14PD256_MASK, IX86_BUILTIN_RSQRT14PD128_MASK,
	IX86_BUILTIN_RSQRT14PS256_MASK, IX86_BUILTIN_RSQRT14PS128_MASK,
	IX86_BUILTIN_SQRTPD256_MASK, IX86_BUILTIN_SQRTPD128_MASK,
	IX86_BUILTIN_SQRTPS256_MASK, IX86_BUILTIN_SQRTPS128_MASK,
	IX86_BUILTIN_PADDB128_MASK, IX86_BUILTIN_PADDW128_MASK,
	IX86_BUILTIN_PADDD128_MASK, IX86_BUILTIN_PADDQ128_MASK,
	IX86_BUILTIN_PSUBB128_MASK, IX86_BUILTIN_PSUBW128_MASK,
	IX86_BUILTIN_PSUBD128_MASK, IX86_BUILTIN_PSUBQ128_MASK,
	IX86_BUILTIN_PADDSB128_MASK, IX86_BUILTIN_PADDSW128_MASK,
	IX86_BUILTIN_PSUBSB128_MASK, IX86_BUILTIN_PSUBSW128_MASK,
	IX86_BUILTIN_PADDUSB128_MASK, IX86_BUILTIN_PADDUSW128_MASK,
	IX86_BUILTIN_PSUBUSB128_MASK, IX86_BUILTIN_PSUBUSW128_MASK,
	IX86_BUILTIN_PADDB256_MASK, IX86_BUILTIN_PADDW256_MASK,
	IX86_BUILTIN_PADDD256_MASK, IX86_BUILTIN_PADDQ256_MASK,
	IX86_BUILTIN_PADDSB256_MASK, IX86_BUILTIN_PADDSW256_MASK,
	IX86_BUILTIN_PADDUSB256_MASK, IX86_BUILTIN_PADDUSW256_MASK,
	IX86_BUILTIN_PSUBB256_MASK, IX86_BUILTIN_PSUBW256_MASK,
	IX86_BUILTIN_PSUBD256_MASK, IX86_BUILTIN_PSUBQ256_MASK,
	IX86_BUILTIN_PSUBSB256_MASK, IX86_BUILTIN_PSUBSW256_MASK,
	IX86_BUILTIN_PSUBUSB256_MASK, IX86_BUILTIN_PSUBUSW256_MASK,
	IX86_BUILTIN_SHUF_F64x2_256, IX86_BUILTIN_SHUF_I64x2_256,
	IX86_BUILTIN_SHUF_I32x4_256, IX86_BUILTIN_SHUF_F32x4_256,
	IX86_BUILTIN_PMOVWB128, IX86_BUILTIN_PMOVWB256,
	IX86_BUILTIN_PMOVSWB128, IX86_BUILTIN_PMOVSWB256,
	IX86_BUILTIN_PMOVUSWB128, IX86_BUILTIN_PMOVUSWB256,
	IX86_BUILTIN_PMOVDB128, IX86_BUILTIN_PMOVDB256,
	IX86_BUILTIN_PMOVSDB128, IX86_BUILTIN_PMOVSDB256,
	IX86_BUILTIN_PMOVUSDB128, IX86_BUILTIN_PMOVUSDB256,
	IX86_BUILTIN_PMOVDW128, IX86_BUILTIN_PMOVDW256,
	IX86_BUILTIN_PMOVSDW128, IX86_BUILTIN_PMOVSDW256,
	IX86_BUILTIN_PMOVUSDW128, IX86_BUILTIN_PMOVUSDW256,
	IX86_BUILTIN_PMOVQB128, IX86_BUILTIN_PMOVQB256,
	IX86_BUILTIN_PMOVSQB128, IX86_BUILTIN_PMOVSQB256,
	IX86_BUILTIN_PMOVUSQB128, IX86_BUILTIN_PMOVUSQB256,
	IX86_BUILTIN_PMOVQW128, IX86_BUILTIN_PMOVQW256,
	IX86_BUILTIN_PMOVSQW128, IX86_BUILTIN_PMOVSQW256,
	IX86_BUILTIN_PMOVUSQW128, IX86_BUILTIN_PMOVUSQW256,
	IX86_BUILTIN_PMOVQD128, IX86_BUILTIN_PMOVQD256,
	IX86_BUILTIN_PMOVSQD128, IX86_BUILTIN_PMOVSQD256,
	IX86_BUILTIN_PMOVUSQD128, IX86_BUILTIN_PMOVUSQD256,
	IX86_BUILTIN_RANGEPD256, IX86_BUILTIN_RANGEPD128,
	IX86_BUILTIN_RANGEPS256, IX86_BUILTIN_RANGEPS128,
	IX86_BUILTIN_GETEXPPS256, IX86_BUILTIN_GETEXPPD256,
	IX86_BUILTIN_GETEXPPS128, IX86_BUILTIN_GETEXPPD128,
	IX86_BUILTIN_FIXUPIMMPD256_MASK, IX86_BUILTIN_FIXUPIMMPD256_MASKZ,
	IX86_BUILTIN_FIXUPIMMPS256_MASK, IX86_BUILTIN_FIXUPIMMPS256_MASKZ,
	IX86_BUILTIN_FIXUPIMMPD128_MASK, IX86_BUILTIN_FIXUPIMMPD128_MASKZ,
	IX86_BUILTIN_FIXUPIMMPS128_MASK, IX86_BUILTIN_FIXUPIMMPS128_MASKZ,
	IX86_BUILTIN_PABSQ256, IX86_BUILTIN_PABSQ128,
	IX86_BUILTIN_PABSD256_MASK, IX86_BUILTIN_PABSD128_MASK,
	IX86_BUILTIN_PMULHRSW256_MASK, IX86_BUILTIN_PMULHRSW128_MASK,
	IX86_BUILTIN_PMULHUW128_MASK, IX86_BUILTIN_PMULHUW256_MASK,
	IX86_BUILTIN_PMULHW256_MASK, IX86_BUILTIN_PMULHW128_MASK,
	IX86_BUILTIN_PMULLW256_MASK, IX86_BUILTIN_PMULLW128_MASK,
	IX86_BUILTIN_PMULLQ256, IX86_BUILTIN_PMULLQ128,
	IX86_BUILTIN_ANDPD256_MASK, IX86_BUILTIN_ANDPD128_MASK,
	IX86_BUILTIN_ANDPS256_MASK, IX86_BUILTIN_ANDPS128_MASK,
	IX86_BUILTIN_ANDNPD256_MASK, IX86_BUILTIN_ANDNPD128_MASK,
	IX86_BUILTIN_ANDNPS256_MASK, IX86_BUILTIN_ANDNPS128_MASK,
	IX86_BUILTIN_PSLLWI128_MASK, IX86_BUILTIN_PSLLDI128_MASK,
	IX86_BUILTIN_PSLLQI128_MASK, IX86_BUILTIN_PSLLW128_MASK,
	IX86_BUILTIN_PSLLD128_MASK, IX86_BUILTIN_PSLLQ128_MASK,
	IX86_BUILTIN_PSLLWI256_MASK , IX86_BUILTIN_PSLLW256_MASK,
	IX86_BUILTIN_PSLLDI256_MASK, IX86_BUILTIN_PSLLD256_MASK,
	IX86_BUILTIN_PSLLQI256_MASK, IX86_BUILTIN_PSLLQ256_MASK,
	IX86_BUILTIN_PSRADI128_MASK, IX86_BUILTIN_PSRAD128_MASK,
	IX86_BUILTIN_PSRADI256_MASK, IX86_BUILTIN_PSRAD256_MASK,
	IX86_BUILTIN_PSRAQI128_MASK, IX86_BUILTIN_PSRAQ128_MASK,
	IX86_BUILTIN_PSRAQI256_MASK, IX86_BUILTIN_PSRAQ256_MASK,
	IX86_BUILTIN_PANDD256, IX86_BUILTIN_PANDD128,
	IX86_BUILTIN_PSRLDI128_MASK, IX86_BUILTIN_PSRLD128_MASK,
	IX86_BUILTIN_PSRLDI256_MASK, IX86_BUILTIN_PSRLD256_MASK,
	IX86_BUILTIN_PSRLQI128_MASK, IX86_BUILTIN_PSRLQ128_MASK,
	IX86_BUILTIN_PSRLQI256_MASK, IX86_BUILTIN_PSRLQ256_MASK,
	IX86_BUILTIN_PANDQ256, IX86_BUILTIN_PANDQ128,
	IX86_BUILTIN_PANDND256, IX86_BUILTIN_PANDND128,
	IX86_BUILTIN_PANDNQ256, IX86_BUILTIN_PANDNQ128,
	IX86_BUILTIN_PORD256, IX86_BUILTIN_PORD128,
	IX86_BUILTIN_PORQ256, IX86_BUILTIN_PORQ128,
	IX86_BUILTIN_PXORD256, IX86_BUILTIN_PXORD128,
	IX86_BUILTIN_PXORQ256, IX86_BUILTIN_PXORQ128,
	IX86_BUILTIN_PACKSSWB256_MASK, IX86_BUILTIN_PACKSSWB128_MASK,
	IX86_BUILTIN_PACKUSWB256_MASK, IX86_BUILTIN_PACKUSWB128_MASK,
	IX86_BUILTIN_RNDSCALEPS256, IX86_BUILTIN_RNDSCALEPD256,
	IX86_BUILTIN_RNDSCALEPS128, IX86_BUILTIN_RNDSCALEPD128,
	IX86_BUILTIN_VTERNLOGQ256_MASK, IX86_BUILTIN_VTERNLOGQ256_MASKZ,
	IX86_BUILTIN_VTERNLOGD256_MASK, IX86_BUILTIN_VTERNLOGD256_MASKZ,
	IX86_BUILTIN_VTERNLOGQ128_MASK, IX86_BUILTIN_VTERNLOGQ128_MASKZ,
	IX86_BUILTIN_VTERNLOGD128_MASK, IX86_BUILTIN_VTERNLOGD128_MASKZ,
	IX86_BUILTIN_SCALEFPD256, IX86_BUILTIN_SCALEFPS256,
	IX86_BUILTIN_SCALEFPD128, IX86_BUILTIN_SCALEFPS128,
	IX86_BUILTIN_VFMADDPD256_MASK, IX86_BUILTIN_VFMADDPD256_MASK3,
	IX86_BUILTIN_VFMADDPD256_MASKZ, IX86_BUILTIN_VFMADDPD128_MASK,
	IX86_BUILTIN_VFMADDPD128_MASK3, IX86_BUILTIN_VFMADDPD128_MASKZ,
	IX86_BUILTIN_VFMADDPS256_MASK, IX86_BUILTIN_VFMADDPS256_MASK3,
	IX86_BUILTIN_VFMADDPS256_MASKZ, IX86_BUILTIN_VFMADDPS128_MASK,
	IX86_BUILTIN_VFMADDPS128_MASK3, IX86_BUILTIN_VFMADDPS128_MASKZ,
	IX86_BUILTIN_VFMSUBPD256_MASK3, IX86_BUILTIN_VFMSUBPD128_MASK3,
	IX86_BUILTIN_VFMSUBPS256_MASK3, IX86_BUILTIN_VFMSUBPS128_MASK3,
	IX86_BUILTIN_VFNMADDPD256_MASK, IX86_BUILTIN_VFNMADDPD128_MASK,
	IX86_BUILTIN_VFNMADDPS256_MASK, IX86_BUILTIN_VFNMADDPS128_MASK,
	IX86_BUILTIN_VFNMSUBPD256_MASK, IX86_BUILTIN_VFNMSUBPD256_MASK3,
	IX86_BUILTIN_VFNMSUBPD128_MASK, IX86_BUILTIN_VFNMSUBPD128_MASK3,
	IX86_BUILTIN_VFNMSUBPS256_MASK, IX86_BUILTIN_VFNMSUBPS256_MASK3,
	IX86_BUILTIN_VFNMSUBPS128_MASK, IX86_BUILTIN_VFNMSUBPS128_MASK3,
	IX86_BUILTIN_VFMADDSUBPD256_MASK, IX86_BUILTIN_VFMADDSUBPD256_MASK3,
	IX86_BUILTIN_VFMADDSUBPD256_MASKZ, IX86_BUILTIN_VFMADDSUBPD128_MASK,
	IX86_BUILTIN_VFMADDSUBPD128_MASK3, IX86_BUILTIN_VFMADDSUBPD128_MASKZ,
	IX86_BUILTIN_VFMADDSUBPS256_MASK, IX86_BUILTIN_VFMADDSUBPS256_MASK3,
	IX86_BUILTIN_VFMADDSUBPS256_MASKZ, IX86_BUILTIN_VFMADDSUBPS128_MASK,
	IX86_BUILTIN_VFMADDSUBPS128_MASK3, IX86_BUILTIN_VFMADDSUBPS128_MASKZ,
	IX86_BUILTIN_VFMSUBADDPD256_MASK3, IX86_BUILTIN_VFMSUBADDPD128_MASK3,
	IX86_BUILTIN_VFMSUBADDPS256_MASK3, IX86_BUILTIN_VFMSUBADDPS128_MASK3,
	IX86_BUILTIN_INSERTF64X2_256, IX86_BUILTIN_INSERTI64X2_256,
	IX86_BUILTIN_PSRAVV16HI, IX86_BUILTIN_PSRAVV8HI,
	IX86_BUILTIN_PMADDUBSW256_MASK, IX86_BUILTIN_PMADDUBSW128_MASK,
	IX86_BUILTIN_PMADDWD256_MASK, IX86_BUILTIN_PMADDWD128_MASK,
	IX86_BUILTIN_PSRLVV16HI, IX86_BUILTIN_PSRLVV8HI,
	IX86_BUILTIN_CVTPS2DQ256_MASK, IX86_BUILTIN_CVTPS2DQ128_MASK,
	IX86_BUILTIN_CVTPS2UDQ256, IX86_BUILTIN_CVTPS2UDQ128,
	IX86_BUILTIN_CVTPS2QQ256, IX86_BUILTIN_CVTPS2QQ128,
	IX86_BUILTIN_CVTPS2UQQ256, IX86_BUILTIN_CVTPS2UQQ128,
	IX86_BUILTIN_GETMANTPS256, IX86_BUILTIN_GETMANTPS128,
	IX86_BUILTIN_GETMANTPD256, IX86_BUILTIN_GETMANTPD128,
	IX86_BUILTIN_MOVDDUP256_MASK, IX86_BUILTIN_MOVDDUP128_MASK,
	IX86_BUILTIN_MOVSHDUP256_MASK, IX86_BUILTIN_MOVSHDUP128_MASK,
	IX86_BUILTIN_MOVSLDUP256_MASK, IX86_BUILTIN_MOVSLDUP128_MASK,
	IX86_BUILTIN_CVTQQ2PS256, IX86_BUILTIN_CVTQQ2PS128,
	IX86_BUILTIN_CVTUQQ2PS256, IX86_BUILTIN_CVTUQQ2PS128,
	IX86_BUILTIN_CVTQQ2PD256, IX86_BUILTIN_CVTQQ2PD128,
	IX86_BUILTIN_CVTUQQ2PD256, IX86_BUILTIN_CVTUQQ2PD128,
	IX86_BUILTIN_VPERMT2VARQ256, IX86_BUILTIN_VPERMT2VARQ256_MASKZ,
	IX86_BUILTIN_VPERMT2VARD256, IX86_BUILTIN_VPERMT2VARD256_MASKZ,
	IX86_BUILTIN_VPERMI2VARQ256, IX86_BUILTIN_VPERMI2VARD256,
	IX86_BUILTIN_VPERMT2VARPD256, IX86_BUILTIN_VPERMT2VARPD256_MASKZ,
	IX86_BUILTIN_VPERMT2VARPS256, IX86_BUILTIN_VPERMT2VARPS256_MASKZ,
	IX86_BUILTIN_VPERMI2VARPD256, IX86_BUILTIN_VPERMI2VARPS256,
	IX86_BUILTIN_VPERMT2VARQ128, IX86_BUILTIN_VPERMT2VARQ128_MASKZ,
	IX86_BUILTIN_VPERMT2VARD128, IX86_BUILTIN_VPERMT2VARD128_MASKZ,
	IX86_BUILTIN_VPERMI2VARQ128, IX86_BUILTIN_VPERMI2VARD128,
	IX86_BUILTIN_VPERMT2VARPD128, IX86_BUILTIN_VPERMT2VARPD128_MASKZ,
	IX86_BUILTIN_VPERMT2VARPS128, IX86_BUILTIN_VPERMT2VARPS128_MASKZ,
	IX86_BUILTIN_VPERMI2VARPD128, IX86_BUILTIN_VPERMI2VARPS128,
	IX86_BUILTIN_PSHUFB256_MASK, IX86_BUILTIN_PSHUFB128_MASK,
	IX86_BUILTIN_PSHUFHW256_MASK, IX86_BUILTIN_PSHUFHW128_MASK,
	IX86_BUILTIN_PSHUFLW256_MASK, IX86_BUILTIN_PSHUFLW128_MASK,
	IX86_BUILTIN_PSHUFD256_MASK, IX86_BUILTIN_PSHUFD128_MASK,
	IX86_BUILTIN_SHUFPD256_MASK, IX86_BUILTIN_SHUFPD128_MASK,
	IX86_BUILTIN_SHUFPS256_MASK, IX86_BUILTIN_SHUFPS128_MASK,
	IX86_BUILTIN_PROLVQ256, IX86_BUILTIN_PROLVQ128,
	IX86_BUILTIN_PROLQ256, IX86_BUILTIN_PROLQ128,
	IX86_BUILTIN_PRORVQ256, IX86_BUILTIN_PRORVQ128,
	IX86_BUILTIN_PRORQ256, IX86_BUILTIN_PRORQ128,
	IX86_BUILTIN_PSRAVQ128, IX86_BUILTIN_PSRAVQ256,
	IX86_BUILTIN_PSLLVV4DI_MASK, IX86_BUILTIN_PSLLVV2DI_MASK,
	IX86_BUILTIN_PSLLVV8SI_MASK, IX86_BUILTIN_PSLLVV4SI_MASK,
	IX86_BUILTIN_PSRAVV8SI_MASK, IX86_BUILTIN_PSRAVV4SI_MASK,
	IX86_BUILTIN_PSRLVV4DI_MASK, IX86_BUILTIN_PSRLVV2DI_MASK,
	IX86_BUILTIN_PSRLVV8SI_MASK, IX86_BUILTIN_PSRLVV4SI_MASK,
	IX86_BUILTIN_PSRAWI256_MASK, IX86_BUILTIN_PSRAW256_MASK,
	IX86_BUILTIN_PSRAWI128_MASK, IX86_BUILTIN_PSRAW128_MASK,
	IX86_BUILTIN_PSRLWI256_MASK, IX86_BUILTIN_PSRLW256_MASK,
	IX86_BUILTIN_PSRLWI128_MASK, IX86_BUILTIN_PSRLW128_MASK,
	IX86_BUILTIN_PRORVD256, IX86_BUILTIN_PROLVD256,
	IX86_BUILTIN_PRORD256, IX86_BUILTIN_PROLD256,
	IX86_BUILTIN_PRORVD128, IX86_BUILTIN_PROLVD128,
	IX86_BUILTIN_PRORD128, IX86_BUILTIN_PROLD128,
	IX86_BUILTIN_FPCLASSPD256, IX86_BUILTIN_FPCLASSPD128,
	IX86_BUILTIN_FPCLASSSD, IX86_BUILTIN_FPCLASSPS256,
	IX86_BUILTIN_FPCLASSPS128, IX86_BUILTIN_FPCLASSSS,
	IX86_BUILTIN_CVTB2MASK128, IX86_BUILTIN_CVTB2MASK256,
	IX86_BUILTIN_CVTW2MASK128, IX86_BUILTIN_CVTW2MASK256,
	IX86_BUILTIN_CVTD2MASK128, IX86_BUILTIN_CVTD2MASK256,
	IX86_BUILTIN_CVTQ2MASK128, IX86_BUILTIN_CVTQ2MASK256,
	IX86_BUILTIN_CVTMASK2B128, IX86_BUILTIN_CVTMASK2B256,
	IX86_BUILTIN_CVTMASK2W128, IX86_BUILTIN_CVTMASK2W256,
	IX86_BUILTIN_CVTMASK2D128, IX86_BUILTIN_CVTMASK2D256,
	IX86_BUILTIN_CVTMASK2Q128, IX86_BUILTIN_CVTMASK2Q256,
	IX86_BUILTIN_PCMPEQB128_MASK, IX86_BUILTIN_PCMPEQB256_MASK,
	IX86_BUILTIN_PCMPEQW128_MASK, IX86_BUILTIN_PCMPEQW256_MASK,
	IX86_BUILTIN_PCMPEQD128_MASK, IX86_BUILTIN_PCMPEQD256_MASK,
	IX86_BUILTIN_PCMPEQQ128_MASK, IX86_BUILTIN_PCMPEQQ256_MASK,
	IX86_BUILTIN_PCMPGTB128_MASK, IX86_BUILTIN_PCMPGTB256_MASK,
	IX86_BUILTIN_PCMPGTW128_MASK, IX86_BUILTIN_PCMPGTW256_MASK,
	IX86_BUILTIN_PCMPGTD128_MASK, IX86_BUILTIN_PCMPGTD256_MASK,
	IX86_BUILTIN_PCMPGTQ128_MASK, IX86_BUILTIN_PCMPGTQ256_MASK,
	IX86_BUILTIN_PTESTMB128, IX86_BUILTIN_PTESTMB256,
	IX86_BUILTIN_PTESTMW128, IX86_BUILTIN_PTESTMW256,
	IX86_BUILTIN_PTESTMD128, IX86_BUILTIN_PTESTMD256,
	IX86_BUILTIN_PTESTMQ128, IX86_BUILTIN_PTESTMQ256,
	IX86_BUILTIN_PTESTNMB128, IX86_BUILTIN_PTESTNMB256,
	IX86_BUILTIN_PTESTNMW128, IX86_BUILTIN_PTESTNMW256,
	IX86_BUILTIN_PTESTNMD128, IX86_BUILTIN_PTESTNMD256,
	IX86_BUILTIN_PTESTNMQ128, IX86_BUILTIN_PTESTNMQ256,
	IX86_BUILTIN_PBROADCASTMB128, IX86_BUILTIN_PBROADCASTMB256,
	IX86_BUILTIN_PBROADCASTMW128, IX86_BUILTIN_PBROADCASTMW256,
	IX86_BUILTIN_COMPRESSPD256, IX86_BUILTIN_COMPRESSPD128,
	IX86_BUILTIN_COMPRESSPS256, IX86_BUILTIN_COMPRESSPS128,
	IX86_BUILTIN_PCOMPRESSQ256, IX86_BUILTIN_PCOMPRESSQ128,
	IX86_BUILTIN_PCOMPRESSD256, IX86_BUILTIN_PCOMPRESSD128,
	IX86_BUILTIN_EXPANDPD256, IX86_BUILTIN_EXPANDPD128,
	IX86_BUILTIN_EXPANDPS256, IX86_BUILTIN_EXPANDPS128,
	IX86_BUILTIN_PEXPANDQ256, IX86_BUILTIN_PEXPANDQ128,
	IX86_BUILTIN_PEXPANDD256, IX86_BUILTIN_PEXPANDD128,
	IX86_BUILTIN_EXPANDPD256Z, IX86_BUILTIN_EXPANDPD128Z,
	IX86_BUILTIN_EXPANDPS256Z, IX86_BUILTIN_EXPANDPS128Z,
	IX86_BUILTIN_PEXPANDQ256Z, IX86_BUILTIN_PEXPANDQ128Z,
	IX86_BUILTIN_PEXPANDD256Z, IX86_BUILTIN_PEXPANDD128Z,
	IX86_BUILTIN_PMAXSD256_MASK, IX86_BUILTIN_PMINSD256_MASK,
	IX86_BUILTIN_PMAXUD256_MASK, IX86_BUILTIN_PMINUD256_MASK,
	IX86_BUILTIN_PMAXSD128_MASK, IX86_BUILTIN_PMINSD128_MASK,
	IX86_BUILTIN_PMAXUD128_MASK, IX86_BUILTIN_PMINUD128_MASK,
	IX86_BUILTIN_PMAXSQ256_MASK, IX86_BUILTIN_PMINSQ256_MASK,
	IX86_BUILTIN_PMAXUQ256_MASK, IX86_BUILTIN_PMINUQ256_MASK,
	IX86_BUILTIN_PMAXSQ128_MASK, IX86_BUILTIN_PMINSQ128_MASK,
	IX86_BUILTIN_PMAXUQ128_MASK, IX86_BUILTIN_PMINUQ128_MASK,
	IX86_BUILTIN_PMINSB256_MASK, IX86_BUILTIN_PMINUB256_MASK,
	IX86_BUILTIN_PMAXSB256_MASK, IX86_BUILTIN_PMAXUB256_MASK,
	IX86_BUILTIN_PMINSB128_MASK, IX86_BUILTIN_PMINUB128_MASK,
	IX86_BUILTIN_PMAXSB128_MASK, IX86_BUILTIN_PMAXUB128_MASK,
	IX86_BUILTIN_PMINSW256_MASK, IX86_BUILTIN_PMINUW256_MASK,
	IX86_BUILTIN_PMAXSW256_MASK, IX86_BUILTIN_PMAXUW256_MASK,
	IX86_BUILTIN_PMINSW128_MASK, IX86_BUILTIN_PMINUW128_MASK,
	IX86_BUILTIN_PMAXSW128_MASK, IX86_BUILTIN_PMAXUW128_MASK,
	IX86_BUILTIN_VPCONFLICTQ256, IX86_BUILTIN_VPCONFLICTD256,
	IX86_BUILTIN_VPCLZCNTQ256, IX86_BUILTIN_VPCLZCNTD256,
	IX86_BUILTIN_UNPCKHPD256_MASK, IX86_BUILTIN_UNPCKHPD128_MASK,
	IX86_BUILTIN_UNPCKHPS256_MASK, IX86_BUILTIN_UNPCKHPS128_MASK,
	IX86_BUILTIN_UNPCKLPD256_MASK, IX86_BUILTIN_UNPCKLPD128_MASK,
	IX86_BUILTIN_UNPCKLPS256_MASK, IX86_BUILTIN_VPCONFLICTQ128,
	IX86_BUILTIN_VPCONFLICTD128, IX86_BUILTIN_VPCLZCNTQ128,
	IX86_BUILTIN_VPCLZCNTD128, IX86_BUILTIN_UNPCKLPS128_MASK,
	IX86_BUILTIN_ALIGND256, IX86_BUILTIN_ALIGNQ256,
	IX86_BUILTIN_ALIGND128, IX86_BUILTIN_ALIGNQ128,
	IX86_BUILTIN_CVTPS2PH256_MASK, IX86_BUILTIN_CVTPS2PH_MASK,
	IX86_BUILTIN_CVTPH2PS_MASK, IX86_BUILTIN_CVTPH2PS256_MASK,
	IX86_BUILTIN_PUNPCKHDQ128_MASK, IX86_BUILTIN_PUNPCKHDQ256_MASK,
	IX86_BUILTIN_PUNPCKHQDQ128_MASK, IX86_BUILTIN_PUNPCKHQDQ256_MASK,
	IX86_BUILTIN_PUNPCKLDQ128_MASK, IX86_BUILTIN_PUNPCKLDQ256_MASK,
	IX86_BUILTIN_PUNPCKLQDQ128_MASK, IX86_BUILTIN_PUNPCKLQDQ256_MASK,
	IX86_BUILTIN_PUNPCKHBW128_MASK, IX86_BUILTIN_PUNPCKHBW256_MASK,
	IX86_BUILTIN_PUNPCKHWD128_MASK, IX86_BUILTIN_PUNPCKHWD256_MASK,
	IX86_BUILTIN_PUNPCKLBW128_MASK, IX86_BUILTIN_PUNPCKLBW256_MASK,
	IX86_BUILTIN_PUNPCKLWD128_MASK, IX86_BUILTIN_PUNPCKLWD256_MASK,
	IX86_BUILTIN_PSLLVV16HI, IX86_BUILTIN_PSLLVV8HI,
	IX86_BUILTIN_PACKSSDW256_MASK, IX86_BUILTIN_PACKSSDW128_MASK,
	IX86_BUILTIN_PACKUSDW256_MASK, IX86_BUILTIN_PACKUSDW128_MASK,
	IX86_BUILTIN_PAVGB256_MASK, IX86_BUILTIN_PAVGW256_MASK,
	IX86_BUILTIN_PAVGB128_MASK, IX86_BUILTIN_PAVGW128_MASK,
	IX86_BUILTIN_VPERMVARSF256_MASK, IX86_BUILTIN_VPERMVARDF256_MASK,
	IX86_BUILTIN_VPERMDF256_MASK, IX86_BUILTIN_PABSB256_MASK,
	IX86_BUILTIN_PABSB128_MASK, IX86_BUILTIN_PABSW256_MASK,
	IX86_BUILTIN_PABSW128_MASK, IX86_BUILTIN_VPERMILVARPD_MASK,
	IX86_BUILTIN_VPERMILVARPS_MASK, IX86_BUILTIN_VPERMILVARPD256_MASK,
	IX86_BUILTIN_VPERMILVARPS256_MASK, IX86_BUILTIN_VPERMILPD_MASK,
	IX86_BUILTIN_VPERMILPS_MASK, IX86_BUILTIN_VPERMILPD256_MASK,
	IX86_BUILTIN_VPERMILPS256_MASK, IX86_BUILTIN_BLENDMQ256,
	IX86_BUILTIN_BLENDMD256, IX86_BUILTIN_BLENDMPD256,
	IX86_BUILTIN_BLENDMPS256, IX86_BUILTIN_BLENDMQ128,
	IX86_BUILTIN_BLENDMD128, IX86_BUILTIN_BLENDMPD128,
	IX86_BUILTIN_BLENDMPS128, IX86_BUILTIN_BLENDMW256,
	IX86_BUILTIN_BLENDMB256, IX86_BUILTIN_BLENDMW128,
	IX86_BUILTIN_BLENDMB128, IX86_BUILTIN_PMULLD256_MASK,
	IX86_BUILTIN_PMULLD128_MASK, IX86_BUILTIN_PMULUDQ256_MASK,
	IX86_BUILTIN_PMULDQ256_MASK, IX86_BUILTIN_PMULDQ128_MASK,
	IX86_BUILTIN_PMULUDQ128_MASK, IX86_BUILTIN_CVTPD2PS256_MASK,
	IX86_BUILTIN_CVTPD2PS_MASK, IX86_BUILTIN_VPERMVARSI256_MASK,
	IX86_BUILTIN_VPERMVARDI256_MASK, IX86_BUILTIN_VPERMDI256_MASK,
	IX86_BUILTIN_CMPQ256, IX86_BUILTIN_CMPD256,
	IX86_BUILTIN_UCMPQ256, IX86_BUILTIN_UCMPD256,
	IX86_BUILTIN_CMPB256, IX86_BUILTIN_CMPW256,
	IX86_BUILTIN_UCMPB256, IX86_BUILTIN_UCMPW256,
	IX86_BUILTIN_CMPPD256_MASK, IX86_BUILTIN_CMPPS256_MASK,
	IX86_BUILTIN_CMPQ128, IX86_BUILTIN_CMPD128,
	IX86_BUILTIN_UCMPQ128, IX86_BUILTIN_UCMPD128,
	IX86_BUILTIN_CMPB128, IX86_BUILTIN_CMPW128,
	IX86_BUILTIN_UCMPB128, IX86_BUILTIN_UCMPW128,
	IX86_BUILTIN_CMPPD128_MASK, IX86_BUILTIN_CMPPS128_MASK,
	IX86_BUILTIN_GATHER3SIV8SF, IX86_BUILTIN_GATHER3SIV4SF,
	IX86_BUILTIN_GATHER3SIV4DF, IX86_BUILTIN_GATHER3SIV2DF,
	IX86_BUILTIN_GATHER3DIV8SF, IX86_BUILTIN_GATHER3DIV4SF,
	IX86_BUILTIN_GATHER3DIV4DF, IX86_BUILTIN_GATHER3DIV2DF,
	IX86_BUILTIN_GATHER3SIV8SI, IX86_BUILTIN_GATHER3SIV4SI,
	IX86_BUILTIN_GATHER3SIV4DI, IX86_BUILTIN_GATHER3SIV2DI,
	IX86_BUILTIN_GATHER3DIV8SI, IX86_BUILTIN_GATHER3DIV4SI,
	IX86_BUILTIN_GATHER3DIV4DI, IX86_BUILTIN_GATHER3DIV2DI,
	IX86_BUILTIN_SCATTERSIV8SF, IX86_BUILTIN_SCATTERSIV4SF,
	IX86_BUILTIN_SCATTERSIV4DF, IX86_BUILTIN_SCATTERSIV2DF,
	IX86_BUILTIN_SCATTERDIV8SF, IX86_BUILTIN_SCATTERDIV4SF,
	IX86_BUILTIN_SCATTERDIV4DF, IX86_BUILTIN_SCATTERDIV2DF,
	IX86_BUILTIN_SCATTERSIV8SI, IX86_BUILTIN_SCATTERSIV4SI,
	IX86_BUILTIN_SCATTERSIV4DI, IX86_BUILTIN_SCATTERSIV2DI,
	IX86_BUILTIN_SCATTERDIV8SI, IX86_BUILTIN_SCATTERDIV4SI,
	IX86_BUILTIN_SCATTERDIV4DI, IX86_BUILTIN_SCATTERDIV2DI,
	IX86_BUILTIN_RANGESD128, IX86_BUILTIN_RANGESS128,
	IX86_BUILTIN_KUNPCKWD, IX86_BUILTIN_KUNPCKDQ,
	IX86_BUILTIN_BROADCASTF32x2_512, IX86_BUILTIN_BROADCASTI32x2_512,
	IX86_BUILTIN_BROADCASTF64X2_512, IX86_BUILTIN_BROADCASTI64X2_512,
	IX86_BUILTIN_BROADCASTF32X8_512, IX86_BUILTIN_BROADCASTI32X8_512,
	IX86_BUILTIN_EXTRACTF64X2_512, IX86_BUILTIN_EXTRACTF32X8,
	IX86_BUILTIN_EXTRACTI64X2_512, IX86_BUILTIN_EXTRACTI32X8,
	IX86_BUILTIN_REDUCEPD512_MASK, IX86_BUILTIN_REDUCEPS512_MASK,
	IX86_BUILTIN_PMULLQ512, IX86_BUILTIN_XORPD512,
	IX86_BUILTIN_XORPS512, IX86_BUILTIN_ORPD512,
	IX86_BUILTIN_ORPS512, IX86_BUILTIN_ANDPD512,
	IX86_BUILTIN_ANDPS512, IX86_BUILTIN_ANDNPD512,
	IX86_BUILTIN_ANDNPS512, IX86_BUILTIN_INSERTF32X8,
	IX86_BUILTIN_INSERTI32X8, IX86_BUILTIN_INSERTF64X2_512,
	IX86_BUILTIN_INSERTI64X2_512, IX86_BUILTIN_FPCLASSPD512,
	IX86_BUILTIN_FPCLASSPS512, IX86_BUILTIN_CVTD2MASK512,
	IX86_BUILTIN_CVTQ2MASK512, IX86_BUILTIN_CVTMASK2D512,
	IX86_BUILTIN_CVTMASK2Q512, IX86_BUILTIN_CVTPD2QQ512,
	IX86_BUILTIN_CVTPS2QQ512, IX86_BUILTIN_CVTPD2UQQ512,
	IX86_BUILTIN_CVTPS2UQQ512, IX86_BUILTIN_CVTQQ2PS512,
	IX86_BUILTIN_CVTUQQ2PS512, IX86_BUILTIN_CVTQQ2PD512,
	IX86_BUILTIN_CVTUQQ2PD512, IX86_BUILTIN_CVTTPS2QQ512,
	IX86_BUILTIN_CVTTPS2UQQ512, IX86_BUILTIN_CVTTPD2QQ512,
	IX86_BUILTIN_CVTTPD2UQQ512, IX86_BUILTIN_RANGEPS512,
	IX86_BUILTIN_RANGEPD512, IX86_BUILTIN_PACKUSDW512,
	IX86_BUILTIN_PACKSSDW512, IX86_BUILTIN_LOADDQUHI512_MASK,
	IX86_BUILTIN_LOADDQUQI512_MASK, IX86_BUILTIN_PSLLDQ512,
	IX86_BUILTIN_PSRLDQ512, IX86_BUILTIN_STOREDQUHI512_MASK,
	IX86_BUILTIN_STOREDQUQI512_MASK, IX86_BUILTIN_PALIGNR512,
	IX86_BUILTIN_PALIGNR512_MASK, IX86_BUILTIN_MOVDQUHI512_MASK,
	IX86_BUILTIN_MOVDQUQI512_MASK, IX86_BUILTIN_PSADBW512,
	IX86_BUILTIN_DBPSADBW512, IX86_BUILTIN_PBROADCASTB512,
	IX86_BUILTIN_PBROADCASTB512_GPR, IX86_BUILTIN_PBROADCASTW512,
	IX86_BUILTIN_PBROADCASTW512_GPR, IX86_BUILTIN_PMOVSXBW512_MASK,
	IX86_BUILTIN_PMOVZXBW512_MASK, IX86_BUILTIN_VPERMVARHI512_MASK,
	IX86_BUILTIN_VPERMT2VARHI512, IX86_BUILTIN_VPERMT2VARHI512_MASKZ,
	IX86_BUILTIN_VPERMI2VARHI512, IX86_BUILTIN_PAVGB512,
	IX86_BUILTIN_PAVGW512, IX86_BUILTIN_PADDB512,
	IX86_BUILTIN_PSUBB512, IX86_BUILTIN_PSUBSB512,
	IX86_BUILTIN_PADDSB512, IX86_BUILTIN_PSUBUSB512,
	IX86_BUILTIN_PADDUSB512, IX86_BUILTIN_PSUBW512,
	IX86_BUILTIN_PADDW512, IX86_BUILTIN_PSUBSW512,
	IX86_BUILTIN_PADDSW512, IX86_BUILTIN_PSUBUSW512,
	IX86_BUILTIN_PADDUSW512, IX86_BUILTIN_PMAXUW512,
	IX86_BUILTIN_PMAXSW512, IX86_BUILTIN_PMINUW512,
	IX86_BUILTIN_PMINSW512, IX86_BUILTIN_PMAXUB512,
	IX86_BUILTIN_PMAXSB512, IX86_BUILTIN_PMINUB512,
	IX86_BUILTIN_PMINSB512, IX86_BUILTIN_PMOVWB512,
	IX86_BUILTIN_PMOVSWB512, IX86_BUILTIN_PMOVUSWB512,
	IX86_BUILTIN_PMULHRSW512_MASK, IX86_BUILTIN_PMULHUW512_MASK,
	IX86_BUILTIN_PMULHW512_MASK, IX86_BUILTIN_PMULLW512_MASK,
	IX86_BUILTIN_PSLLWI512_MASK, IX86_BUILTIN_PSLLW512_MASK,
	IX86_BUILTIN_PACKSSWB512, IX86_BUILTIN_PACKUSWB512,
	IX86_BUILTIN_PSRAVV32HI, IX86_BUILTIN_PMADDUBSW512_MASK,
	IX86_BUILTIN_PMADDWD512_MASK, IX86_BUILTIN_PSRLVV32HI,
	IX86_BUILTIN_PUNPCKHBW512, IX86_BUILTIN_PUNPCKHWD512,
	IX86_BUILTIN_PUNPCKLBW512, IX86_BUILTIN_PUNPCKLWD512,
	IX86_BUILTIN_PSHUFB512, IX86_BUILTIN_PSHUFHW512,
	IX86_BUILTIN_PSHUFLW512, IX86_BUILTIN_PSRAWI512,
	IX86_BUILTIN_PSRAW512, IX86_BUILTIN_PSRLWI512,
	IX86_BUILTIN_PSRLW512, IX86_BUILTIN_CVTB2MASK512,
	IX86_BUILTIN_CVTW2MASK512, IX86_BUILTIN_CVTMASK2B512,
	IX86_BUILTIN_CVTMASK2W512, IX86_BUILTIN_PCMPEQB512_MASK,
	IX86_BUILTIN_PCMPEQW512_MASK, IX86_BUILTIN_PCMPGTB512_MASK,
	IX86_BUILTIN_PCMPGTW512_MASK, IX86_BUILTIN_PTESTMB512,
	IX86_BUILTIN_PTESTMW512, IX86_BUILTIN_PTESTNMB512,
	IX86_BUILTIN_PTESTNMW512, IX86_BUILTIN_PSLLVV32HI,
	IX86_BUILTIN_PABSB512, IX86_BUILTIN_PABSW512,
	IX86_BUILTIN_BLENDMW512, IX86_BUILTIN_BLENDMB512,
	IX86_BUILTIN_CMPB512, IX86_BUILTIN_CMPW512,
	IX86_BUILTIN_UCMPB512, IX86_BUILTIN_UCMPW512.
	(bdesc_special_args):
	Add __builtin_ia32_loaddquhi512_mask, __builtin_ia32_loaddquqi512_mask,
	__builtin_ia32_storedquhi512_mask, __builtin_ia32_storedquqi512_mask,
	__builtin_ia32_loaddquhi256_mask, __builtin_ia32_loaddquhi128_mask,
	__builtin_ia32_loaddquqi256_mask, __builtin_ia32_loaddquqi128_mask,
	__builtin_ia32_movdqa64load256_mask, __builtin_ia32_movdqa64load128_mask,
	__builtin_ia32_movdqa32load256_mask, __builtin_ia32_movdqa32load128_mask,
	__builtin_ia32_movdqa64store256_mask, __builtin_ia32_movdqa64store128_mask,
	__builtin_ia32_movdqa32store256_mask, __builtin_ia32_movdqa32store128_mask,
	__builtin_ia32_loadapd256_mask, __builtin_ia32_loadapd128_mask,
	__builtin_ia32_loadaps256_mask, __builtin_ia32_loadaps128_mask,
	__builtin_ia32_storeapd256_mask, __builtin_ia32_storeapd128_mask,
	__builtin_ia32_storeaps256_mask, __builtin_ia32_storeaps128_mask,
	__builtin_ia32_loadupd256_mask, __builtin_ia32_loadupd128_mask,
	__builtin_ia32_loadups256_mask, __builtin_ia32_loadups128_mask,
	__builtin_ia32_storeupd256_mask, __builtin_ia32_storeupd128_mask,
	__builtin_ia32_storeups256_mask, __builtin_ia32_storeups128_mask,
	__builtin_ia32_loaddqudi256_mask, __builtin_ia32_loaddqudi128_mask,
	__builtin_ia32_loaddqusi256_mask, __builtin_ia32_loaddqusi128_mask,
	__builtin_ia32_storedqudi256_mask, __builtin_ia32_storedqudi128_mask,
	__builtin_ia32_storedqusi256_mask, __builtin_ia32_storedqusi128_mask,
	__builtin_ia32_storedquhi256_mask, __builtin_ia32_storedquhi128_mask,
	__builtin_ia32_storedquqi256_mask, __builtin_ia32_storedquqi128_mask,
	__builtin_ia32_compressstoredf256_mask, __builtin_ia32_compressstoredf128_mask,
	__builtin_ia32_compressstoresf256_mask, __builtin_ia32_compressstoresf128_mask,
	__builtin_ia32_compressstoredi256_mask, __builtin_ia32_compressstoredi128_mask,
	__builtin_ia32_compressstoresi256_mask, __builtin_ia32_compressstoresi128_mask,
	__builtin_ia32_expandloaddf256_mask, __builtin_ia32_expandloaddf128_mask,
	__builtin_ia32_expandloadsf256_mask, __builtin_ia32_expandloadsf128_mask,
	__builtin_ia32_expandloaddi256_mask, __builtin_ia32_expandloaddi128_mask,
	__builtin_ia32_expandloadsi256_mask, __builtin_ia32_expandloadsi128_mask,
	__builtin_ia32_expandloaddf256_maskz, __builtin_ia32_expandloaddf128_maskz,
	__builtin_ia32_expandloadsf256_maskz, __builtin_ia32_expandloadsf128_maskz,
	__builtin_ia32_expandloaddi256_maskz, __builtin_ia32_expandloaddi128_maskz,
	__builtin_ia32_expandloadsi256_maskz, __builtin_ia32_expandloadsi128_maskz,
	__builtin_ia32_pmovqd256mem_mask, __builtin_ia32_pmovqd128mem_mask,
	__builtin_ia32_pmovsqd256mem_mask, __builtin_ia32_pmovsqd128mem_mask,
	__builtin_ia32_pmovusqd256mem_mask, __builtin_ia32_pmovusqd128mem_mask,
	__builtin_ia32_pmovqw256mem_mask, __builtin_ia32_pmovqw128mem_mask,
	__builtin_ia32_pmovsqw256mem_mask, __builtin_ia32_pmovsqw128mem_mask,
	__builtin_ia32_pmovusqw256mem_mask, __builtin_ia32_pmovusqw128mem_mask,
	__builtin_ia32_pmovqb256mem_mask, __builtin_ia32_pmovqb128mem_mask,
	__builtin_ia32_pmovsqb256mem_mask, __builtin_ia32_pmovsqb128mem_mask,
	__builtin_ia32_pmovusqb256mem_mask, __builtin_ia32_pmovusqb128mem_mask,
	__builtin_ia32_pmovdb256mem_mask, __builtin_ia32_pmovdb128mem_mask,
	__builtin_ia32_pmovsdb256mem_mask, __builtin_ia32_pmovsdb128mem_mask,
	__builtin_ia32_pmovusdb256mem_mask, __builtin_ia32_pmovusdb128mem_mask,
	__builtin_ia32_pmovdw256mem_mask, __builtin_ia32_pmovdw128mem_mask,
	__builtin_ia32_pmovsdw256mem_mask, __builtin_ia32_pmovsdw128mem_mask,
	__builtin_ia32_pmovusdw256mem_mask, __builtin_ia32_pmovusdw128mem_mask,
	__builtin_ia32_palignr256_mask, __builtin_ia32_palignr128_mask,
	__builtin_ia32_movdqa64_256_mask, __builtin_ia32_movdqa64_128_mask,
	__builtin_ia32_movdqa32_256_mask, __builtin_ia32_movdqa32_128_mask,
	__builtin_ia32_movapd256_mask, __builtin_ia32_movapd128_mask,
	__builtin_ia32_movaps256_mask, __builtin_ia32_movaps128_mask,
	__builtin_ia32_movdquhi256_mask, __builtin_ia32_movdquhi128_mask,
	__builtin_ia32_movdquqi256_mask, __builtin_ia32_movdquqi128_mask,
	__builtin_ia32_minps_mask, __builtin_ia32_maxps_mask,
	__builtin_ia32_minpd_mask, __builtin_ia32_maxpd_mask,
	__builtin_ia32_maxpd256_mask, __builtin_ia32_maxps256_mask,
	__builtin_ia32_minpd256_mask, __builtin_ia32_minps256_mask,
	__builtin_ia32_mulps_mask, __builtin_ia32_divps_mask,
	__builtin_ia32_mulpd_mask, __builtin_ia32_divpd_mask,
	__builtin_ia32_divpd256_mask, __builtin_ia32_divps256_mask,
	__builtin_ia32_mulpd256_mask, __builtin_ia32_mulps256_mask,
	__builtin_ia32_addpd128_mask, __builtin_ia32_addpd256_mask,
	__builtin_ia32_addps128_mask, __builtin_ia32_addps256_mask,
	__builtin_ia32_subpd128_mask, __builtin_ia32_subpd256_mask,
	__builtin_ia32_subps128_mask, __builtin_ia32_subps256_mask,
	__builtin_ia32_xorpd256_mask, __builtin_ia32_xorpd128_mask,
	__builtin_ia32_xorps256_mask, __builtin_ia32_xorps128_mask,
	__builtin_ia32_orpd256_mask, __builtin_ia32_orpd128_mask,
	__builtin_ia32_orps256_mask, __builtin_ia32_orps128_mask,
	__builtin_ia32_broadcastf32x2_256_mask, __builtin_ia32_broadcasti32x2_256_mask,
	__builtin_ia32_broadcasti32x2_128_mask, __builtin_ia32_broadcastf64x2_256_mask,
	__builtin_ia32_broadcasti64x2_256_mask, __builtin_ia32_broadcastf32x4_256_mask,
	__builtin_ia32_broadcasti32x4_256_mask, __builtin_ia32_extractf32x4_256_mask,
	__builtin_ia32_extracti32x4_256_mask, __builtin_ia32_dbpsadbw256_mask,
	__builtin_ia32_dbpsadbw128_mask, __builtin_ia32_cvttpd2qq256_mask,
	__builtin_ia32_cvttpd2qq128_mask, __builtin_ia32_cvttpd2uqq256_mask,
	__builtin_ia32_cvttpd2uqq128_mask, __builtin_ia32_cvtpd2qq256_mask,
	__builtin_ia32_cvtpd2qq128_mask, __builtin_ia32_cvtpd2uqq256_mask,
	__builtin_ia32_cvtpd2uqq128_mask, __builtin_ia32_cvtpd2udq256_mask,
	__builtin_ia32_cvtpd2udq128_mask, __builtin_ia32_cvttps2qq256_mask,
	__builtin_ia32_cvttps2qq128_mask, __builtin_ia32_cvttps2uqq256_mask,
	__builtin_ia32_cvttps2uqq128_mask, __builtin_ia32_cvttps2dq256_mask,
	__builtin_ia32_cvttps2dq128_mask, __builtin_ia32_cvttps2udq256_mask,
	__builtin_ia32_cvttps2udq128_mask, __builtin_ia32_cvttpd2dq256_mask,
	__builtin_ia32_cvttpd2dq128_mask, __builtin_ia32_cvttpd2udq256_mask,
	__builtin_ia32_cvttpd2udq128_mask, __builtin_ia32_cvtpd2dq256_mask,
	__builtin_ia32_cvtpd2dq128_mask, __builtin_ia32_cvtdq2pd256_mask,
	__builtin_ia32_cvtdq2pd128_mask, __builtin_ia32_cvtudq2pd256_mask,
	__builtin_ia32_cvtudq2pd128_mask, __builtin_ia32_cvtdq2ps256_mask,
	__builtin_ia32_cvtdq2ps128_mask, __builtin_ia32_cvtudq2ps256_mask,
	__builtin_ia32_cvtudq2ps128_mask, __builtin_ia32_cvtps2pd256_mask,
	__builtin_ia32_cvtps2pd128_mask, __builtin_ia32_pbroadcastb256_mask,
	__builtin_ia32_pbroadcastb256_gpr_mask, __builtin_ia32_pbroadcastb128_mask,
	__builtin_ia32_pbroadcastb128_gpr_mask, __builtin_ia32_pbroadcastw256_mask,
	__builtin_ia32_pbroadcastw256_gpr_mask, __builtin_ia32_pbroadcastw128_mask,
	__builtin_ia32_pbroadcastw128_gpr_mask, __builtin_ia32_pbroadcastd256_mask,
	__builtin_ia32_pbroadcastd256_gpr_mask, __builtin_ia32_pbroadcastd128_mask,
	__builtin_ia32_pbroadcastd128_gpr_mask, __builtin_ia32_pbroadcastq256_mask,
	__builtin_ia32_pbroadcastq256_gpr_mask, __builtin_ia32_pbroadcastq256_mem_mask,
	__builtin_ia32_pbroadcastq128_mask, __builtin_ia32_pbroadcastq128_gpr_mask,
	__builtin_ia32_pbroadcastq128_mem_mask, __builtin_ia32_broadcastss256_mask,
	__builtin_ia32_broadcastss128_mask, __builtin_ia32_broadcastsd256_mask,
	__builtin_ia32_extractf64x2_256_mask, __builtin_ia32_extracti64x2_256_mask,
	__builtin_ia32_insertf32x4_256_mask, __builtin_ia32_inserti32x4_256_mask,
	__builtin_ia32_pmovsxbw256_mask, __builtin_ia32_pmovsxbw128_mask,
	__builtin_ia32_pmovsxbd256_mask, __builtin_ia32_pmovsxbd128_mask,
	__builtin_ia32_pmovsxbq256_mask, __builtin_ia32_pmovsxbq128_mask,
	__builtin_ia32_pmovsxwd256_mask, __builtin_ia32_pmovsxwd128_mask,
	__builtin_ia32_pmovsxwq256_mask, __builtin_ia32_pmovsxwq128_mask,
	__builtin_ia32_pmovsxdq256_mask, __builtin_ia32_pmovsxdq128_mask,
	__builtin_ia32_pmovzxbw256_mask, __builtin_ia32_pmovzxbw128_mask,
	__builtin_ia32_pmovzxbd256_mask, __builtin_ia32_pmovzxbd128_mask,
	__builtin_ia32_pmovzxbq256_mask, __builtin_ia32_pmovzxbq128_mask,
	__builtin_ia32_pmovzxwd256_mask, __builtin_ia32_pmovzxwd128_mask,
	__builtin_ia32_pmovzxwq256_mask, __builtin_ia32_pmovzxwq128_mask,
	__builtin_ia32_pmovzxdq256_mask, __builtin_ia32_pmovzxdq128_mask,
	__builtin_ia32_reducepd256_mask, __builtin_ia32_reducepd128_mask,
	__builtin_ia32_reduceps256_mask, __builtin_ia32_reduceps128_mask,
	__builtin_ia32_reducesd, __builtin_ia32_reducess,
	__builtin_ia32_permvarhi256_mask, __builtin_ia32_permvarhi128_mask,
	__builtin_ia32_vpermt2varhi256_mask, __builtin_ia32_vpermt2varhi256_maskz,
	__builtin_ia32_vpermt2varhi128_mask, __builtin_ia32_vpermt2varhi128_maskz,
	__builtin_ia32_vpermi2varhi256_mask, __builtin_ia32_vpermi2varhi128_mask,
	__builtin_ia32_rcp14pd256_mask, __builtin_ia32_rcp14pd128_mask,
	__builtin_ia32_rcp14ps256_mask, __builtin_ia32_rcp14ps128_mask,
	__builtin_ia32_rsqrt14pd256_mask, __builtin_ia32_rsqrt14pd128_mask,
	__builtin_ia32_rsqrt14ps256_mask, __builtin_ia32_rsqrt14ps128_mask,
	__builtin_ia32_sqrtpd256_mask, __builtin_ia32_sqrtpd128_mask,
	__builtin_ia32_sqrtps256_mask, __builtin_ia32_sqrtps128_mask,
	__builtin_ia32_paddb128_mask, __builtin_ia32_paddw128_mask,
	__builtin_ia32_paddd128_mask, __builtin_ia32_paddq128_mask,
	__builtin_ia32_psubb128_mask, __builtin_ia32_psubw128_mask,
	__builtin_ia32_psubd128_mask, __builtin_ia32_psubq128_mask,
	__builtin_ia32_paddsb128_mask, __builtin_ia32_paddsw128_mask,
	__builtin_ia32_psubsb128_mask, __builtin_ia32_psubsw128_mask,
	__builtin_ia32_paddusb128_mask, __builtin_ia32_paddusw128_mask,
	__builtin_ia32_psubusb128_mask, __builtin_ia32_psubusw128_mask,
	__builtin_ia32_paddb256_mask, __builtin_ia32_paddw256_mask,
	__builtin_ia32_paddd256_mask, __builtin_ia32_paddq256_mask,
	__builtin_ia32_paddsb256_mask, __builtin_ia32_paddsw256_mask,
	__builtin_ia32_paddusb256_mask, __builtin_ia32_paddusw256_mask,
	__builtin_ia32_psubb256_mask, __builtin_ia32_psubw256_mask,
	__builtin_ia32_psubd256_mask, __builtin_ia32_psubq256_mask,
	__builtin_ia32_psubsb256_mask, __builtin_ia32_psubsw256_mask,
	__builtin_ia32_psubusb256_mask, __builtin_ia32_psubusw256_mask,
	__builtin_ia32_shuf_f64x2_256_mask, __builtin_ia32_shuf_i64x2_256_mask,
	__builtin_ia32_shuf_i32x4_256_mask, __builtin_ia32_shuf_f32x4_256_mask,
	__builtin_ia32_pmovwb128_mask, __builtin_ia32_pmovwb256_mask,
	__builtin_ia32_pmovswb128_mask, __builtin_ia32_pmovswb256_mask,
	__builtin_ia32_pmovuswb128_mask, __builtin_ia32_pmovuswb256_mask,
	__builtin_ia32_pmovdb128_mask, __builtin_ia32_pmovdb256_mask,
	__builtin_ia32_pmovsdb128_mask, __builtin_ia32_pmovsdb256_mask,
	__builtin_ia32_pmovusdb128_mask, __builtin_ia32_pmovusdb256_mask,
	__builtin_ia32_pmovdw128_mask, __builtin_ia32_pmovdw256_mask,
	__builtin_ia32_pmovsdw128_mask, __builtin_ia32_pmovsdw256_mask,
	__builtin_ia32_pmovusdw128_mask, __builtin_ia32_pmovusdw256_mask,
	__builtin_ia32_pmovqb128_mask, __builtin_ia32_pmovqb256_mask,
	__builtin_ia32_pmovsqb128_mask, __builtin_ia32_pmovsqb256_mask,
	__builtin_ia32_pmovusqb128_mask, __builtin_ia32_pmovusqb256_mask,
	__builtin_ia32_pmovqw128_mask, __builtin_ia32_pmovqw256_mask,
	__builtin_ia32_pmovsqw128_mask, __builtin_ia32_pmovsqw256_mask,
	__builtin_ia32_pmovusqw128_mask, __builtin_ia32_pmovusqw256_mask,
	__builtin_ia32_pmovqd128_mask, __builtin_ia32_pmovqd256_mask,
	__builtin_ia32_pmovsqd128_mask, __builtin_ia32_pmovsqd256_mask,
	__builtin_ia32_pmovusqd128_mask, __builtin_ia32_pmovusqd256_mask,
	__builtin_ia32_rangepd256_mask, __builtin_ia32_rangepd128_mask,
	__builtin_ia32_rangeps256_mask, __builtin_ia32_rangeps128_mask,
	__builtin_ia32_getexpps256_mask, __builtin_ia32_getexppd256_mask,
	__builtin_ia32_getexpps128_mask, __builtin_ia32_getexppd128_mask,
	__builtin_ia32_fixupimmpd256, __builtin_ia32_fixupimmpd256_mask,
	__builtin_ia32_fixupimmpd256_maskz, __builtin_ia32_fixupimmps256,
	__builtin_ia32_fixupimmps256_mask, __builtin_ia32_fixupimmps256_maskz,
	__builtin_ia32_fixupimmpd128, __builtin_ia32_fixupimmpd128_mask,
	__builtin_ia32_fixupimmpd128_maskz, __builtin_ia32_fixupimmps128,
	__builtin_ia32_fixupimmps128_mask, __builtin_ia32_fixupimmps128_maskz,
	__builtin_ia32_pabsq256_mask, __builtin_ia32_pabsq128_mask,
	__builtin_ia32_pabsd256_mask, __builtin_ia32_pabsd128_mask,
	__builtin_ia32_pmulhrsw256_mask, __builtin_ia32_pmulhrsw128_mask,
	__builtin_ia32_pmulhuw128_mask, __builtin_ia32_pmulhuw256_mask,
	__builtin_ia32_pmulhw256_mask, __builtin_ia32_pmulhw128_mask,
	__builtin_ia32_pmullw256_mask, __builtin_ia32_pmullw128_mask,
	__builtin_ia32_pmullq256_mask, __builtin_ia32_pmullq128_mask,
	__builtin_ia32_andpd256_mask, __builtin_ia32_andpd128_mask,
	__builtin_ia32_andps256_mask, __builtin_ia32_andps128_mask,
	__builtin_ia32_andnpd256_mask, __builtin_ia32_andnpd128_mask,
	__builtin_ia32_andnps256_mask, __builtin_ia32_andnps128_mask,
	__builtin_ia32_psllwi128_mask, __builtin_ia32_pslldi128_mask,
	__builtin_ia32_psllqi128_mask, __builtin_ia32_psllw128_mask,
	__builtin_ia32_pslld128_mask, __builtin_ia32_psllq128_mask,
	__builtin_ia32_psllwi256_mask, __builtin_ia32_psllw256_mask,
	__builtin_ia32_pslldi256_mask, __builtin_ia32_pslld256_mask,
	__builtin_ia32_psllqi256_mask, __builtin_ia32_psllq256_mask,
	__builtin_ia32_psradi128_mask, __builtin_ia32_psrad128_mask,
	__builtin_ia32_psradi256_mask, __builtin_ia32_psrad256_mask,
	__builtin_ia32_psraqi128_mask, __builtin_ia32_psraq128_mask,
	__builtin_ia32_psraqi256_mask, __builtin_ia32_psraq256_mask,
	__builtin_ia32_pandd256_mask, __builtin_ia32_pandd128_mask,
	__builtin_ia32_psrldi128_mask, __builtin_ia32_psrld128_mask,
	__builtin_ia32_psrldi256_mask, __builtin_ia32_psrld256_mask,
	__builtin_ia32_psrlqi128_mask, __builtin_ia32_psrlq128_mask,
	__builtin_ia32_psrlqi256_mask, __builtin_ia32_psrlq256_mask,
	__builtin_ia32_pandq256_mask, __builtin_ia32_pandq128_mask,
	__builtin_ia32_pandnd256_mask, __builtin_ia32_pandnd128_mask,
	__builtin_ia32_pandnq256_mask, __builtin_ia32_pandnq128_mask,
	__builtin_ia32_pord256_mask, __builtin_ia32_pord128_mask,
	__builtin_ia32_porq256_mask, __builtin_ia32_porq128_mask,
	__builtin_ia32_pxord256_mask, __builtin_ia32_pxord128_mask,
	__builtin_ia32_pxorq256_mask, __builtin_ia32_pxorq128_mask,
	__builtin_ia32_packsswb256_mask, __builtin_ia32_packsswb128_mask,
	__builtin_ia32_packuswb256_mask, __builtin_ia32_packuswb128_mask,
	__builtin_ia32_rndscaleps_256_mask, __builtin_ia32_rndscalepd_256_mask,
	__builtin_ia32_rndscaleps_128_mask, __builtin_ia32_rndscalepd_128_mask,
	__builtin_ia32_pternlogq256_mask, __builtin_ia32_pternlogq256_maskz,
	__builtin_ia32_pternlogd256_mask, __builtin_ia32_pternlogd256_maskz,
	__builtin_ia32_pternlogq128_mask, __builtin_ia32_pternlogq128_maskz,
	__builtin_ia32_pternlogd128_mask, __builtin_ia32_pternlogd128_maskz,
	__builtin_ia32_scalefpd256_mask, __builtin_ia32_scalefps256_mask,
	__builtin_ia32_scalefpd128_mask, __builtin_ia32_scalefps128_mask,
	__builtin_ia32_vfmaddpd256_mask, __builtin_ia32_vfmaddpd256_mask3,
	__builtin_ia32_vfmaddpd256_maskz, __builtin_ia32_vfmaddpd128_mask,
	__builtin_ia32_vfmaddpd128_mask3, __builtin_ia32_vfmaddpd128_maskz,
	__builtin_ia32_vfmaddps256_mask, __builtin_ia32_vfmaddps256_mask3,
	__builtin_ia32_vfmaddps256_maskz, __builtin_ia32_vfmaddps128_mask,
	__builtin_ia32_vfmaddps128_mask3, __builtin_ia32_vfmaddps128_maskz,
	__builtin_ia32_vfmsubpd256_mask3, __builtin_ia32_vfmsubpd128_mask3,
	__builtin_ia32_vfmsubps256_mask3, __builtin_ia32_vfmsubps128_mask3,
	__builtin_ia32_vfnmaddpd256_mask, __builtin_ia32_vfnmaddpd128_mask,
	__builtin_ia32_vfnmaddps256_mask, __builtin_ia32_vfnmaddps128_mask,
	__builtin_ia32_vfnmsubpd256_mask, __builtin_ia32_vfnmsubpd256_mask3,
	__builtin_ia32_vfnmsubpd128_mask, __builtin_ia32_vfnmsubpd128_mask3,
	__builtin_ia32_vfnmsubps256_mask, __builtin_ia32_vfnmsubps256_mask3,
	__builtin_ia32_vfnmsubps128_mask, __builtin_ia32_vfnmsubps128_mask3,
	__builtin_ia32_vfmaddsubpd256_mask, __builtin_ia32_vfmaddsubpd256_mask3,
	__builtin_ia32_vfmaddsubpd256_maskz, __builtin_ia32_vfmaddsubpd128_mask,
	__builtin_ia32_vfmaddsubpd128_mask3, __builtin_ia32_vfmaddsubpd128_maskz,
	__builtin_ia32_vfmaddsubps256_mask, __builtin_ia32_vfmaddsubps256_mask3,
	__builtin_ia32_vfmaddsubps256_maskz, __builtin_ia32_vfmaddsubps128_mask,
	__builtin_ia32_vfmaddsubps128_mask3, __builtin_ia32_vfmaddsubps128_maskz,
	__builtin_ia32_vfmsubaddpd256_mask3, __builtin_ia32_vfmsubaddpd128_mask3,
	__builtin_ia32_vfmsubaddps256_mask3, __builtin_ia32_vfmsubaddps128_mask3,
	__builtin_ia32_insertf64x2_256_mask, __builtin_ia32_inserti64x2_256_mask,
	__builtin_ia32_psrav16hi_mask, __builtin_ia32_psrav8hi_mask,
	__builtin_ia32_pmaddubsw256_mask, __builtin_ia32_pmaddubsw128_mask,
	__builtin_ia32_pmaddwd256_mask, __builtin_ia32_pmaddwd128_mask,
	__builtin_ia32_psrlv16hi_mask, __builtin_ia32_psrlv8hi_mask,
	__builtin_ia32_cvtps2dq256_mask, __builtin_ia32_cvtps2dq128_mask,
	__builtin_ia32_cvtps2udq256_mask, __builtin_ia32_cvtps2udq128_mask,
	__builtin_ia32_cvtps2qq256_mask, __builtin_ia32_cvtps2qq128_mask,
	__builtin_ia32_cvtps2uqq256_mask, __builtin_ia32_cvtps2uqq128_mask,
	__builtin_ia32_getmantps256_mask, __builtin_ia32_getmantps128_mask,
	__builtin_ia32_getmantpd256_mask, __builtin_ia32_getmantpd128_mask,
	__builtin_ia32_movddup256_mask, __builtin_ia32_movddup128_mask,
	__builtin_ia32_movshdup256_mask, __builtin_ia32_movshdup128_mask,
	__builtin_ia32_movsldup256_mask, __builtin_ia32_movsldup128_mask,
	__builtin_ia32_cvtqq2ps256_mask, __builtin_ia32_cvtqq2ps128_mask,
	__builtin_ia32_cvtuqq2ps256_mask, __builtin_ia32_cvtuqq2ps128_mask,
	__builtin_ia32_cvtqq2pd256_mask, __builtin_ia32_cvtqq2pd128_mask,
	__builtin_ia32_cvtuqq2pd256_mask, __builtin_ia32_cvtuqq2pd128_mask,
	__builtin_ia32_vpermt2varq256_mask, __builtin_ia32_vpermt2varq256_maskz,
	__builtin_ia32_vpermt2vard256_mask, __builtin_ia32_vpermt2vard256_maskz,
	__builtin_ia32_vpermi2varq256_mask, __builtin_ia32_vpermi2vard256_mask,
	__builtin_ia32_vpermt2varpd256_mask, __builtin_ia32_vpermt2varpd256_maskz,
	__builtin_ia32_vpermt2varps256_mask, __builtin_ia32_vpermt2varps256_maskz,
	__builtin_ia32_vpermi2varpd256_mask, __builtin_ia32_vpermi2varps256_mask,
	__builtin_ia32_vpermt2varq128_mask, __builtin_ia32_vpermt2varq128_maskz,
	__builtin_ia32_vpermt2vard128_mask, __builtin_ia32_vpermt2vard128_maskz,
	__builtin_ia32_vpermi2varq128_mask, __builtin_ia32_vpermi2vard128_mask,
	__builtin_ia32_vpermt2varpd128_mask, __builtin_ia32_vpermt2varpd128_maskz,
	__builtin_ia32_vpermt2varps128_mask, __builtin_ia32_vpermt2varps128_maskz,
	__builtin_ia32_vpermi2varpd128_mask, __builtin_ia32_vpermi2varps128_mask,
	__builtin_ia32_pshufb256_mask, __builtin_ia32_pshufb128_mask,
	__builtin_ia32_pshufhw256_mask, __builtin_ia32_pshufhw128_mask,
	__builtin_ia32_pshuflw256_mask, __builtin_ia32_pshuflw128_mask,
	__builtin_ia32_pshufd256_mask, __builtin_ia32_pshufd128_mask,
	__builtin_ia32_shufpd256_mask, __builtin_ia32_shufpd128_mask,
	__builtin_ia32_shufps256_mask, __builtin_ia32_shufps128_mask,
	__builtin_ia32_prolvq256_mask, __builtin_ia32_prolvq128_mask,
	__builtin_ia32_prolq256_mask, __builtin_ia32_prolq128_mask,
	__builtin_ia32_prorvq256_mask, __builtin_ia32_prorvq128_mask,
	__builtin_ia32_prorq256_mask, __builtin_ia32_prorq128_mask,
	__builtin_ia32_psravq128_mask, __builtin_ia32_psravq256_mask,
	__builtin_ia32_psllv4di_mask, __builtin_ia32_psllv2di_mask,
	__builtin_ia32_psllv8si_mask, __builtin_ia32_psllv4si_mask,
	__builtin_ia32_psrav8si_mask, __builtin_ia32_psrav4si_mask,
	__builtin_ia32_psrlv4di_mask, __builtin_ia32_psrlv2di_mask,
	__builtin_ia32_psrlv8si_mask, __builtin_ia32_psrlv4si_mask,
	__builtin_ia32_psrawi256_mask, __builtin_ia32_psraw256_mask,
	__builtin_ia32_psrawi128_mask, __builtin_ia32_psraw128_mask,
	__builtin_ia32_psrlwi256_mask, __builtin_ia32_psrlw256_mask,
	__builtin_ia32_psrlwi128_mask, __builtin_ia32_psrlw128_mask,
	__builtin_ia32_prorvd256_mask, __builtin_ia32_prolvd256_mask,
	__builtin_ia32_prord256_mask, __builtin_ia32_prold256_mask,
	__builtin_ia32_prorvd128_mask, __builtin_ia32_prolvd128_mask,
	__builtin_ia32_prord128_mask, __builtin_ia32_prold128_mask,
	__builtin_ia32_fpclasspd256_mask, __builtin_ia32_fpclasspd128_mask,
	__builtin_ia32_fpclasssd, __builtin_ia32_fpclassps256_mask,
	__builtin_ia32_fpclassps128_mask, __builtin_ia32_fpclassss,
	__builtin_ia32_cvtb2mask128, __builtin_ia32_cvtb2mask256,
	__builtin_ia32_cvtw2mask128, __builtin_ia32_cvtw2mask256,
	__builtin_ia32_cvtd2mask128, __builtin_ia32_cvtd2mask256,
	__builtin_ia32_cvtq2mask128, __builtin_ia32_cvtq2mask256,
	__builtin_ia32_cvtmask2b128, __builtin_ia32_cvtmask2b256,
	__builtin_ia32_cvtmask2w128, __builtin_ia32_cvtmask2w256,
	__builtin_ia32_cvtmask2d128, __builtin_ia32_cvtmask2d256,
	__builtin_ia32_cvtmask2q128, __builtin_ia32_cvtmask2q256,
	__builtin_ia32_pcmpeqb128_mask, __builtin_ia32_pcmpeqb256_mask,
	__builtin_ia32_pcmpeqw128_mask, __builtin_ia32_pcmpeqw256_mask,
	__builtin_ia32_pcmpeqd128_mask, __builtin_ia32_pcmpeqd256_mask,
	__builtin_ia32_pcmpeqq128_mask, __builtin_ia32_pcmpeqq256_mask,
	__builtin_ia32_pcmpgtb128_mask, __builtin_ia32_pcmpgtb256_mask,
	__builtin_ia32_pcmpgtw128_mask, __builtin_ia32_pcmpgtw256_mask,
	__builtin_ia32_pcmpgtd128_mask, __builtin_ia32_pcmpgtd256_mask,
	__builtin_ia32_pcmpgtq128_mask, __builtin_ia32_pcmpgtq256_mask,
	__builtin_ia32_ptestmb128, __builtin_ia32_ptestmb256,
	__builtin_ia32_ptestmw128, __builtin_ia32_ptestmw256,
	__builtin_ia32_ptestmd128, __builtin_ia32_ptestmd256,
	__builtin_ia32_ptestmq128, __builtin_ia32_ptestmq256,
	__builtin_ia32_ptestnmb128, __builtin_ia32_ptestnmb256,
	__builtin_ia32_ptestnmw128, __builtin_ia32_ptestnmw256,
	__builtin_ia32_ptestnmd128, __builtin_ia32_ptestnmd256,
	__builtin_ia32_ptestnmq128, __builtin_ia32_ptestnmq256,
	__builtin_ia32_broadcastmb128, __builtin_ia32_broadcastmb256,
	__builtin_ia32_broadcastmw128, __builtin_ia32_broadcastmw256,
	__builtin_ia32_compressdf256_mask, __builtin_ia32_compressdf128_mask,
	__builtin_ia32_compresssf256_mask, __builtin_ia32_compresssf128_mask,
	__builtin_ia32_compressdi256_mask, __builtin_ia32_compressdi128_mask,
	__builtin_ia32_compresssi256_mask, __builtin_ia32_compresssi128_mask,
	__builtin_ia32_expanddf256_mask, __builtin_ia32_expanddf128_mask,
	__builtin_ia32_expandsf256_mask, __builtin_ia32_expandsf128_mask,
	__builtin_ia32_expanddi256_mask, __builtin_ia32_expanddi128_mask,
	__builtin_ia32_expandsi256_mask, __builtin_ia32_expandsi128_mask,
	__builtin_ia32_expanddf256_maskz, __builtin_ia32_expanddf128_maskz,
	__builtin_ia32_expandsf256_maskz, __builtin_ia32_expandsf128_maskz,
	__builtin_ia32_expanddi256_maskz, __builtin_ia32_expanddi128_maskz,
	__builtin_ia32_expandsi256_maskz, __builtin_ia32_expandsi128_maskz,
	__builtin_ia32_pmaxsd256_mask, __builtin_ia32_pminsd256_mask,
	__builtin_ia32_pmaxud256_mask, __builtin_ia32_pminud256_mask,
	__builtin_ia32_pmaxsd128_mask, __builtin_ia32_pminsd128_mask,
	__builtin_ia32_pmaxud128_mask, __builtin_ia32_pminud128_mask,
	__builtin_ia32_pmaxsq256_mask, __builtin_ia32_pminsq256_mask,
	__builtin_ia32_pmaxuq256_mask, __builtin_ia32_pminuq256_mask,
	__builtin_ia32_pmaxsq128_mask, __builtin_ia32_pminsq128_mask,
	__builtin_ia32_pmaxuq128_mask, __builtin_ia32_pminuq128_mask,
	__builtin_ia32_pminsb256_mask, __builtin_ia32_pminub256_mask,
	__builtin_ia32_pmaxsb256_mask, __builtin_ia32_pmaxub256_mask,
	__builtin_ia32_pminsb128_mask, __builtin_ia32_pminub128_mask,
	__builtin_ia32_pmaxsb128_mask, __builtin_ia32_pmaxub128_mask,
	__builtin_ia32_pminsw256_mask, __builtin_ia32_pminuw256_mask,
	__builtin_ia32_pmaxsw256_mask, __builtin_ia32_pmaxuw256_mask,
	__builtin_ia32_pminsw128_mask, __builtin_ia32_pminuw128_mask,
	__builtin_ia32_pmaxsw128_mask, __builtin_ia32_pmaxuw128_mask,
	__builtin_ia32_vpconflictdi_256_mask, __builtin_ia32_vpconflictsi_256_mask,
	__builtin_ia32_vplzcntq_256_mask, __builtin_ia32_vplzcntd_256_mask,
	__builtin_ia32_unpckhpd256_mask, __builtin_ia32_unpckhpd128_mask,
	__builtin_ia32_unpckhps256_mask, __builtin_ia32_unpckhps128_mask,
	__builtin_ia32_unpcklpd256_mask, __builtin_ia32_unpcklpd128_mask,
	__builtin_ia32_unpcklps256_mask, __builtin_ia32_vpconflictdi_128_mask,
	__builtin_ia32_vpconflictsi_128_mask, __builtin_ia32_vplzcntq_128_mask,
	__builtin_ia32_vplzcntd_128_mask, __builtin_ia32_unpcklps128_mask,
	__builtin_ia32_alignd256_mask, __builtin_ia32_alignq256_mask,
	__builtin_ia32_alignd128_mask, __builtin_ia32_alignq128_mask,
	__builtin_ia32_vcvtps2ph256_mask, __builtin_ia32_vcvtps2ph_mask,
	__builtin_ia32_vcvtph2ps_mask, __builtin_ia32_vcvtph2ps256_mask,
	__builtin_ia32_punpckhdq128_mask, __builtin_ia32_punpckhdq256_mask,
	__builtin_ia32_punpckhqdq128_mask, __builtin_ia32_punpckhqdq256_mask,
	__builtin_ia32_punpckldq128_mask, __builtin_ia32_punpckldq256_mask,
	__builtin_ia32_punpcklqdq128_mask, __builtin_ia32_punpcklqdq256_mask,
	__builtin_ia32_punpckhbw128_mask, __builtin_ia32_punpckhbw256_mask,
	__builtin_ia32_punpckhwd128_mask, __builtin_ia32_punpckhwd256_mask,
	__builtin_ia32_punpcklbw128_mask, __builtin_ia32_punpcklbw256_mask,
	__builtin_ia32_punpcklwd128_mask, __builtin_ia32_punpcklwd256_mask,
	__builtin_ia32_psllv16hi_mask, __builtin_ia32_psllv8hi_mask,
	__builtin_ia32_packssdw256_mask, __builtin_ia32_packssdw128_mask,
	__builtin_ia32_packusdw256_mask, __builtin_ia32_packusdw128_mask,
	__builtin_ia32_pavgb256_mask, __builtin_ia32_pavgw256_mask,
	__builtin_ia32_pavgb128_mask, __builtin_ia32_pavgw128_mask,
	__builtin_ia32_permvarsf256_mask, __builtin_ia32_permvardf256_mask,
	__builtin_ia32_permdf256_mask, __builtin_ia32_pabsb256_mask,
	__builtin_ia32_pabsb128_mask, __builtin_ia32_pabsw256_mask,
	__builtin_ia32_pabsw128_mask, __builtin_ia32_vpermilvarpd_mask,
	__builtin_ia32_vpermilvarps_mask, __builtin_ia32_vpermilvarpd256_mask,
	__builtin_ia32_vpermilvarps256_mask, __builtin_ia32_vpermilpd_mask,
	__builtin_ia32_vpermilps_mask, __builtin_ia32_vpermilpd256_mask,
	__builtin_ia32_vpermilps256_mask, __builtin_ia32_blendmq_256_mask,
	__builtin_ia32_blendmd_256_mask, __builtin_ia32_blendmpd_256_mask,
	__builtin_ia32_blendmps_256_mask, __builtin_ia32_blendmq_128_mask,
	__builtin_ia32_blendmd_128_mask, __builtin_ia32_blendmpd_128_mask,
	__builtin_ia32_blendmps_128_mask, __builtin_ia32_blendmw_256_mask,
	__builtin_ia32_blendmb_256_mask, __builtin_ia32_blendmw_128_mask,
	__builtin_ia32_blendmb_128_mask, __builtin_ia32_pmulld256_mask,
	__builtin_ia32_pmulld128_mask, __builtin_ia32_pmuludq256_mask,
	__builtin_ia32_pmuldq256_mask, __builtin_ia32_pmuldq128_mask,
	__builtin_ia32_pmuludq128_mask, __builtin_ia32_cvtpd2ps256_mask,
	__builtin_ia32_cvtpd2ps_mask, __builtin_ia32_permvarsi256_mask,
	__builtin_ia32_permvardi256_mask, __builtin_ia32_permdi256_mask,
	__builtin_ia32_cmpq256_mask, __builtin_ia32_cmpd256_mask,
	__builtin_ia32_ucmpq256_mask, __builtin_ia32_ucmpd256_mask,
	__builtin_ia32_cmpb256_mask, __builtin_ia32_cmpw256_mask,
	__builtin_ia32_ucmpb256_mask, __builtin_ia32_ucmpw256_mask,
	__builtin_ia32_cmppd256_mask, __builtin_ia32_cmpps256_mask,
	__builtin_ia32_cmpq128_mask, __builtin_ia32_cmpd128_mask,
	__builtin_ia32_ucmpq128_mask, __builtin_ia32_ucmpd128_mask,
	__builtin_ia32_cmpb128_mask, __builtin_ia32_cmpw128_mask,
	__builtin_ia32_ucmpb128_mask, __builtin_ia32_ucmpw128_mask,
	__builtin_ia32_cmppd128_mask, __builtin_ia32_cmpps128_mask,
	__builtin_ia32_broadcastf32x2_512_mask, __builtin_ia32_broadcasti32x2_512_mask,
	__builtin_ia32_broadcastf64x2_512_mask, __builtin_ia32_broadcasti64x2_512_mask,
	__builtin_ia32_broadcastf32x8_512_mask, __builtin_ia32_broadcasti32x8_512_mask,
	__builtin_ia32_extractf64x2_512_mask, __builtin_ia32_extractf32x8_mask,
	__builtin_ia32_extracti64x2_512_mask, __builtin_ia32_extracti32x8_mask,
	__builtin_ia32_reducepd512_mask, __builtin_ia32_reduceps512_mask,
	__builtin_ia32_pmullq512_mask, __builtin_ia32_xorpd512_mask,
	__builtin_ia32_xorps512_mask, __builtin_ia32_orpd512_mask,
	__builtin_ia32_orps512_mask, __builtin_ia32_andpd512_mask,
	__builtin_ia32_andps512_mask, __builtin_ia32_andnpd512_mask,
	__builtin_ia32_andnps512_mask, __builtin_ia32_insertf32x8_mask,
	__builtin_ia32_inserti32x8_mask, __builtin_ia32_insertf64x2_512_mask,
	__builtin_ia32_inserti64x2_512_mask, __builtin_ia32_fpclasspd512_mask,
	__builtin_ia32_fpclassps512_mask, __builtin_ia32_cvtd2mask512,
	__builtin_ia32_cvtq2mask512, __builtin_ia32_cvtmask2d512,
	__builtin_ia32_cvtmask2q512, __builtin_ia32_kunpcksi,
	__builtin_ia32_kunpckdi, __builtin_ia32_packusdw512_mask,
	__builtin_ia32_pslldq512, __builtin_ia32_psrldq512,
	__builtin_ia32_packssdw512_mask, __builtin_ia32_palignr512,
	__builtin_ia32_palignr512_mask, __builtin_ia32_movdquhi512_mask,
	__builtin_ia32_movdquqi512_mask, __builtin_ia32_psadbw512,
	__builtin_ia32_dbpsadbw512_mask, __builtin_ia32_pbroadcastb512_mask,
	__builtin_ia32_pbroadcastb512_gpr_mask, __builtin_ia32_pbroadcastw512_mask,
	__builtin_ia32_pbroadcastw512_gpr_mask, __builtin_ia32_pmovsxbw512_mask,
	__builtin_ia32_pmovzxbw512_mask, __builtin_ia32_permvarhi512_mask,
	__builtin_ia32_vpermt2varhi512_mask, __builtin_ia32_vpermt2varhi512_maskz,
	__builtin_ia32_vpermi2varhi512_mask, __builtin_ia32_pavgb512_mask,
	__builtin_ia32_pavgw512_mask, __builtin_ia32_paddb512_mask,
	__builtin_ia32_psubb512_mask, __builtin_ia32_psubsb512_mask,
	__builtin_ia32_paddsb512_mask, __builtin_ia32_psubusb512_mask,
	__builtin_ia32_paddusb512_mask, __builtin_ia32_psubw512_mask,
	__builtin_ia32_paddw512_mask, __builtin_ia32_psubsw512_mask,
	__builtin_ia32_paddsw512_mask, __builtin_ia32_psubusw512_mask,
	__builtin_ia32_paddusw512_mask, __builtin_ia32_pmaxuw512_mask,
	__builtin_ia32_pmaxsw512_mask, __builtin_ia32_pminuw512_mask,
	__builtin_ia32_pminsw512_mask, __builtin_ia32_pmaxub512_mask,
	__builtin_ia32_pmaxsb512_mask, __builtin_ia32_pminub512_mask,
	__builtin_ia32_pminsb512_mask, __builtin_ia32_pmovwb512_mask,
	__builtin_ia32_pmovswb512_mask, __builtin_ia32_pmovuswb512_mask,
	__builtin_ia32_pmulhrsw512_mask, __builtin_ia32_pmulhuw512_mask,
	__builtin_ia32_pmulhw512_mask, __builtin_ia32_pmullw512_mask,
	__builtin_ia32_psllwi512_mask, __builtin_ia32_psllw512_mask,
	__builtin_ia32_packsswb512_mask, __builtin_ia32_packuswb512_mask,
	__builtin_ia32_psrav32hi_mask, __builtin_ia32_pmaddubsw512_mask,
	__builtin_ia32_pmaddwd512_mask, __builtin_ia32_psrlv32hi_mask,
	__builtin_ia32_punpckhbw512_mask, __builtin_ia32_punpckhwd512_mask,
	__builtin_ia32_punpcklbw512_mask, __builtin_ia32_punpcklwd512_mask,
	__builtin_ia32_pshufb512_mask, __builtin_ia32_pshufhw512_mask,
	__builtin_ia32_pshuflw512_mask, __builtin_ia32_psrawi512_mask,
	__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
	__builtin_ia32_psrlw512_mask, __builtin_ia32_cvtb2mask512,
	__builtin_ia32_cvtw2mask512, __builtin_ia32_cvtmask2b512,
	__builtin_ia32_cvtmask2w512, __builtin_ia32_pcmpeqb512_mask,
	__builtin_ia32_pcmpeqw512_mask, __builtin_ia32_pcmpgtb512_mask,
	__builtin_ia32_pcmpgtw512_mask, __builtin_ia32_ptestmb512,
	__builtin_ia32_ptestmw512, __builtin_ia32_ptestnmb512,
	__builtin_ia32_ptestnmw512, __builtin_ia32_psllv32hi_mask,
	__builtin_ia32_pabsb512_mask, __builtin_ia32_pabsw512_mask,
	__builtin_ia32_blendmw_512_mask, __builtin_ia32_blendmb_512_mask,
	__builtin_ia32_cmpb512_mask, __builtin_ia32_cmpw512_mask,
	__builtin_ia32_ucmpb512_mask, __builtin_ia32_ucmpw512_mask,
	__builtin_ia32_rangesd128_round, __builtin_ia32_rangess128_round,
	__builtin_ia32_cvtpd2qq512_mask, __builtin_ia32_cvtps2qq512_mask,
	__builtin_ia32_cvtpd2uqq512_mask, __builtin_ia32_cvtps2uqq512_mask,
	__builtin_ia32_cvtqq2ps512_mask, __builtin_ia32_cvtuqq2ps512_mask,
	__builtin_ia32_cvtqq2pd512_mask, __builtin_ia32_cvtuqq2pd512_mask,
	__builtin_ia32_cvttps2qq512_mask, __builtin_ia32_cvttps2uqq512_mask,
	__builtin_ia32_cvttpd2qq512_mask, __builtin_ia32_cvttpd2uqq512_mask,
	__builtin_ia32_rangeps512_mask, __builtin_ia32_rangepd512_mask.
	(ix86_expand_args_builtin): Handle HI_FTYPE_V16QI, SI_FTYPE_V32QI,
	DI_FTYPE_V64QI, V16QI_FTYPE_HI, V32QI_FTYPE_SI, V64QI_FTYPE_DI,
	V8HI_FTYPE_QI, V16HI_FTYPE_HI, V32HI_FTYPE_SI, V4SI_FTYPE_QI,
	V8SI_FTYPE_QI, V4SI_FTYPE_HI, V8SI_FTYPE_HI, QI_FTYPE_V8HI,
	HI_FTYPE_V16HI, SI_FTYPE_V32HI, QI_FTYPE_V4SI, QI_FTYPE_V8SI,
	HI_FTYPE_V16SI, QI_FTYPE_V2DI, QI_FTYPE_V4DI, QI_FTYPE_V8DI,
	V2DI_FTYPE_QI, V4DI_FTYPE_QI, V8DI_FTYPE_V64QI_V64QI,
	SI_FTYPE_SI_SI,DI_FTYPE_DI_DI, V8DI_FTYPE_V8DI_INT_CONVERT,
	QI_FTYPE_V4SF_INT, QI_FTYPE_V2DF_INT,
	V8SF_FTYPE_V4SF_V8SF_QI, V4DF_FTYPE_V2DF_V4DF_QI,
	V8SI_FTYPE_V4SI_V8SI_QI, V8SI_FTYPE_SI_V8SI_QI,
	V4SI_FTYPE_V4SI_V4SI_QI, V4SI_FTYPE_SI_V4SI_QI,
	V4DI_FTYPE_V2DI_V4DI_QI, V4DI_FTYPE_DI_V4DI_QI,
	V2DI_FTYPE_V2DI_V2DI_QI, V2DI_FTYPE_DI_V2DI_QI,
	V64QI_FTYPE_V64QI_V64QI_DI, V64QI_FTYPE_V16QI_V64QI_DI,
	V64QI_FTYPE_QI_V64QI_DI, V32QI_FTYPE_V32QI_V32QI_SI,
	V32QI_FTYPE_V16QI_V32QI_SI, V32QI_FTYPE_QI_V32QI_SI,
	V16QI_FTYPE_V16QI_V16QI_HI, V16QI_FTYPE_QI_V16QI_HI,
	V32HI_FTYPE_V8HI_V32HI_SI, V32HI_FTYPE_HI_V32HI_SI,
	V16HI_FTYPE_V8HI_V16HI_HI, V16HI_FTYPE_HI_V16HI_HI,
	V8HI_FTYPE_V8HI_V8HI_QI, V8HI_FTYPE_HI_V8HI_QI,
	V8SF_FTYPE_V8HI_V8SF_QI, V4SF_FTYPE_V8HI_V4SF_QI,
	V8SI_FTYPE_V8SF_V8SI_QI, V4SI_FTYPE_V4SF_V4SI_QI,
	V8DI_FTYPE_V8SF_V8DI_QI, V4DI_FTYPE_V4SF_V4DI_QI,
	V2DI_FTYPE_V4SF_V2DI_QI, V8SF_FTYPE_V8DI_V8SF_QI,
	V4SF_FTYPE_V4DI_V4SF_QI, V4SF_FTYPE_V2DI_V4SF_QI,
	V8DF_FTYPE_V8DI_V8DF_QI, V4DF_FTYPE_V4DI_V4DF_QI,
	V2DF_FTYPE_V2DI_V2DF_QI, V16QI_FTYPE_V8HI_V16QI_QI,
	V16QI_FTYPE_V16HI_V16QI_HI, V16QI_FTYPE_V4SI_V16QI_QI,
	V16QI_FTYPE_V8SI_V16QI_QI, V8HI_FTYPE_V4SI_V8HI_QI,
	V8HI_FTYPE_V8SI_V8HI_QI, V16QI_FTYPE_V2DI_V16QI_QI,
	V16QI_FTYPE_V4DI_V16QI_QI, V8HI_FTYPE_V2DI_V8HI_QI,
	V8HI_FTYPE_V4DI_V8HI_QI, V4SI_FTYPE_V2DI_V4SI_QI,
	V4SI_FTYPE_V4DI_V4SI_QI, V32QI_FTYPE_V32HI_V32QI_SI,
	HI_FTYPE_V16QI_V16QI_HI, SI_FTYPE_V32QI_V32QI_SI,
	DI_FTYPE_V64QI_V64QI_DI, QI_FTYPE_V8HI_V8HI_QI,
	HI_FTYPE_V16HI_V16HI_HI, SI_FTYPE_V32HI_V32HI_SI,
	QI_FTYPE_V4SI_V4SI_QI, QI_FTYPE_V8SI_V8SI_QI,
	QI_FTYPE_V2DI_V2DI_QI, QI_FTYPE_V4DI_V4DI_QI,
	V4SF_FTYPE_V2DF_V4SF_QI, V4SF_FTYPE_V4DF_V4SF_QI,
	V2DI_FTYPE_V4SI_V2DI_QI, V2DI_FTYPE_V8HI_V2DI_QI,
	V2DI_FTYPE_V16QI_V2DI_QI, V4DI_FTYPE_V4DI_V4DI_QI,
	V4DI_FTYPE_V4SI_V4DI_QI, V4DI_FTYPE_V8HI_V4DI_QI,
	V4DI_FTYPE_V16QI_V4DI_QI, V8DI_FTYPE_V8DF_V8DI_QI,
	V4DI_FTYPE_V4DF_V4DI_QI, V2DI_FTYPE_V2DF_V2DI_QI,
	V4SI_FTYPE_V4DF_V4SI_QI, V4SI_FTYPE_V2DF_V4SI_QI,
	V4SI_FTYPE_V8HI_V4SI_QI, V4SI_FTYPE_V16QI_V4SI_QI,
	V8SI_FTYPE_V8SI_V8SI_V8SI, V8SF_FTYPE_V8SF_V8SF_QI,
	V8SF_FTYPE_V8SI_V8SF_QI, V4DF_FTYPE_V4DF_V4DF_QI,
	V4SF_FTYPE_V4SF_V4SF_QI, V2DF_FTYPE_V2DF_V2DF_QI,
	V2DF_FTYPE_V4SF_V2DF_QI, V2DF_FTYPE_V4SI_V2DF_QI,
	V4SF_FTYPE_V4SI_V4SF_QI, V4DF_FTYPE_V4SF_V4DF_QI,
	V4DF_FTYPE_V4SI_V4DF_QI, V8SI_FTYPE_V8SI_V8SI_QI,
	V8SI_FTYPE_V8HI_V8SI_QI, V8SI_FTYPE_V16QI_V8SI_QI,
	V16SF_FTYPE_V8SF_V16SF_HI, V16SI_FTYPE_V8SI_V16SI_HI,
	V16HI_FTYPE_V16HI_V16HI_HI, V8HI_FTYPE_V16QI_V8HI_QI,
	V16HI_FTYPE_V16QI_V16HI_HI, V32HI_FTYPE_V32HI_V32HI_SI,
	V32HI_FTYPE_V32QI_V32HI_SI, V8DI_FTYPE_V8DI_V8DI_INT_CONVERT,
	V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI_CONVERT, QI_FTYPE_V8DF_INT_QI,
	QI_FTYPE_V4DF_INT_QI, QI_FTYPE_V2DF_INT_QI,
	HI_FTYPE_V16SF_INT_HI, QI_FTYPE_V8SF_INT_QI,
	QI_FTYPE_V4SF_INT_QI, V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI_CONVERT,
	V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI_CONVERT, V32QI_FTYPE_V32QI_V32QI_V32QI_SI,
	V32HI_FTYPE_V32HI_V32HI_V32HI_SI, V32HI_FTYPE_V64QI_V64QI_V32HI_SI,
	V16SI_FTYPE_V32HI_V32HI_V16SI_HI, V64QI_FTYPE_V64QI_V64QI_V64QI_DI,
	V32HI_FTYPE_V32HI_V8HI_V32HI_SI, V16HI_FTYPE_V16HI_V8HI_V16HI_HI,
	V8SI_FTYPE_V8SI_V4SI_V8SI_QI, V4DI_FTYPE_V4DI_V2DI_V4DI_QI,
	V64QI_FTYPE_V32HI_V32HI_V64QI_DI, V32QI_FTYPE_V16HI_V16HI_V32QI_SI,
	V16QI_FTYPE_V8HI_V8HI_V16QI_HI, V32HI_FTYPE_V16SI_V16SI_V32HI_SI,
	V16HI_FTYPE_V8SI_V8SI_V16HI_HI, V8HI_FTYPE_V4SI_V4SI_V8HI_QI,
	V4DF_FTYPE_V4DF_V4DI_V4DF_QI, V8SF_FTYPE_V8SF_V8SI_V8SF_QI,
	V4SF_FTYPE_V4SF_V4SI_V4SF_QI, V2DF_FTYPE_V2DF_V2DI_V2DF_QI,
	V2DI_FTYPE_V4SI_V4SI_V2DI_QI, V4DI_FTYPE_V8SI_V8SI_V4DI_QI,
	V4DF_FTYPE_V4DI_V4DF_V4DF_QI, V8SF_FTYPE_V8SI_V8SF_V8SF_QI,
	V2DF_FTYPE_V2DI_V2DF_V2DF_QI, V4SF_FTYPE_V4SI_V4SF_V4SF_QI,
	V8HI_FTYPE_V8HI_V8HI_V8HI_QI, V8SI_FTYPE_V8SI_V8SI_V8SI_QI,
	V4SI_FTYPE_V4SI_V4SI_V4SI_QI, V8SF_FTYPE_V8SF_V8SF_V8SF_QI,
	V16QI_FTYPE_V16QI_V16QI_V16QI_HI, V16HI_FTYPE_V16HI_V16HI_V16HI_HI,
	V2DI_FTYPE_V2DI_V2DI_V2DI_QI, V4DI_FTYPE_V4DI_V4DI_V4DI_QI,
	V4DF_FTYPE_V4DF_V4DF_V4DF_QI, V8HI_FTYPE_V16QI_V16QI_V8HI_QI,
	V16HI_FTYPE_V32QI_V32QI_V16HI_HI, V8SI_FTYPE_V16HI_V16HI_V8SI_QI,
	V4SI_FTYPE_V8HI_V8HI_V4SI_QI, QI_FTYPE_V4DI_V4DI_INT_QI,
	QI_FTYPE_V8SI_V8SI_INT_QI, QI_FTYPE_V4DF_V4DF_INT_QI,
	QI_FTYPE_V8SF_V8SF_INT_QI, QI_FTYPE_V2DI_V2DI_INT_QI,
	QI_FTYPE_V4SI_V4SI_INT_QI, DI_FTYPE_V64QI_V64QI_INT_DI,
	SI_FTYPE_V32QI_V32QI_INT_SI, HI_FTYPE_V16QI_V16QI_INT_HI,
	SI_FTYPE_V32HI_V32HI_INT_SI, HI_FTYPE_V16HI_V16HI_INT_HI,
	QI_FTYPE_V8HI_V8HI_INT_QI, V8SF_FTYPE_V8SF_INT_V8SF_QI,
	V4SF_FTYPE_V4SF_INT_V4SF_QI, V2DF_FTYPE_V4DF_INT_V2DF_QI,
	V2DI_FTYPE_V4DI_INT_V2DI_QI, V8SF_FTYPE_V16SF_INT_V8SF_QI,
	V8SI_FTYPE_V16SI_INT_V8SI_QI, V2DF_FTYPE_V8DF_INT_V2DF_QI,
	V2DI_FTYPE_V8DI_INT_V2DI_QI, V4SF_FTYPE_V8SF_INT_V4SF_QI,
	V4SI_FTYPE_V8SI_INT_V4SI_QI, V8HI_FTYPE_V8SF_INT_V8HI_QI,
	V8HI_FTYPE_V4SF_INT_V8HI_QI, V32HI_FTYPE_V32HI_INT_V32HI_SI,
	V16HI_FTYPE_V16HI_INT_V16HI_HI, V8HI_FTYPE_V8HI_INT_V8HI_QI,
	V4DI_FTYPE_V4DI_INT_V4DI_QI, V2DI_FTYPE_V2DI_INT_V2DI_QI,
	V8SI_FTYPE_V8SI_INT_V8SI_QI, V4SI_FTYPE_V4SI_INT_V4SI_QI,
	V4DF_FTYPE_V4DF_INT_V4DF_QI, V2DF_FTYPE_V2DF_INT_V2DF_QI,
	V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI, V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI,
	V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI, V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI,
	V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI, V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI,
	V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI, V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI,
	V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI, V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI,
	V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI, V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI,
	V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI, V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI,
	V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI, V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI,
	V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI, V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI,
	V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI, V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI,
	V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI, V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI,
	V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI, V8DI_FTYPE_V8DF_V8DI_QI_INT,
	V8SF_FTYPE_V8DI_V8SF_QI_INT, V8DF_FTYPE_V8DI_V8DF_QI_INT,
	V8DI_FTYPE_V8SF_V8DI_QI_INT, V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI_INT,
	V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI_INT, VOID_FTYPE_PV4DI_V4DI_QI,
	VOID_FTYPE_PV2DI_V2DI_QI, VOID_FTYPE_PV8SI_V8SI_QI,
	VOID_FTYPE_PV4SI_V4SI_QI, VOID_FTYPE_PV4SI_V4DI_QI,
	VOID_FTYPE_PV4SI_V2DI_QI, VOID_FTYPE_PV8HI_V4DI_QI,
	VOID_FTYPE_PV8HI_V2DI_QI, VOID_FTYPE_PV8HI_V8SI_QI,
	VOID_FTYPE_PV8HI_V4SI_QI, VOID_FTYPE_PV16QI_V4DI_QI,
	VOID_FTYPE_PV16QI_V2DI_QI, VOID_FTYPE_PV16QI_V8SI_QI,
	VOID_FTYPE_PV16QI_V4SI_QI, VOID_FTYPE_PV8HI_V8HI_QI,
	VOID_FTYPE_PV16HI_V16HI_HI, VOID_FTYPE_PV32HI_V32HI_SI,
	VOID_FTYPE_PV16QI_V16QI_HI, VOID_FTYPE_PV32QI_V32QI_SI,
	VOID_FTYPE_PV64QI_V64QI_DI, VOID_FTYPE_PV4DF_V4DF_QI,
	VOID_FTYPE_PV2DF_V2DF_QI, VOID_FTYPE_PV8SF_V8SF_QI,
	VOID_FTYPE_PV4SF_V4SF_QI, V4SF_FTYPE_PCV4SF_V4SF_QI,
	V8SF_FTYPE_PCV8SF_V8SF_QI, V4SI_FTYPE_PCV4SI_V4SI_QI,
	V8SI_FTYPE_PCV8SI_V8SI_QI, V2DF_FTYPE_PCV2DF_V2DF_QI,
	V4DF_FTYPE_PCV4DF_V4DF_QI, V2DI_FTYPE_PCV2DI_V2DI_QI,
	V4DI_FTYPE_PCV4DI_V4DI_QI, V8HI_FTYPE_PCV8HI_V8HI_QI,
	V16HI_FTYPE_PCV16HI_V16HI_HI, V32HI_FTYPE_PCV32HI_V32HI_SI,
	V16QI_FTYPE_PCV16QI_V16QI_HI, V32QI_FTYPE_PCV32QI_V32QI_SI,
	V64QI_FTYPE_PCV64QI_V64QI_DI, do not handle V8USI_FTYPE_V8USI.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r216794
2014-10-28 13:54:22 +00:00
Jakub Jelinek
8ae9ab2b11 tree-ssa-math-opts.c (find_bswap_or_nop_1): Use uint64_t type for the left shift in CASE_CONVERT case.
* tree-ssa-math-opts.c (find_bswap_or_nop_1): Use uint64_t
	type for the left shift in CASE_CONVERT case.

From-SVN: r216793
2014-10-28 14:51:28 +01:00
Maxim Ostapenko
4519ff2ed4 Actually removed redundant tests from r216783.
From-SVN: r216787
2014-10-28 14:56:30 +02:00
Maxim Ostapenko
acc770ae3b Add missing tests.
From-SVN: r216785
2014-10-28 14:40:00 +02:00
Max Ostapenko
bdea98ca2e Don't inline GCC memory builtins if ASan is enabled.
gcc/

2014-10-28  Max Ostapenko  <m.ostapenko@partner.samsung.com>

        * asan.h (asan_intercepted_p): New function.
        * asan.c (asan_mem_ref_hasher::hash): Remove MEM_REF access size from
        hash value construction.  Call iterative_hash_expr instead of explicit
        hash building.
        (asan_mem_ref_hasher::equal): Change condition.
        (has_mem_ref_been_instrumented): Likewise.
        (update_mem_ref_hash_table): Likewise.
        (maybe_update_mem_ref_hash_table): New function.
        (instrument_strlen_call): Removed.
        (get_mem_refs_of_builtin_call): Handle new parameter.
        (instrument_builtin_call): Call maybe_update_mem_ref_hash_table instead
        of instrument_mem_region_access if intercepted_p is true.
        (instrument_mem_region_access): Instrument only base with len instead of
        base and end with 1.
        (build_check_stmt): Remove start_instrumented and end_instrumented
        parameters.
        (enum asan_check_flags): Remove ASAN_CHECK_START_INSTRUMENTED and
        ASAN_CHECK_END_INSTRUMENTED.  Change ASAN_CHECK_LAST.
        (asan_expand_check_ifn): Remove start_instrumented and end_instrumented.
        * builtins.c (expand_builtin): Include asan.h.  Don't expand string/memory
        builtin functions that have interceptors if ASan is enabled.

gcc/testsuite/

        * c-c++-common/asan/no-redundant-instrumentation-1.c: Updated test.
        * c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-2.c: Removed.
        * c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-10.c: New test.
        * c-c++-common/asan/no-redundant-instrumentation-11.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-12.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-13.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-14.c: Likewise.
        * c-c++-common/asan/no-redundant-instrumentation-15.c: Likewise.
        * c-c++-common/asan/pr63638.c: Likewise.

From-SVN: r216783
2014-10-28 14:36:54 +02:00
Richard Biener
9ccaac1188 re PR tree-optimization/63665 (wrong code with signed overflow even with -fwrapv)
2014-10-28  Richard Biener  <rguenther@suse.de>

	PR middle-end/63665
	* fold-const.c (fold_comparison): Properly guard simplifying
	against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.

	* gcc.dg/pr63665.c: New testcase.

From-SVN: r216781
2014-10-28 11:42:43 +00:00
Alan Lawrence
e29dfbf07d Remove VEC_LSHIFT_EXPR and vec_shl_optab
* expr.c (expand_expr_real_2): Remove code handling VEC_LSHIFT_EXPR.
	* fold-const.c (const_binop): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* tree-inline.c (estimate_operator_cost): Likewise.
	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
	* optabs.c (optab_for_tree_code): Likewise.
	(expand_vec_shift_expr): Likewise, update comment.
	* tree.def: Delete VEC_LSHIFT_EXPR, remove comment.
	* optabs.h (expand_vec_shift_expr): Remove comment re. VEC_LSHIFT_EXPR.
	* optabs.def: Remove vec_shl_optab.
	* doc/md.texi: Remove references to vec_shr_m.

From-SVN: r216779
2014-10-28 11:17:47 +00:00
Yury Gribov
fed4de37b8 Enable -fsanitize-recover for KASan.
2014-10-28  Yury Gribov  <y.gribov@samsung.com>

gcc/
	* asan.c (report_error_func): Add noabort path.
	(check_func): Ditto.  Formatting.
	(asan_expand_check_ifn): Handle noabort path.
	* common.opt (flag_sanitize_recover): Add SANITIZE_KERNEL_ADDRESS
	to default value.
	* doc/invoke.texi (-fsanitize-recover=): Mention KASan.
	* opts.c (finish_options): Reword comment.
	* sanitizer.def: Add noabort ASan builtins.

gcc/testsuite/
	* c-c++-common/asan/kasan-recover-1.c: New test.
	* c-c++-common/asan/kasan-recover-2.c: New test.
	* c-c++-common/asan/instrument-with-calls-1.c: Get rid of -save-temps.
	* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
	* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
	* c-c++-common/asan/kasan-recover-1.c: Likewise.
	* c-c++-common/asan/kasan-recover-2.c: Likewise.
	* c-c++-common/asan/no-asan-globals.c: Likewise.
	* c-c++-common/asan/no-instrument-reads.c: Likewise.
	* c-c++-common/asan/no-instrument-writes.c: Likewise.
	* c-c++-common/asan/no-use-after-return.c: Likewise.

From-SVN: r216778
2014-10-28 10:33:04 +00:00
Yury Gribov
fd960af2df Allow to override Asan shadow offset.
2014-10-28  Yury Gribov  <y.gribov@samsung.com>

gcc/
	* asan.c (set_asan_shadow_offset): New function.
	(asan_shadow_offset): Likewise.
	(asan_emit_stack_protection): Call asan_shadow_offset.
	(build_shadow_mem_access): Likewise.
	* asan.h (set_asan_shadow_offset): Declare.
	* common.opt (fasan-shadow-offset): New option.
	(frandom-seed): Fixed parameter name.
	* doc/invoke.texi (fasan-shadow-offset): Describe new option.
	(frandom-seed): Fixed parameter name.
	* opts-global.c (handle_common_deferred_options): Handle
	-fasan-shadow-offset.
	* opts.c (common_handle_option): Likewise.

gcc/testsuite/
	* c-c++-common/asan/shadow-offset-1.c: New test.

From-SVN: r216773
2014-10-28 09:46:29 +00:00
Yury Gribov
ea41822adf Add strtoll and strtoull to libiberty.
2014-10-28  Yury Gribov  <y.gribov@samsung.com>

include/
	* libiberty.h (strtol, strtoul, strtoll, strtoull): New prototypes.

libiberty/
	* strtoll.c: New file.
	* strtoull.c: New file.
	* configure.ac: Add long long checks.  Add harness for strtoll and
	strtoull.  Check decls for strtol, strtoul, strtoll, strtoull.
	* Makefile.in (CFILES, CONFIGURED_OFILES): Add strtoll and strtoull.
	* config.in: Regenerate.
	* configure: Regenerate.
	* functions.texi: Regenerate.
	* testsuite/Makefile.in (check-strtol): New rule.
	(test-strtol): Likewise.
	(mostlyclean): Clean up strtol test.
	* testsuite/test-strtol.c: New test.

From-SVN: r216772
2014-10-28 09:43:20 +00:00
GCC Administrator
5b595d80ce Daily bump.
From-SVN: r216769
2014-10-28 00:16:24 +00:00
Jiong Wang
a016932063 PR63442 libgcc_cmp_return_mode not always return word_mode
gcc/
  PR target/63442
  * optabs.c (prepare_cmp_insn): Use "ret_mode" instead of "word_mode".

From-SVN: r216765
2014-10-27 21:58:59 +00:00
DJ Delorie
949bba26ff tree.c (build_common_tree_nodes): Don't even store the __int128 types if they're not supported.
* tree.c (build_common_tree_nodes): Don't even store the
__int128 types if they're not supported.

From-SVN: r216762
2014-10-27 14:54:42 -04:00
Richard Sandiford
e4d1b49512 i386.c (ix86_loop_memcount): Delete.
gcc/
	* config/i386/i386.c (ix86_loop_memcount): Delete.
	(ix86_loop_unroll_adjust): Use FOR_EACH_SUBRTX.

From-SVN: r216761
2014-10-27 18:43:14 +00:00
Richard Sandiford
8dc252595b i386.c (find_constant_1): Delete.
gcc/
	* config/i386/i386.c (find_constant_1): Delete.
	(find_constant): Use FOR_EACH_SUBRTX.

From-SVN: r216760
2014-10-27 18:42:00 +00:00
Richard Sandiford
fc1e0c0a9c i386.c (extended_reg_mentioned_1): Delete.
gcc/
	* config/i386/i386.c (extended_reg_mentioned_1): Delete.
	(x86_extended_reg_mentioned_p): Use FOR_EACH_SUBRTX.

From-SVN: r216759
2014-10-27 18:41:47 +00:00
Richard Sandiford
eebfd03aac i386.c: Include rtl-iter.h
gcc/
	* config/i386/i386.c: Include rtl-iter.h
	(ix86_check_avx256_register): Take a const_rtx and return a bool.
	(ix86_check_avx256_stores): Update call accordingly.
	(ix86_avx_u128_mode_entry, ix86_avx_u128_mode_exit): Likewise.
	(ix86_avx_u128_mode_needed): Likewise.  Use FOR_EACH_SUBRTX.

From-SVN: r216758
2014-10-27 18:41:33 +00:00
Richard Sandiford
dbb838b740 alpha-protos.h (some_small_symbolic_operand_int): Take an rtx and return a bool.
gcc/
	* config/alpha/alpha-protos.h (some_small_symbolic_operand_int):
	Take an rtx and return a bool.
	* config/alpha/alpha.c (some_small_symbolic_operand_int): Likewise.
	Use FOR_EACH_SUBRTX_VAR.
	* config/alpha/predicates.md (some_small_symbolic_operand): Update
	accordingly.

From-SVN: r216757
2014-10-27 18:41:17 +00:00
Richard Sandiford
4dba355399 alpha-protos.h (alpha_find_lo_sum_using_gp): Return a bool.
gcc/
	* config/alpha/alpha-protos.h (alpha_find_lo_sum_using_gp): Return
	a bool.
	* config/alpha/alpha.c (find_lo_sum_using_gp): Delete.
	(alpha_find_lo_sum_using_gp): Use FOR_EACH_SUBRTX.  Return a bool.

From-SVN: r216756
2014-10-27 18:41:09 +00:00
Richard Sandiford
f9a20af005 alpha.c (alpha_set_memflags_1): Delete.
gcc/
	* config/alpha/alpha.c (alpha_set_memflags_1): Delete.
	(alpha_set_memflags): Use FOR_EACH_SUBRTX_VAR.

From-SVN: r216755
2014-10-27 18:41:02 +00:00
Richard Sandiford
572e01c7f6 alpha.c: Include rtl-iter.h.
gcc/
	* config/alpha/alpha.c: Include rtl-iter.h.
	(split_small_symbolic_operand_1): Delete.
	(split_small_symbolic_operand): Use FOR_EACH_SUBRTX_PTR.

From-SVN: r216754
2014-10-27 18:40:51 +00:00
Richard Sandiford
9dc7a9da32 s390.c: Include rtl-iter.h.
gcc/
	* config/s390/s390.c: Include rtl-iter.h.
	(check_dpu): Delete.
	(s390_loop_unroll_adjust): Only iterate over patterns.
	Use FOR_EACH_SUBRTX.

From-SVN: r216753
2014-10-27 18:40:37 +00:00
Richard Sandiford
3dfc96ea69 spu.c: Include rtl-iter.h
gcc/
	* config/spu/spu.c: Include rtl-iter.h
	(ea_symbol_ref): Replace with...
	(ea_symbol_ref_p): ...this new function.
	(spu_legitimate_address_p): Update call accordingly.
	(spu_legitimate_constant_p): Likewise.  Use FOR_EACH_SUBRTX.

From-SVN: r216752
2014-10-27 18:40:13 +00:00
Jason Merrill
3e605b20a0 Implement N3653 (Member initializers and aggregates) and fix references to 'this' in constexpr constructors.
Implement N3653 (Member initializers and aggregates) and fix
	references to 'this' in constexpr constructors.
	* class.c (check_field_decls): In C++14 an NSDMI does not make the
	class non-aggregate.
	* constexpr.c (struct constexpr_ctx): New.
	(cxx_bind_parameters_in_call): Handle 'this'.
	(cxx_eval_call_expression): Create new constexpr_ctx.
	(cxx_eval_component_reference): Check CONSTRUCTOR_NO_IMPLICIT_ZERO.
	(initialized_type, init_subob_ctx, verify_ctor_sanity): New.
	(cxx_eval_bare_aggregate): Use them.  Build CONSTRUCTOR early.
	(cxx_eval_vec_init_1): Likewise.
	(cxx_eval_constant_expression) [PARM_DECL]: Allow 'this'.
	[TARGET_EXPR]: Build new constexpr_ctx.
	[PLACEHOLDER_EXPR]: New.
	(cxx_eval_outermost_constant_expr): Build new constexpr_ctx.  Add
	object parameter.
	(is_sub_constant_expr): Build new constexpr_ctx.
	(potential_constant_expression_1): Handle PLACEHOLDER_EXPR.
	Allow 'this'.
	* cp-gimplify.c (cp_gimplify_init_expr): Call replace_placeholders.
	* cp-tree.h (CONSTRUCTOR_NO_IMPLICIT_ZERO): New.
	* error.c (dump_expr): Handle PLACEHOLDER_EXPR.
	* init.c (get_nsdmi): Generate PLACEHOLDER_EXPR.
	* tree.c (lvalue_kind): Handle PLACEHOLDER_EXPR.
	(build_ctor_subob_ref, replace_placeholders): New.
	* typeck2.c (store_init_value): Use replace_placeholders.
	(process_init_constructor_record): Make zero-init before NSDMI
	explicit.

From-SVN: r216750
2014-10-27 13:42:12 -04:00
Phil Muldoon
ddc8de034a Let GDB reuse GCC's parser.
2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* aclocal.m4: New file.
	* callbacks.cc: New file.
	* callbacks.hh: New file.
	* cc1plugin-config.h.in: New file.
	* configure: New file.
	* configure.ac: New file.
	* connection.cc: New file.
	* connection.hh: New file.
	* findcomp.cc: New file.
	* findcomp.hh: New file.
	* libcc1.cc: New file.
	* libcc1plugin.sym: New file.
	* libcc1.sym: New file.
	* Makefile.am: New file.
	* Makefile.in: New file.
	* marshall.cc: New file.
	* marshall.hh: New file.
	* names.cc: New file.
	* names.hh: New file.
	* plugin.cc: New file.
	* rpc.hh: New file.
	* status.hh: New file.

2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* gcc-c-fe.def: New file.
	* gcc-c-interface.h: New file.
	* gcc-interface.h: New file.

2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* c-tree.h (enum c_oracle_request): New.
	(c_binding_oracle_function): New typedef.
	(c_binding_oracle, c_pushtag, c_bind): Declare.
	* c-decl.c (c_binding_oracle): New global.
	(I_SYMBOL_CHECKED): New macro.
	(i_symbol_binding): New function.
	(I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
	(I_TAG_CHECKED): New macro.
	(i_tag_binding): New function.
	(I_TAG_BINDING, I_TAG_DECL): Redefine.
	(I_LABEL_CHECKED): New macro.
	(i_label_binding): New function.
	(I_LABEL_BINDING, I_LABEL_DECL): Redefine.
	(c_print_identifier): Save and restore c_binding_oracle.
	(c_pushtag, c_bind): New functions.

2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* aclocal.m4, configure: Rebuild.
	* Makefile.in (aclocal_deps): Add gcc-plugin.m4.
	* configure.ac: Use GCC_ENABLE_PLUGINS.
	* stor-layout.c (finish_bitfield_layout): Now public.  Change
	argument type to 'tree'.
	(finish_record_layout): Update.
	* stor-layout.h (finish_bitfield_layout): Declare.

2014-10-27  Tom Tromey  <tromey@redhat.com>

	* gcc-plugin.m4: New file.

2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* Makefile.def: Add libcc1 to host_modules.
	* configure.ac (host_tools): Add libcc1.
	* Makefile.in, configure: Rebuild.

From-SVN: r216748
2014-10-27 17:21:42 +00:00
Ian Lance Taylor
50a504654d libgo: Update to Go 1.3.3 release.
From-SVN: r216746
2014-10-27 16:57:33 +00:00
Alan Lawrence
fc72cba7ce [AArch64] Restore gimple_folding of reduction intrinsics
* config/aarch64/aarch64.c (TARGET_GIMPLE_FOLD_BUILTIN): Define again.
	* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin):
	Restore, enable for bigendian, update to use __builtin..._scal...

From-SVN: r216742
2014-10-27 15:53:25 +00:00
Alan Lawrence
64b0f92844 [AArch64] Use new reduc_[us](min|max)_scal optabs, inc. for builtins
* config/aarch64/aarch64-simd-builtins.def (reduc_smax_, reduc_smin_,
	reduc_umax_, reduc_umin_, reduc_smax_nan_, reduc_smin_nan_): Remove.
	(reduc_smax_scal_, reduc_smin_scal_, reduc_umax_scal_,
	reduc_umin_scal_, reduc_smax_nan_scal_, reduc_smin_nan_scal_): New.

	* config/aarch64/aarch64-simd.md
	(reduc_<maxmin_uns>_<mode>): Rename VDQV_S variant to...
	(reduc_<maxmin_uns>_internal<mode>): ...this.
	(reduc_<maxmin_uns>_<mode>): New (VDQ_BHSI).
	(reduc_<maxmin_uns>_scal_<mode>): New (*2).

	(reduc_<maxmin_uns>_v2si): Combine with below, renaming...
	(reduc_<maxmin_uns>_<mode>): Combine V2F with above, renaming...
	(reduc_<maxmin_uns>_internal_<mode>): ...to this (VDQF).

	* config/aarch64/arm_neon.h (vmaxv_f32, vmaxv_s8, vmaxv_s16,
	vmaxv_s32, vmaxv_u8, vmaxv_u16, vmaxv_u32, vmaxvq_f32, vmaxvq_f64,
	vmaxvq_s8, vmaxvq_s16, vmaxvq_s32, vmaxvq_u8, vmaxvq_u16, vmaxvq_u32,
	vmaxnmv_f32, vmaxnmvq_f32, vmaxnmvq_f64, vminv_f32, vminv_s8,
	vminv_s16, vminv_s32, vminv_u8, vminv_u16, vminv_u32, vminvq_f32,
	vminvq_f64, vminvq_s8, vminvq_s16, vminvq_s32, vminvq_u8, vminvq_u16,
	vminvq_u32, vminnmv_f32, vminnmvq_f32, vminnmvq_f64): Update to use
	__builtin_aarch64_reduc_..._scal; remove vget_lane wrapper.

From-SVN: r216741
2014-10-27 15:45:16 +00:00
Douglas Rupp
ec528bd1e1 * MAINTAINTERS: Change my email address.
From-SVN: r216739
2014-10-27 15:28:47 +00:00
Alan Lawrence
f5156c3ead [AArch64] Use new reduc_plus_scal optabs, inc. for __builtins
* config/aarch64/aarch64-simd-builtins.def
	(reduc_splus_<mode>/VDQF, reduc_uplus_<mode>/VDQF, reduc_splus_v4sf):
	Remove.
	(reduc_plus_scal_<mode>, reduc_plus_scal_v4sf): New.

	* config/aarch64/aarch64-simd.md (reduc_<sur>plus_mode): Remove.
	(reduc_splus_<mode>, reduc_uplus_<mode>, reduc_plus_scal_<mode>): New.

	(reduc_<sur>plus_mode): Change SUADDV -> UNSPEC_ADDV, rename to...
	(aarch64_reduc_plus_internal<mode>): ...this.

	(reduc_<sur>plus_v2si): Change SUADDV -> UNSPEC_ADDV, rename to...
	(aarch64_reduc_plus_internalv2si): ...this.

	(reduc_splus_<mode>/V2F): Rename to...
	(aarch64_reduc_plus_internal<mode>): ...this.

	* config/aarch64/iterators.md
	(UNSPEC_SADDV, UNSPEC_UADDV, SUADDV): Remove.
	(UNSPEC_ADDV): New.
	(sur): Remove elements for UNSPEC_SADDV and UNSPEC_UADDV.

	* config/aarch64/arm_neon.h (vaddv_s8, vaddv_s16, vaddv_s32, vaddv_u8,
	vaddv_u16, vaddv_u32, vaddvq_s8, vaddvq_s16, vaddvq_s32, vaddvq_s64,
	vaddvq_u8, vaddvq_u16, vaddvq_u32, vaddvq_u64, vaddv_f32, vaddvq_f32,
	vaddvq_f64): Change __builtin_aarch64_reduc_[us]plus_... to
	__builtin_aarch64_reduc_plus_scal, remove vget_lane wrapper.

From-SVN: r216738
2014-10-27 15:20:18 +00:00
Alan Lawrence
d43a252e2f Add new optabs for reducing vectors to scalars
PR tree-optimization/61114
	* doc/md.texi (Standard Names): Add reduc_(plus,[us](min|max))|scal
	optabs, and note in reduc_[us](plus|min|max) to prefer the former.

	* expr.c (expand_expr_real_2): Use reduc_..._scal if available, fall
	back to old reduc_... + BIT_FIELD_REF only if not.

	* optabs.c (optab_for_tree_code): for REDUC_(MAX,MIN,PLUS)_EXPR,
	return the reduce-to-scalar (reduc_..._scal) optab.
	(scalar_reduc_to_vector): New.

	* optabs.def (reduc_smax_scal_optab, reduc_smin_scal_optab,
	reduc_plus_scal_optab, reduc_umax_scal_optab, reduc_umin_scal_optab):
	New.

	* optabs.h (scalar_reduc_to_vector): Declare.

	* tree-vect-loop.c (vectorizable_reduction): Look for optabs reducing
	to either scalar or vector.

From-SVN: r216737
2014-10-27 14:20:52 +00:00
Alan Lawrence
99f76d9bac [Vectorizer] Make REDUC_xxx_EXPR tree codes produce a scalar result
PR tree-optimization/61114
	* expr.c (expand_expr_real_2): For REDUC_{MIN,MAX,PLUS}_EXPR, add
	extract_bit_field around optab result.

	* fold-const.c (fold_unary_loc): For REDUC_{MIN,MAX,PLUS}_EXPR, produce
	scalar not vector.

	* tree-cfg.c (verify_gimple_assign_unary): Check result vs operand type
	for REDUC_{MIN,MAX,PLUS}_EXPR.

	* tree-vect-loop.c (vect_analyze_loop): Update comment.
	(vect_create_epilog_for_reduction): For direct vector reduction, use
	result of tree code directly without extract_bit_field.

	* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): Update
	comment.

From-SVN: r216736
2014-10-27 14:04:43 +00:00
Andrew MacLeod
60393bbc61 ggcplug.c: Shuffle includes to include gcc-plugin.h earlier.
2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* testsuite/gcc.dg/plugin/ggcplug.c: Shuffle includes to include
	gcc-plugin.h earlier.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* c/c-typeck.c: Adjust include files.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* c-family/c-gimplify.c: Adjust include files.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* cp/cp-gimplify.c: Adjust include files.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* go/go-gcc.cc: Adjust include files.
	* go/go-lang.c: Ditto.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* java/java-gimplify.c: Adjust include files.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* lto/lto-lang.c: Adjust include files.
	* lto/lto-object.c: Ditto.
	* lto/lto-partition.c: Ditto.
	* lto/lto-symtab.c: Ditto.
	* lto/lto.c: Ditto.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* basic-block.h: Remove all includes.
	(enum profile_status_d, struct control_flow_graph): Move to cfg.h
	* cfg.h (profile_status_d, struct control_flow_graph): Relocate here.
	* Makefile.in (GTFILES): Add cfg.h to list.
	* cgraph.h (symbol_table::create_empty): Move to cgraph.c.
	* cgraph.c (symbol_table::create_empty): Relocate from cgraph.h.
	* genconditions.c (write_header): Add predict.h and basic-block.h to
	lits of includes.
	* genemit.c (main): Ditto.
	* genpreds.c (write_insn_preds_c): Ditto.
	* genrecog.c (write_header): Ditto.
	* gengtype.c (open_base_files): Add predict.h, basic-block.h, and cfg.h
	to list of includes.
	* alias.c: Adjust include files.
	* asan.c: Ditto.
	* auto-inc-dec.c: Ditto.
	* auto-profile.c: Ditto.
	* bb-reorder.c: Ditto.
	* bt-load.c: Ditto.
	* builtins.c: Ditto.
	* caller-save.c: Ditto.
	* calls.c: Ditto.
	* cfg.c: Ditto.
	* cfganal.c: Ditto.
	* cfgbuild.c: Ditto.
	* cfgcleanup.c: Ditto.
	* cfgexpand.c: Ditto.
	* cfghooks.c: Ditto.
	* cfgloop.c: Ditto.
	* cfgloopanal.c: Ditto.
	* cfgloopmanip.c: Ditto.
	* cfgrtl.c: Ditto.
	* cgraphbuild.c: Ditto.
	* cgraphclones.c: Ditto.
	* cgraphunit.c: Ditto.
	* combine-stack-adj.c: Ditto.
	* combine.c: Ditto.
	* compare-elim.c: Ditto.
	* coverage.c: Ditto.
	* cprop.c: Ditto.
	* cse.c: Ditto.
	* cselib.c: Ditto.
	* data-streamer-in.c: Ditto.
	* data-streamer-out.c: Ditto.
	* data-streamer.c: Ditto.
	* dce.c: Ditto.
	* ddg.c: Ditto.
	* ddg.h: Ditto.
	* df-core.c: Ditto.
	* df-problems.c: Ditto.
	* df-scan.c: Ditto.
	* df.h: Ditto.
	* dojump.c: Ditto.
	* dominance.c: Ditto.
	* domwalk.c: Ditto.
	* dse.c: Ditto.
	* dwarf2cfi.c: Ditto.
	* emit-rtl.c: Ditto.
	* et-forest.c: Ditto.
	* except.c: Ditto.
	* expmed.c: Ditto.
	* expr.c: Ditto.
	* final.c: Ditto.
	* fold-const.c: Ditto.
	* function.c: Ditto.
	* fwprop.c: Ditto.
	* gcc-plugin.h: Ditto.
	* gcse.c: Ditto.
	* generic-match-head.c: Ditto.
	* ggc-page.c: Ditto.
	* gimple-builder.c: Ditto.
	* gimple-expr.c: Ditto.
	* gimple-fold.c: Ditto.
	* gimple-iterator.c: Ditto.
	* gimple-low.c: Ditto.
	* gimple-match-head.c: Ditto.
	* gimple-pretty-print.c: Ditto.
	* gimple-ssa-isolate-paths.c: Ditto.
	* gimple-ssa-strength-reduction.c: Ditto.
	* gimple-streamer-in.c: Ditto.
	* gimple-streamer-out.c: Ditto.
	* gimple-streamer.h: Ditto.
	* gimple-walk.c: Ditto.
	* gimple.c: Ditto.
	* gimplify-me.c: Ditto.
	* gimplify.c: Ditto.
	* graph.c: Ditto.
	* graphite-blocking.c: Ditto.
	* graphite-clast-to-gimple.c: Ditto.
	* graphite-dependences.c: Ditto.
	* graphite-interchange.c: Ditto.
	* graphite-isl-ast-to-gimple.c: Ditto.
	* graphite-optimize-isl.c: Ditto.
	* graphite-poly.c: Ditto.
	* graphite-scop-detection.c: Ditto.
	* graphite-sese-to-poly.c: Ditto.
	* graphite.c: Ditto.
	* haifa-sched.c: Ditto.
	* hw-doloop.c: Ditto.
	* ifcvt.c: Ditto.
	* init-regs.c: Ditto.
	* internal-fn.c: Ditto.
	* ipa-cp.c: Ditto.
	* ipa-devirt.c: Ditto.
	* ipa-icf-gimple.c: Ditto.
	* ipa-icf.c: Ditto.
	* ipa-inline-analysis.c: Ditto.
	* ipa-inline.c: Ditto.
	* ipa-polymorphic-call.c: Ditto.
	* ipa-profile.c: Ditto.
	* ipa-prop.c: Ditto.
	* ipa-pure-const.c: Ditto.
	* ipa-reference.c: Ditto.
	* ipa-split.c: Ditto.
	* ipa-utils.c: Ditto.
	* ipa.c: Ditto.
	* ira-build.c: Ditto.
	* ira-color.c: Ditto.
	* ira-conflicts.c: Ditto.
	* ira-costs.c: Ditto.
	* ira-emit.c: Ditto.
	* ira-lives.c: Ditto.
	* ira.c: Ditto.
	* jump.c: Ditto.
	* lcm.c: Ditto.
	* loop-doloop.c: Ditto.
	* loop-init.c: Ditto.
	* loop-invariant.c: Ditto.
	* loop-iv.c: Ditto.
	* loop-unroll.c: Ditto.
	* lower-subreg.c: Ditto.
	* lra-assigns.c: Ditto.
	* lra-coalesce.c: Ditto.
	* lra-constraints.c: Ditto.
	* lra-eliminations.c: Ditto.
	* lra-lives.c: Ditto.
	* lra-spills.c: Ditto.
	* lra.c: Ditto.
	* lto-cgraph.c: Ditto.
	* lto-compress.c: Ditto.
	* lto-opts.c: Ditto.
	* lto-section-in.c: Ditto.
	* lto-section-out.c: Ditto.
	* lto-streamer-in.c: Ditto.
	* lto-streamer-out.c: Ditto.
	* lto-streamer.c: Ditto.
	* mcf.c: Ditto.
	* mode-switching.c: Ditto.
	* modulo-sched.c: Ditto.
	* omp-low.c: Ditto.
	* optabs.c: Ditto.
	* opts-global.c: Ditto.
	* passes.c: Ditto.
	* postreload-gcse.c: Ditto.
	* postreload.c: Ditto.
	* predict.c: Ditto.
	* print-rtl.c: Ditto.
	* profile.c: Ditto.
	* recog.c: Ditto.
	* ree.c: Ditto.
	* reg-stack.c: Ditto.
	* regcprop.c: Ditto.
	* regcprop.h: Ditto.
	* reginfo.c: Ditto.
	* regrename.c: Ditto.
	* regstat.c: Ditto.
	* reload.c: Ditto.
	* reload1.c: Ditto.
	* reorg.c: Ditto.
	* resource.c: Ditto.
	* rtlanal.c: Ditto.
	* sched-deps.c: Ditto.
	* sched-ebb.c: Ditto.
	* sched-int.h: Ditto.
	* sched-rgn.c: Ditto.
	* sched-vis.c: Ditto.
	* sel-sched-dump.c: Ditto.
	* sel-sched-ir.c: Ditto.
	* sel-sched-ir.h: Ditto.
	* sel-sched.c: Ditto.
	* sese.c: Ditto.
	* shrink-wrap.c: Ditto.
	* stack-ptr-mod.c: Ditto.
	* stmt.c: Ditto.
	* store-motion.c: Ditto.
	* symtab.c: Ditto.
	* toplev.c: Ditto.
	* tracer.c: Ditto.
	* trans-mem.c: Ditto.
	* tree-affine.c: Ditto.
	* tree-call-cdce.c: Ditto.
	* tree-cfg.c: Ditto.
	* tree-cfgcleanup.c: Ditto.
	* tree-chrec.c: Ditto.
	* tree-complex.c: Ditto.
	* tree-data-ref.c: Ditto.
	* tree-dfa.c: Ditto.
	* tree-eh.c: Ditto.
	* tree-emutls.c: Ditto.
	* tree-if-conv.c: Ditto.
	* tree-inline.c: Ditto.
	* tree-into-ssa.c: Ditto.
	* tree-loop-distribution.c: Ditto.
	* tree-nested.c: Ditto.
	* tree-nrv.c: Ditto.
	* tree-object-size.c: Ditto.
	* tree-outof-ssa.c: Ditto.
	* tree-parloops.c: Ditto.
	* tree-phinodes.c: Ditto.
	* tree-predcom.c: Ditto.
	* tree-pretty-print.c: Ditto.
	* tree-profile.c: Ditto.
	* tree-scalar-evolution.c: Ditto.
	* tree-sra.c: Ditto.
	* tree-ssa-address.c: Ditto.
	* tree-ssa-alias.c: Ditto.
	* tree-ssa-ccp.c: Ditto.
	* tree-ssa-coalesce.c: Ditto.
	* tree-ssa-copy.c: Ditto.
	* tree-ssa-copyrename.c: Ditto.
	* tree-ssa-dce.c: Ditto.
	* tree-ssa-dom.c: Ditto.
	* tree-ssa-dse.c: Ditto.
	* tree-ssa-forwprop.c: Ditto.
	* tree-ssa-ifcombine.c: Ditto.
	* tree-ssa-live.c: Ditto.
	* tree-ssa-loop-ch.c: Ditto.
	* tree-ssa-loop-im.c: Ditto.
	* tree-ssa-loop-ivcanon.c: Ditto.
	* tree-ssa-loop-ivopts.c: Ditto.
	* tree-ssa-loop-manip.c: Ditto.
	* tree-ssa-loop-niter.c: Ditto.
	* tree-ssa-loop-prefetch.c: Ditto.
	* tree-ssa-loop-unswitch.c: Ditto.
	* tree-ssa-loop.c: Ditto.
	* tree-ssa-math-opts.c: Ditto.
	* tree-ssa-operands.c: Ditto.
	* tree-ssa-phiopt.c: Ditto.
	* tree-ssa-phiprop.c: Ditto.
	* tree-ssa-pre.c: Ditto.
	* tree-ssa-propagate.c: Ditto.
	* tree-ssa-reassoc.c: Ditto.
	* tree-ssa-sccvn.c: Ditto.
	* tree-ssa-sink.c: Ditto.
	* tree-ssa-strlen.c: Ditto.
	* tree-ssa-structalias.c: Ditto.
	* tree-ssa-tail-merge.c: Ditto.
	* tree-ssa-ter.c: Ditto.
	* tree-ssa-threadedge.c: Ditto.
	* tree-ssa-threadupdate.c: Ditto.
	* tree-ssa-uncprop.c: Ditto.
	* tree-ssa-uninit.c: Ditto.
	* tree-ssa.c: Ditto.
	* tree-ssanames.c: Ditto.
	* tree-stdarg.c: Ditto.
	* tree-streamer-in.c: Ditto.
	* tree-streamer-out.c: Ditto.
	* tree-streamer.c: Ditto.
	* tree-switch-conversion.c: Ditto.
	* tree-tailcall.c: Ditto.
	* tree-vect-data-refs.c: Ditto.
	* tree-vect-generic.c: Ditto.
	* tree-vect-loop-manip.c: Ditto.
	* tree-vect-loop.c: Ditto.
	* tree-vect-patterns.c: Ditto.
	* tree-vect-slp.c: Ditto.
	* tree-vect-stmts.c: Ditto.
	* tree-vectorizer.c: Ditto.
	* tree-vrp.c: Ditto.
	* tree.c: Ditto.
	* tsan.c: Ditto.
	* ubsan.c: Ditto.
	* valtrack.c: Ditto.
	* valtrack.h: Ditto.
	* value-prof.c: Ditto.
	* var-tracking.c: Ditto.
	* varasm.c: Ditto.
	* varpool.c: Ditto.
	* vtable-verify.c: Ditto.
	* web.c: Ditto.
	* config/aarch64/aarch64-builtins.c: Ditto.
	* config/aarch64/aarch64.c: Ditto.
	* config/alpha/alpha.c: Ditto.
	* config/arc/arc.c: Ditto.
	* config/arm/arm.c: Ditto.
	* config/avr/avr.c: Ditto.
	* config/bfin/bfin.c: Ditto.
	* config/c6x/c6x.c: Ditto.
	* config/cr16/cr16.c: Ditto.
	* config/cris/cris.c: Ditto.
	* config/darwin-c.c: Ditto.
	* config/darwin.c: Ditto.
	* config/epiphany/epiphany.c: Ditto.
	* config/epiphany/mode-switch-use.c: Ditto.
	* config/epiphany/resolve-sw-modes.c: Ditto.
	* config/fr30/fr30.c: Ditto.
	* config/frv/frv.c: Ditto.
	* config/h8300/h8300.c: Ditto.
	* config/i386/i386.c: Ditto.
	* config/i386/winnt.c: Ditto.
	* config/ia64/ia64.c: Ditto.
	* config/iq2000/iq2000.c: Ditto.
	* config/lm32/lm32.c: Ditto.
	* config/m32c/m32c.c: Ditto.
	* config/m32r/m32r.c: Ditto.
	* config/m68k/m68k.c: Ditto.
	* config/mcore/mcore.c: Ditto.
	* config/mep/mep.c: Ditto.
	* config/microblaze/microblaze.c: Ditto.
	* config/mips/mips.c: Ditto.
	* config/mmix/mmix.c: Ditto.
	* config/mn10300/mn10300.c: Ditto.
	* config/moxie/moxie.c: Ditto.
	* config/msp430/msp430.c: Ditto.
	* config/nds32/nds32-cost.c: Ditto.
	* config/nds32/nds32-fp-as-gp.c: Ditto.
	* config/nds32/nds32-intrinsic.c: Ditto.
	* config/nds32/nds32-isr.c: Ditto.
	* config/nds32/nds32-md-auxiliary.c: Ditto.
	* config/nds32/nds32-memory-manipulation.c: Ditto.
	* config/nds32/nds32-pipelines-auxiliary.c: Ditto.
	* config/nds32/nds32-predicates.c: Ditto.
	* config/nds32/nds32.c: Ditto.
	* config/nios2/nios2.c: Ditto.
	* config/pa/pa.c: Ditto.
	* config/pdp11/pdp11.c: Ditto.
	* config/rl78/rl78.c: Ditto.
	* config/rs6000/rs6000.c: Ditto.
	* config/rx/rx.c: Ditto.
	* config/s390/s390.c: Ditto.
	* config/sh/sh-mem.cc: Ditto.
	* config/sh/sh.c: Ditto.
	* config/sh/sh_optimize_sett_clrt.cc: Ditto.
	* config/sh/sh_treg_combine.cc: Ditto.
	* config/sparc/sparc.c: Ditto.
	* config/spu/spu.c: Ditto.
	* config/stormy16/stormy16.c: Ditto.
	* config/tilegx/tilegx.c: Ditto.
	* config/tilepro/tilepro.c: Ditto.
	* config/v850/v850.c: Ditto.
	* config/vax/vax.c: Ditto.
	* config/xtensa/xtensa.c: Ditto.

From-SVN: r216735
2014-10-27 12:41:01 +00:00
Alan Lawrence
20924b4c5b [AArch64] Temporarily remove aarch64_gimple_fold_builtin code for reduction operations
* config/aarch64/aarch64.c (TARGET_GIMPLE_FOLD_BUILTIN): Comment out.
	* config/aarch64/aarch64-builtins.c (aarch64_gimple_fold_builtin):
	Remove using preprocessor directives.

From-SVN: r216734
2014-10-27 12:28:30 +00:00
Eric Botcazou
533d5a2d6c * gcc-interface/utils.c (create_subprog_decl): Adjust condition.
From-SVN: r216733
2014-10-27 11:42:01 +00:00
Richard Biener
60e0904571 match.pd (0 % X): Properly use the iterator iterating over all modulo operators.
2014-10-27  Richard Biener  <rguenther@suse.de>

	* match.pd (0 % X): Properly use the iterator iterating over
	all modulo operators.
	(X % 1): Likewise.

From-SVN: r216732
2014-10-27 11:41:14 +00:00
Eric Botcazou
98ae260da1 misc.c (gnat_init_options_struct): Parameterize errno support here instead of...
* gcc-interface/misc.c (gnat_init_options_struct): Parameterize errno
	support here instead of...
	Do not set flag_delete_dead_exceptions to 1 unconditionally.
	(gnat_init_gcc_eh): Set flag_delete_dead_exceptions to 1.
	(gnat_init_gcc_fp): ...here.

From-SVN: r216731
2014-10-27 11:40:47 +00:00
Eric Botcazou
084770317e * gcc-interface/trans.c (gnat_to_gnu) <N_Real_Literal>: Minor tweaks.
From-SVN: r216730
2014-10-27 11:37:19 +00:00
Eric Botcazou
5fe48b3df8 utils.c (create_var_decl_1): For a variable declared in the unit...
* gcc-interface/utils.c (create_var_decl_1): For a variable declared
	in the unit, set TREE_PUBLIC only if it has static storage duration.

From-SVN: r216729
2014-10-27 11:33:21 +00:00
Richard Biener
016adb0549 tree-ssa-forwprop.c: Include tree-cfgcleanup.h and tree-into-ssa.h.
2014-10-27  Richard Biener  <rguenther@suse.de>

	* tree-ssa-forwprop.c: Include tree-cfgcleanup.h and tree-into-ssa.h.
	(lattice): New global.
	(fwprop_ssa_val): New function.
	(fold_all_stmts): Likewise.
	(pass_forwprop::execute): Finally fold all stmts.

	* gcc.dg/tree-ssa/forwprop-6.c: Scan ccp1 dump instead.
	* gcc.dg/strlenopt-8.c: Adjust and XFAIL for non_strict_align
	target due to memcpy inline-expansion.

From-SVN: r216728
2014-10-27 11:30:23 +00:00
Eric Botcazou
8c44fc0f23 decl.c (gnat_to_gnu_entity): Apply special treatment of derived packed array types to constrained subtypes only.
* gcc-interface/decl.c (gnat_to_gnu_entity): Apply special treatment
	of derived packed array types to constrained subtypes only.

From-SVN: r216727
2014-10-27 11:19:41 +00:00
Eric Botcazou
33ccc5363e decl.c (gnat_to_gnu_entity): Remove superfluous computation for the max size.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove
	superfluous computation for the max size.
	<E_Array_Subtype>: Likewise.  Make sure that the max size calculation
	does not overflow at compile time.

From-SVN: r216725
2014-10-27 10:56:04 +00:00
GCC Administrator
0a2e22ec88 Daily bump.
From-SVN: r216723
2014-10-27 00:16:26 +00:00
Manuel López-Ibáñez
d723bb7c75 In cp/error.c...
In cp/error.c, I separate the initialization of the diagnostic context
from the initialization of the scratch pretty-printer (cxx_pp).  This
was suggested by Gabriel in the last review of the patch and now I
realize it was a good idea. Now cxx_initialize_diagnostics is the
equivalent version of c_initialize_diagnostics.  To avoid having to
make extern a bunch of functions, I moved it from cp-objcp-common.c to
error.c.

I moved the setting of diagnostic_format_decoder (global_dc) =
c_tree_printer, from c_objc_common_init to c_initialize_diagnostics,
and right after c_common_diagnostics_set_defaults.  This
mimics what is done in cxx_initialize_diagnostics.

Moreover, in both c_initialize_diagnostics and
cxx_initialize_diagnostics, the FE-specific pretty-printer is
initialized first and then other settings are applied. This does not
make a difference right now, but if in the future one wishes to touch
something in the pretty-printer, it will not get overriden
immediately.

In fact, the code I removed in c_common_initialize_diagnostics, which
sets line_cutoff to 80, is useless because the pretty-printer created
here is actually never used, but overriden by the FE-specific
pretty-printers. This also means that doc/invoke.texi was wrong.

Finally, it is useless to set the maximum line length to 0 in the
constructor of cxx_pretty_printer.  It is the default anyway.

gcc/c/ChangeLog:

2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53061
	* c-objc-common.c (c_objc_common_init): Do not do diagnostics
	initialization here...
	(c_initialize_diagnostics): ... but here. Set defaults after
	building pretty-printer.

gcc/ChangeLog:

2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53061
	* doc/invoke.texi (fmessage-length): Update text to match reality.

gcc/cp/ChangeLog:

2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53061
	* cp-objcp-common.c: Do not include new.
	(cxx_initialize_diagnostics): Move from here to ...
	* error.c (cxx_initialize_diagnostics): : ... here. Move
	diagnostics initialization here from init_error.
	(cxx_pp): Use a real pointer not a macro.
	(init_error): Just initialize cxx_pp.
	* cxx-pretty-print.c (cxx_pretty_printer::cxx_pretty_printer): Do
	not set maximum line length.

gcc/c-family/ChangeLog:

2014-10-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53061
	* c-opts.c (c_common_diagnostics_set_defaults): Renamed from
	c_common_initialize_diagnostics.
	* c-common.h: Likewise.

From-SVN: r216720
2014-10-26 21:21:58 +00:00
Richard Sandiford
23487675cd microblaze.c: Include rtl-iter.h.
gcc/
	* config/microblaze/microblaze.c: Include rtl-iter.h.
	(microblaze_tls_referenced_p_1): Delete.
	(microblaze_tls_referenced_p): Use FOR_EACH_SUBRTX.

From-SVN: r216719
2014-10-26 19:47:22 +00:00
John David Anglin
ef2810c145 linux-unwind.h (pa32_read_access_ok): New function.
* config/pa/linux-unwind.h (pa32_read_access_ok): New function.
	(pa32_fallback_frame_state): Use pa32_read_access_ok to check if
	memory read accesses are ok.

From-SVN: r216716
2014-10-26 14:46:14 +00:00