https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110443
Bug ID: 110443 Summary: [14 Regression] ICE on a52dec-0.7.4: Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: slyfox at gcc dot gnu.org Target Milestone: --- Noticerd ICE on a52dec-0.7.4 against gcc r14-2134-g231f6b56c77c50. Extracted minimal example is: Extracted reproducer: // $ cat bug.c.c typedef struct { float real; float imag; } complex_t; char fftorder[] = {}; float *a52_imdct_256_data; int a52_imdct_256_i, a52_imdct_256_k; float a52_imdct_256_b_r; void a52_imdct_256() { complex_t buf1[64]; a52_imdct_256_i = 0; for (; a52_imdct_256_i < 64; a52_imdct_256_i++) { a52_imdct_256_k = fftorder[a52_imdct_256_i]; buf1[a52_imdct_256_i].real = buf1[a52_imdct_256_i].imag = a52_imdct_256_data[a52_imdct_256_k]; } a52_imdct_256_b_r = buf1[0].real * buf1[0].imag; } $ gcc -O2 -c bug.c.c -o bug.o during GIMPLE pass: vect bug.c.c: In function 'a52_imdct_256': bug.c.c:9:6: internal compiler error: Segmentation fault 9 | void a52_imdct_256() { | ^~~~~~~~~~~~~ 0x1bc5d04 diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t) ???:0 0x1bc6277 internal_error(char const*, ...) ???:0 0xcca64f crash_signal(int) ???:0 0x1a84a18 vect_get_gather_scatter_ops(_loop_vec_info*, loop*, _stmt_vec_info*, _slp_tree*, gather_scatter_info*, tree_node**, vec<tree_node*, va_heap, vl_ptr>*) ???:0 0x1a92fb2 vectorizable_load(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, gimple**, _slp_tree*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ???:0 0x1aa01d8 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) ???:0 0xf2ab57 vect_schedule_slp_node(vec_info*, _slp_tree*, _slp_instance*) ???:0 0xf3abcb vect_schedule_scc(vec_info*, _slp_tree*, _slp_instance*, hash_map<_slp_tree*, slp_scc_info, simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&, vec<_slp_tree*, va_heap, vl_ptr>&) ???:0 0xf3a812 vect_schedule_scc(vec_info*, _slp_tree*, _slp_instance*, hash_map<_slp_tree*, slp_scc_info, simple_hashmap_traits<default_hash_traits<_slp_tree*>, slp_scc_info> >&, int&, vec<_slp_tree*, va_heap, vl_ptr>&) ???:0 0xf3b166 vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr> const&) ???:0 0xf0f23b vect_transform_loop(_loop_vec_info*, gimple*) ???:0 0xf4833b vect_transform_loops(hash_table<simduid_to_vf, false, xcallocator>*&, loop*, gimple*, function*) ???:0 0xf489db try_vectorize_loop(hash_table<simduid_to_vf, false, xcallocator>*&, unsigned int*, loop*, function*) ???:0 0xf48f34 (anonymous namespace)::pass_vectorize::execute(function*) ???:0 $ gcc -v Using built-in specs. COLLECT_GCC=/<<NIX>>/gcc-14.0.0/bin/gcc COLLECT_LTO_WRAPPER=/<<NIX>>/gcc-14.0.0/libexec/gcc/x86_64-unknown-linux-gnu/14.0.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: Thread model: posix Supported LTO compression algorithms: zlib gcc version 14.0.0 99999999 (experimental) (GCC)