https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80474
--- Comment #4 from Jan Smets <jan.smets at nokia dot com> ---
For the reduced testcase :
$ mips64-linux-gnuabi64-gcc --version
mips64-linux-gnuabi64-gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406
mips64-linux-gnuabi64-gcc -O2 -fno-reorder-blocks -march=mips2
-fno-inline-small-functions -mabi=32 -c /tmp/test.c -S -dA -dP -o -
# BLOCK 30 freq:1892 seq:27
# PRED: 36 [100.0%]
$L34:
#(jump_insn 153 152 198 (set (pc)
# (if_then_else (eq (reg:SI 11 $11 [orig:202 prephitmp_65 ] [202])
# (const_int 0 [0]))
# (label_ref 187)
# (pc))) /tmp/test.c:58 472 {*branch_equalitysi}
# (int_list:REG_BR_PROB 5000 (nil))
# -> 187)
beq $11,$0,$L29 # 153 *branch_equalitysi [length = 4]
#(insn 198 153 712 (set (reg/f:SI 16 $16 [282])
# (lo_sum:SI (reg/f:SI 16 $16 [283])
# (symbol_ref:SI ("badFn") [flags 0x41] <function_decl
0x7f83678858c0 badFn>))) 300 {*lowsi}
# (expr_list:REG_EQUAL (symbol_ref:SI ("badFn") [flags 0x41]
<function_decl 0x7f83678858c0 badFn>)
# (nil)))
addiu $16,$16,%lo(badFn) # 198 *lowsi [length = 4]
# BLOCK 38 freq:945 seq:35
# PRED: 30 [50.0%]
$L29:
#(jump_insn 189 188 376 (set (pc)
# (if_then_else (ne (reg:SI 9 $9 [orig:203 _67 ] [203])
# (const_int 0 [0]))
# (label_ref 373)
# (pc))) /tmp/test.c:58 472 {*branch_equalitysi}
# (int_list:REG_BR_PROB 6446 (nil))
# -> 373)
bne $9,$0,$L36 # 189 *branch_equalitysi [length = 4]
#(insn/s 376 189 515 (set (reg/f:SI 16 $16 [282])
# (lo_sum:SI (reg/f:SI 16 $16 [283])
# (symbol_ref:SI ("badFn") [flags 0x41] <function_decl
0x7f83678858c0 badFn>))) 300 {*lowsi}
# (expr_list:REG_EQUAL (symbol_ref:SI ("badFn") [flags 0x41]
<function_decl 0x7f83678858c0 badFn>)
# (nil)))
addiu $16,$16,%lo(badFn) # 376 *lowsi [length = 4]
# BLOCK 71 freq:609 seq:68
# PRED: 38 [64.5%]
$L36:
$L36:
#(insn 661 776 377 (set (reg/f:SI 7 $7 [270])
# (high:SI (symbol_ref/f:SI ("*$LC0") [flags 0x2] <var_decl
0x7f83678e1bd0 *$LC0>))) /tmp/test.c:58 310 {*movsi_internal}
# (expr_list:REG_EQUIV (high:SI (symbol_ref/f:SI ("*$LC0") [flags 0x2]
<var_decl 0x7f83678e1bd0 *$LC0>))
# (nil)))
lui $7,%hi($LC0) # 661 *movsi_internal/4 [length = 4]
#(insn 377 661 379 (set (mem:SI (plus:SI (reg/f:SI 29 $sp)
# (const_int 16 [0x10])) [0 S4 A32])
# (reg/f:SI 16 $16 [282])) /tmp/test.c:58 310 {*movsi_internal}
# (nil))
sw $16,16($sp) # 377 *movsi_internal/11 [length = 4]
...