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

--- Comment #3 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:99e4891ed552aca4ca147671701edd0b31015f66

commit r11-2623-g99e4891ed552aca4ca147671701edd0b31015f66
Author: liuhongt <hongtao....@intel.com>
Date:   Mon Jul 20 10:13:58 2020 +0800

    Using UNSPEC for vector compare to mask register.

    For rtx like (eq:HI (V8SI 90) (V8SI 91)), cse will take it as a
    boolean value and try to do some optimization. But it is not true for
    vector compare, also other places in rtl passes hold the same
    assumption.

    2020-07-20  Hongtao Liu  <hongtao....@intel.com>

    gcc/
            PR target/96243
            * config/i386/i386-expand.c (ix86_expand_sse_cmp): Refine for
            maskcmp.
            (ix86_expand_mask_vec_cmp): Change prototype.
            * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): Change
prototype.
            * config/i386/i386.c (ix86_print_operand): Remove operand
            modifier 'I'.
            * config/i386/sse.md
            (*<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
Deleted.
            (*<avx512>_cmp<mode>3<mask_scalar_merge_name>): Ditto.
            (*<avx512>_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
            (*<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
            avx512f_maskcmp<mode>3): Ditto.

    gcc/testsuite
            * gcc.target/i386/pr92865-1.c: Adjust testcase.

Reply via email to