r138959 - in /branches/ix86/avx/gcc: ChangeLog....

hjl@gcc.gnu.org hjl@gcc.gnu.org
Mon Aug 11 18:48:00 GMT 2008


Author: hjl
Date: Mon Aug 11 18:48:38 2008
New Revision: 138959

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138959
Log:
2008-08-11  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_builtin_type): Add
	V8SF_FTYPE_V8SF_V8SI, V4DF_FTYPE_V4DF_V4DI,
	V4SF_FTYPE_V4SF_V4SI and V2DF_FTYPE_V2DF_V2DI.  Replace
	V8SF_FTYPE_V8SF_V8SF_V8SF_INT, V4DF_FTYPE_V4DF_V4DF_V4DF_INT,
	V4SF_FTYPE_V4SF_V4SF_V4SF_INT and V2DF_FTYPE_V2DF_V2DF_V2DF_INT
	with V8SF_FTYPE_V8SF_V8SF_V8SI_INT, V4DF_FTYPE_V4DF_V4DF_V4DI_INT,
	V4SF_FTYPE_V4SF_V4SF_V4SI_INT and V2DF_FTYPE_V2DF_V2DF_V2DI_INT,
	respectively.
	(bdesc_args): Correct the type of control parameter for
	__builtin_ia32_vpermilvarpd, __builtin_ia32_vpermilvarps,
	__builtin_ia32_vpermilvarpd256, __builtin_ia32_vpermilvarps256,
	__builtin_ia32_vpermil2pd, __builtin_ia32_vpermil2ps,
	__builtin_ia32_vpermil2pd256 and __builtin_ia32_vpermil2ps256.
	(ix86_init_mmx_sse_builtins): Replace
	v8sf_ftype_v8sf_v8sf_v8sf_int, v4df_ftype_v4df_v4df_v4df_int,
	v4sf_ftype_v4sf_v4sf_v4sf_int and v2df_ftype_v2df_v2df_v2df_int
	with v8sf_ftype_v8sf_v8sf_v8si_int, v4df_ftype_v4df_v4df_v4di_int,
	v4sf_ftype_v4sf_v4sf_v4si_int and v2df_ftype_v2df_v2df_v2di_int,
	respectively.  Add v8sf_ftype_v8sf_v8si, v4df_ftype_v4df_v4di,
	v4sf_ftype_v4sf_v4si and v2df_ftype_v2df_v2di.  Handle
	V8SF_FTYPE_V8SF_V8SI, V4DF_FTYPE_V4DF_V4DI,
	V4SF_FTYPE_V4SF_V4SI and V2DF_FTYPE_V2DF_V2DI.
	(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8SF_V8SI,
	V4DF_FTYPE_V4DF_V4DI, V4SF_FTYPE_V4SF_V4SI and
	V2DF_FTYPE_V2DF_V2DI.  Replace V8SF_FTYPE_V8SF_V8SF_V8SF_INT,
	V4DF_FTYPE_V4DF_V4DF_V4DF_INT, V4SF_FTYPE_V4SF_V4SF_V4SF_INT and
	V2DF_FTYPE_V2DF_V2DF_V2DF_INT with V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
	V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT and
	V2DF_FTYPE_V2DF_V2DF_V2DI_INT, respectively.

	* config/i386/gmmintrin.h (_mm_permutevar_pd): Correct the
	type of control parameter.
	(_mm256_permutevar_pd): Likewise.
	(_mm_permutevar_ps): Likewise.
	(_mm256_permutevar_ps): Likewise.
	(_mm_permute2_pd): Likewise.
	(_mm256_permute2_pd): Likewise.
	(_mm_permute2_ps): Likewise.
	(_mm256_permute2_ps): Likewise.

	* config/i386/sse.md (avxpermvecmode): New.
	(avx_vpermilvar<mode>3): Use <avxpermvecmode>.
	(avx_vpermil2<mode>3): Likewise.

Modified:
    branches/ix86/avx/gcc/ChangeLog.avx
    branches/ix86/avx/gcc/config/i386/gmmintrin.h
    branches/ix86/avx/gcc/config/i386/i386.c
    branches/ix86/avx/gcc/config/i386/sse.md



More information about the Gcc-cvs mailing list