Summary: | [14 Regression] ICE on a52dec-0.7.4: GIMPLE pass: vect SIGSEGV in vect_get_gather_scatter_ops() | ||
---|---|---|---|
Product: | gcc | Reporter: | Sergei Trofimovich <slyfox> |
Component: | middle-end | Assignee: | Richard Biener <rguenth> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | rguenth, seurer, sjames |
Priority: | P3 | Keywords: | ice-on-valid-code |
Version: | 14.0 | ||
Target Milestone: | 14.0 | ||
See Also: | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110440 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2023-06-28 00:00:00 |
Description
Sergei Trofimovich
2023-06-27 19:46:46 UTC
This is related to PR 110440 but the reduced testcases look almost the same but the ICE is different in both cases. I wonder if it's a r14-2117-gdd86a5a69cbda4 "tree-optimization/96208 - SLP of non-grouped loads". (In reply to Sergei Trofimovich from comment #2) > I wonder if it's a r14-2117-gdd86a5a69cbda4 "tree-optimization/96208 - SLP > of non-grouped loads". Reverting r14-2117-gdd86a5a69cbda4 fixes a52dec-0.7.4 for me. I will have a look. The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>: https://gcc.gnu.org/g:51c8cbc6bba387f953d9be48c4a4c8b657dd54a5 commit r14-2156-g51c8cbc6bba387f953d9be48c4a4c8b657dd54a5 Author: Richard Biener <rguenther@suse.de> Date: Wed Jun 28 10:16:57 2023 +0200 tree-optimization/110443 - prevent SLP splat of gathers The following prevents non-grouped load SLP in case the element to splat is from a gather operation. While it should be possible to support this it is not similar to the single element interleaving case I was trying to mimic here. PR tree-optimization/110443 * tree-vect-slp.cc (vect_build_slp_tree_1): Reject non-grouped gather loads. * gcc.dg/torture/pr110443.c: New testcase. Fixed. *** Bug 110440 has been marked as a duplicate of this bug. *** I confirm a52dec-0.7.4 is fixed as well now. Thank you! I am still seeing this failure with r14-2201-g94c71750cdd742 This is compiling one of the spec test cases on a powerpc BE machine. /home/seurer/gcc/git/install/gcc-test/bin/gfortran -c -o module_bc_time_utilities.fppized.o -I. -I./netcdf/include -m64 -O3 -mcpu=power7 -fpeel-loops -funroll-loops -ffast-math -mpopcntd -mrecip=rsqrt -fvect-cost-model -std=legacy module_bc_time_utilities.fppized.f90 0x10cceb2b crash_signal /home/seurer/gcc/git/gcc-test/gcc/toplev.cc:314 0x11c8596c vect_supportable_dr_alignment(vec_info*, dr_vec_info*, tree_node*, int) /home/seurer/gcc/git/gcc-test/gcc/tree-vect-data-refs.cc:6817 0x11ca16c3 get_group_load_store_type /home/seurer/gcc/git/gcc-test/gcc/tree-vect-stmts.cc:2445 0x11ca16c3 get_load_store_type /home/seurer/gcc/git/gcc-test/gcc/tree-vect-stmts.cc:2564 0x11cb498f vectorizable_load /home/seurer/gcc/git/gcc-test/gcc/tree-vect-stmts.cc:9547 0x11cc7e5b vect_analyze_stmt(vec_info*, _stmt_vec_info*, bool*, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) /home/seurer/gcc/git/gcc-test/gcc/tree-vect-stmts.cc:11910 0x110c1833 vect_slp_analyze_node_operations_1 /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:5993 0x110c1833 vect_slp_analyze_node_operations /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:6191 0x110c1757 vect_slp_analyze_node_operations /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:6170 0x110c1757 vect_slp_analyze_node_operations /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:6170 0x110c1757 vect_slp_analyze_node_operations /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:6170 0x110c1757 vect_slp_analyze_node_operations /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:6170 0x110c3b63 vect_slp_analyze_operations(vec_info*) /home/seurer/gcc/git/gcc-test/gcc/tree-vect-slp.cc:6431 0x1108a10b vect_analyze_loop_2 /home/seurer/gcc/git/gcc-test/gcc/tree-vect-loop.cc:2782 0x1108c73b vect_analyze_loop_1 /home/seurer/gcc/git/gcc-test/gcc/tree-vect-loop.cc:3303 0x1108d093 vect_analyze_loop(loop*, vec_info_shared*) /home/seurer/gcc/git/gcc-test/gcc/tree-vect-loop.cc:3457 0x110e2507 try_vectorize_loop_1 /home/seurer/gcc/git/gcc-test/gcc/tree-vectorizer.cc:1064 0x110e2507 try_vectorize_loop /home/seurer/gcc/git/gcc-test/gcc/tree-vectorizer.cc:1180 0x110e2d43 execute /home/seurer/gcc/git/gcc-test/gcc/tree-vectorizer.cc:1296 I also traced this back to r14-2117-gdd86a5a69cbda4 That seems to be a different backtrace and it doesn't have a testcase. Can you please open a new bugreport and attach a testcase? |