(negdi2): Undo last change: don't apply neg to address regs.
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 19 Jul 1996 13:08:39 +0000 (09:08 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 19 Jul 1996 13:08:39 +0000 (09:08 -0400)
From-SVN: r12526

gcc/config/m68k/m68k.md

index 9fb0c8c..c847501 100644 (file)
     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"