public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "vsevolod.livinskij at frtk dot ru" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/103489] New: ICE with -O3 in operator[], at vec.h:889
Date: Tue, 30 Nov 2021 09:20:15 +0000	[thread overview]
Message-ID: <bug-103489-4@http.gcc.gnu.org/bugzilla/> (raw)

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

            Bug ID: 103489
           Summary: ICE with -O3 in operator[], at vec.h:889
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskij at frtk dot ru
  Target Milestone: ---

The same reproducer also triggers ICE for Sapphire Rapids with a different
stack trace.

Link to the Compiler Explorer: https://godbolt.org/z/nxqPhnnoe

Reproducer:
bool a[80];
short b, f;
void g(short h[][8][16]) {
  for (bool c = 0; c < b;)
    for (bool d = 0; d < (bool)f; d = 1)
      for (short e = 0; e < 16; e++)
        a[e] = h[b][1][e];
}

Error:
>$ g++ -O3 -c func.cpp
during GIMPLE pass: slp
func.cpp: In function 'void g(short int (*)[8][16])':
func.cpp:3:6: internal compiler error: in operator[], at vec.h:889
    3 | void g(short h[][8][16]) {
      |      ^
0x8b7e0a vec<edge_def*, va_gc, vl_embed>::operator[](unsigned int)
        /testing/gcc/gcc_src_master/gcc/vec.h:889
0x8b896f vec<gphi*, va_heap, vl_embed>::operator[](unsigned int)
        /testing/gcc/gcc_src_master/gcc/tree-vect-loop.c:7877
0x8b896f vec<gphi*, va_heap, vl_ptr>::operator[](unsigned int)
        /testing/gcc/gcc_src_master/gcc/vec.h:1495
0x8b896f vectorizable_phi(vec_info*, _stmt_vec_info*, gimple**, _slp_tree*,
vec<stmt_info_for_cost, va_heap, vl_ptr>*)
        /testing/gcc/gcc_src_master/gcc/tree-vect-loop.c:7869
0x2093485 vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
        /testing/gcc/gcc_src_master/gcc/tree-vect-stmts.c:11174
0x1485797 vect_schedule_slp_node
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:7252
0x1496756 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:7450
0x14964e9 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:7431
0x14964e9 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:7431
0x1496daf vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:7567
0x1498573 vect_slp_region
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:5926
0x1499503 vect_slp_bbs
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:6038
0x14998fc vect_slp_function(function*)
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.c:6126
0x14a02f2 execute
        /testing/gcc/gcc_src_master/gcc/tree-vectorizer.c:1503

Sapphire Rapids Error:
>$ g++ -O3 -c func.cpp -march=sapphirerapids
func.cpp: In function 'void g(short int (*)[8][16])':
func.cpp:3:6: error: incompatible types in 'PHI' argument 1
    3 | void g(short h[][8][16]) {
      |      ^
vector(16) unsigned char

vector(16) <signed-boolean:1>

vect_a_I_lsm.30_92 = PHI <_97(2), mask__28.29_93(4)>
during GIMPLE pass: slp
func.cpp:3:6: internal compiler error: verify_gimple failed
0x123e31a verify_gimple_in_cfg(function*, bool)
        /testing/gcc/gcc_src_master/gcc/tree-cfg.c:5578
0x110638f execute_function_todo
        /testing/gcc/gcc_src_master/gcc/passes.c:2084
0x110693b execute_todo
        /testing/gcc/gcc_src_master/gcc/passes.c:2138

gcc version 12.0.0 20211129 (ca5667e867252db3c8642ee90f55427149cd92b6) (GCC)

             reply	other threads:[~2021-11-30  9:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-30  9:20 vsevolod.livinskij at frtk dot ru [this message]
2021-11-30 12:24 ` [Bug tree-optimization/103489] [12 Regression] " rguenth at gcc dot gnu.org
2021-11-30 13:06 ` rguenth at gcc dot gnu.org
2021-11-30 13:12 ` [Bug tree-optimization/103489] [11/12 " rguenth at gcc dot gnu.org
2021-11-30 13:15 ` rguenth at gcc dot gnu.org
2021-11-30 14:01 ` cvs-commit at gcc dot gnu.org
2021-11-30 14:01 ` [Bug tree-optimization/103489] [11 " rguenth at gcc dot gnu.org
2021-11-30 14:13 ` [Bug tree-optimization/103489] [11 Regression] ICE with -O3 in operator[], at vec.h:889 since r12-5394-g0fc859f5efcb4624 marxin at gcc dot gnu.org
2021-11-30 14:23 ` rguenth at gcc dot gnu.org
2022-01-28 14:16 ` cvs-commit at gcc dot gnu.org
2022-01-28 14:16 ` rguenth at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-103489-4@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).