From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 96E843858C74; Thu, 20 Apr 2023 17:30:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 96E843858C74 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1682011810; bh=eIS+q8XOc/hN6caGtlc4x204SBWiPB+I3ZGfTqp1LBQ=; h=From:To:Subject:Date:From; b=X7FakqiHQGDlUOtiyZzy9CSNC3lX5w4s61CwOmEBnXM7Hz5fwiaI9UzE0OHDlc6yR bxgTmdIB9ggfLo9GAOkLXPH2ImD2t+d1bxOrBBHe2GPqeB8/MbgmQ2ewvtf2whNRCr ns8Ue+I0hTuEUacPgofiXfk7+oMIs9Lya61+r3vg= From: "sjames at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [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 Date: Thu, 20 Apr 2023 17:30:09 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: sjames at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone cf_gcchost cf_gcctarget cf_gccbuild Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109573 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=3Divybridge 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=3Divybridge. 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=3D1 -DUSE_GLIB=3D1 -DUSE_OZONE=3D1 -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=3D64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=3D0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=3D64 -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_TRACKI= NG -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=3D1 -DICU_UTIL_DATA_IMPL=3DICU_UTIL_DATA_STATIC -DU_IMPORT=3DU_EXPORT -DUSE_SYSTEM_ZLIB=3D1 -I../.. -Igen -I../../v8 -I../../v8/include -Igen/v8 -Igen/v8/include -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_s= him -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-paramet= er -Wno-psabi -fno-ident -fno-strict-aliasing --param=3Dssp-buffer-size=3D4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -fno-omit-frame-pointer -fvisibility=3Dhidden -Wno-strict-ov= erflow -Wno-return-type -Wno-int-in-bool-context -Wno-deprecated -Wno-narrowing -Wno-class-memaccess -std=3Dgnu++2a -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -march=3Divybridge -pipe -O2 -march=3Divybr= idge -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 =E2=80= =98void v8::internal::maglev::MaglevAssembler::Prologue(v8::internal::maglev::Graph= *)=E2=80=99: ../../v8/src/maglev/x64/maglev-assembler-x64.cc:515:6: internal compiler er= ror: 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*) =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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*) =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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&) =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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*) =20=20=20=20=20=20=20 /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 =20=20=20=20=20=20=20 /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 for instructions. ``` --- Preprocessed source: https://dev.gentoo.org/~sam/bugs/gcc/gcc-chromium-vectorize-x86/maglev-asse= mbler-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=3Dgnu++2a -march=3Divybridge -c maglev-assembler-x64.ii [...] ``` I'm going to try reduce it now.=