https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114288
--- Comment #6 from John David Anglin <danglin at gcc dot gnu.org> --- It looks to me like a bug in reload. Reload generates bogus reloads for insn 14 and deletes insn 10 which sets (reg/f:SI 146). But the bug was probably exposed by the change I made a few months ago to pa_legitimate_address_p. insn 14 needs reloading because the offset doesn't fit in 5 bits. The code in pa_emit_move_sequence to fix up invalid offsets in floating point loads and stores is not used. This backtrace points to the broken area of reload. (gdb) bt #0 pa_emit_move_sequence (operands=0xf7b02e08, mode=E_SImode, scratch_reg=0x0) at ../../gcc/gcc/config/pa/pa.cc:1924 #1 0x011366a8 in gen_movsi (operand0=0xf98f35e8, operand1=0xf98276a0) at ../../gcc/gcc/config/pa/pa.md:2141 #2 0x004a7070 in insn_gen_fn::operator()<rtx_def*, rtx_def*> ( this=<optimized out>) at ../../gcc/gcc/recog.h:441 #3 emit_move_insn_1 (x=0xf98276a0, y=0xf98276a0) at ../../gcc/gcc/expr.cc:4551 #4 0x004b229c in gen_move_insn (x=0xf98276a0, y=0xf98f35e8) at ../../gcc/gcc/expr.cc:4741 #5 0x00843fe4 in gen_reload (out=<optimized out>, in=<optimized out>, opnum=-108890464, type=RELOAD_FOR_OPERAND_ADDRESS) at ../../gcc/gcc/reload1.cc:8637 #6 0x008442f0 in gen_reload (out=<optimized out>, in=<optimized out>, opnum=-108890464, type=RELOAD_FOR_OPERAND_ADDRESS) at ../../gcc/gcc/reload1.cc:8550 #7 0x00848914 in emit_input_reload_insns (chain=<optimized out>, rl=0x192ddf8 <rld>, old=<optimized out>, j=-108890464) at ../../gcc/gcc/reload1.cc:7527 #8 do_input_reload (chain=<optimized out>, rl=0xf98f35e8, j=-108890464) at ../../gcc/gcc/reload1.cc:7814 #9 0x00850698 in emit_reload_insns (chain=<optimized out>) at ../../gcc/gcc/reload1.cc:8002 #10 reload_as_needed (live_known=1) at ../../gcc/gcc/reload1.cc:4543 --Type <RET> for more, q to quit, c to continue without paging-- #11 reload (first=<optimized out>, global=1) at ../../gcc/gcc/reload1.cc:1047 #12 0x0067c508 in do_reload () at ../../gcc/gcc/ira.cc:5985 #13 (anonymous namespace)::pass_reload::execute (this=<optimized out>) at ../../gcc/gcc/ira.cc:6161 #14 0x0079ef7c in execute_one_pass (pass=0xf98276a0) at ../../gcc/gcc/passes.cc:2646 #15 0x0079f894 in execute_pass_list_1 (pass=0xf98276a0) at ../../gcc/gcc/passes.cc:2755 #16 0x0079f8ac in execute_pass_list_1 (pass=0xf98276a0) at ../../gcc/gcc/passes.cc:2756 #17 0x0079f90c in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at ../../gcc/gcc/passes.cc:2766 #18 0x003b9a8c in cgraph_node::expand (this=0xf98276a0) at ../../gcc/gcc/context.h:48 #19 cgraph_node::expand (this=0xf98276a0) at ../../gcc/gcc/cgraphunit.cc:1798 #20 0x003bbaa8 in expand_all_functions () at ../../gcc/gcc/cgraphunit.cc:2028 #21 symbol_table::compile (this=0xf98276a0) at ../../gcc/gcc/cgraphunit.cc:2402 #22 0x003bdc4c in symbol_table::compile (this=0x7) at ../../gcc/gcc/cgraphunit.cc:2315 #23 symbol_table::finalize_compilation_unit (this=0x7) at ../../gcc/gcc/cgraphunit.cc:2587 #24 0x008d137c in compile_file () at ../../gcc/gcc/toplev.cc:476 Will try to work around issue in pa_legitimate_address_p.