From e2bc7d00a61baee21520eb43f0f2fb87623af325 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Fri, 24 Jul 1998 13:21:44 +0000 Subject: [PATCH] mn10300.md (movqi, [...]): Correctly handle CONST_DOUBLE source. * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle CONST_DOUBLE source. From-SVN: r21362 --- gcc/ChangeLog | 5 +++++ gcc/config/mn10300/mn10300.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e1613ab5fc4..9436ea592da 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 * 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 01cec17379c..e10df8aff22 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\"; } }"