From 1eec766a06047091101fde85fb85959701d0175f Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 6 Jan 1997 15:44:34 -0500 Subject: [PATCH] (movhi): Corrected case of moving constant to memory. From-SVN: r13389 --- gcc/config/1750a/1750a.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/config/1750a/1750a.md b/gcc/config/1750a/1750a.md index fb7c7bfa531..1a118fce316 100644 --- a/gcc/config/1750a/1750a.md +++ b/gcc/config/1750a/1750a.md @@ -1,6 +1,6 @@ ;;- 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]); + } }")