[PATCH][AVX512][PR96246] Merge two define_insn: <avx512>_blendm<mode>, <avx512>_load<mode>_mask.

Kirill Yukhin kirill.yukhin@gmail.com
Wed Aug 12 14:33:02 GMT 2020


Hello,

On 22 июл 12:59, Hongtao Liu via Gcc-patches wrote:
>   Those two define_insns have same pattern, and
> <avx512>_load<mode>_mask would always be matched since it show up
> earlier in the md file, and it may lose some opportunity in
> pass_reload since <avx512>_load<mode>_mask only have constraint "0C"
> for operand2, and "v" constraint in <avx512>_vblendm<mode> would never
> be matched.
> 
> 2020-07-21  Hongtao Liu  <hongtao.liu@intel.com>
> 
> gcc/
>        PR target/96246
>         * config/i386/sse.md (<avx512>_load<mode>_mask,
>         <avx512>_load<mode>_mask): Extend to generate blendm
>         instructions.
>         (<avx512>_blendm<mode>, <avx512>_blendm<mode>): Change
>         define_insn to define_expand.
> 
> gcc/testsuite/
>         * gcc.target/i386/avx512bw-pr96246-1.c: New test.
>         * gcc.target/i386/avx512bw-pr96246-2.c: New test.
>         * gcc.target/i386/avx512vl-pr96246-1.c: New test.
>         * gcc.target/i386/avx512vl-pr96246-2.c: New test.
>         * gcc.target/i386/avx512bw-vmovdqu16-1.c: New test.
>         * gcc.target/i386/avx512bw-vmovdqu8-1.c: New test.
>         * gcc.target/i386/avx512f-vmovapd-1.c: New test.
>         * gcc.target/i386/avx512f-vmovaps-1.c: New test.
>         * gcc.target/i386/avx512f-vmovdqa32-1.c: New test.
>         * gcc.target/i386/avx512f-vmovdqa64-1.c: New test.
>         * gcc.target/i386/avx512vl-pr92686-movcc-1.c: New test.
>         * gcc.target/i386/avx512vl-pr96246-1.c: New test.
>         * gcc.target/i386/avx512vl-pr96246-2.c: New test.
>         * gcc.target/i386/avx512vl-vmovapd-1.c: New test.
>         * gcc.target/i386/avx512vl-vmovaps-1.c: New test.
>         * gcc.target/i386/avx512vl-vmovdqa32-1.c: New test.
>         * gcc.target/i386/avx512vl-vmovdqa64-1.c: New test.

Your patch is OK for trunk.

--
K


More information about the Gcc-patches mailing list