On Fri, Aug 29, 2014 at 4:00 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote:
> Patch in the bottom extends support of compress and expand > insns. > > Bootstrapped. > AVX-512* tests on top of patch-set all pass > under simulator. > > Is it ok for trunk? > > gcc/ > * config/i386/sse.md > (define_mode_iterator VI48F): New. > (define_insn "avx512f_compress<mode>_mask"): Delete. > (define_insn "<avx512>_compress<mode>_mask"): New. > (define_insn "avx512f_compressstore<mode>_mask"): Delete. > (define_insn "<avx512>_compressstore<mode>_mask"): New. > (define_expand "avx512f_expand<mode>_maskz"): Delete. > (define_expand "<avx512>_expand<mode>_maskz"): New. > (define_insn "avx512f_expand<mode>_mask"): Delete. > (define_insn "<avx512>_expand<mode>_mask"): New. Again, rename instead of delete/new. The patch is OK. Please note that you can use UNSPEC_COMPRESS everywhere, there is no need for UNSPEC_COMPRESS_STORE and can be deleted. On a related note, it looks to me that UNSPEC_COMPRESS patterns can be merged together by using nonimmediate operand 0 and matched memory. Please see the last constraint of sse_movhlps for example. This can be a follow-up patch. Thanks, Uros.