[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 Andrew Pinski changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #11 from Andrew Pinski --- .
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #10 from Hongtao.liu --- Fixed in GCC14.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #9 from CVS Commits --- The master branch has been updated by hongtao Liu : https://gcc.gnu.org/g:af6cfd7b663909688c6ca55b6e9f859cdde4310f commit r14-3034-gaf6cfd7b663909688c6ca55b6e9f859cdde4310f Author: liuhongt 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.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #8 from Hongtao.liu --- (In reply to Alexander Monakov from comment #7) > Thanks for identifying the problem. Please don't rename the argument to > 'op_mask' though: the parameter itself is not a mask, it's an eight-bit > control word of the vpternlog instruction (holding the logic table of a > three-operand Boolean function). The function derives a three-bit mask from > it. I'll rename it as ternlog_imm8 to avoid confusion.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org --- Comment #7 from Alexander Monakov --- Thanks for identifying the problem. Please don't rename the argument to 'op_mask' though: the parameter itself is not a mask, it's an eight-bit control word of the vpternlog instruction (holding the logic table of a three-operand Boolean function). The function derives a three-bit mask from it.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #6 from Hongtao.liu --- (In reply to Hongtao.liu from comment #5) > I'm working on a patch. int -vpternlog_redundant_operand_mask (rtx *operands) +vpternlog_redundant_operand_mask (rtx op_mask) { int mask = 0; - int imm8 = XINT (operands[4], 0); + int imm8 = INTVAL (op_mask); We should use INTVAL instead of XINT.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #5 from Hongtao.liu --- I'm working on a patch.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #4 from Sam James --- Created attachment 55699 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55699=edit reduced.i
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #3 from Sam James --- Created attachment 55698 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55698=edit reduced.i Reduced version attached, not cleaned it up yet.
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 --- Comment #2 from Sam James --- Created attachment 55697 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55697=edit matmul_i1.i
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 Andrew Pinski changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed||2023-08-07 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski --- Also reported here: https://gcc.gnu.org/pipermail/gcc/2023-August/242212.html
[Bug target/110926] [14 regression] Bootstrap failure (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_m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110926 Andrew Pinski changed: What|Removed |Added Target||x86_64-linux-gnu Target Milestone|--- |14.0 Keywords||build, ice-checking, ||ice-on-valid-code Component|bootstrap |target