*** empty log message ***

From-SVN: r1460
This commit is contained in:
Timothy Moore 1992-07-06 15:16:19 +00:00
parent 17d71a73a9
commit 3f8f5a3f04

View File

@ -76,15 +76,13 @@ enum cmp_type /* comparison type */
/* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION fprintf (stderr, " (hp9000s800)");
#define TARGET_VERSION fprintf (stderr, " (hppa)");
/* Run-time compilation parameters selecting different hardware subsets.
On the the hp9k800, we don't yet need any. But ... */
/* Run-time compilation parameters selecting different hardware subsets. */
extern int target_flags;
/* compile code for PA-RISC 1.1 ("Snake") */
/* compile code for HP-PA 1.1 ("Snake") */
#define TARGET_SNAKE (target_flags & 1)
@ -112,7 +110,7 @@ extern int target_flags;
/* Define this if most significant word of a multiword number is lowest
numbered. */
/* For the hp9k800 we can decide arbitrarily
/* For the HP-PA we can decide arbitrarily
since there are no machine instructions for them. */
#define WORDS_BIG_ENDIAN 1
@ -183,13 +181,13 @@ extern int target_flags;
All registers that the compiler knows about must be given numbers,
even those that are not normally considered general registers.
The hp9k800 has 32 fullword registers and 16 floating point
HP-PA 1.0 has 32 fullword registers and 16 floating point
registers. The floating point registers hold either word or double
word values.
16 additional registers are reserved.
PA-RISC 1.1 has 32 fullword registers and 32 floating point
HP-PA 1.1 has 32 fullword registers and 32 floating point
registers. However, the floating point registers behave
differently: the left and right halves of registers are addressable
as 32 bit registers. So, we will set things up like the 68k which
@ -202,7 +200,7 @@ extern int target_flags;
/* 1 for registers that have pervasive standard uses
and are not available for the register allocator.
On the hp9k800, these are:
On the HP-PA, these are:
Reg 0 = 0 (hardware). However, 0 is used for condition code,
so is not fixed.
Reg 1 = ADDIL target/Temporary (hardware).
@ -343,7 +341,7 @@ extern int target_flags;
This is ordinarily the length in words of a value of mode MODE
but can be less for certain modes in special long registers.
On the hp9k800, ordinary registers hold 32 bits worth;
On the HP-PA, ordinary registers hold 32 bits worth;
The floating point registers are 64 bits wide. Snake fp regs are 32
bits wide */
#define HARD_REGNO_NREGS(REGNO, MODE) \
@ -351,7 +349,7 @@ extern int target_flags;
? ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD) : 1)
/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
On the hp9k800, the cpu registers can hold any mode. We
On the HP-PA, the cpu registers can hold any mode. We
force this to be an even register is it cannot hold the full mode. */
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
((REGNO) == 0 ? (MODE) == CCmode || (MODE) == CCFPmode \
@ -370,7 +368,7 @@ extern int target_flags;
/* Specify the registers used for certain standard purposes.
The values of these macros are register numbers. */
/* the hp9k800 pc isn't overloaded on a register that the compiler knows about. */
/* The HP-PA pc isn't overloaded on a register that the compiler knows about. */
/* #define PC_REGNUM */
/* Register to use for pushing function arguments. */
@ -437,7 +435,7 @@ extern int leaf_function;
For any two classes, it is very desirable that there be another
class that represents their union. */
/* The hp9k800 has four kinds of registers: general regs, 1.0 fp regs,
/* The HP-PA has four kinds of registers: general regs, 1.0 fp regs,
1.1 fp regs, and the high 1.1 fp regs, to which the operands of
fmpyadd and fmpysub are restricted. */
@ -505,7 +503,7 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS,
C is the letter, and VALUE is a constant value.
Return 1 if VALUE is in the range specified by C.
HP9000/800 immediate field sizes:
HP-PA immediate field sizes:
5 bits: scalar/floating short loads + stores; deposit; conditional branch
11 bits: arithmetic immediate, compare immediate
14 bits: loads and stores; load offset
@ -573,7 +571,7 @@ HP9000/800 immediate field sizes:
/* If we generate an insn to push BYTES bytes,
this says how many the stack pointer really advances by.
On the hp9k800, don't define this because there are no push insns. */
On the HP-PA, don't define this because there are no push insns. */
/* #define PUSH_ROUNDING(BYTES) */
/* Offset of first parameter from the argument pointer register value.
@ -630,7 +628,7 @@ HP9000/800 immediate field sizes:
If the precise function being called is known, FUNC is its FUNCTION_DECL;
otherwise, FUNC is 0. */
/* On the hp9k800 the value is found in register(s) 28(-29), unless
/* On the HP-PA the value is found in register(s) 28(-29), unless
the mode is SF or DF. Then the value is returned in fr4 (36, ) */
@ -666,7 +664,7 @@ HP9000/800 immediate field sizes:
and about the args processed so far, enough to enable macros
such as FUNCTION_ARG to determine where the next arg should go.
On the hp9k800, this is a single integer, which is a number of words
On the HP-PA, this is a single integer, which is a number of words
of arguments scanned so far (including the invisible argument,
if any, which holds the structure-value-address).
Thus 4 or more means all following args should go on the stack. */
@ -706,7 +704,7 @@ HP9000/800 immediate field sizes:
NAMED is nonzero if this argument is a named parameter
(otherwise it is an extra parameter matching an ellipsis). */
/* On the hp9k800 the first four words of args are normally in registers
/* On the HP-PA the first four words of args are normally in registers
and the rest are pushed. But any arg that won't entirely fit in regs
is pushed. */
@ -783,8 +781,13 @@ extern enum cmp_type hppa_branch_type;
fprintf (FILE, ",ARGW%d=FR", i++); \
else if (TYPE_MODE (DECL_ARG_TYPE (parm)) == DFmode) \
{ \
if (i == 1) i++; \
ASM_DOUBLE_ARG_DESCRIPTORS (FILE, i++, i++); \
if (i <= 2) \
{ \
if (i == 1) i++; \
ASM_DOUBLE_ARG_DESCRIPTORS (FILE, i++, i++); \
} \
else \
break; \
} \
else \
{ \
@ -957,7 +960,7 @@ extern union tree_node *current_function_decl;
/* Now macros that check whether X is a register and also,
strictly, whether it is in a specified class.
These macros are specific to the the hp9k800, and may be used only
These macros are specific to the the HP-PA, and may be used only
in code for printing assembler insns and in conditions for
define_optimization. */
@ -1060,7 +1063,7 @@ extern union tree_node *current_function_decl;
The MODE argument is the machine mode for the MEM expression
that wants to use this address.
On the hp9k800, the actual legitimate addresses must be
On the HP-PA, the actual legitimate addresses must be
REG+REG, REG+(REG*SCALE) or REG+SMALLINT.
But we can treat a SYMBOL_REF as legitimate if it is part of this
function's constant-pool, because such addresses can actually
@ -1149,7 +1152,7 @@ extern union tree_node *current_function_decl;
It is always safe for this macro to do nothing. It exists to recognize
opportunities to optimize the output. */
/* On the hp9k800, change REG+N into REG+REG, and REG+(X*Y) into REG+REG. */
/* On the HP-PA, change REG+N into REG+REG, and REG+(X*Y) into REG+REG. */
#define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN) \
{ if (GET_CODE (X) == PLUS && CONSTANT_ADDRESS_P (XEXP (X, 1))) \
@ -1206,7 +1209,7 @@ extern union tree_node *current_function_decl;
name string in the `symbol_ref' (if one bit is not enough
information).
On the PA-RISC we use this to indicate if a symbol is in text or
On the HP-PA we use this to indicate if a symbol is in text or
data space. */
#define ENCODE_SECTION_INFO(DECL)\
@ -1378,7 +1381,7 @@ do { fprintf (FILE, "\t.SPACE $PRIVATE$\n\
#define ASM_APP_OFF ""
/* We don't yet know how to identify GCC to HP series 800. */
/* We don't yet know how to identify GCC to HP-PA machines. */
#define ASM_IDENTIFY_GCC(FILE) fprintf (FILE, "; gcc_compiled.:\n")
/* Output before code. */
@ -1541,7 +1544,7 @@ do { fprintf (FILE, "\t.SPACE $PRIVATE$\n\
fprintf (FILE, "\tb L$%04d\n\tnop\n", VALUE)
/* This is how to output an element of a case-vector that is relative.
(the hp9k800 does not use such vectors,
(The HP-PA does not use such vectors,
but we must define this macro anyway.) */
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
@ -1605,7 +1608,7 @@ do { fprintf (FILE, "\t.SPACE $PRIVATE$\n\
CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
For `%' followed by punctuation, CODE is the punctuation and X is null.
On the hp9k800, the CODE can be `r', meaning this is a register-only operand
On the HP-PA, the CODE can be `r', meaning this is a register-only operand
and an immediate zero should be represented as `r0'.
Several % codes are defined: