https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113572
Bug ID: 113572 Summary: aarch64: internal compiler error in aarch64_sve::vector_cst_all_same Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: mpolacek at gcc dot gnu.org Target Milestone: --- typedef unsigned long uint64_t; #pragma GCC aarch64 "arm_sve.h" uint64_t u; struct S { int i; } he; void foo () { svuint64_t vld_clz = svld1_u64 (svwhilelt_b64 (0, 4), (uint64_t *) &he); vld_clz = svclz_u64_z (svwhilelt_b64 (0, 1), vld_clz); svst1_u64 (svwhilelt_b64 (0, 1), &u, vld_clz); } $ ./cc1 -quiet -Iinclude pr.c -O -march=armv8.2-a+sve during GIMPLE pass: ccp pr.c: In function ‘foo’: pr.c:13:1: internal compiler error: Segmentation fault 13 | } | ^ 0x10534af crash_signal /home/mpolacek/src/gcc/gcc/toplev.cc:317 0x7f997160899f ??? /usr/src/debug/glibc-2.38-14.fc39.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0 0xc58d3a location_wrapper_p(tree_node const*) /home/mpolacek/src/gcc/gcc/tree.h:4379 0xc58d3a tree_strip_any_location_wrapper(tree_node*) /home/mpolacek/src/gcc/gcc/tree.h:4391 0xc58d3a operand_compare::operand_equal_p(tree_node const*, tree_node const*, unsigned int) /home/mpolacek/src/gcc/gcc/fold-const.cc:3122 0xc5be00 operand_compare::operand_equal_p(tree_node const*, tree_node const*, unsigned int) /home/mpolacek/src/gcc/gcc/fold-const.cc:4183 0xc5be00 operand_compare::verify_hash_value(tree_node const*, tree_node const*, unsigned int, bool*) /home/mpolacek/src/gcc/gcc/fold-const.cc:4163 0xc5be00 operand_compare::verify_hash_value(tree_node const*, tree_node const*, unsigned int, bool*) /home/mpolacek/src/gcc/gcc/fold-const.cc:4155 0xc5c807 operand_compare::operand_equal_p(tree_node const*, tree_node const*, unsigned int) /home/mpolacek/src/gcc/gcc/fold-const.cc:3119 0xc5c807 operand_equal_p(tree_node const*, tree_node const*, unsigned int) /home/mpolacek/src/gcc/gcc/fold-const.cc:4194 0x1505f77 aarch64_sve::vector_cst_all_same(tree_node*, unsigned int) /home/mpolacek/src/gcc/gcc/config/aarch64/aarch64-sve-builtins.cc:3477 0x150b92f aarch64_sve::gimple_folder::redirect_pred_x() /home/mpolacek/src/gcc/gcc/config/aarch64/aarch64-sve-builtins.cc:3591 0x150b9ab aarch64_sve::gimple_folder::fold() /home/mpolacek/src/gcc/gcc/config/aarch64/aarch64-sve-builtins.cc:3672 0x150ba81 aarch64_sve::gimple_fold_builtin(unsigned int, gimple_stmt_iterator*, gcall*) /home/mpolacek/src/gcc/gcc/config/aarch64/aarch64-sve-builtins.cc:4743 0x141baf2 aarch64_gimple_fold_builtin /home/mpolacek/src/gcc/gcc/config/aarch64/aarch64.cc:15499 0xce1490 gimple_fold_call /home/mpolacek/src/gcc/gcc/gimple-fold.cc:5669 0xce350b fold_stmt_1 /home/mpolacek/src/gcc/gcc/gimple-fold.cc:6431 0x12393be substitute_and_fold_dom_walker::before_dom_children(basic_block_def*) /home/mpolacek/src/gcc/gcc/tree-ssa-propagate.cc:859 0x1dcddee dom_walker::walk(basic_block_def*) /home/mpolacek/src/gcc/gcc/domwalk.cc:311 0x1238495 substitute_and_fold_engine::substitute_and_fold(basic_block_def*) /home/mpolacek/src/gcc/gcc/tree-ssa-propagate.cc:999