https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118248
--- Comment #9 from Matthias Klose <doko at gcc dot gnu.org> --- Program received signal SIGSEGV, Segmentation fault. 0x00000000041176b8 in riscv_block_move_straight (dest=dest@entry=0x3fff5a78c00, src=src@entry=0x3fff5a78ba0, length=length@entry=4, align=align@entry=64) at ../../src/gcc/config/riscv/riscv-string.cc:819 819 regs = XALLOCAVEC (rtx, length / delta - 1); (gdb) bt #0 0x00000000041176b8 in riscv_block_move_straight (dest=dest@entry=0x3fff5a78c00, src=src@entry=0x3fff5a78ba0, length=length@entry=4, align=align@entry=64) at ../../src/gcc/config/riscv/riscv-string.cc:819 #1 0x000000000411a8dc in riscv_block_move_loop (dest=0x3fff5a78c00, src=0x3fff5a78ba0, length=18446744073709551615, align=64, bytes_per_iter=<optimized out>) at ../../src/gcc/config/riscv/riscv-string.cc:904 #2 riscv_expand_block_move_scalar (dest=0x7, src=0x3fff5a78c18, length=0x3fff5a78bb8) at ../../src/gcc/config/riscv/riscv-string.cc:959 #3 riscv_expand_block_move (dest=dest@entry=0x3fff5a78b28, src=src@entry=0x3fff5a78b40, length=length@entry=0x3fff5a44d20) at ../../src/gcc/config/riscv/riscv-string.cc:983 #4 0x00000000038ad4b0 in gen_cpymemdi (operand0=0x3fff5a78b28, operand1=0x3fff5a78b40, operand2=0x3fff5a44d20, operand3=<optimized out>) at ../../src/gcc/config/riscv/riscv.md:2779 #5 0x0000000002077ae2 in maybe_expand_insn (icode=icode@entry=CODE_FOR_cpymemdi, nops=nops@entry=4, ops=ops@entry=0x3ffffff8180) at ../../src/gcc/optabs.cc:8237 #6 0x0000000001cd6692 in emit_block_move_via_pattern (x=<optimized out>, x@entry=0x3fff5a78b28, y=<optimized out>, y@entry=0x3fff5a78b40, size=size@entry=0x3fff5a44d20, align=align@entry=64, expected_align=64, expected_align@entry=0, expected_size=-1, min_size=100, max_size=100, probable_max_size=100, might_overlap=false) at ../../src/gcc/expr.cc:2323 #7 0x0000000001cf8226 in emit_block_move_hints (x=<optimized out>, y=<optimized out>, size=0x3fff5a44d20, method=BLOCK_OP_NORMAL, expected_align=expected_align@entry=0, expected_size=-1, min_size=100, max_size=100, probable_max_size=100, bail_out_libcall=false, is_move_done=0x0, might_overlap=false, ctz_size=0) at ../../src/gcc/expr.cc:2103 #8 0x0000000001cf86fa in emit_block_move (x=x@entry=0x3fff5a78ae0, y=y@entry=0x3fff5a78af8, size=<optimized out>, method=method@entry=BLOCK_OP_NORMAL, ctz_size=ctz_size@entry=0) at ../../src/gcc/expr.cc:2167 #9 0x0000000001cfd89c in store_expr (exp=exp@entry=0x3fff744f428, target=target@entry=0x3fff5a78ae0, call_param_p=call_param_p@entry=0, nontemporal=<optimized out>, nontemporal@entry=false, reverse=<optimized out>, reverse@entry=false) at ../../src/gcc/expr.cc:6948 #10 0x0000000001d075de in store_field (target=target@entry=0x3fff5a78ab0, bitsize=..., bitpos=..., bitregion_start=..., bitregion_end=..., mode=E_BLKmode, exp=0x3fff744f428, alias_set=0, nontemporal=false, reverse=false) at ../../src/gcc/expr.cc:8373 #11 0x0000000001d01178 in expand_assignment (to=0x3fff745be40, from=from@entry=0x3fff744f428, warning: left shift count is negative warning: left shift count is negative nontemporal=nontemporal@entry=false) at ../../src/gcc/expr.cc:6343 #12 0x0000000001d03290 in expand_assignment (to=<optimized out>, from=from@entry=0x3fff744f428, warning: left shift count is negative warning: left shift count is negative nontemporal=nontemporal@entry=false) at ../../src/gcc/expr.cc:6496 #13 0x0000000001b6fe1a in expand_gimple_stmt_1 (stmt=0x3fff74e4d68) at ../../src/gcc/cfgexpand.cc:4283 #14 expand_gimple_stmt (stmt=stmt@entry=0x3fff74e4d68) at ../../src/gcc/cfgexpand.cc:4364 #15 0x0000000001b76e5a in expand_gimple_basic_block (bb=<optimized out>, disable_tail_calls=disable_tail_calls@entry=false) at ../../src/gcc/cfgexpand.cc:6427 #16 0x0000000001b79df8 in (anonymous namespace)::pass_expand::execute (this=<optimized out>, fun=0x3fff7f1d8f0) at ../../src/gcc/cfgexpand.cc:7176 #17 0x00000000020c1ba4 in execute_one_pass (pass=pass@entry=0x5c2e710) at ../../src/gcc/passes.cc:2659 #18 0x00000000020c2654 in execute_pass_list_1 (pass=0x5c2e710) at ../../src/gcc/passes.cc:2768 #19 0x00000000020c26c2 in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at ../../src/gcc/passes.cc:2779 #20 0x0000000001bc7b24 in cgraph_node::expand (this=0x3fff7466aa0) at ../../src/gcc/context.h:48 #21 cgraph_node::expand (this=0x3fff7466aa0) at ../../src/gcc/cgraphunit.cc:1812 #22 0x0000000001bc97a8 in expand_all_functions () at ../../src/gcc/cgraphunit.cc:2042 #23 symbol_table::compile (this=this@entry=0x3fff7306000) at ../../src/gcc/cgraphunit.cc:2418 #24 0x0000000001bcd000 in symbol_table::compile (this=0x3fff7306000) at ../../src/gcc/cgraphunit.cc:2329 #25 symbol_table::finalize_compilation_unit (this=0x3fff7306000) at ../../src/gcc/cgraphunit.cc:2603 #26 0x00000000022230a8 in compile_file () at ../../src/gcc/toplev.cc:479 #27 0x00000000017f3858 in do_compile () at ../../src/gcc/toplev.cc:2208 #28 toplev::main (this=this@entry=0x3ffffff95d6, argc=<optimized out>, argc@entry=51, argv=<optimized out>, argv@entry=0x3ffffff98c8) at ../../src/gcc/toplev.cc:2368 #29 0x00000000017f5fec in main (argc=51, argv=0x3ffffff98c8) at ../../src/gcc/main.cc:39