On Mon, Aug 7, 2023 at 9:38 AM Hongtao Liu <crazy...@gmail.com> wrote: > > On Mon, Aug 7, 2023 at 9:35 AM Hongtao Liu <crazy...@gmail.com> wrote: > > > > On Mon, Aug 7, 2023 at 2:08 AM Toon Moene <t...@moene.org> wrote: > > > > > > Wonder if I am the only one to see this: > > > > > > https://gcc.gnu.org/pipermail/gcc-testresults/2023-August/792616.html > Could you share your GCC configure, I guess > --enable-checking=yes,rtl,extra is key to reproduce the issue? Reproduce with --with-cpu=native --with-arch=native ---enable-checking=yes,rtl,extra on an AVX512 machine. So on non-avx512 machine --with-cpu=cascadelake --with-arch=cascadelake --enable-checking=yes,rtl,extra should be enough. > > > > > > To quote: > > > > > > during RTL pass: split1 > > > /home/toon/compilers/gcc/libgfortran/generated/matmul_i1.c: In function > > > 'matmul_i1_avx512f': > > > /home/toon/compilers/gcc/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 | } > > > | ^ > > > during RTL pass: split1 > > > /home/toon/compilers/gcc/libgfortran/generated/matmul_i2.c: In function > > > 'matmul_i2_avx512f': > > > /home/toon/compilers/gcc/libgfortran/generated/matmul_i2.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 | } > > > | ^ > > > 0x7a5cc7 rtl_check_failed_type2(rtx_def const*, int, int, int, char > > > const*, int, char const*) > > > /home/toon/compilers/gcc/gcc/rtl.cc:761 > > > 0x82bf8d vpternlog_redundant_operand_mask(rtx_def**) > > > /home/toon/compilers/gcc/gcc/config/i386/i386.cc:19460 > > > 0x1f1295b split_44 > > > /home/toon/compilers/gcc/gcc/config/i386/sse.md:12730 > > > 0x1f1295b split_63 > > > /home/toon/compilers/gcc/gcc/config/i386/sse.md:28428 > > > 0xe7663b try_split(rtx_def*, rtx_insn*, int) > > > /home/toon/compilers/gcc/gcc/emit-rtl.cc:3800 > > > 0xe76cff try_split(rtx_def*, rtx_insn*, int) > > > /home/toon/compilers/gcc/gcc/emit-rtl.cc:3972 > > > 0x11b2938 split_insn > > > /home/toon/compilers/gcc/gcc/recog.cc:3385 > > > 0x11b2eff split_all_insns() > > > /home/toon/compilers/gcc/gcc/recog.cc:3489 > > > 0x11dd9c8 execute > > > /home/toon/compilers/gcc/gcc/recog.cc:4413 > > > Please submit a full bug report, with preprocessed source (by using > > > -freport-bug). > > > Please include the complete backtrace with any bug report. > > > See <https://gcc.gnu.org/bugs/> for instructions. > > > make[3]: *** [Makefile:4584: matmul_i1.lo] Error 1 > > > make[3]: *** Waiting for unfinished jobs.... > > > > > > -- > > > Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290 > > > Saturnushof 14, 3738 XG Maartensdijk, The Netherlands > > > > Looks like related to > > > > https://gcc.gnu.org/g:567d06bb357a39ece865cef67ada44124f227e45 > > > > commit r14-2999-g567d06bb357a39ece865cef67ada44124f227e45 > > Author: Yan Simonaytes <simonaytes....@ispras.ru> > > Date: Tue Jul 25 20:43:19 2023 +0300 > > > > i386: eliminate redundant operands of VPTERNLOG > > > > As mentioned in PR 110202, GCC may be presented with input where control > > word of the VPTERNLOG intrinsic implies that some of its operands do not > > affect the result. In that case, we can eliminate redundant operands > > of the instruction by substituting any other operand in their place. > > This removes false dependencies. > > > > > > -- > > BR, > > Hongtao > > > > -- > BR, > Hongtao
-- BR, Hongtao