Commit 964119de by Richard Kenner

(gpc_reg_operand): Include kernel registers.

(call_operand, case SYMBOL_REF): Handle TARGET_LARGE_MEMORY and
SYMBOL_REF_FLAG.

From-SVN: r5541
parent 0e5bad53
/* Subroutines used for code generation on AMD Am29000. /* 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) Contributed by Richard Kenner (kenner@nyu.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -259,7 +259,8 @@ gpc_reg_operand (op, mode) ...@@ -259,7 +259,8 @@ gpc_reg_operand (op, mode)
else else
return 0; 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. /* Returns 1 if OP is either an 8-bit constant integer or a general register.
...@@ -332,7 +333,9 @@ call_operand (op, mode) ...@@ -332,7 +333,9 @@ call_operand (op, mode)
{ {
case SYMBOL_REF: case SYMBOL_REF:
return (TARGET_SMALL_MEMORY 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: case CONST_INT:
return (unsigned HOST_WIDE_INT) INTVAL (op) < 0x40000; return (unsigned HOST_WIDE_INT) INTVAL (op) < 0x40000;
......
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