diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-10-01 10:45:16 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-10-01 10:45:16 -0400 |
commit | 964119deb75540897c552b09c00d9a02e3f54f6b (patch) | |
tree | ca6738b79fbcec9205b0eedadbd9c60f98232715 | |
parent | 0e5bad531b3ab78b6a4fd88e80db6232fe460107 (diff) | |
download | gcc-964119deb75540897c552b09c00d9a02e3f54f6b.zip gcc-964119deb75540897c552b09c00d9a02e3f54f6b.tar.gz gcc-964119deb75540897c552b09c00d9a02e3f54f6b.tar.bz2 |
(gpc_reg_operand): Include kernel registers.
(call_operand, case SYMBOL_REF): Handle TARGET_LARGE_MEMORY and
SYMBOL_REF_FLAG.
From-SVN: r5541
-rw-r--r-- | gcc/config/a29k/a29k.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/a29k/a29k.c b/gcc/config/a29k/a29k.c index bf43a13..7d6e9c0 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; |