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
>
> 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

Reply via email to