public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/109573] New: [12/13/14 regression] ICE in vectorizable_live_operation, at tree-vect-loop.cc:9060 when building chromium's maglev-assembler-x64.cc with -march=ivybridge
@ 2023-04-20 17:30 sjames at gcc dot gnu.org
  2023-04-20 19:18 ` [Bug tree-optimization/109573] " pinskia at gcc dot gnu.org
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: sjames at gcc dot gnu.org @ 2023-04-20 17:30 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 109573
           Summary: [12/13/14 regression] ICE in
                    vectorizable_live_operation, at tree-vect-loop.cc:9060
                    when building chromium's maglev-assembler-x64.cc with
                    -march=ivybridge
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu
             Build: x86_64-pc-linux-gnu

Occurs when building chromium. Originally reported in Gentoo at
https://bugs.gentoo.org/904455.

Needs -march=ivybridge. GCC 11 is OK, but 12/13 and presumably 14 are not.

(Unlike my recent reports, does not need checking.)

```
out/Release $ g++-13 -MMD -MF
obj/v8/v8_base_without_compiler/maglev-assembler-x64.o.d -DUSE_UDEV
-DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DNDEBUG
-DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT
-DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES
-DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO
-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SHORT_BUILTIN_CALLS
-DV8_EXTERNAL_CODE_SPACE -DV8_ENABLE_MAGLEV -DV8_ENABLE_TURBOFAN
-DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING
-DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_STATIC_ROOTS -DV8_USE_ZLIB
-DV8_USE_LIBM_TRIG_FUNCTIONS -DV8_ENABLE_WASM_SIMD256_REVEC
-DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS
-DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION
-DCPPGC_SLIM_WRITE_BARRIER -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS
-DV8_TARGET_OS_LINUX -DUSING_SYSTEM_ICU=1
-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_IMPORT=U_EXPORT
-DUSE_SYSTEM_ZLIB=1 -I../.. -Igen -I../../v8 -I../../v8/include -Igen/v8
-Igen/v8/include -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_shim
-Igen/shim_headers/zlib_shim -Wno-unused-local-typedefs
-Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments
-Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter
-Wno-psabi -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4
-fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC
-pipe -pthread -fno-omit-frame-pointer -fvisibility=hidden -Wno-strict-overflow
-Wno-return-type -Wno-int-in-bool-context -Wno-deprecated -Wno-narrowing
-Wno-class-memaccess -std=gnu++2a -fno-exceptions -fno-rtti
-fvisibility-inlines-hidden -O2 -march=ivybridge -pipe -O2 -march=ivybridge
-pipe -c ../../v8/src/maglev/x64/maglev-assembler-x64.cc -o
obj/v8/v8_base_without_compiler/maglev-assembler-x64.o
during GIMPLE pass: slp
../../v8/src/maglev/x64/maglev-assembler-x64.cc: In member function ‘void
v8::internal::maglev::MaglevAssembler::Prologue(v8::internal::maglev::Graph*)’:
../../v8/src/maglev/x64/maglev-assembler-x64.cc:515:6: internal compiler error:
in vectorizable_live_operation, at tree-vect-loop.cc:10117
  515 | void MaglevAssembler::Prologue(Graph* graph) {
      |      ^~~~~~~~~~~~~~~
0x6a599b vectorizable_live_operation(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*, int, bool,
vec<stmt_info_for_cost, va_heap, vl_ptr>*)
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-loop.cc:10117
0x1cea7e0 can_vectorize_live_stmts
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-stmts.cc:11206
0x1d110b2 vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-stmts.cc:11607
0x10925a0 vect_schedule_slp_node
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:8952
0x10a3198 vect_schedule_scc
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:9147
0x10a2e32 vect_schedule_scc
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:9128
0x10a36fc vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:9287
0x10a60fe vect_slp_region
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:7496
0x10a6b89 vect_slp_bbs
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:7608
0x10a6e80 vect_slp_function(function*)
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vect-slp.cc:7709
0x10aef81 execute
       
/usr/src/debug/sys-devel/gcc-13.0.1_pre20230419-r1/gcc-13.1.0-RC2-20230419/gcc/tree-vectorizer.cc:1532
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.
```

---

Preprocessed source:
https://dev.gentoo.org/~sam/bugs/gcc/gcc-chromium-vectorize-x86/maglev-assembler-x64.ii.xz.
I'm sorry for the external link, but it's 1.1MB even when highly compressed
with e.g. xz -9e.

Reproducer:
```
$ g++ -S -O2 -std=gnu++2a -march=ivybridge -c maglev-assembler-x64.ii
[...]
```

I'm going to try reduce it now.

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

end of thread, other threads:[~2023-05-29 10:08 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-20 17:30 [Bug tree-optimization/109573] New: [12/13/14 regression] ICE in vectorizable_live_operation, at tree-vect-loop.cc:9060 when building chromium's maglev-assembler-x64.cc with -march=ivybridge sjames at gcc dot gnu.org
2023-04-20 19:18 ` [Bug tree-optimization/109573] " pinskia at gcc dot gnu.org
2023-04-20 21:13 ` pinskia at gcc dot gnu.org
2023-04-21  7:07 ` rguenth at gcc dot gnu.org
2023-04-21  7:35 ` sjames at gcc dot gnu.org
2023-04-21  7:53 ` rguenth at gcc dot gnu.org
2023-04-21  7:57 ` [Bug tree-optimization/109573] [11/12/13/14 regression] ICE in vectorizable_live_operation, at tree-vect-loop.cc:9060 when building chromium's maglev-assembler-x64.cc with -march=ivybridge since r11-3025-g095d42feed09f8 marxin at gcc dot gnu.org
2023-04-21  8:07 ` [Bug tree-optimization/109573] [11/12/13/14 regression] ICE in vectorizable_live_operation, at tree-vect-loop.cc:9060 " marxin at gcc dot gnu.org
2023-04-21 11:47 ` cvs-commit at gcc dot gnu.org
2023-04-26  9:33 ` [Bug tree-optimization/109573] [11/12/13 " cvs-commit at gcc dot gnu.org
2023-04-26 10:41 ` cvs-commit at gcc dot gnu.org
2023-05-02 12:40 ` [Bug tree-optimization/109573] [11 " cvs-commit at gcc dot gnu.org
2023-05-02 12:40 ` rguenth at gcc dot gnu.org
2023-05-03  8:46 ` jakub at gcc dot gnu.org
2023-05-03  9:28 ` rguenth at gcc dot gnu.org
2023-05-08  6:20 ` rguenth at gcc dot gnu.org
2023-05-29 10:08 ` jakub 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).