public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3
@ 2022-04-01 20:53 vsevolod.livinskiy at gmail dot com
  2022-04-04  7:13 ` [Bug tree-optimization/105132] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: vsevolod.livinskiy at gmail dot com @ 2022-04-01 20:53 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 105132
           Summary: ICE in in operator[], at vec.h:889 with
                    -march=skylake-avx512 -O3
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskiy at gmail dot com
  Target Milestone: ---

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

Reproducer:
short a;
extern int b[];
int c;
void d(long f[][5][5][17], int g[][5][5][17]) {
  for (short e = 0; e < 17; e++) {
    a = g[19][2][3][e];
    b[e] = c & (f[3][2][3][e] && g[19][2][3][e]);
  }
}

Error:
>$ g++ -march=skylake-avx512 -c -O3 func.cpp
during GIMPLE pass: slp
func.cpp: In function 'void d(long int (*)[5][5][17], int (*)[5][5][17])':
func.cpp:4:6: internal compiler error: in operator[], at vec.h:889
    4 | void d(long f[][5][5][17], int g[][5][5][17]) {
      |      ^
0x99508e vec<edge_def*, va_gc, vl_embed>::operator[](unsigned int)
        /testing/gcc/gcc_src_master/gcc/vec.h:889
0x996d5b vec<tree_node*, va_heap, vl_embed>::operator[](unsigned int)
        /testing/gcc/gcc_src_master/gcc/tree-vect-stmts.cc:6108
0x996d5b vec<tree_node*, va_heap, vl_ptr>::operator[](unsigned int)
        /testing/gcc/gcc_src_master/gcc/vec.h:1495
0x996d5b vectorizable_operation
        /testing/gcc/gcc_src_master/gcc/tree-vect-stmts.cc:6375
0x2123ab8 vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
        /testing/gcc/gcc_src_master/gcc/tree-vect-stmts.cc:11245
0x14c4fc7 vect_schedule_slp_node
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:7320
0x14d6346 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:7515
0x14d60d9 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:7496
0x14d60d9 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:7496
0x14d60d9 vect_schedule_scc
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:7496
0x14d699f vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:7632
0x14d8163 vect_slp_region
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:5994
0x14d9113 vect_slp_bbs
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:6106
0x14d950c vect_slp_function(function*)
        /testing/gcc/gcc_src_master/gcc/tree-vect-slp.cc:6194
0x14e13e2 execute
        /testing/gcc/gcc_src_master/gcc/tree-vectorizer.cc:1506
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.

GCC version:
gcc version 12.0.1 20220401 (git://gcc.gnu.org/git/gcc.git:master
15d683d4f0b390b27c54a7c92c6e4f33195bdc93) (GCC)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3
  2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
@ 2022-04-04  7:13 ` rguenth at gcc dot gnu.org
  2022-04-04  8:31 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-04-04  7:13 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
           Keywords|                            |ice-on-valid-code,
                   |                            |needs-bisection
   Last reconfirmed|                            |2022-04-04

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I will have a look.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3
  2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
  2022-04-04  7:13 ` [Bug tree-optimization/105132] " rguenth at gcc dot gnu.org
@ 2022-04-04  8:31 ` rguenth at gcc dot gnu.org
  2022-04-04  9:10 ` [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40 marxin at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-04-04  8:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we end up scheduling

t.ii:4:6: note: node 0x45e58d0 (max_nunits=16, refcnt=1) vector(8)
<signed-boolean:1>
t.ii:4:6: note: op template: patt_99 = _20 & patt_346;
t.ii:4:6: note:         stmt 0 patt_99 = _20 & patt_346;
t.ii:4:6: note:         stmt 1 patt_68 = _94 & patt_59;
t.ii:4:6: note:         stmt 2 patt_71 = _108 & patt_70;
t.ii:4:6: note:         stmt 3 patt_2 = _124 & patt_1;
t.ii:4:6: note:         stmt 4 patt_78 = _140 & patt_45;
t.ii:4:6: note:         stmt 5 patt_37 = _156 & patt_86;
t.ii:4:6: note:         stmt 6 patt_40 = _172 & patt_39;
t.ii:4:6: note:         stmt 7 patt_115 = _188 & patt_114;
t.ii:4:6: note:         stmt 8 patt_121 = _204 & patt_117;
t.ii:4:6: note:         stmt 9 patt_132 = _220 & patt_131;
t.ii:4:6: note:         stmt 10 patt_146 = _236 & patt_137;
t.ii:4:6: note:         stmt 11 patt_149 = _252 & patt_148;
t.ii:4:6: note:         stmt 12 patt_163 = _268 & patt_162;
t.ii:4:6: note:         stmt 13 patt_169 = _284 & patt_165;
t.ii:4:6: note:         stmt 14 patt_180 = _300 & patt_179;
t.ii:4:6: note:         stmt 15 patt_194 = _316 & patt_185;
t.ii:4:6: note:         children 0x45e5958 0x45e5af0

where the children are vectorized with mismatching vector types of
vector(16) <signed-boolean:1> vs. vector(8) <signed-boolean:1>

Oddly enough vectorizable_operation nowhere tests for compatible vector
types of its operands ...

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40
  2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
  2022-04-04  7:13 ` [Bug tree-optimization/105132] " rguenth at gcc dot gnu.org
  2022-04-04  8:31 ` rguenth at gcc dot gnu.org
@ 2022-04-04  9:10 ` marxin at gcc dot gnu.org
  2022-04-04  9:35 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-04-04  9:10 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|needs-bisection             |
                 CC|                            |marxin at gcc dot gnu.org,
                   |                            |rsandifo at gcc dot gnu.org
            Summary|ICE in in operator[], at    |ICE in in operator[], at
                   |vec.h:889 with              |vec.h:889 with
                   |-march=skylake-avx512 -O3   |-march=skylake-avx512 -O3
                   |                            |since
                   |                            |r12-7246-g4963079769c99c40

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r12-7246-g4963079769c99c40.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40
  2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
                   ` (2 preceding siblings ...)
  2022-04-04  9:10 ` [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40 marxin at gcc dot gnu.org
@ 2022-04-04  9:35 ` cvs-commit at gcc dot gnu.org
  2022-04-04  9:37 ` rguenth at gcc dot gnu.org
  2023-07-17  3:40 ` pinskia at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-04-04  9:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:3eda57b4ae50b5fe57c174556f1daf3bd9a46b09

commit r12-7980-g3eda57b4ae50b5fe57c174556f1daf3bd9a46b09
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Apr 4 10:31:15 2022 +0200

    tree-optimization/105132 - add missing checking in vectorizable_operation

    The following adds missing verification that the input vectors
    have the same number of elements for vectorizable_operation.

    2022-04-04  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/105132
            * tree-vect-stmts.cc (vectorizable_operation): Check that
            the input vectors have the same number of elements.

            * gcc.dg/torture/pr105132.c: New testcase.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40
  2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
                   ` (3 preceding siblings ...)
  2022-04-04  9:35 ` cvs-commit at gcc dot gnu.org
@ 2022-04-04  9:37 ` rguenth at gcc dot gnu.org
  2023-07-17  3:40 ` pinskia at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-04-04  9:37 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed (maybe a missed optimization remains)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40
  2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
                   ` (4 preceding siblings ...)
  2022-04-04  9:37 ` rguenth at gcc dot gnu.org
@ 2023-07-17  3:40 ` pinskia at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-17  3:40 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |12.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-07-17  3:40 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-01 20:53 [Bug tree-optimization/105132] New: ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 vsevolod.livinskiy at gmail dot com
2022-04-04  7:13 ` [Bug tree-optimization/105132] " rguenth at gcc dot gnu.org
2022-04-04  8:31 ` rguenth at gcc dot gnu.org
2022-04-04  9:10 ` [Bug tree-optimization/105132] ICE in in operator[], at vec.h:889 with -march=skylake-avx512 -O3 since r12-7246-g4963079769c99c40 marxin at gcc dot gnu.org
2022-04-04  9:35 ` cvs-commit at gcc dot gnu.org
2022-04-04  9:37 ` rguenth at gcc dot gnu.org
2023-07-17  3:40 ` pinskia at gcc dot gnu.org

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