mn10300.md (movqi, [...]): Correctly handle CONST_DOUBLE source.
authorJeffrey A Law <law@cygnus.com>
Fri, 24 Jul 1998 13:21:44 +0000 (13:21 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 24 Jul 1998 13:21:44 +0000 (07:21 -0600)
        * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
        CONST_DOUBLE source.

From-SVN: r21362

gcc/ChangeLog
gcc/config/mn10300/mn10300.md

index e1613ab5fc4fdfb572a2ffe94b8605571c7aa3ee..9436ea592da30739f0c36e7fc5f9fd327f865f0c 100644 (file)
@@ -1,3 +1,8 @@
+Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
+       CONST_DOUBLE source.
+
 Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
 
        * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
index 01cec17379cddb36e5a0e5ba4b2e4283181b7c9a..e10df8aff22a13ac1210c9683b6549a96a99107f 100644 (file)
     case 5:
     case 6:
     case 7:
+      if (GET_CODE (operands[1]) == CONST_DOUBLE)
+       {
+         rtx xoperands[2];
+         xoperands[0] = operands[0];
+         xoperands[1] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+         output_asm_insn (\"mov %1,%0\", xoperands);
+         return \"\";
+       }
+
       return \"mov %1,%0\";
     case 8:
     case 9:
     case 5:
     case 6:
     case 7:
+      if (GET_CODE (operands[1]) == CONST_DOUBLE)
+       {
+         rtx xoperands[2];
+         xoperands[0] = operands[0];
+         xoperands[1] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+         output_asm_insn (\"mov %1,%0\", xoperands);
+         return \"\";
+       }
       return \"mov %1,%0\";
     case 8:
     case 9:
     case 11:
     case 12:
     case 13:
+      if (GET_CODE (operands[1]) == CONST_DOUBLE)
+       {
+         rtx xoperands[2];
+         xoperands[0] = operands[0];
+         xoperands[1] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+         output_asm_insn (\"mov %1,%0\", xoperands);
+         return \"\";
+       }
       return \"mov %1,%0\";
     }
 }"
       /* FALLTHROUGH */
     case 4:
     case 5:
+      if (GET_CODE (operands[1]) == CONST_DOUBLE)
+       {
+         rtx xoperands[2];
+         xoperands[0] = operands[0];
+         xoperands[1] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
+         output_asm_insn (\"mov %1,%0\", xoperands);
+         return \"\";
+       }
       return \"mov %1,%0\";
     }
 }"