From: Richard Kenner Date: Fri, 1 Oct 1993 14:45:16 +0000 (-0400) Subject: (gpc_reg_operand): Include kernel registers. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=964119deb75540897c552b09c00d9a02e3f54f6b;p=gcc.git (gpc_reg_operand): Include kernel registers. (call_operand, case SYMBOL_REF): Handle TARGET_LARGE_MEMORY and SYMBOL_REF_FLAG. From-SVN: r5541 --- diff --git a/gcc/config/a29k/a29k.c b/gcc/config/a29k/a29k.c index bf43a13dede..7d6e9c0dd91 100644 --- a/gcc/config/a29k/a29k.c +++ b/gcc/config/a29k/a29k.c @@ -1,5 +1,5 @@ /* Subroutines used for code generation on AMD Am29000. - Copyright (C) 1987, 1988, 1990, 1991, 1992 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 90, 91, 92, 1993 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@nyu.edu) This file is part of GNU CC. @@ -259,7 +259,8 @@ gpc_reg_operand (op, mode) else return 0; - return regno >= FIRST_PSEUDO_REGISTER || regno < R_BP; + return (regno >= FIRST_PSEUDO_REGISTER || regno < R_BP + || (regno >= R_KR (0) && regno <= R_KR (31))); } /* Returns 1 if OP is either an 8-bit constant integer or a general register. @@ -332,7 +333,9 @@ call_operand (op, mode) { case SYMBOL_REF: return (TARGET_SMALL_MEMORY - || ! strcmp (XSTR (op, 0), current_function_name)); + || (! TARGET_LARGE_MEMORY + && ((GET_CODE (op) == SYMBOL_REF && SYMBOL_REF_FLAG (op)) + || ! strcmp (XSTR (op, 0), current_function_name)))); case CONST_INT: return (unsigned HOST_WIDE_INT) INTVAL (op) < 0x40000;