diff options
-rw-r--r-- | gcc/explow.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/explow.cc b/gcc/explow.cc index 6424c08..0c03ac3 100644 --- a/gcc/explow.cc +++ b/gcc/explow.cc @@ -1818,7 +1818,10 @@ probe_stack_range (HOST_WIDE_INT first, rtx size) gen_int_mode (PROBE_INTERVAL, Pmode), test_addr, 1, OPTAB_WIDEN); - gcc_assert (temp == test_addr); + /* There is no guarantee that expand_binop constructs its result + in TEST_ADDR. So copy into TEST_ADDR if necessary. */ + if (temp != test_addr) + emit_move_insn (test_addr, temp); /* Probe at TEST_ADDR. */ emit_stack_probe (test_addr); |