https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112990
Bug ID: 112990 Summary: [14 Regression][s390x] ICE in related_vector_mode, at stor-layout.cc:539 since r14-3381-g27de9aa152141e Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: mjires at suse dot cz CC: rguenther at suse dot de Target Milestone: --- Target: s390x Compiling reduced testcase gcc.target/s390/vector/reverse-elements-6.c with s390x cross compiler results in ICE since r14-3381-g27de9aa152141e. $ cat reverse-elements-6.c typedef long __attribute__((vector_size(16))) V2DI; V2DI v2di_x; void v2di() { V2DI y, z; for (int i = 0; i < 2; ++i) z[i] = y[1]; v2di_x = z; } $ s390x-linux-gnu-gcc reverse-elements-6.c -O1 during RTL pass: expand reverse-elements-6.c: In function ‘v2di’: reverse-elements-6.c:7:10: internal compiler error: in related_vector_mode, at stor-layout.cc:539 7 | v2di_x = z; | ~~~~~~~^~~ 0x15dd230 related_vector_mode(machine_mode, scalar_mode, poly_int<1u, unsigned long>) /home/mjires/git/GCC/master/gcc/stor-layout.cc:539 0x1428a35 qimode_for_vec_perm(machine_mode) /home/mjires/git/GCC/master/gcc/optabs-query.cc:358 0x141db61 expand_vec_perm_const(machine_mode, rtx_def*, rtx_def*, int_vector_builder<poly_int<1u, long> > const&, machine_mode, rtx_def*) /home/mjires/git/GCC/master/gcc/optabs.cc:6445 0x106f66f expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /home/mjires/git/GCC/master/gcc/expr.cc:10844 0x1070df4 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/mjires/git/GCC/master/gcc/expr.cc:11216 0x1068fa1 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /home/mjires/git/GCC/master/gcc/expr.cc:9407 0x105debf store_expr(tree_node*, rtx_def*, int, bool, bool) /home/mjires/git/GCC/master/gcc/expr.cc:6709 0x105c5ff expand_assignment(tree_node*, tree_node*, bool) /home/mjires/git/GCC/master/gcc/expr.cc:6430 0xec1ec7 expand_gimple_stmt_1 /home/mjires/git/GCC/master/gcc/cfgexpand.cc:3960 0xec22b5 expand_gimple_stmt /home/mjires/git/GCC/master/gcc/cfgexpand.cc:4058 0xeca6e0 expand_gimple_basic_block /home/mjires/git/GCC/master/gcc/cfgexpand.cc:6114 0xecca96 execute /home/mjires/git/GCC/master/gcc/cfgexpand.cc:6849 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. $ s390x-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=s390x-linux-gnu-gcc COLLECT_LTO_WRAPPER=/home/mjires/built/master/libexec/gcc/s390x-linux-gnu/14.0.0/lto-wrapper Target: s390x-linux-gnu Configured with: /home/mjires/git/GCC/master/configure --prefix=/home/mjires/built/master --target=s390x-linux-gnu --disable-bootstrap --enable-languages=c,c++ --disable-multilib --disable-libsanitizer --enable-checking : (reconfigured) /home/mjires/git/GCC/master/configure --prefix=/home/mjires/built/master --target=s390x-linux-gnu --disable-bootstrap --enable-languages=c,c++ --disable-multilib --disable-libsanitizer --enable-checking Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.0.0 20231212 (experimental) (GCC)