Commit a4a37b30 by Richard Earnshaw Committed by Richard Earnshaw

re PR target/11183 ([arm] ICE in change_address_1 (3.3) / subreg_hard_regno (3.4))

PR target/11183
* arm.c (output_move_double): Pass SImode to adjust_address.

From-SVN: r67943
parent b951c91c
2003-06-14 Richard Earnshaw <rearnsha@arm.com>
PR target/11183
* arm.c (output_move_double): Pass SImode to adjust_address.
2003-06-14 Neil Booth <neil@daikokuya.co.uk> 2003-06-14 Neil Booth <neil@daikokuya.co.uk>
* Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files.
......
...@@ -7264,7 +7264,7 @@ output_move_double (rtx *operands) ...@@ -7264,7 +7264,7 @@ output_move_double (rtx *operands)
} }
else else
{ {
otherops[1] = adjust_address (operands[1], VOIDmode, 4); otherops[1] = adjust_address (operands[1], SImode, 4);
/* Take care of overlapping base/data reg. */ /* Take care of overlapping base/data reg. */
if (reg_mentioned_p (operands[0], operands[1])) if (reg_mentioned_p (operands[0], operands[1]))
{ {
...@@ -7330,7 +7330,7 @@ output_move_double (rtx *operands) ...@@ -7330,7 +7330,7 @@ output_move_double (rtx *operands)
/* Fall through */ /* Fall through */
default: default:
otherops[0] = adjust_address (operands[0], VOIDmode, 4); otherops[0] = adjust_address (operands[0], SImode, 4);
otherops[1] = gen_rtx_REG (SImode, 1 + REGNO (operands[1])); otherops[1] = gen_rtx_REG (SImode, 1 + REGNO (operands[1]));
output_asm_insn ("str%?\t%1, %0", operands); output_asm_insn ("str%?\t%1, %0", operands);
output_asm_insn ("str%?\t%1, %0", otherops); output_asm_insn ("str%?\t%1, %0", otherops);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment