From a4a37b305c80f2233d4ea58824c498a8c0b34d22 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Sat, 14 Jun 2003 14:16:39 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d824921..094a407 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-14 Richard Earnshaw + + PR target/11183 + * arm.c (output_move_double): Pass SImode to adjust_address. + 2003-06-14 Neil Booth * Makefile.in: Update to use common.opt and lang_opt_files. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index f9f5474..23500fe 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -7264,7 +7264,7 @@ output_move_double (rtx *operands) } else { - otherops[1] = adjust_address (operands[1], VOIDmode, 4); + otherops[1] = adjust_address (operands[1], SImode, 4); /* Take care of overlapping base/data reg. */ if (reg_mentioned_p (operands[0], operands[1])) { @@ -7330,7 +7330,7 @@ output_move_double (rtx *operands) /* Fall through */ 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])); output_asm_insn ("str%?\t%1, %0", operands); output_asm_insn ("str%?\t%1, %0", otherops); -- 2.7.4