https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97642

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:35c4c67e6c534ef3d6ba7a7752ab7e0fbc91755b

commit r11-5696-g35c4c67e6c534ef3d6ba7a7752ab7e0fbc91755b
Author: liuhongt <hongtao....@intel.com>
Date:   Tue Nov 3 17:26:43 2020 +0800

    Fix incorrect replacement of vmovdqu32 with vpblendd which can cause fault.

    gcc/ChangeLog:

            PR target/97642
            * config/i386/i386-expand.c
            (ix86_expand_special_args_builtin): Don't move all-ones mask
            operands into register.
            * config/i386/sse.md (UNSPEC_MASKLOAD): New unspec.
            (*<avx512>_load<mode>_mask): New define_insns for masked load
            instructions.
            (<avx512>_load<mode>_mask): Changed to define_expands which
            specifically handle memory or all-ones mask operands.
            (<avx512>_blendm<mode>): Changed to define_insns which are same
            as original <avx512>_load<mode>_mask with adjustment of
            operands order.
            (*<avx512>_load<mode>): New define_insn_and_split which is
            used to optimize for masked load with all one mask.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust testcase to
            make sure only masked load instruction is generated.
            * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
            * gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
            * gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
            * gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
            * gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
            * gcc.target/i386/avx512vl-vmovapd-1.c: Ditto.
            * gcc.target/i386/avx512vl-vmovaps-1.c: Ditto.
            * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
            * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
            * gcc.target/i386/pr97642-1.c: New test.
            * gcc.target/i386/pr97642-2.c: New test.
  • [Bug target/97642] Incorrect re... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to