Hello! Attached patch converts "Intel SSE4.1 instructions" and remaining sections. 2011-04-14 Uros Bizjak * config/i386/sse.md (sse4_1): New mode attribute. (_blend): Macroize from avx_blend and sse4_1_blend using VF mode iterator. (_blendv): Macroize from avx_blendv and sse4_1_blendv using VF mode iterator. (_dp): Macroize from avx_dp and sse4_1_dp 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): Use VF mode iterator. (_round): Macroize from avx_round256 and sse4_1_round using VF mode iterator. (sse4_1_round): Merge with *avx_round. (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.