aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-07-24 13:21:44 +0000
committerJeff Law <law@gcc.gnu.org>1998-07-24 07:21:44 -0600
commite2bc7d00a61baee21520eb43f0f2fb87623af325 (patch)
tree6b07a6692002bf89b0150589c5c3724b23d7c128 /gcc
parentc6160f8f95bf00d19cf87e7840c60b4d61177594 (diff)
downloadgcc-e2bc7d00a61baee21520eb43f0f2fb87623af325.zip
gcc-e2bc7d00a61baee21520eb43f0f2fb87623af325.tar.gz
gcc-e2bc7d00a61baee21520eb43f0f2fb87623af325.tar.bz2
mn10300.md (movqi, [...]): Correctly handle CONST_DOUBLE source.
* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle CONST_DOUBLE source. From-SVN: r21362
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mn10300/mn10300.md33
2 files changed, 38 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e1613ab..9436ea5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md
index 01cec17..e10df8a 100644
--- a/gcc/config/mn10300/mn10300.md
+++ b/gcc/config/mn10300/mn10300.md
@@ -89,6 +89,15 @@
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:
@@ -144,6 +153,14 @@
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:
@@ -245,6 +262,14 @@
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\";
}
}"
@@ -293,6 +318,14 @@
/* 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\";
}
}"