On Tue, Oct 30, 2012 at 6:53 PM, Andrey Turetskiy <andrey.turets...@gmail.com> wrote: > Thanks for explanation, I understand it. > I fixed issue which you marked. Changelog is unchanged. > >>> I changed the patch according Uros' remarks. Please, have a look. >>> >>> Changelog: >>> >>> 2012-10-30 Andrey Turetskiy <andrey.turets...@gmail.com> >>> >>> * config/i386/i386.c (bdesc_args): Rename >>> CODE_FOR_avx2_umulhrswv16hi3 to >>> CODE_FOR_avx2_pmulhrswv16hi3. >>> * config/i386/predicates.md (const1_operand): Extend for vectors. >>> * config/i386/sse.md (ssse3_avx2): Extend. >>> (ssedoublemode): Ditto. >>> (<sse2_avx2>_uavg<mode>3): Merge avx2_uavgv32qi3, sse2_uavgv16qi3, >>> avx2_uavgv16hi3 and sse2_uavgv8hi3 into one. >>> (*<sse2_avx2>_uavg<mode>3): Merge *avx2_uavgv32qi3, *sse2_uavgv16qi3, >>> *avx2_uavgv16hi3 and *sse2_uavgv8hi3 into one. >>> (PMULHRSW): New. >>> (<ssse3_avx2>_pmulhrsw<mode>3): Merge avx2_umulhrswv16hi3, >>> ssse3_pmulhrswv8hi3 and ssse3_pmulhrswv4hi3 into one. >>> (*avx2_pmulhrswv16hi3): Replace const_vector with match_operand.
Replace const_vector with const1_operand predicate. >>> (*ssse3_pmulhrswv8hi3): Ditto. >>> (*ssse3_pmulhrswv4hi3): Ditto. Yes, the patch is OK for mainline SVN. BTW: Probably, pmulhrsw insn patterns can be merged, too, but this can be a follow-up patch. Thanks, Uros.