diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-07-19 09:08:39 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-07-19 09:08:39 -0400 |
commit | 6231ef8299b7ddc59134042ad9456b7a23f6563c (patch) | |
tree | 893069663b7eb026e95895b3e1147daac311ad8c /gcc | |
parent | 40e6003c2502c35e3957c482398f1e23e70b3337 (diff) | |
download | gcc-6231ef8299b7ddc59134042ad9456b7a23f6563c.zip gcc-6231ef8299b7ddc59134042ad9456b7a23f6563c.tar.gz gcc-6231ef8299b7ddc59134042ad9456b7a23f6563c.tar.bz2 |
(negdi2): Undo last change: don't apply neg to address regs.
From-SVN: r12526
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/m68k/m68k.md | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 9fb0c8c..c847501 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -3796,7 +3796,10 @@ operands[1] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1); else operands[1] = adj_offsettable_operand (operands[0], 4); - return \"neg%.l %1\;negx%.l %0\"; + if (ADDRESS_REG_P (operands[0])) + return \"exg %/d0,%1\;neg%.l %/d0\;exg %/d0,%1\;exg %/d0,%0\;negx%.l %/d0\;exg %/d0,%0\"; + else + return \"neg%.l %1\;negx%.l %0\"; } ") (define_insn "negsi2" |