diff options
author | Richard Stallman <rms@gnu.org> | 1993-11-14 01:19:38 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-11-14 01:19:38 +0000 |
commit | 2927b46038ea420bfd3815ba37ccb7f36a2933be (patch) | |
tree | c11f5aaf0c5cd76784e7029575df326bec0cdc3b /gcc | |
parent | ef60d3134a55565e5f4aba74f1a398b9fc66e150 (diff) | |
download | gcc-2927b46038ea420bfd3815ba37ccb7f36a2933be.zip gcc-2927b46038ea420bfd3815ba37ccb7f36a2933be.tar.gz gcc-2927b46038ea420bfd3815ba37ccb7f36a2933be.tar.bz2 |
(movsi): Handle moves to fp reg.
Handle const_double as operand 1.
From-SVN: r6082
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/ns32k/ns32k.md | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/config/ns32k/ns32k.md b/gcc/config/ns32k/ns32k.md index 66f5655..5b8f9cc 100644 --- a/gcc/config/ns32k/ns32k.md +++ b/gcc/config/ns32k/ns32k.md @@ -314,8 +314,8 @@ "lprd sp,%0") (define_insn "movsi" - [(set (match_operand:SI 0 "general_operand" "=g<,g<,*f,g") - (match_operand:SI 1 "general_operand" "g,?xy,g,*f"))] + [(set (match_operand:SI 0 "general_operand" "=g<,g<,*f,g,x") + (match_operand:SI 1 "general_operand" "g,?xy,g,*f,rmn"))] "" "* { @@ -332,6 +332,12 @@ return \"movf %1,tos\;movd tos,%0\"; return \"movf %1,%0\"; } + if (GET_CODE (operands[0]) == REG + && REGNO (operands[0]) == FRAME_POINTER_REGNUM) + return \"lprd fp,%1\"; + if (GET_CODE (operands[1]) == CONST_DOUBLE) + operands[1] + = gen_rtx (CONST_INT, VOIDmode, CONST_DOUBLE_LOW (operands[1])); if (GET_CODE (operands[1]) == CONST_INT) { int i = INTVAL (operands[1]); |