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

--- Comment #9 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:af6cfd7b663909688c6ca55b6e9f859cdde4310f

commit r14-3034-gaf6cfd7b663909688c6ca55b6e9f859cdde4310f
Author: liuhongt <hongtao....@intel.com>
Date:   Mon Aug 7 11:10:52 2023 +0800

    Fix ICE in rtl check when bootstrap.

   
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/libgfortran/generated/matmul_i1.c:
In function âmatmul_i1_avx512fâ:
   
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/libgfortran/generated/matmul_i1.c:1781:1:
internal compiler error: RTL check: expected elt 0 type 'i' or 'n', have 'w'
(rtx const_int) in vpternlog_redundant_operand_mask, at
config/i386/i386.cc:19460
     1781 | }
          | ^
    0x5559de26dc2d rtl_check_failed_type2(rtx_def const*, int, int, int, char
const*, int, char const*)
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/rtl.cc:761
    0x5559de340bfe vpternlog_redundant_operand_mask(rtx_def**)
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/config/i386/i386.cc:19460
    0x5559dfec67a6 split_44
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/config/i386/sse.md:12730
    0x5559dfec67a6 split_63
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/config/i386/sse.md:28428
    0x5559deb8a682 try_split(rtx_def*, rtx_insn*, int)
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/emit-rtl.cc:3800
    0x5559deb8adf2 try_split(rtx_def*, rtx_insn*, int)
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/emit-rtl.cc:3972
    0x5559def69194 split_insn
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/recog.cc:3385
    0x5559def70c57 split_all_insns()
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/recog.cc:3489
    0x5559def70d0c execute
           
/var/tmp/portage/sys-devel/gcc-14.0.0_pre20230806/work/gcc-14-20230806/gcc/recog.cc:4413

    Use INTVAL (imm_op) instead of XINT (imm_op, 0).

    gcc/ChangeLog:

            PR target/110926
            * config/i386/i386-protos.h
            (vpternlog_redundant_operand_mask): Adjust parameter type.
            * config/i386/i386.cc (vpternlog_redundant_operand_mask): Use
            INTVAL instead of XINT, also adjust parameter type from rtx*
            to rtx since the function only needs operands[4] in vpternlog
            pattern.
            (substitute_vpternlog_operands): Pass operands[4] instead of
            operands to vpternlog_redundant_operand_mask.
            * config/i386/sse.md: Ditto.

Reply via email to