--- gcc/config/dsp16xx/dsp16xx.h 2018/04/24 18:21:10 1.1 +++ gcc/config/dsp16xx/dsp16xx.h 2018/04/24 18:28:28 1.1.1.2 @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. AT&T DSP1600. - Copyright (C) 1994 Free Software Foundation, Inc. + Copyright (C) 1994, 1995 Free Software Foundation, Inc. Contributed by Michael Collison (collison@world.std.com). This file is part of GNU CC. @@ -16,7 +16,8 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ extern char *low_reg_names[]; extern char *text_seg_name; @@ -108,8 +109,9 @@ extern char *output_block_move(); #define CROSS_LINK_SPEC "%{!c:%{!M:%{!MM:%{!E:%{!S:ld1600 %l %X %{o*} %{m} \ %{r} %{s} %{t} %{u*} %{x}\ - %{!A:%{!nostdlib:%S}} %{static:}\ - %{L*} %D %o %{!nostdlib:-le1600 %L -le1600 %{!A:%E}}\n }}}}}" + %{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:}\ + %{L*} %D %o %{!nostdlib:-le1600 %L -le1600}\ + %{!A:%{!nostdlib:%{!nostartfiles:%E}}}\n }}}}}" /* Nothing complicated here, just link with libc.a under normal circumstances */ @@ -200,7 +202,7 @@ extern int target_flags; Unit. */ #define TARGET_BMU (target_flags & MASK_BMU) -/* Optimize to conseverve memory */ +/* Optimize to conserve memory */ #define TARGET_OPTIMIZE_MEMORY (target_flags & MASK_OPTIMIZE_MEMORY) /* Optimize for maximum speed */ @@ -330,7 +332,7 @@ extern int target_flags; For the 1600 we can decide arbitrarily since there are no machine instructions for them. */ #define WORDS_BIG_ENDIAN 1 -/* number of bits in an addressible storage unit */ +/* number of bits in an addressable storage unit */ #define BITS_PER_UNIT 16 /* Width in bits of a "word", which is the contents of a machine register. @@ -598,7 +600,7 @@ extern int target_flags; controlled by target switches, then GCC will automatically avoid using these registers when the target switches are opposed to them.) If the user tells us there is no BMU, we can't use - ar0-ar3 for regsiter allocation */ + ar0-ar3 for register allocation */ #define CONDITIONAL_REGISTER_USAGE \ do \ @@ -1005,7 +1007,7 @@ enum reg_class #endif /* A C expression for the maximum number of consecutive registers of class CLASS - needed to hold a vlaue of mode MODE */ + needed to hold a value of mode MODE */ #define CLASS_MAX_NREGS(CLASS, MODE) \ class_max_nregs(CLASS, MODE) @@ -1112,10 +1114,11 @@ extern struct dsp16xx_frame_info current /* Value is 1 if returning from a function call automatically pops the arguments described by the number-of-args field in the call. + FUNDECL is the declaration node of the function (as a tree), FUNTYPE is the data type of the function (as a tree), or for a library call it is an identifier node for the subroutine name. */ -#define RETURN_POPS_ARGS(FUNTYPE, STACK_SIZE) 0 +#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) 0 /* Define how to find the value returned by a function. VALTYPE is the data type of the value (as a tree). @@ -1158,8 +1161,8 @@ extern struct dsp16xx_frame_info current /* Define the first register to be used for argument passing */ #define FIRST_REG_FOR_FUNCTION_ARG REG_Y -/* Define the profitablity of saving registers around calls. - NOTE: For now we turin this off because of a bug in the +/* Define the profitability of saving registers around calls. + NOTE: For now we turn this off because of a bug in the caller-saves code and also because i'm not sure it is helpful on the 1610. */ @@ -1469,7 +1472,7 @@ extern struct dsp16xx_frame_info current case CONST_DOUBLE: \ return COSTS_N_INSNS (2); -/* Like CONST_COSTS but applies to nonsonstant RTL expressions. +/* Like CONST_COSTS but applies to nonconstant RTL expressions. This can be used, for example to indicate how costly a multiply instruction is. */ #define RTX_COSTS(X,CODE,OUTER_CODE) \ @@ -1895,7 +1898,7 @@ bss_section () \ /* This is how to output an assembler line that says to advance the location counter to a multiple of 2**LOG bytes. We should - not have to do any alignemnt since the 1610 is a word machine. */ + not have to do any alignment since the 1610 is a word machine. */ #define ASM_OUTPUT_ALIGN(FILE,LOG) /* Define this macro if ASM_OUTPUT_SKIP should not be used in the text section @@ -1936,9 +1939,6 @@ bss_section () \ /* This is the kind of divide that is easiest to do in the general case. */ #define EASY_DIV_EXPR TRUNC_DIV_EXPR -/* Define this if the library function 'vprintf' is available on your system. */ -#define HAVE_VPRINTF - /* Max number of bytes we can move from memory to memory in one reasonably fast instruction. */ #define MOVE_MAX 1 @@ -1946,8 +1946,8 @@ bss_section () \ /* Defining this macro causes the compiler to omit a sign-extend, zero-extend, or bitwise 'and' instruction that truncates the count of a shift operation to a width equal to the number of bits needed to represent the size of the - object being shifted. Do not define this macro unless the trucation applies - to both shoft operations and bit-field operations (if any). */ + object being shifted. Do not define this macro unless the truncation applies + to both shift operations and bit-field operations (if any). */ /* #define SHIFT_COUNT_TRUNCATED */ /* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits