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

--- Comment #18 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:7026bb9504eb0f95e114f832cd6dd14302376861

commit r11-4203-g7026bb9504eb0f95e114f832cd6dd14302376861
Author: liuhongt <hongtao....@intel.com>
Date:   Sat Sep 26 15:34:23 2020 +0800

    Refactor implementation of *_bcst{_1,_2,_3} patterns.

    Add new predicate bcst_mem_operand and corresponding constraint "Br"
    to merge "$(pattern)_bcst{_1,_2,_3}" into "$(pattern)", also delete
    those separate "*_bcst{_1,_2,_3}" patterns.

    gcc/ChangeLog:

            PR target/87767
            * config/i386/constraints.md ("Br"): New special memory
            constraint.
            * config/i386/i386-expand.c (ix86_binary_operator_ok): Both
            source operand cannot be in memory or bcst_memory_operand.
            * config/i386/i386.c (ix86_print_operand): Print bcst_mem_operand.
            * config/i386/i386.h (VALID_BCST_MODE_P): New.
            * config/i386/predicates.md (bcst_mem_operand): New predicate
            for AVX512 embedding broadcast memory operand.
            (bcst_vector_operand): New predicate, vector_operand or
            bcst_mem_operand.
            * config/i386/sse.md
            (*<plusminus_insn><mode>3<mask_name><round_name>): Extend
            predicate and constraints to handle bcst_mem_operand.
            (*mul<mode>3<mask_name><round_name>): Ditto.
            (<sse>_div<mode>3<mask_name><round_name>): Ditto.
            (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
            Ditto.
            (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>):
            Ditto.
            (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>):
            Ditto.
            (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>):
            Ditto.
            (*<plusminus_insn><mode>3): Ditto.
            (avx512dq_mul<mode>3<mask_name>): Ditto.
            (*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto.
            (*andnot<mode>3): Ditto.
            (<mask_codefor><code><mode>3<mask_name>): Ditto.
            (*sub<mode>3<mask_name>_bcst): Removed.
            (*add<mode>3<mask_name>_bcst): Ditto.
            (*mul<mode>3<mask_name>_bcst): Ditto.
            (*<avx512>_div<mode>3<mask_name>_bcst): Ditto.
            (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1):
            Ditto.
            (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_2):
            Ditto.
            (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_3):
            Ditto.
            (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1):
            Ditto.
            (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_2):
            Ditto.
            (*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_3):
            Ditto.
            (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1):
            Ditto.
            (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_2):
            Ditto.
            (*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_3):
            Ditto.
            (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1):
            Ditto.
            (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_2):
            Ditto.
            (*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_3):
            Ditto.
            (*sub<mode>3_bcst): Ditto.
            (*add<mode>3_bcst): Ditto.
            (*avx512dq_mul<mode>3<mask_name>_bcst): Ditto.
            (*avx512f_mul<mode>3<mask_name>_bcst): Ditto.
            (*andnot<mode>3_bcst): Ditto.
            (*<code><mode>3_bcst): Ditto.
            * config/i386/subst.md (bcst_round_constraint): New subst
            attribute.
            (bcst_round_nimm_predicate): Ditto.
            (bcst_mask_prefix3): Ditto.
            (bcst_mask_prefix4): Ditto.
  • [Bug target/87767] Missing AVX5... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to