(movdi): Tests were in wrong order.
authorRichard Kenner <kenner@gcc.gnu.org>
Sun, 25 Oct 1992 01:04:41 +0000 (21:04 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 25 Oct 1992 01:04:41 +0000 (21:04 -0400)
From-SVN: r2596

gcc/config/rs6000/rs6000.md

index a47eaf2..15a2c51 100644 (file)
   ""
   "
 {
-  if (GET_CODE (operands[0]) == MEM)
-    operands[1] = force_reg (DImode, operands[1]);
-
-  else if (GET_CODE (operands[1]) == CONST_DOUBLE
-          || GET_CODE (operands[1]) == CONST_INT)
+  if (GET_CODE (operands[1]) == CONST_DOUBLE
+      || GET_CODE (operands[1]) == CONST_INT)
     {
       emit_move_insn (operand_subword (operands[0], 0, 0, DImode),
                      operand_subword (operands[1], 0, 0, DImode));
                      operand_subword (operands[1], 1, 0, DImode));
       DONE;
     }
+
+  if (GET_CODE (operands[0]) == MEM)
+    operands[1] = force_reg (DImode, operands[1]);
 }")
 
 (define_insn ""