Commit 1eec766a by Richard Kenner

(movhi): Corrected case of moving constant to memory.

From-SVN: r13389
parent 345dd8a1
;;- Machine description for GNU compiler
;;- MIL-STD-1750A version.
;; Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
;; Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
;; Contributed by O.M.Kellogg, DASA (oliver.kellogg@space.otn.dasa.de).
;; This file is part of GNU CC.
......@@ -451,9 +451,14 @@
""
"
{
if (GET_CODE(operands[0]) == MEM &&
GET_CODE(operands[1]) == MEM)
operands[1] = force_reg (HImode, operands[1]);
if (GET_CODE(operands[0]) == MEM)
{
rtx op1 = operands[1];
if (GET_CODE(op1) == MEM
|| (GET_CODE(op1) == CONST_INT
&& (INTVAL(op1) < 0 || INTVAL(op1) > 15)))
operands[1] = force_reg (HImode, operands[1]);
}
}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment