diff options
author | Richard Earnshaw <erich@gnu.org> | 1994-10-09 16:39:43 +0000 |
---|---|---|
committer | Richard Earnshaw <erich@gnu.org> | 1994-10-09 16:39:43 +0000 |
commit | 660f1419f49c5f6f9f2341aac437607a16ad8e7f (patch) | |
tree | dfba7736e4a859640db84dcfe33db5f5ae6f175a | |
parent | 8184390eea42cd84b59c4902eaa6751566cca85f (diff) | |
download | gcc-660f1419f49c5f6f9f2341aac437607a16ad8e7f.zip gcc-660f1419f49c5f6f9f2341aac437607a16ad8e7f.tar.gz gcc-660f1419f49c5f6f9f2341aac437607a16ad8e7f.tar.bz2 |
(reload_outdf): Don't emit an add insn if the address is just a register.
From-SVN: r8244
-rw-r--r-- | gcc/config/arm/arm.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index e72acd3..5ace526 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -2493,8 +2493,11 @@ (match_operand:SI 2 "s_register_operand" "=&r")] "" " - emit_insn (gen_addsi3 (operands[2], XEXP (XEXP (operands[0], 0), 0), - XEXP (XEXP (operands[0], 0), 1))); + if (GET_CODE (XEXP (operands[0], 0)) == REG) + operands[2] = XEXP (operands[0], 0); + else + emit_insn (gen_addsi3 (operands[2], XEXP (XEXP (operands[0], 0), 0), + XEXP (XEXP (operands[0], 0), 1))); emit_insn (gen_rtx (SET, VOIDmode, gen_rtx (MEM, DFmode, operands[2]), operands[1])); DONE; |