On Fri, Aug 15, 2014 at 1:56 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: > Hello, > This patch extends shift pattern to support AVX-512 > new insn. > > Bootstrapped. > New tests on top of patch-set all pass > under simulator. > > Is it ok for trunk? > > gcc/ > * config/i386/sse.md > (define_mode_iterator VI248_AVX2): Add V32HI mode. > (define_insn "<shift_insn><mode>3<mask_name>"): Add masking.
Again, please split insn pattern to avoid: + "TARGET_SSE2 + && <mask_mode512bit_condition> + && ((<MODE>mode != V16HImode && <MODE>mode != V8HImode) + || TARGET_AVX512BW + || !<mask_applied>)" insn constraints. The insn constraint should use baseline TARGET_* and mode iterator should use TARGET_* that results in "baseline TARGET_ && iterator TARGET_" for certain mode. If these are properly used, then there is no need to use <MODE>mode checks in the insn constraint. Uros.