https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127393
--- Comment #4 from Zdenek Sojka <zsojka at seznam dot cz> --- Created attachment 65663 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=65663&action=edit another, unreduced testcase (In reply to Richard Earnshaw from comment #3) > Fixed on trunk, but the fundamental issue is present in all maintained > releases. So needs backport. Thank you for the fix, I am however observing the same ICE in gen_multi3 path. (I can't reduce it manually now, but hopefully it gives the idea) $ aarch64-unknown-linux-gnu-gcc -O2 testcase-min0.i -w during RTL pass: expand testcase-min0.i: In function 'foo0': testcase-min0.i:10:16: internal compiler error: in gen_highpart, at emit-rtl.cc:1673 10 | u.v512u128_u *= (v64s8)__builtin_memchr; | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ 0x2a8190d internal_error(char const*, ...) /repo/gcc-trunk/gcc/diagnostic-global-context.cc:787 0xc67475 fancy_abort(char const*, int, char const*) /repo/gcc-trunk/gcc/diagnostics/context.cc:1813 0x8878d3 gen_highpart(machine_mode, rtx_def*) /repo/gcc-trunk/gcc/emit-rtl.cc:1673 0x24c9616 gen_multi3(rtx_def*, rtx_def*, rtx_def*) /repo/gcc-trunk/gcc/config/aarch64/aarch64.md:4551 0x13056b2 expand_binop_directly /repo/gcc-trunk/gcc/optabs.cc:1484 0x130d0a0 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /repo/gcc-trunk/gcc/optabs.cc:1571 0xf8898d expand_mult(machine_mode, rtx_def*, rtx_def*, rtx_def*, int, bool) /repo/gcc-trunk/gcc/expmed.cc:3717 0xfad553 expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-trunk/gcc/expr.cc:11451 0xfac1fd expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-trunk/gcc/expr.cc:11684 0xfb855d store_expr(tree_node*, rtx_def*, int, bool, bool) /repo/gcc-trunk/gcc/expr.cc:6828 0xfc0f54 store_field /repo/gcc-trunk/gcc/expr.cc:8495 0xfbb4a9 expand_assignment(tree_node*, tree_node*, bool) /repo/gcc-trunk/gcc/expr.cc:6375 0xfbb4a9 expand_assignment(tree_node*, tree_node*, bool) /repo/gcc-trunk/gcc/expr.cc:6013 0xe58f71 expand_gimple_stmt_1 /repo/gcc-trunk/gcc/cfgexpand.cc:4349 0xe58f71 expand_gimple_stmt /repo/gcc-trunk/gcc/cfgexpand.cc:4430 0xe5b277 expand_gimple_basic_block /repo/gcc-trunk/gcc/cfgexpand.cc:6547 0xe5d727 execute /repo/gcc-trunk/gcc/cfgexpand.cc:7298 /repo/gcc-trunk/binary-trunk-20260923021639-r17-4589-gb679fda6b4f2d4-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/17.0.0/cc1 -fpreprocessed testcase-min0.i -quiet -dumpdir a- -dumpbase testcase-min0.i -dumpbase-ext .i -mlittle-endian -mabi=lp64 -O2 -w -o /tmp/ccaEFSYO.s 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.
