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

Reply via email to