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.

Reply via email to