This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 8/n, i386]: Merge SSE and AVX patterns using "enable" attribute.


Hello!

Attached patch converts "Intel SSE4.1 instructions" and remaining sections.

2011-04-14  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sse.md (sse4_1): New mode attribute.
	(<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_blend<ssemodesuffix><avxmodesuffix> and
	sse4_1_blend<ssemodesuffix> using VF mode iterator.
	(<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_blendv<ssemodesuffix><avxmodesuffix> and
	sse4_1_blendv<ssemodesuffix> using VF mode iterator.
	(<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_dp<ssemodesuffix><avxmodesuffix> and
	sse4_1_dp<ssemodesuffix> using VF mode iterator.
	(sse4_1_mpsadbw): Merge with *avx_mpsadbw.
	(sse4_1_packusdw): Merge with *avx_packusdw.
	(sse4_1_pblendvb): Merge with *avx_pblendvb.
	(sse4_1_pblendw): Merge with *avx_pblendw.
	(avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
	(<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
	VF mode iterator.
	(sse4_1_round<ssescalarmodesuffix>): Merge with
	*avx_round<ssescalarmodesuffix>.
	(aesenc): Merge with *avx_aesenc.
	(aesenclast): Merge with *avx_aesenclast.
	(aesdec): Merge with *avx_aesdec.
	(aesdeclast): Merge with *avx_aesdeclast.
	(pclmulqdq): Merge with *pclmulqdq.
	* config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
	New predicate.
	(nonimm_not_xmm0_operand_maybe_avx): Ditto.

Bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32} AVX target.

Uros.

Attachment: s.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]