Commit b7849684 by Jason Eckhardt Committed by Jason Eckhardt

pa.c: Replace 'GNU CC' with 'GCC'.

2003-08-22  Jason Eckhardt  <jle@rice.edu>

	* config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
	Remove all uses of PARAMS macro.
	Convert all function definitions to ISO C90 syntax.
	* config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
	* config/pa/fptr.c: Likewise.
	* config/pa/lib2funcs.asm: Likewise.
	* config/pa/long_double.h: Likewise.
	* config/pa/milli64.S: Likewise.
	* config/pa/pa-64.h: Likewise.
	* config/pa/pa-hpux.h: Likewise.
	* config/pa/pa-hpux10.h: Likewise.
	* config/pa/pa-hpux11.h: Likewise.
	* config/pa/pa-linux.h: Likewise.
	* config/pa/pa-modes.def: Likewise.
	* config/pa/pa-osf.h: Likewise.
	* config/pa/pa-pro-end.h: Likewise.
	* config/pa/pa.md: Likewise.
	* config/pa/pa32-linux.h: Likewise.
	* config/pa/pa64-linux.h: Likewise.
	* config/pa/pa64-hpux.h: Likewise.
	* config/pa/pa64-regs.h: Likewise.
	* config/pa/quadlib.c: Likewise.
	* config/pa/rtems.h: Likewise.
	* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
	all uses of the PARAMS macro.
	* config/pa/pa.h: Likewise.
	* config/pa/som.h: Likewise.

        * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
        Remove all uses of PARAMS macro.
        Convert all function definitions to ISO C90 syntax.
	* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
        Remove all uses of PARAMS macro.
	* config/iq2000.h: Remove all uses of PARAMS macro.
        * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.

From-SVN: r70715
parent 416cf582
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
Convert all function definitions to ISO C90 syntax.
* config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
* config/pa/fptr.c: Likewise.
* config/pa/lib2funcs.asm: Likewise.
* config/pa/long_double.h: Likewise.
* config/pa/milli64.S: Likewise.
* config/pa/pa-64.h: Likewise.
* config/pa/pa-hpux.h: Likewise.
* config/pa/pa-hpux10.h: Likewise.
* config/pa/pa-hpux11.h: Likewise.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-modes.def: Likewise.
* config/pa/pa-osf.h: Likewise.
* config/pa/pa-pro-end.h: Likewise.
* config/pa/pa.md: Likewise.
* config/pa/pa32-linux.h: Likewise.
* config/pa/pa64-linux.h: Likewise.
* config/pa/pa64-hpux.h: Likewise.
* config/pa/pa64-regs.h: Likewise.
* config/pa/quadlib.c: Likewise.
* config/pa/rtems.h: Likewise.
* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
all uses of the PARAMS macro.
* config/pa/pa.h: Likewise.
* config/pa/som.h: Likewise.
* config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
Convert all function definitions to ISO C90 syntax.
* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
* config/iq2000.h: Remove all uses of PARAMS macro.
* config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2003-08-23 Ulrich Weigand <uweigand@de.ibm.com> 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390-protos.h (s390_output_pool_entry): Declare. * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
......
/* Definitions of target machine for GNU compiler for iq2000. /* Definitions of target machine for GNU compiler for iq2000.
Copyright (C) 2003 Free Software Foundation, Inc. Copyright (C) 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#ifndef GCC_IQ2000_PROTOS_H #ifndef GCC_IQ2000_PROTOS_H
#define GCC_IQ2000_PROTOS_H #define GCC_IQ2000_PROTOS_H
extern int iq2000_check_split PARAMS ((rtx, enum machine_mode)); extern int iq2000_check_split (rtx, enum machine_mode);
extern int iq2000_reg_mode_ok_for_base_p PARAMS ((rtx, enum machine_mode, int)); extern int iq2000_reg_mode_ok_for_base_p (rtx, enum machine_mode, int);
extern int iq2000_legitimate_address_p PARAMS ((enum machine_mode, rtx, int)); extern int iq2000_legitimate_address_p (enum machine_mode, rtx, int);
extern const char* iq2000_fill_delay_slot PARAMS ((const char*, enum delay_type, rtx*, rtx)); extern const char* iq2000_fill_delay_slot (const char*, enum delay_type, rtx*, rtx);
extern const char *iq2000_move_1word PARAMS ((rtx *, rtx, int)); extern const char *iq2000_move_1word (rtx *, rtx, int);
extern int iq2000_address_cost PARAMS ((rtx)); extern int iq2000_address_cost (rtx);
extern void override_options PARAMS ((void)); extern void override_options (void);
extern HOST_WIDE_INT iq2000_debugger_offset PARAMS ((rtx, HOST_WIDE_INT)); extern HOST_WIDE_INT iq2000_debugger_offset (rtx, HOST_WIDE_INT);
extern void final_prescan_insn PARAMS ((rtx, rtx*, int)); extern void final_prescan_insn (rtx, rtx*, int);
extern HOST_WIDE_INT compute_frame_size PARAMS ((HOST_WIDE_INT)); extern HOST_WIDE_INT compute_frame_size (HOST_WIDE_INT);
extern int iq2000_initial_elimination_offset (int, int); extern int iq2000_initial_elimination_offset (int, int);
extern void iq2000_expand_prologue PARAMS ((void)); extern void iq2000_expand_prologue (void);
extern void iq2000_expand_epilogue PARAMS ((void)); extern void iq2000_expand_epilogue (void);
extern void iq2000_expand_eh_return PARAMS ((rtx)); extern void iq2000_expand_eh_return (rtx);
extern int iq2000_can_use_return_insn PARAMS ((void)); extern int iq2000_can_use_return_insn (void);
int function_arg_pass_by_reference PARAMS ((CUMULATIVE_ARGS*, enum machine_mode, tree, int)); int function_arg_pass_by_reference (CUMULATIVE_ARGS*, enum machine_mode, tree, int);
int iq2000_adjust_insn_length PARAMS ((rtx, int)); int iq2000_adjust_insn_length (rtx, int);
char *iq2000_output_conditional_branch PARAMS ((rtx, rtx*, int, int, int, int)); char *iq2000_output_conditional_branch (rtx, rtx*, int, int, int, int);
extern void iq2000_init_builtins PARAMS ((void)); extern void iq2000_init_builtins (void);
extern void iq2000_setup_incoming_varargs PARAMS ((CUMULATIVE_ARGS, int, tree, int*, int)); extern void iq2000_setup_incoming_varargs (CUMULATIVE_ARGS, int, tree, int*, int);
extern void print_operand_address PARAMS ((FILE*, rtx)); extern void print_operand_address (FILE*, rtx);
extern void print_operand PARAMS ((FILE*, rtx, int)); extern void print_operand (FILE*, rtx, int);
#ifdef RTX_CODE #ifdef RTX_CODE
extern rtx gen_int_relational PARAMS ((enum rtx_code, rtx, rtx, rtx, int*)); extern rtx gen_int_relational (enum rtx_code, rtx, rtx, rtx, int*);
extern void gen_conditional_branch PARAMS ((rtx *, enum rtx_code)); extern void gen_conditional_branch (rtx *, enum rtx_code);
#endif #endif
#ifdef TREE_CODE #ifdef TREE_CODE
extern void init_cumulative_args PARAMS ((CUMULATIVE_ARGS*, tree, rtx)); extern void init_cumulative_args (CUMULATIVE_ARGS*, tree, rtx);
extern void function_arg_advance PARAMS ((CUMULATIVE_ARGS*, enum machine_mode, tree, int)); extern void function_arg_advance (CUMULATIVE_ARGS*, enum machine_mode, tree, int);
extern struct rtx_def* function_arg PARAMS ((CUMULATIVE_ARGS*, enum machine_mode, tree, int)); extern struct rtx_def* function_arg (CUMULATIVE_ARGS*, enum machine_mode, tree, int);
extern int function_arg_partial_nregs PARAMS ((CUMULATIVE_ARGS*, enum machine_mode, tree, int)); extern int function_arg_partial_nregs (CUMULATIVE_ARGS*, enum machine_mode, tree, int);
extern void iq2000_va_start PARAMS ((tree, rtx)); extern void iq2000_va_start (tree, rtx);
extern rtx iq2000_va_arg PARAMS ((tree, tree)); extern rtx iq2000_va_arg (tree, tree);
extern rtx iq2000_function_value PARAMS ((tree, tree)); extern rtx iq2000_function_value (tree, tree);
extern rtx iq2000_expand_builtin PARAMS ((tree, rtx, rtx, extern rtx iq2000_expand_builtin (tree, rtx, rtx,
enum machine_mode, int)); enum machine_mode, int);
#endif #endif
#endif /* ! GCC_IQ2000_PROTOS_H */ #endif /* ! GCC_IQ2000_PROTOS_H */
/* Subroutines used for code generation on Vitesse IQ2000 processors /* Subroutines used for code generation on Vitesse IQ2000 processors
Copyright (C) 2003 Free Software Foundation, Inc. Copyright (C) 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
...@@ -66,23 +66,23 @@ enum internal_test { ...@@ -66,23 +66,23 @@ enum internal_test {
struct constant; struct constant;
static void iq2000_count_memory_refs PARAMS ((rtx, int)); static void iq2000_count_memory_refs (rtx, int);
static enum internal_test map_test_to_internal_test PARAMS ((enum rtx_code)); static enum internal_test map_test_to_internal_test (enum rtx_code);
static rtx iq2000_add_large_offset_to_sp PARAMS ((HOST_WIDE_INT)); static rtx iq2000_add_large_offset_to_sp (HOST_WIDE_INT);
static void iq2000_annotate_frame_insn PARAMS ((rtx, rtx)); static void iq2000_annotate_frame_insn (rtx, rtx);
static void iq2000_emit_frame_related_store PARAMS ((rtx, rtx, static void iq2000_emit_frame_related_store (rtx, rtx,
HOST_WIDE_INT)); HOST_WIDE_INT);
static struct machine_function * iq2000_init_machine_status PARAMS ((void)); static struct machine_function * iq2000_init_machine_status (void);
static void save_restore_insns PARAMS ((int)); static void save_restore_insns (int);
static void abort_with_insn PARAMS ((rtx, const char *)) static void abort_with_insn (rtx, const char *)
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
static int symbolic_expression_p PARAMS ((rtx)); static int symbolic_expression_p (rtx);
static enum processor_type iq2000_parse_cpu PARAMS ((const char *)); static enum processor_type iq2000_parse_cpu (const char *);
static void iq2000_select_rtx_section PARAMS ((enum machine_mode, rtx, static void iq2000_select_rtx_section (enum machine_mode, rtx,
unsigned HOST_WIDE_INT)); unsigned HOST_WIDE_INT);
static void iq2000_select_section PARAMS ((tree, int, unsigned HOST_WIDE_INT)); static void iq2000_select_section (tree, int, unsigned HOST_WIDE_INT);
static rtx expand_one_builtin PARAMS ((enum insn_code, rtx, tree, enum rtx_code*, static rtx expand_one_builtin (enum insn_code, rtx, tree, enum rtx_code*,
int)); int);
/* Structure to be filled in by compute_frame_size with register /* Structure to be filled in by compute_frame_size with register
save masks, and offsets for the current function. */ save masks, and offsets for the current function. */
...@@ -181,9 +181,7 @@ struct gcc_target targetm = TARGET_INITIALIZER; ...@@ -181,9 +181,7 @@ struct gcc_target targetm = TARGET_INITIALIZER;
integer is needed. */ integer is needed. */
int int
uns_arith_operand (op, mode) uns_arith_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (GET_CODE (op) == CONST_INT && SMALL_INT_UNSIGNED (op)) if (GET_CODE (op) == CONST_INT && SMALL_INT_UNSIGNED (op))
return 1; return 1;
...@@ -194,9 +192,7 @@ uns_arith_operand (op, mode) ...@@ -194,9 +192,7 @@ uns_arith_operand (op, mode)
/* Return 1 if OP can be used as an operand where a 16 bit integer is needed. */ /* Return 1 if OP can be used as an operand where a 16 bit integer is needed. */
int int
arith_operand (op, mode) arith_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (GET_CODE (op) == CONST_INT && SMALL_INT (op)) if (GET_CODE (op) == CONST_INT && SMALL_INT (op))
return 1; return 1;
...@@ -207,9 +203,7 @@ arith_operand (op, mode) ...@@ -207,9 +203,7 @@ arith_operand (op, mode)
/* Return 1 if OP is a integer which fits in 16 bits */ /* Return 1 if OP is a integer which fits in 16 bits */
int int
small_int (op, mode) small_int (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT && SMALL_INT (op)); return (GET_CODE (op) == CONST_INT && SMALL_INT (op));
} }
...@@ -218,9 +212,7 @@ small_int (op, mode) ...@@ -218,9 +212,7 @@ small_int (op, mode)
instruction. */ instruction. */
int int
large_int (op, mode) large_int (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
HOST_WIDE_INT value; HOST_WIDE_INT value;
...@@ -247,9 +239,7 @@ large_int (op, mode) ...@@ -247,9 +239,7 @@ large_int (op, mode)
/* Return 1 if OP is a register or the constant 0. */ /* Return 1 if OP is a register or the constant 0. */
int int
reg_or_0_operand (op, mode) reg_or_0_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
switch (GET_CODE (op)) switch (GET_CODE (op))
{ {
...@@ -274,9 +264,7 @@ reg_or_0_operand (op, mode) ...@@ -274,9 +264,7 @@ reg_or_0_operand (op, mode)
(ie, register + small offset). */ (ie, register + small offset). */
int int
simple_memory_operand (op, mode) simple_memory_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
rtx addr, plus0, plus1; rtx addr, plus0, plus1;
...@@ -328,9 +316,7 @@ simple_memory_operand (op, mode) ...@@ -328,9 +316,7 @@ simple_memory_operand (op, mode)
/* Return nonzero if the code of this rtx pattern is EQ or NE. */ /* Return nonzero if the code of this rtx pattern is EQ or NE. */
int int
equality_op (op, mode) equality_op (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (mode != GET_MODE (op)) if (mode != GET_MODE (op))
return 0; return 0;
...@@ -341,9 +327,7 @@ equality_op (op, mode) ...@@ -341,9 +327,7 @@ equality_op (op, mode)
/* Return nonzero if the code is a relational operations (EQ, LE, etc.) */ /* Return nonzero if the code is a relational operations (EQ, LE, etc.) */
int int
cmp_op (op, mode) cmp_op (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (mode != GET_MODE (op)) if (mode != GET_MODE (op))
return 0; return 0;
...@@ -354,9 +338,7 @@ cmp_op (op, mode) ...@@ -354,9 +338,7 @@ cmp_op (op, mode)
/* Return nonzero if the operand is either the PC or a label_ref. */ /* Return nonzero if the operand is either the PC or a label_ref. */
int int
pc_or_label_operand (op, mode) pc_or_label_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (op == pc_rtx) if (op == pc_rtx)
return 1; return 1;
...@@ -370,9 +352,7 @@ pc_or_label_operand (op, mode) ...@@ -370,9 +352,7 @@ pc_or_label_operand (op, mode)
/* Return nonzero if OP is a valid operand for a call instruction. */ /* Return nonzero if OP is a valid operand for a call instruction. */
int int
call_insn_operand (op, mode) call_insn_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (CONSTANT_ADDRESS_P (op) return (CONSTANT_ADDRESS_P (op)
|| (GET_CODE (op) == REG && op != arg_pointer_rtx || (GET_CODE (op) == REG && op != arg_pointer_rtx
...@@ -383,9 +363,7 @@ call_insn_operand (op, mode) ...@@ -383,9 +363,7 @@ call_insn_operand (op, mode)
/* Return nonzero if OP is valid as a source operand for a move instruction. */ /* Return nonzero if OP is valid as a source operand for a move instruction. */
int int
move_operand (op, mode) move_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
/* Accept any general operand after reload has started; doing so /* Accept any general operand after reload has started; doing so
avoids losing if reload does an in-place replacement of a register avoids losing if reload does an in-place replacement of a register
...@@ -398,9 +376,7 @@ move_operand (op, mode) ...@@ -398,9 +376,7 @@ move_operand (op, mode)
/* Return nonzero if OP is a constant power of 2. */ /* Return nonzero if OP is a constant power of 2. */
int int
power_of_2_operand (op, mode) power_of_2_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
int intval; int intval;
...@@ -415,9 +391,7 @@ power_of_2_operand (op, mode) ...@@ -415,9 +391,7 @@ power_of_2_operand (op, mode)
/* Return nonzero if we split the address into high and low parts. */ /* Return nonzero if we split the address into high and low parts. */
int int
iq2000_check_split (address, mode) iq2000_check_split (rtx address, enum machine_mode mode)
rtx address;
enum machine_mode mode;
{ {
/* This is the same check used in simple_memory_operand. /* This is the same check used in simple_memory_operand.
We use it here because LO_SUM is not offsettable. */ We use it here because LO_SUM is not offsettable. */
...@@ -436,10 +410,9 @@ iq2000_check_split (address, mode) ...@@ -436,10 +410,9 @@ iq2000_check_split (address, mode)
/* Return nonzero if REG is valid for MODE. */ /* Return nonzero if REG is valid for MODE. */
int int
iq2000_reg_mode_ok_for_base_p (reg, mode, strict) iq2000_reg_mode_ok_for_base_p (rtx reg,
rtx reg; enum machine_mode mode ATTRIBUTE_UNUSED,
enum machine_mode mode ATTRIBUTE_UNUSED; int strict)
int strict;
{ {
return (strict return (strict
? REGNO_MODE_OK_FOR_BASE_P (REGNO (reg), mode) ? REGNO_MODE_OK_FOR_BASE_P (REGNO (reg), mode)
...@@ -451,10 +424,7 @@ iq2000_reg_mode_ok_for_base_p (reg, mode, strict) ...@@ -451,10 +424,7 @@ iq2000_reg_mode_ok_for_base_p (reg, mode, strict)
function is called during reload. */ function is called during reload. */
int int
iq2000_legitimate_address_p (mode, xinsn, strict) iq2000_legitimate_address_p (enum machine_mode mode, rtx xinsn, int strict)
enum machine_mode mode;
rtx xinsn;
int strict;
{ {
if (TARGET_DEBUG_A_MODE) if (TARGET_DEBUG_A_MODE)
{ {
...@@ -531,11 +501,8 @@ iq2000_legitimate_address_p (mode, xinsn, strict) ...@@ -531,11 +501,8 @@ iq2000_legitimate_address_p (mode, xinsn, strict)
it needs. */ it needs. */
const char * const char *
iq2000_fill_delay_slot (ret, type, operands, cur_insn) iq2000_fill_delay_slot (const char *ret, enum delay_type type, rtx operands[],
const char *ret; /* normal string to return */ rtx cur_insn)
enum delay_type type; /* type of delay */
rtx operands[]; /* operands to use */
rtx cur_insn; /* current insn */
{ {
register rtx set_reg; register rtx set_reg;
register enum machine_mode mode; register enum machine_mode mode;
...@@ -596,9 +563,7 @@ iq2000_fill_delay_slot (ret, type, operands, cur_insn) ...@@ -596,9 +563,7 @@ iq2000_fill_delay_slot (ret, type, operands, cur_insn)
appropriate counter for -mstats. */ appropriate counter for -mstats. */
static void static void
iq2000_count_memory_refs (op, num) iq2000_count_memory_refs (rtx op, int num)
rtx op;
int num;
{ {
int additional = 0; int additional = 0;
int n_words = 0; int n_words = 0;
...@@ -710,10 +675,7 @@ iq2000_count_memory_refs (op, num) ...@@ -710,10 +675,7 @@ iq2000_count_memory_refs (op, num)
/* Return the appropriate instructions to move one operand to another. */ /* Return the appropriate instructions to move one operand to another. */
const char * const char *
iq2000_move_1word (operands, insn, unsignedp) iq2000_move_1word (rtx operands[], rtx insn, int unsignedp)
rtx operands[];
rtx insn;
int unsignedp;
{ {
const char *ret = 0; const char *ret = 0;
rtx op0 = operands[0]; rtx op0 = operands[0];
...@@ -943,8 +905,7 @@ iq2000_move_1word (operands, insn, unsignedp) ...@@ -943,8 +905,7 @@ iq2000_move_1word (operands, insn, unsignedp)
/* Provide the costs of an addressing mode that contains ADDR. */ /* Provide the costs of an addressing mode that contains ADDR. */
int int
iq2000_address_cost (addr) iq2000_address_cost (rtx addr)
rtx addr;
{ {
switch (GET_CODE (addr)) switch (GET_CODE (addr))
{ {
...@@ -1011,8 +972,7 @@ iq2000_address_cost (addr) ...@@ -1011,8 +972,7 @@ iq2000_address_cost (addr)
/* Make normal rtx_code into something we can index from an array. */ /* Make normal rtx_code into something we can index from an array. */
static enum internal_test static enum internal_test
map_test_to_internal_test (test_code) map_test_to_internal_test (enum rtx_code test_code)
enum rtx_code test_code;
{ {
enum internal_test test = ITEST_MAX; enum internal_test test = ITEST_MAX;
...@@ -1037,16 +997,16 @@ map_test_to_internal_test (test_code) ...@@ -1037,16 +997,16 @@ map_test_to_internal_test (test_code)
/* Generate the code to compare two integer values. The return value is: /* Generate the code to compare two integer values. The return value is:
(reg:SI xx) The pseudo register the comparison is in (reg:SI xx) The pseudo register the comparison is in
0 No register, generate a simple branch. 0 No register, generate a simple branch.
*/
TEST_CODE: relational test (EQ, etc).
RESULT: result to store comp. or 0 if branch.
CMP0: first operand to compare
CMP1: second operand to compare
*P_INVERT: NULL or ptr to hold whether branch needs to reverse its test. */
rtx rtx
gen_int_relational (test_code, result, cmp0, cmp1, p_invert) gen_int_relational (enum rtx_code test_code, rtx result, rtx cmp0, rtx cmp1,
enum rtx_code test_code; /* relational test (EQ, etc) */ int *p_invert)
rtx result; /* result to store comp. or 0 if branch */
rtx cmp0; /* first operand to compare */
rtx cmp1; /* second operand to compare */
int *p_invert; /* NULL or ptr to hold whether branch needs */
/* to reverse its test */
{ {
struct cmp_info struct cmp_info
{ {
...@@ -1210,9 +1170,7 @@ gen_int_relational (test_code, result, cmp0, cmp1, p_invert) ...@@ -1210,9 +1170,7 @@ gen_int_relational (test_code, result, cmp0, cmp1, p_invert)
The comparison operands are saved away by cmp{si,di,sf,df}. */ The comparison operands are saved away by cmp{si,di,sf,df}. */
void void
gen_conditional_branch (operands, test_code) gen_conditional_branch (rtx operands[], enum rtx_code test_code)
rtx operands[];
enum rtx_code test_code;
{ {
enum cmp_type type = branch_type; enum cmp_type type = branch_type;
rtx cmp0 = branch_cmp[0]; rtx cmp0 = branch_cmp[0];
...@@ -1284,10 +1242,8 @@ gen_conditional_branch (operands, test_code) ...@@ -1284,10 +1242,8 @@ gen_conditional_branch (operands, test_code)
/* Initialize CUMULATIVE_ARGS for a function. */ /* Initialize CUMULATIVE_ARGS for a function. */
void void
init_cumulative_args (cum, fntype, libname) init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype,
CUMULATIVE_ARGS *cum; /* argument info to initialize */ rtx libname ATTRIBUTE_UNUSED)
tree fntype; /* tree ptr for function decl */
rtx libname ATTRIBUTE_UNUSED; /* SYMBOL_REF of library name or 0 */
{ {
static CUMULATIVE_ARGS zero_cum; static CUMULATIVE_ARGS zero_cum;
tree param, next_param; tree param, next_param;
...@@ -1328,11 +1284,8 @@ init_cumulative_args (cum, fntype, libname) ...@@ -1328,11 +1284,8 @@ init_cumulative_args (cum, fntype, libname)
/* Advance the argument to the next argument position. */ /* Advance the argument to the next argument position. */
void void
function_arg_advance (cum, mode, type, named) function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
CUMULATIVE_ARGS *cum; /* current arg information */ int named)
enum machine_mode mode; /* current arg mode */
tree type; /* type of the argument or 0 if lib support */
int named; /* whether or not the argument was named */
{ {
if (TARGET_DEBUG_D_MODE) if (TARGET_DEBUG_D_MODE)
{ {
...@@ -1396,11 +1349,8 @@ function_arg_advance (cum, mode, type, named) ...@@ -1396,11 +1349,8 @@ function_arg_advance (cum, mode, type, named)
or 0 if the argument is to be passed on the stack. */ or 0 if the argument is to be passed on the stack. */
struct rtx_def * struct rtx_def *
function_arg (cum, mode, type, named) function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
CUMULATIVE_ARGS *cum; /* current arg information */ int named)
enum machine_mode mode; /* current arg mode */
tree type; /* type of the argument or 0 if lib support */
int named; /* != 0 for normal args, == 0 for ... args */
{ {
rtx ret; rtx ret;
int regbase = -1; int regbase = -1;
...@@ -1560,11 +1510,9 @@ function_arg (cum, mode, type, named) ...@@ -1560,11 +1510,9 @@ function_arg (cum, mode, type, named)
} }
int int
function_arg_partial_nregs (cum, mode, type, named) function_arg_partial_nregs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
CUMULATIVE_ARGS *cum; /* current arg information */ tree type ATTRIBUTE_UNUSED,
enum machine_mode mode; /* current arg mode */ int named ATTRIBUTE_UNUSED)
tree type ATTRIBUTE_UNUSED;/* type of the argument or 0 if lib support */
int named ATTRIBUTE_UNUSED;/* != 0 for normal args, == 0 for ... args */
{ {
if (mode == DImode if (mode == DImode
&& cum->arg_words == MAX_ARGS_IN_REGISTERS - (unsigned)1) && cum->arg_words == MAX_ARGS_IN_REGISTERS - (unsigned)1)
...@@ -1581,9 +1529,7 @@ function_arg_partial_nregs (cum, mode, type, named) ...@@ -1581,9 +1529,7 @@ function_arg_partial_nregs (cum, mode, type, named)
/* Implement va_start. */ /* Implement va_start. */
void void
iq2000_va_start (valist, nextarg) iq2000_va_start (tree valist, rtx nextarg)
tree valist;
rtx nextarg;
{ {
int int_arg_words; int int_arg_words;
...@@ -1607,8 +1553,7 @@ iq2000_va_start (valist, nextarg) ...@@ -1607,8 +1553,7 @@ iq2000_va_start (valist, nextarg)
/* Implement va_arg. */ /* Implement va_arg. */
rtx rtx
iq2000_va_arg (valist, type) iq2000_va_arg (tree valist, tree type)
tree valist, type;
{ {
HOST_WIDE_INT size, rsize; HOST_WIDE_INT size, rsize;
rtx addr_rtx; rtx addr_rtx;
...@@ -1809,9 +1754,7 @@ iq2000_va_arg (valist, type) ...@@ -1809,9 +1754,7 @@ iq2000_va_arg (valist, type)
/* Abort after printing out a specific insn. */ /* Abort after printing out a specific insn. */
static void static void
abort_with_insn (insn, reason) abort_with_insn (rtx insn, const char *reason)
rtx insn;
const char *reason;
{ {
error (reason); error (reason);
debug_rtx (insn); debug_rtx (insn);
...@@ -1821,7 +1764,7 @@ abort_with_insn (insn, reason) ...@@ -1821,7 +1764,7 @@ abort_with_insn (insn, reason)
/* Detect any conflicts in the switches. */ /* Detect any conflicts in the switches. */
void void
override_options () override_options (void)
{ {
register enum processor_type iq2000_cpu; register enum processor_type iq2000_cpu;
...@@ -1901,7 +1844,7 @@ override_options () ...@@ -1901,7 +1844,7 @@ override_options ()
/* Allocate a chunk of memory for per-function machine-dependent data. */ /* Allocate a chunk of memory for per-function machine-dependent data. */
static struct machine_function * static struct machine_function *
iq2000_init_machine_status () iq2000_init_machine_status (void)
{ {
return ((struct machine_function *) return ((struct machine_function *)
ggc_alloc_cleared (sizeof (struct machine_function))); ggc_alloc_cleared (sizeof (struct machine_function)));
...@@ -1912,9 +1855,7 @@ iq2000_init_machine_status () ...@@ -1912,9 +1855,7 @@ iq2000_init_machine_status ()
pointer after the initial adjustments. */ pointer after the initial adjustments. */
HOST_WIDE_INT HOST_WIDE_INT
iq2000_debugger_offset (addr, offset) iq2000_debugger_offset (rtx addr, HOST_WIDE_INT offset)
rtx addr;
HOST_WIDE_INT offset;
{ {
rtx offset2 = const0_rtx; rtx offset2 = const0_rtx;
rtx reg = eliminate_constant_term (addr, &offset2); rtx reg = eliminate_constant_term (addr, &offset2);
...@@ -1949,10 +1890,8 @@ iq2000_debugger_offset (addr, offset) ...@@ -1949,10 +1890,8 @@ iq2000_debugger_offset (addr, offset)
of load delays, and also to update the delay slot statistics. */ of load delays, and also to update the delay slot statistics. */
void void
final_prescan_insn (insn, opvec, noperands) final_prescan_insn (rtx insn, rtx opvec[] ATTRIBUTE_UNUSED,
rtx insn; int noperands ATTRIBUTE_UNUSED)
rtx opvec[] ATTRIBUTE_UNUSED;
int noperands ATTRIBUTE_UNUSED;
{ {
if (dslots_number_nops > 0) if (dslots_number_nops > 0)
{ {
...@@ -2048,8 +1987,7 @@ final_prescan_insn (insn, opvec, noperands) ...@@ -2048,8 +1987,7 @@ final_prescan_insn (insn, opvec, noperands)
*/ */
HOST_WIDE_INT HOST_WIDE_INT
compute_frame_size (size) compute_frame_size (HOST_WIDE_INT size)
HOST_WIDE_INT size; /* # of var. bytes allocated */
{ {
int regno; int regno;
HOST_WIDE_INT total_size; /* # bytes that the entire frame takes up */ HOST_WIDE_INT total_size; /* # bytes that the entire frame takes up */
...@@ -2154,9 +2092,7 @@ compute_frame_size (size) ...@@ -2154,9 +2092,7 @@ compute_frame_size (size)
the stack pointer or hard frame pointer. */ the stack pointer or hard frame pointer. */
int int
iq2000_initial_elimination_offset (from, to) iq2000_initial_elimination_offset (int from, int to ATTRIBUTE_UNUSED)
int from;
int to ATTRIBUTE_UNUSED;
{ {
int offset; int offset;
...@@ -2193,8 +2129,7 @@ iq2000_initial_elimination_offset (from, to) ...@@ -2193,8 +2129,7 @@ iq2000_initial_elimination_offset (from, to)
OFFSET is too large to add in a single instruction. */ OFFSET is too large to add in a single instruction. */
static rtx static rtx
iq2000_add_large_offset_to_sp (offset) iq2000_add_large_offset_to_sp (HOST_WIDE_INT offset)
HOST_WIDE_INT offset;
{ {
rtx reg = gen_rtx_REG (Pmode, IQ2000_TEMP2_REGNUM); rtx reg = gen_rtx_REG (Pmode, IQ2000_TEMP2_REGNUM);
rtx offset_rtx = GEN_INT (offset); rtx offset_rtx = GEN_INT (offset);
...@@ -2208,8 +2143,7 @@ iq2000_add_large_offset_to_sp (offset) ...@@ -2208,8 +2143,7 @@ iq2000_add_large_offset_to_sp (offset)
operation DWARF_PATTERN. */ operation DWARF_PATTERN. */
static void static void
iq2000_annotate_frame_insn (insn, dwarf_pattern) iq2000_annotate_frame_insn (rtx insn, rtx dwarf_pattern)
rtx insn, dwarf_pattern;
{ {
RTX_FRAME_RELATED_P (insn) = 1; RTX_FRAME_RELATED_P (insn) = 1;
REG_NOTES (insn) = alloc_EXPR_LIST (REG_FRAME_RELATED_EXPR, REG_NOTES (insn) = alloc_EXPR_LIST (REG_FRAME_RELATED_EXPR,
...@@ -2221,10 +2155,7 @@ iq2000_annotate_frame_insn (insn, dwarf_pattern) ...@@ -2221,10 +2155,7 @@ iq2000_annotate_frame_insn (insn, dwarf_pattern)
frame related and note that it stores REG at (SP + OFFSET). */ frame related and note that it stores REG at (SP + OFFSET). */
static void static void
iq2000_emit_frame_related_store (mem, reg, offset) iq2000_emit_frame_related_store (rtx mem, rtx reg, HOST_WIDE_INT offset)
rtx mem;
rtx reg;
HOST_WIDE_INT offset;
{ {
rtx dwarf_address = plus_constant (stack_pointer_rtx, offset); rtx dwarf_address = plus_constant (stack_pointer_rtx, offset);
rtx dwarf_mem = gen_rtx_MEM (GET_MODE (reg), dwarf_address); rtx dwarf_mem = gen_rtx_MEM (GET_MODE (reg), dwarf_address);
...@@ -2234,8 +2165,7 @@ iq2000_emit_frame_related_store (mem, reg, offset) ...@@ -2234,8 +2165,7 @@ iq2000_emit_frame_related_store (mem, reg, offset)
} }
static void static void
save_restore_insns (store_p) save_restore_insns (int store_p)
int store_p; /* true if this is prologue */
{ {
long mask = cfun->machine->frame.mask; long mask = cfun->machine->frame.mask;
int regno; int regno;
...@@ -2317,7 +2247,7 @@ save_restore_insns (store_p) ...@@ -2317,7 +2247,7 @@ save_restore_insns (store_p)
/* Expand the prologue into a bunch of separate insns. */ /* Expand the prologue into a bunch of separate insns. */
void void
iq2000_expand_prologue () iq2000_expand_prologue (void)
{ {
int regno; int regno;
HOST_WIDE_INT tsize; HOST_WIDE_INT tsize;
...@@ -2506,7 +2436,7 @@ iq2000_expand_prologue () ...@@ -2506,7 +2436,7 @@ iq2000_expand_prologue ()
/* Expand the epilogue into a bunch of separate insns. */ /* Expand the epilogue into a bunch of separate insns. */
void void
iq2000_expand_epilogue () iq2000_expand_epilogue (void)
{ {
HOST_WIDE_INT tsize = cfun->machine->frame.total_size; HOST_WIDE_INT tsize = cfun->machine->frame.total_size;
rtx tsize_rtx = GEN_INT (tsize); rtx tsize_rtx = GEN_INT (tsize);
...@@ -2567,8 +2497,7 @@ iq2000_expand_epilogue () ...@@ -2567,8 +2497,7 @@ iq2000_expand_epilogue ()
} }
void void
iq2000_expand_eh_return (address) iq2000_expand_eh_return (rtx address)
rtx address;
{ {
HOST_WIDE_INT gp_offset = cfun->machine->frame.gp_sp_offset; HOST_WIDE_INT gp_offset = cfun->machine->frame.gp_sp_offset;
rtx scratch; rtx scratch;
...@@ -2582,7 +2511,7 @@ iq2000_expand_eh_return (address) ...@@ -2582,7 +2511,7 @@ iq2000_expand_eh_return (address)
was created. */ was created. */
int int
iq2000_can_use_return_insn () iq2000_can_use_return_insn (void)
{ {
if (! reload_completed) if (! reload_completed)
return 0; return 0;
...@@ -2599,8 +2528,7 @@ iq2000_can_use_return_insn () ...@@ -2599,8 +2528,7 @@ iq2000_can_use_return_insn ()
/* Returns non-zero if X contains a SYMBOL_REF. */ /* Returns non-zero if X contains a SYMBOL_REF. */
static int static int
symbolic_expression_p (x) symbolic_expression_p (rtx x)
rtx x;
{ {
if (GET_CODE (x) == SYMBOL_REF) if (GET_CODE (x) == SYMBOL_REF)
return 1; return 1;
...@@ -2623,10 +2551,8 @@ symbolic_expression_p (x) ...@@ -2623,10 +2551,8 @@ symbolic_expression_p (x)
mode MODE. */ mode MODE. */
static void static void
iq2000_select_rtx_section (mode, x, align) iq2000_select_rtx_section (enum machine_mode mode, rtx x ATTRIBUTE_UNUSED,
enum machine_mode mode; unsigned HOST_WIDE_INT align)
rtx x ATTRIBUTE_UNUSED;
unsigned HOST_WIDE_INT align;
{ {
/* For embedded applications, always put constants in read-only data, /* For embedded applications, always put constants in read-only data,
in order to reduce RAM usage. */ in order to reduce RAM usage. */
...@@ -2643,10 +2569,8 @@ iq2000_select_rtx_section (mode, x, align) ...@@ -2643,10 +2569,8 @@ iq2000_select_rtx_section (mode, x, align)
are done correctly. */ are done correctly. */
static void static void
iq2000_select_section (decl, reloc, align) iq2000_select_section (tree decl, int reloc ATTRIBUTE_UNUSED,
tree decl; unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED)
int reloc ATTRIBUTE_UNUSED;
unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED;
{ {
if (TARGET_EMBEDDED_DATA) if (TARGET_EMBEDDED_DATA)
{ {
...@@ -2689,9 +2613,7 @@ iq2000_select_section (decl, reloc, align) ...@@ -2689,9 +2613,7 @@ iq2000_select_section (decl, reloc, align)
FUNC. */ FUNC. */
rtx rtx
iq2000_function_value (valtype, func) iq2000_function_value (tree valtype, tree func ATTRIBUTE_UNUSED)
tree valtype;
tree func ATTRIBUTE_UNUSED;
{ {
int reg = GP_RETURN; int reg = GP_RETURN;
enum machine_mode mode = TYPE_MODE (valtype); enum machine_mode mode = TYPE_MODE (valtype);
...@@ -2708,11 +2630,9 @@ iq2000_function_value (valtype, func) ...@@ -2708,11 +2630,9 @@ iq2000_function_value (valtype, func)
nonzero when an argument must be passed by reference. */ nonzero when an argument must be passed by reference. */
int int
function_arg_pass_by_reference (cum, mode, type, named) function_arg_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED; enum machine_mode mode, tree type,
enum machine_mode mode; int named ATTRIBUTE_UNUSED)
tree type;
int named ATTRIBUTE_UNUSED;
{ {
int size; int size;
...@@ -2742,9 +2662,7 @@ function_arg_pass_by_reference (cum, mode, type, named) ...@@ -2742,9 +2662,7 @@ function_arg_pass_by_reference (cum, mode, type, named)
attributes in the machine-description file. */ attributes in the machine-description file. */
int int
iq2000_adjust_insn_length (insn, length) iq2000_adjust_insn_length (rtx insn, int length)
rtx insn;
int length;
{ {
/* A unconditional jump has an unfilled delay slot if it is not part /* A unconditional jump has an unfilled delay slot if it is not part
of a sequence. A conditional jump normally has a delay slot */ of a sequence. A conditional jump normally has a delay slot */
...@@ -2772,18 +2690,8 @@ iq2000_adjust_insn_length (insn, length) ...@@ -2772,18 +2690,8 @@ iq2000_adjust_insn_length (insn, length)
reversed conditional branch around a `jr' instruction. */ reversed conditional branch around a `jr' instruction. */
char * char *
iq2000_output_conditional_branch (insn, iq2000_output_conditional_branch (rtx insn, rtx *operands, int two_operands_p,
operands, int float_p, int inverted_p, int length)
two_operands_p,
float_p,
inverted_p,
length)
rtx insn;
rtx *operands;
int two_operands_p;
int float_p;
int inverted_p;
int length;
{ {
static char buffer[200]; static char buffer[200];
/* The kind of comparison we are doing. */ /* The kind of comparison we are doing. */
...@@ -2936,8 +2844,7 @@ iq2000_output_conditional_branch (insn, ...@@ -2936,8 +2844,7 @@ iq2000_output_conditional_branch (insn,
} }
static enum processor_type static enum processor_type
iq2000_parse_cpu (cpu_string) iq2000_parse_cpu (const char *cpu_string)
const char *cpu_string;
{ {
const char *p = cpu_string; const char *p = cpu_string;
enum processor_type cpu; enum processor_type cpu;
...@@ -2962,7 +2869,7 @@ iq2000_parse_cpu (cpu_string) ...@@ -2962,7 +2869,7 @@ iq2000_parse_cpu (cpu_string)
builtin_function ((NAME), (TYPE), (CODE), BUILT_IN_MD, NULL, NULL_TREE) builtin_function ((NAME), (TYPE), (CODE), BUILT_IN_MD, NULL, NULL_TREE)
void void
iq2000_init_builtins () iq2000_init_builtins (void)
{ {
tree endlink = void_list_node; tree endlink = void_list_node;
tree void_ftype, void_ftype_int, void_ftype_int_int; tree void_ftype, void_ftype_int, void_ftype_int_int;
...@@ -3095,12 +3002,8 @@ void_ftype_int_int_int ...@@ -3095,12 +3002,8 @@ void_ftype_int_int_int
has an rtx CODE */ has an rtx CODE */
static rtx static rtx
expand_one_builtin (icode, target, arglist, code, argcount) expand_one_builtin (enum insn_code icode, rtx target, tree arglist,
enum insn_code icode; enum rtx_code *code, int argcount)
rtx target;
tree arglist;
enum rtx_code *code;
int argcount;
{ {
rtx pat; rtx pat;
tree arg [5]; tree arg [5];
...@@ -3177,12 +3080,9 @@ expand_one_builtin (icode, target, arglist, code, argcount) ...@@ -3177,12 +3080,9 @@ expand_one_builtin (icode, target, arglist, code, argcount)
IGNORE is nonzero if the value is to be ignored. */ IGNORE is nonzero if the value is to be ignored. */
rtx rtx
iq2000_expand_builtin (exp, target, subtarget, mode, ignore) iq2000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
tree exp; enum machine_mode mode ATTRIBUTE_UNUSED,
rtx target; int ignore ATTRIBUTE_UNUSED)
rtx subtarget ATTRIBUTE_UNUSED;
enum machine_mode mode ATTRIBUTE_UNUSED;
int ignore ATTRIBUTE_UNUSED;
{ {
tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0);
tree arglist = TREE_OPERAND (exp, 1); tree arglist = TREE_OPERAND (exp, 1);
...@@ -3362,12 +3262,9 @@ iq2000_expand_builtin (exp, target, subtarget, mode, ignore) ...@@ -3362,12 +3262,9 @@ iq2000_expand_builtin (exp, target, subtarget, mode, ignore)
} }
void void
iq2000_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) iq2000_setup_incoming_varargs (CUMULATIVE_ARGS cum, int mode ATTRIBUTE_UNUSED,
CUMULATIVE_ARGS cum; tree type ATTRIBUTE_UNUSED, int *pretend_size,
int mode ATTRIBUTE_UNUSED; int no_rtl)
tree type ATTRIBUTE_UNUSED;
int * pretend_size;
int no_rtl;
{ {
unsigned int iq2000_off = (! (cum).last_arg_fp); unsigned int iq2000_off = (! (cum).last_arg_fp);
unsigned int iq2000_fp_off = ((cum).last_arg_fp); unsigned int iq2000_fp_off = ((cum).last_arg_fp);
...@@ -3410,9 +3307,7 @@ iq2000_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) ...@@ -3410,9 +3307,7 @@ iq2000_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
*/ */
void void
print_operand_address (file, addr) print_operand_address (FILE *file, rtx addr)
FILE *file;
rtx addr;
{ {
if (!addr) if (!addr)
error ("PRINT_OPERAND_ADDRESS, null pointer"); error ("PRINT_OPERAND_ADDRESS, null pointer");
...@@ -3541,10 +3436,7 @@ print_operand_address (file, addr) ...@@ -3541,10 +3436,7 @@ print_operand_address (file, addr)
'+' Print the name of the gp register (gp or $28). */ '+' Print the name of the gp register (gp or $28). */
void void
print_operand (file, op, letter) print_operand (FILE *file, rtx op, int letter)
FILE *file; /* file to write to */
rtx op; /* operand to print */
int letter; /* %<letter> or 0 */
{ {
register enum rtx_code code; register enum rtx_code code;
......
...@@ -1153,9 +1153,9 @@ extern struct rtx_def *iq2000_load_reg3; /* 3rd reg to check for load delay */ ...@@ -1153,9 +1153,9 @@ extern struct rtx_def *iq2000_load_reg3; /* 3rd reg to check for load delay */
extern struct rtx_def *iq2000_load_reg4; /* 4th reg to check for load delay */ extern struct rtx_def *iq2000_load_reg4; /* 4th reg to check for load delay */
/* Functions to change what output section we are using. */ /* Functions to change what output section we are using. */
extern void rdata_section PARAMS ((void)); extern void rdata_section (void);
extern void sdata_section PARAMS ((void)); extern void sdata_section (void);
extern void sbss_section PARAMS ((void)); extern void sbss_section (void);
#define BITMASK_UPPER16 ((unsigned long)0xffff << 16) /* 0xffff0000 */ #define BITMASK_UPPER16 ((unsigned long)0xffff << 16) /* 0xffff0000 */
#define BITMASK_LOWER16 ((unsigned long)0xffff) /* 0x0000ffff */ #define BITMASK_LOWER16 ((unsigned long)0xffff) /* 0x0000ffff */
......
;; iq2000.md Machine Description for Vitesse IQ2000 processors ;; iq2000.md Machine Description for Vitesse IQ2000 processors
;; Copyright (C) 2003 Free Software Foundation, Inc. ;; Copyright (C) 2003 Free Software Foundation, Inc.
;; This file is part of GNU CC. ;; This file is part of GCC.
;; GNU CC is free software; you can redistribute it and/or modify ;; GCC is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option) ;; the Free Software Foundation; either version 2, or (at your option)
;; any later version. ;; any later version.
;; GNU CC is distributed in the hope that it will be useful, ;; GCC is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU CC; see the file COPYING. If not, write to ;; along with GCC; see the file COPYING. If not, write to
;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; the Free Software Foundation, 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA. ;; Boston, MA 02111-1307, USA.
......
/* Definitions for ELF assembler support. /* Definitions for ELF assembler support.
Copyright (C) 1999 Free Software Foundation, Inc. Copyright (C) 1999, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Subroutine for function pointer canonicalization on PA-RISC with ELF32. /* Subroutine for function pointer canonicalization on PA-RISC with ELF32.
Copyright 2002 Free Software Foundation, Inc. Copyright 2002, 2003 Free Software Foundation, Inc.
Contributed by John David Anglin (dave.anglin@nrc.ca). Contributed by John David Anglin (dave.anglin@nrc.ca).
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
; Subroutines for out of line prologues and epilogues on for the HPPA ; Subroutines for out of line prologues and epilogues on for the HPPA
; Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. ; Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
; This file is part of GNU CC. ; This file is part of GCC.
; GNU CC is free software; you can redistribute it and/or modify ; GCC is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by ; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2, or (at your option) ; the Free Software Foundation; either version 2, or (at your option)
; any later version. ; any later version.
; GNU CC is distributed in the hope that it will be useful, ; GCC is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of ; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details. ; GNU General Public License for more details.
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
; executable.) ; executable.)
; You should have received a copy of the GNU General Public License ; You should have received a copy of the GNU General Public License
; along with GNU CC; see the file COPYING. If not, write to ; along with GCC; see the file COPYING. If not, write to
; the Free Software Foundation, 59 Temple Place - Suite 330, ; the Free Software Foundation, 59 Temple Place - Suite 330,
; Boston, MA 02111-1307, USA. ; Boston, MA 02111-1307, USA.
......
/* Definitions of long double support for GNU compiler. /* Definitions of long double support for GNU compiler.
Copyright (C) 2000, 2002 Free Software Foundation, Inc. Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
adapted for gcc by Paul Bame <bame@debian.org> adapted for gcc by Paul Bame <bame@debian.org>
and Alan Modra <alan@linuxcare.com.au>. and Alan Modra <alan@linuxcare.com.au>.
Copyright 2001, 2002 Free Software Foundation, Inc. Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC and is released under the terms of This file is part of GCC and is released under the terms of
of the GNU General Public License as published by the Free Software of the GNU General Public License as published by the Free Software
Foundation; either version 2, or (at your option) any later version. Foundation; either version 2, or (at your option) any later version.
See the file COPYING in the top-level GNU CC source directory for a copy See the file COPYING in the top-level GCC source directory for a copy
of the license. */ of the license. */
......
/* Definitions of target machine for GNU compiler, for HPs using the /* Definitions of target machine for GNU compiler, for HPs using the
64bit runtime model. 64bit runtime model.
Copyright (C) 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions of target machine for GNU compiler, for HP-UX. /* Definitions of target machine for GNU compiler, for HP-UX.
Copyright (C) 1991, 1995, 1996, 2002 Free Software Foundation, Inc. Copyright (C) 1991, 1995, 1996, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions of target machine for GNU compiler, for HP PA-RISC /* Definitions of target machine for GNU compiler, for HP PA-RISC
Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002 Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Tim Moore (moore@defmacro.cs.utah.edu) Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions of target machine for GNU compiler, for HP PA-RISC /* Definitions of target machine for GNU compiler, for HP PA-RISC
Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions for PA_RISC with ELF format /* Definitions for PA_RISC with ELF format
Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions of target machine for GNU compiler, for the HP Spectrum. /* Definitions of target machine for GNU compiler, for the HP Spectrum.
Copyright (C) 2002 Free Software Foundation, Inc. Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
Software Science at the University of Utah. Software Science at the University of Utah.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1 /* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1
Copyright (C) 1991, 1995, 1996, 2002 Free Software Foundation, Inc. Copyright (C) 1991, 1995, 1996, 2002, 2003 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@defmacro.cs.utah.edu) Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions of target machine for GNU compiler, for PRO. /* Definitions of target machine for GNU compiler, for PRO.
Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Prototypes for pa.c functions used in the md file & elsewhere. /* Prototypes for pa.c functions used in the md file & elsewhere.
Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#ifdef RTX_CODE #ifdef RTX_CODE
/* Prototype function used in various macros. */ /* Prototype function used in various macros. */
extern int symbolic_operand PARAMS ((rtx, enum machine_mode)); extern int symbolic_operand (rtx, enum machine_mode);
/* Used in insn-*.c. */ /* Used in insn-*.c. */
extern int following_call PARAMS ((rtx)); extern int following_call (rtx);
extern int function_label_operand PARAMS ((rtx, enum machine_mode)); extern int function_label_operand (rtx, enum machine_mode);
extern int lhs_lshift_cint_operand PARAMS ((rtx, enum machine_mode)); extern int lhs_lshift_cint_operand (rtx, enum machine_mode);
#ifdef TREE_CODE #ifdef TREE_CODE
extern void hppa_va_start PARAMS ((tree, rtx)); extern void hppa_va_start (tree, rtx);
extern rtx hppa_va_arg PARAMS ((tree, tree)); extern rtx hppa_va_arg (tree, tree);
#endif /* TREE_CODE */ #endif /* TREE_CODE */
extern rtx hppa_legitimize_address PARAMS ((rtx, rtx, enum machine_mode)); extern rtx hppa_legitimize_address (rtx, rtx, enum machine_mode);
/* Define functions in pa.c and used in insn-output.c. */ /* Define functions in pa.c and used in insn-output.c. */
extern const char *output_and PARAMS ((rtx *)); extern const char *output_and (rtx *);
extern const char *output_ior PARAMS ((rtx *)); extern const char *output_ior (rtx *);
extern const char *output_move_double PARAMS ((rtx *)); extern const char *output_move_double (rtx *);
extern const char *output_fp_move_double PARAMS ((rtx *)); extern const char *output_fp_move_double (rtx *);
extern const char *output_block_move PARAMS ((rtx *, int)); extern const char *output_block_move (rtx *, int);
extern const char *output_cbranch PARAMS ((rtx *, int, int, int, rtx)); extern const char *output_cbranch (rtx *, int, int, int, rtx);
extern const char *output_lbranch PARAMS ((rtx, rtx)); extern const char *output_lbranch (rtx, rtx);
extern const char *output_bb PARAMS ((rtx *, int, int, int, rtx, int)); extern const char *output_bb (rtx *, int, int, int, rtx, int);
extern const char *output_bvb PARAMS ((rtx *, int, int, int, rtx, int)); extern const char *output_bvb (rtx *, int, int, int, rtx, int);
extern const char *output_dbra PARAMS ((rtx *, rtx, int)); extern const char *output_dbra (rtx *, rtx, int);
extern const char *output_movb PARAMS ((rtx *, rtx, int, int)); extern const char *output_movb (rtx *, rtx, int, int);
extern const char *output_parallel_movb PARAMS ((rtx *, int)); extern const char *output_parallel_movb (rtx *, int);
extern const char *output_parallel_addb PARAMS ((rtx *, int)); extern const char *output_parallel_addb (rtx *, int);
extern const char *output_call PARAMS ((rtx, rtx, int)); extern const char *output_call (rtx, rtx, int);
extern const char *output_indirect_call PARAMS ((rtx, rtx)); extern const char *output_indirect_call (rtx, rtx);
extern const char *output_millicode_call PARAMS ((rtx, rtx)); extern const char *output_millicode_call (rtx, rtx);
extern const char *output_mul_insn PARAMS ((int, rtx)); extern const char *output_mul_insn (int, rtx);
extern const char *output_div_insn PARAMS ((rtx *, int, rtx)); extern const char *output_div_insn (rtx *, int, rtx);
extern const char *output_mod_insn PARAMS ((int, rtx)); extern const char *output_mod_insn (int, rtx);
extern const char *singlemove_string PARAMS ((rtx *)); extern const char *singlemove_string (rtx *);
extern void output_arg_descriptor PARAMS ((rtx)); extern void output_arg_descriptor (rtx);
extern void output_global_address PARAMS ((FILE *, rtx, int)); extern void output_global_address (FILE *, rtx, int);
extern void print_operand PARAMS ((FILE *, rtx, int)); extern void print_operand (FILE *, rtx, int);
extern rtx legitimize_pic_address PARAMS ((rtx, enum machine_mode, rtx)); extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx);
extern struct rtx_def *gen_cmp_fp PARAMS ((enum rtx_code, rtx, rtx)); extern struct rtx_def *gen_cmp_fp (enum rtx_code, rtx, rtx);
extern void hppa_encode_label PARAMS ((rtx)); extern void hppa_encode_label (rtx);
extern int arith11_operand PARAMS ((rtx, enum machine_mode)); extern int arith11_operand (rtx, enum machine_mode);
extern int adddi3_operand PARAMS ((rtx, enum machine_mode)); extern int adddi3_operand (rtx, enum machine_mode);
extern int symbolic_expression_p PARAMS ((rtx)); extern int symbolic_expression_p (rtx);
extern int symbolic_memory_operand PARAMS ((rtx, enum machine_mode)); extern int symbolic_memory_operand (rtx, enum machine_mode);
extern int pa_adjust_insn_length PARAMS ((rtx, int)); extern int pa_adjust_insn_length (rtx, int);
extern int int11_operand PARAMS ((rtx, enum machine_mode)); extern int int11_operand (rtx, enum machine_mode);
extern int reg_or_cint_move_operand PARAMS ((rtx, enum machine_mode)); extern int reg_or_cint_move_operand (rtx, enum machine_mode);
extern int arith5_operand PARAMS ((rtx, enum machine_mode)); extern int arith5_operand (rtx, enum machine_mode);
extern int uint5_operand PARAMS ((rtx, enum machine_mode)); extern int uint5_operand (rtx, enum machine_mode);
extern int pic_label_operand PARAMS ((rtx, enum machine_mode)); extern int pic_label_operand (rtx, enum machine_mode);
extern int plus_xor_ior_operator PARAMS ((rtx, enum machine_mode)); extern int plus_xor_ior_operator (rtx, enum machine_mode);
extern int basereg_operand PARAMS ((rtx, enum machine_mode)); extern int basereg_operand (rtx, enum machine_mode);
extern int shadd_operand PARAMS ((rtx, enum machine_mode)); extern int shadd_operand (rtx, enum machine_mode);
extern int arith_operand PARAMS ((rtx, enum machine_mode)); extern int arith_operand (rtx, enum machine_mode);
extern int read_only_operand PARAMS ((rtx, enum machine_mode)); extern int read_only_operand (rtx, enum machine_mode);
extern int move_operand PARAMS ((rtx, enum machine_mode)); extern int move_operand (rtx, enum machine_mode);
extern int and_operand PARAMS ((rtx, enum machine_mode)); extern int and_operand (rtx, enum machine_mode);
extern int ior_operand PARAMS ((rtx, enum machine_mode)); extern int ior_operand (rtx, enum machine_mode);
extern int arith32_operand PARAMS ((rtx, enum machine_mode)); extern int arith32_operand (rtx, enum machine_mode);
extern int uint32_operand PARAMS ((rtx, enum machine_mode)); extern int uint32_operand (rtx, enum machine_mode);
extern int reg_or_nonsymb_mem_operand PARAMS ((rtx, enum machine_mode)); extern int reg_or_nonsymb_mem_operand (rtx, enum machine_mode);
extern int reg_before_reload_operand PARAMS ((rtx, enum machine_mode)); extern int reg_before_reload_operand (rtx, enum machine_mode);
extern int reg_or_0_operand PARAMS ((rtx, enum machine_mode)); extern int reg_or_0_operand (rtx, enum machine_mode);
extern int reg_or_0_or_nonsymb_mem_operand PARAMS ((rtx, enum machine_mode)); extern int reg_or_0_or_nonsymb_mem_operand (rtx, enum machine_mode);
extern int pre_cint_operand PARAMS ((rtx, enum machine_mode)); extern int pre_cint_operand (rtx, enum machine_mode);
extern int post_cint_operand PARAMS ((rtx, enum machine_mode)); extern int post_cint_operand (rtx, enum machine_mode);
extern int div_operand PARAMS ((rtx, enum machine_mode)); extern int div_operand (rtx, enum machine_mode);
extern int int5_operand PARAMS ((rtx, enum machine_mode)); extern int int5_operand (rtx, enum machine_mode);
extern int movb_comparison_operator PARAMS ((rtx, enum machine_mode)); extern int movb_comparison_operator (rtx, enum machine_mode);
extern int ireg_or_int5_operand PARAMS ((rtx, enum machine_mode)); extern int ireg_or_int5_operand (rtx, enum machine_mode);
extern int fmpyaddoperands PARAMS ((rtx *)); extern int fmpyaddoperands (rtx *);
extern int fmpysuboperands PARAMS ((rtx *)); extern int fmpysuboperands (rtx *);
extern int call_operand_address PARAMS ((rtx, enum machine_mode)); extern int call_operand_address (rtx, enum machine_mode);
extern int ior_operand PARAMS ((rtx, enum machine_mode)); extern int ior_operand (rtx, enum machine_mode);
extern void emit_bcond_fp PARAMS ((enum rtx_code, rtx)); extern void emit_bcond_fp (enum rtx_code, rtx);
extern int emit_move_sequence PARAMS ((rtx *, enum machine_mode, rtx)); extern int emit_move_sequence (rtx *, enum machine_mode, rtx);
extern int emit_hpdiv_const PARAMS ((rtx *, int)); extern int emit_hpdiv_const (rtx *, int);
extern int is_function_label_plus_const PARAMS ((rtx)); extern int is_function_label_plus_const (rtx);
extern int jump_in_call_delay PARAMS ((rtx)); extern int jump_in_call_delay (rtx);
extern enum reg_class secondary_reload_class PARAMS ((enum reg_class, extern enum reg_class secondary_reload_class (enum reg_class,
enum machine_mode, rtx)); enum machine_mode, rtx);
extern int hppa_fpstore_bypass_p PARAMS ((rtx, rtx)); extern int hppa_fpstore_bypass_p (rtx, rtx);
extern int attr_length_millicode_call PARAMS ((rtx)); extern int attr_length_millicode_call (rtx);
extern int attr_length_call PARAMS ((rtx, int)); extern int attr_length_call (rtx, int);
extern int attr_length_indirect_call PARAMS ((rtx)); extern int attr_length_indirect_call (rtx);
extern int attr_length_save_restore_dltp PARAMS ((rtx)); extern int attr_length_save_restore_dltp (rtx);
/* Declare functions defined in pa.c and used in templates. */ /* Declare functions defined in pa.c and used in templates. */
extern struct rtx_def *return_addr_rtx PARAMS ((int, rtx)); extern struct rtx_def *return_addr_rtx (int, rtx);
extern int fp_reg_operand PARAMS ((rtx, enum machine_mode)); extern int fp_reg_operand (rtx, enum machine_mode);
extern int arith_double_operand PARAMS ((rtx, enum machine_mode)); extern int arith_double_operand (rtx, enum machine_mode);
extern int ireg_operand PARAMS ((rtx, enum machine_mode)); extern int ireg_operand (rtx, enum machine_mode);
extern int lhs_lshift_operand PARAMS ((rtx, enum machine_mode)); extern int lhs_lshift_operand (rtx, enum machine_mode);
extern int pc_or_label_operand PARAMS ((rtx, enum machine_mode)); extern int pc_or_label_operand (rtx, enum machine_mode);
#ifdef ARGS_SIZE_RTX #ifdef ARGS_SIZE_RTX
/* expr.h defines ARGS_SIZE_RTX and `enum direction' */ /* expr.h defines ARGS_SIZE_RTX and `enum direction' */
#ifdef TREE_CODE #ifdef TREE_CODE
extern enum direction function_arg_padding PARAMS ((enum machine_mode, tree)); extern enum direction function_arg_padding (enum machine_mode, tree);
#endif #endif
#endif /* ARGS_SIZE_RTX */ #endif /* ARGS_SIZE_RTX */
extern int non_hard_reg_operand PARAMS ((rtx, enum machine_mode)); extern int non_hard_reg_operand (rtx, enum machine_mode);
extern int eq_neq_comparison_operator PARAMS ((rtx, enum machine_mode)); extern int eq_neq_comparison_operator (rtx, enum machine_mode);
extern int insn_refs_are_delayed PARAMS ((rtx)); extern int insn_refs_are_delayed (rtx);
#endif /* RTX_CODE */ #endif /* RTX_CODE */
/* Prototype function used in macro CONST_OK_FOR_LETTER_P. */ /* Prototype function used in macro CONST_OK_FOR_LETTER_P. */
extern int zdepi_cint_p PARAMS ((unsigned HOST_WIDE_INT)); extern int zdepi_cint_p (unsigned HOST_WIDE_INT);
extern struct rtx_def *hppa_builtin_saveregs PARAMS ((void)); extern struct rtx_def *hppa_builtin_saveregs (void);
extern void override_options PARAMS ((void)); extern void override_options (void);
extern void output_ascii PARAMS ((FILE *, const char *, int)); extern void output_ascii (FILE *, const char *, int);
extern int compute_frame_size PARAMS ((int, int *)); extern int compute_frame_size (int, int *);
extern int and_mask_p PARAMS ((unsigned HOST_WIDE_INT)); extern int and_mask_p (unsigned HOST_WIDE_INT);
extern int cint_ok_for_move PARAMS ((HOST_WIDE_INT)); extern int cint_ok_for_move (HOST_WIDE_INT);
extern void hppa_expand_prologue PARAMS ((void)); extern void hppa_expand_prologue (void);
extern void hppa_expand_epilogue PARAMS ((void)); extern void hppa_expand_epilogue (void);
extern int hppa_can_use_return_insn_p PARAMS ((void)); extern int hppa_can_use_return_insn_p (void);
extern int ior_mask_p PARAMS ((unsigned HOST_WIDE_INT)); extern int ior_mask_p (unsigned HOST_WIDE_INT);
extern void compute_zdepdi_operands PARAMS ((unsigned HOST_WIDE_INT, extern void compute_zdepdi_operands (unsigned HOST_WIDE_INT,
unsigned *)); unsigned *);
#ifdef RTX_CODE #ifdef RTX_CODE
extern const char * output_64bit_and PARAMS ((rtx *)); extern const char * output_64bit_and (rtx *);
extern const char * output_64bit_ior PARAMS ((rtx *)); extern const char * output_64bit_ior (rtx *);
extern int cmpib_comparison_operator PARAMS ((rtx, enum machine_mode)); extern int cmpib_comparison_operator (rtx, enum machine_mode);
#endif #endif
#ifdef TREE_CODE #ifdef TREE_CODE
extern int reloc_needed PARAMS ((tree)); extern int reloc_needed (tree);
#ifdef RTX_CODE #ifdef RTX_CODE
extern rtx function_arg PARAMS ((CUMULATIVE_ARGS *, enum machine_mode, extern rtx function_arg (CUMULATIVE_ARGS *, enum machine_mode,
tree, int)); tree, int);
extern rtx function_value PARAMS ((tree, tree)); extern rtx function_value (tree, tree);
#endif #endif
extern int function_arg_partial_nregs PARAMS ((CUMULATIVE_ARGS *, extern int function_arg_partial_nregs (CUMULATIVE_ARGS *,
enum machine_mode, enum machine_mode,
tree, int)); tree, int);
#endif /* TREE_CODE */ #endif /* TREE_CODE */
...@@ -3,20 +3,20 @@ ...@@ -3,20 +3,20 @@
2002, 2003 Free Software Foundation, Inc. 2002, 2003 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
...@@ -50,13 +50,13 @@ Boston, MA 02111-1307, USA. */ ...@@ -50,13 +50,13 @@ Boston, MA 02111-1307, USA. */
#include "target.h" #include "target.h"
#include "target-def.h" #include "target-def.h"
static int hppa_use_dfa_pipeline_interface PARAMS ((void)); static int hppa_use_dfa_pipeline_interface (void);
#undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE #undef TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE
#define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE hppa_use_dfa_pipeline_interface #define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE hppa_use_dfa_pipeline_interface
static int static int
hppa_use_dfa_pipeline_interface () hppa_use_dfa_pipeline_interface (void)
{ {
return 1; return 1;
} }
...@@ -64,8 +64,7 @@ hppa_use_dfa_pipeline_interface () ...@@ -64,8 +64,7 @@ hppa_use_dfa_pipeline_interface ()
/* Return nonzero if there is a bypass for the output of /* Return nonzero if there is a bypass for the output of
OUT_INSN and the fp store IN_INSN. */ OUT_INSN and the fp store IN_INSN. */
int int
hppa_fpstore_bypass_p (out_insn, in_insn) hppa_fpstore_bypass_p (rtx out_insn, rtx in_insn)
rtx out_insn, in_insn;
{ {
enum machine_mode store_mode; enum machine_mode store_mode;
enum machine_mode other_mode; enum machine_mode other_mode;
...@@ -96,56 +95,56 @@ hppa_fpstore_bypass_p (out_insn, in_insn) ...@@ -96,56 +95,56 @@ hppa_fpstore_bypass_p (out_insn, in_insn)
#endif #endif
#endif #endif
static int hppa_address_cost PARAMS ((rtx)); static int hppa_address_cost (rtx);
static bool hppa_rtx_costs PARAMS ((rtx, int, int, int *)); static bool hppa_rtx_costs (rtx, int, int, int *);
static inline rtx force_mode PARAMS ((enum machine_mode, rtx)); static inline rtx force_mode (enum machine_mode, rtx);
static void pa_reorg PARAMS ((void)); static void pa_reorg (void);
static void pa_combine_instructions PARAMS ((void)); static void pa_combine_instructions (void);
static int pa_can_combine_p PARAMS ((rtx, rtx, rtx, int, rtx, rtx, rtx)); static int pa_can_combine_p (rtx, rtx, rtx, int, rtx, rtx, rtx);
static int forward_branch_p PARAMS ((rtx)); static int forward_branch_p (rtx);
static int shadd_constant_p PARAMS ((int)); static int shadd_constant_p (int);
static void compute_zdepwi_operands PARAMS ((unsigned HOST_WIDE_INT, unsigned *)); static void compute_zdepwi_operands (unsigned HOST_WIDE_INT, unsigned *);
static int compute_movstrsi_length PARAMS ((rtx)); static int compute_movstrsi_length (rtx);
static bool pa_assemble_integer PARAMS ((rtx, unsigned int, int)); static bool pa_assemble_integer (rtx, unsigned int, int);
static void remove_useless_addtr_insns PARAMS ((int)); static void remove_useless_addtr_insns (int);
static void store_reg PARAMS ((int, int, int)); static void store_reg (int, int, int);
static void store_reg_modify PARAMS ((int, int, int)); static void store_reg_modify (int, int, int);
static void load_reg PARAMS ((int, int, int)); static void load_reg (int, int, int);
static void set_reg_plus_d PARAMS ((int, int, int, int)); static void set_reg_plus_d (int, int, int, int);
static void pa_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT)); static void pa_output_function_prologue (FILE *, HOST_WIDE_INT);
static void update_total_code_bytes PARAMS ((int)); static void update_total_code_bytes (int);
static void pa_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT)); static void pa_output_function_epilogue (FILE *, HOST_WIDE_INT);
static int pa_adjust_cost PARAMS ((rtx, rtx, rtx, int)); static int pa_adjust_cost (rtx, rtx, rtx, int);
static int pa_adjust_priority PARAMS ((rtx, int)); static int pa_adjust_priority (rtx, int);
static int pa_issue_rate PARAMS ((void)); static int pa_issue_rate (void);
static void pa_select_section PARAMS ((tree, int, unsigned HOST_WIDE_INT)) static void pa_select_section (tree, int, unsigned HOST_WIDE_INT)
ATTRIBUTE_UNUSED; ATTRIBUTE_UNUSED;
static void pa_encode_section_info PARAMS ((tree, rtx, int)); static void pa_encode_section_info (tree, rtx, int);
static const char *pa_strip_name_encoding PARAMS ((const char *)); static const char *pa_strip_name_encoding (const char *);
static bool pa_function_ok_for_sibcall PARAMS ((tree, tree)); static bool pa_function_ok_for_sibcall (tree, tree);
static void pa_globalize_label PARAMS ((FILE *, const char *)) static void pa_globalize_label (FILE *, const char *)
ATTRIBUTE_UNUSED; ATTRIBUTE_UNUSED;
static void pa_asm_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT, static void pa_asm_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
HOST_WIDE_INT, tree)); HOST_WIDE_INT, tree);
#if !defined(USE_COLLECT2) #if !defined(USE_COLLECT2)
static void pa_asm_out_constructor PARAMS ((rtx, int)); static void pa_asm_out_constructor (rtx, int);
static void pa_asm_out_destructor PARAMS ((rtx, int)); static void pa_asm_out_destructor (rtx, int);
#endif #endif
static void pa_init_builtins PARAMS ((void)); static void pa_init_builtins (void);
static void copy_fp_args PARAMS ((rtx)) ATTRIBUTE_UNUSED; static void copy_fp_args (rtx) ATTRIBUTE_UNUSED;
static int length_fp_args PARAMS ((rtx)) ATTRIBUTE_UNUSED; static int length_fp_args (rtx) ATTRIBUTE_UNUSED;
static struct deferred_plabel *get_plabel PARAMS ((const char *)) static struct deferred_plabel *get_plabel (const char *)
ATTRIBUTE_UNUSED; ATTRIBUTE_UNUSED;
static inline void pa_file_start_level PARAMS ((void)) ATTRIBUTE_UNUSED; static inline void pa_file_start_level (void) ATTRIBUTE_UNUSED;
static inline void pa_file_start_space PARAMS ((int)) ATTRIBUTE_UNUSED; static inline void pa_file_start_space (int) ATTRIBUTE_UNUSED;
static inline void pa_file_start_file PARAMS ((int)) ATTRIBUTE_UNUSED; static inline void pa_file_start_file (int) ATTRIBUTE_UNUSED;
static inline void pa_file_start_mcount PARAMS ((const char*)) ATTRIBUTE_UNUSED; static inline void pa_file_start_mcount (const char*) ATTRIBUTE_UNUSED;
static void pa_elf_file_start PARAMS ((void)) ATTRIBUTE_UNUSED; static void pa_elf_file_start (void) ATTRIBUTE_UNUSED;
static void pa_som_file_start PARAMS ((void)) ATTRIBUTE_UNUSED; static void pa_som_file_start (void) ATTRIBUTE_UNUSED;
static void pa_linux_file_start PARAMS ((void)) ATTRIBUTE_UNUSED; static void pa_linux_file_start (void) ATTRIBUTE_UNUSED;
static void pa_hpux64_gas_file_start PARAMS ((void)) ATTRIBUTE_UNUSED; static void pa_hpux64_gas_file_start (void) ATTRIBUTE_UNUSED;
static void pa_hpux64_hpas_file_start PARAMS ((void)) ATTRIBUTE_UNUSED; static void pa_hpux64_hpas_file_start (void) ATTRIBUTE_UNUSED;
static void output_deferred_plabels PARAMS ((void)); static void output_deferred_plabels (void);
/* Save the operands last given to a compare for use when we /* Save the operands last given to a compare for use when we
generate a scc or bcc insn. */ generate a scc or bcc insn. */
...@@ -168,7 +167,7 @@ const char *pa_arch_string; ...@@ -168,7 +167,7 @@ const char *pa_arch_string;
registers which were saved by the current function's prologue. */ registers which were saved by the current function's prologue. */
static int gr_saved, fr_saved; static int gr_saved, fr_saved;
static rtx find_addr_reg PARAMS ((rtx)); static rtx find_addr_reg (rtx);
/* Keep track of the number of bytes we have output in the CODE subspace /* Keep track of the number of bytes we have output in the CODE subspace
during this compilation so we'll know when to emit inline long-calls. */ during this compilation so we'll know when to emit inline long-calls. */
...@@ -257,7 +256,7 @@ static size_t n_deferred_plabels = 0; ...@@ -257,7 +256,7 @@ static size_t n_deferred_plabels = 0;
struct gcc_target targetm = TARGET_INITIALIZER; struct gcc_target targetm = TARGET_INITIALIZER;
void void
override_options () override_options (void)
{ {
if (pa_cpu_string == NULL) if (pa_cpu_string == NULL)
pa_cpu_string = TARGET_SCHED_DEFAULT; pa_cpu_string = TARGET_SCHED_DEFAULT;
...@@ -366,7 +365,7 @@ override_options () ...@@ -366,7 +365,7 @@ override_options ()
} }
static void static void
pa_init_builtins () pa_init_builtins (void)
{ {
#ifdef DONT_HAVE_FPUTC_UNLOCKED #ifdef DONT_HAVE_FPUTC_UNLOCKED
built_in_decls[(int) BUILT_IN_FPUTC_UNLOCKED] = NULL_TREE; built_in_decls[(int) BUILT_IN_FPUTC_UNLOCKED] = NULL_TREE;
...@@ -377,9 +376,7 @@ pa_init_builtins () ...@@ -377,9 +376,7 @@ pa_init_builtins ()
/* Return nonzero only if OP is a register of mode MODE, /* Return nonzero only if OP is a register of mode MODE,
or CONST0_RTX. */ or CONST0_RTX. */
int int
reg_or_0_operand (op, mode) reg_or_0_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (op == CONST0_RTX (mode) || register_operand (op, mode)); return (op == CONST0_RTX (mode) || register_operand (op, mode));
} }
...@@ -390,9 +387,7 @@ reg_or_0_operand (op, mode) ...@@ -390,9 +387,7 @@ reg_or_0_operand (op, mode)
For 2.5 try to eliminate either call_operand_address or For 2.5 try to eliminate either call_operand_address or
function_label_operand, they perform very similar functions. */ function_label_operand, they perform very similar functions. */
int int
call_operand_address (op, mode) call_operand_address (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_MODE (op) == word_mode return (GET_MODE (op) == word_mode
&& CONSTANT_P (op) && ! TARGET_PORTABLE_RUNTIME); && CONSTANT_P (op) && ! TARGET_PORTABLE_RUNTIME);
...@@ -402,8 +397,7 @@ call_operand_address (op, mode) ...@@ -402,8 +397,7 @@ call_operand_address (op, mode)
expressions will have one of a few well defined forms, so expressions will have one of a few well defined forms, so
we need only check those forms. */ we need only check those forms. */
int int
symbolic_expression_p (x) symbolic_expression_p (rtx x)
register rtx x;
{ {
/* Strip off any HIGH. */ /* Strip off any HIGH. */
...@@ -414,9 +408,7 @@ symbolic_expression_p (x) ...@@ -414,9 +408,7 @@ symbolic_expression_p (x)
} }
int int
symbolic_operand (op, mode) symbolic_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
register rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
switch (GET_CODE (op)) switch (GET_CODE (op))
{ {
...@@ -437,9 +429,7 @@ symbolic_operand (op, mode) ...@@ -437,9 +429,7 @@ symbolic_operand (op, mode)
operand of mode MODE. */ operand of mode MODE. */
int int
symbolic_memory_operand (op, mode) symbolic_memory_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) == SUBREG) if (GET_CODE (op) == SUBREG)
op = SUBREG_REG (op); op = SUBREG_REG (op);
...@@ -454,9 +444,7 @@ symbolic_memory_operand (op, mode) ...@@ -454,9 +444,7 @@ symbolic_memory_operand (op, mode)
not symbolic. */ not symbolic. */
int int
reg_or_nonsymb_mem_operand (op, mode) reg_or_nonsymb_mem_operand (rtx op, enum machine_mode mode)
register rtx op;
enum machine_mode mode;
{ {
if (register_operand (op, mode)) if (register_operand (op, mode))
return 1; return 1;
...@@ -471,9 +459,7 @@ reg_or_nonsymb_mem_operand (op, mode) ...@@ -471,9 +459,7 @@ reg_or_nonsymb_mem_operand (op, mode)
that is not symbolic. */ that is not symbolic. */
int int
reg_or_0_or_nonsymb_mem_operand (op, mode) reg_or_0_or_nonsymb_mem_operand (rtx op, enum machine_mode mode)
register rtx op;
enum machine_mode mode;
{ {
if (register_operand (op, mode)) if (register_operand (op, mode))
return 1; return 1;
...@@ -494,9 +480,7 @@ reg_or_0_or_nonsymb_mem_operand (op, mode) ...@@ -494,9 +480,7 @@ reg_or_0_or_nonsymb_mem_operand (op, mode)
if reload didn't find a hard register for the operand. */ if reload didn't find a hard register for the operand. */
int int
reg_before_reload_operand (op, mode) reg_before_reload_operand (rtx op, enum machine_mode mode)
register rtx op;
enum machine_mode mode;
{ {
/* Don't accept a SUBREG since it will need a reload. */ /* Don't accept a SUBREG since it will need a reload. */
if (GET_CODE (op) == SUBREG) if (GET_CODE (op) == SUBREG)
...@@ -516,8 +500,7 @@ reg_before_reload_operand (op, mode) ...@@ -516,8 +500,7 @@ reg_before_reload_operand (op, mode)
/* Accept any constant that can be moved in one instruction into a /* Accept any constant that can be moved in one instruction into a
general register. */ general register. */
int int
cint_ok_for_move (intval) cint_ok_for_move (HOST_WIDE_INT intval)
HOST_WIDE_INT intval;
{ {
/* OK if ldo, ldil, or zdepi, can be used. */ /* OK if ldo, ldil, or zdepi, can be used. */
return (CONST_OK_FOR_LETTER_P (intval, 'J') return (CONST_OK_FOR_LETTER_P (intval, 'J')
...@@ -528,9 +511,7 @@ cint_ok_for_move (intval) ...@@ -528,9 +511,7 @@ cint_ok_for_move (intval)
/* Accept anything that can be moved in one instruction into a general /* Accept anything that can be moved in one instruction into a general
register. */ register. */
int int
move_operand (op, mode) move_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (register_operand (op, mode)) if (register_operand (op, mode))
return 1; return 1;
...@@ -581,9 +562,7 @@ move_operand (op, mode) ...@@ -581,9 +562,7 @@ move_operand (op, mode)
/* Accept REG and any CONST_INT that can be moved in one instruction into a /* Accept REG and any CONST_INT that can be moved in one instruction into a
general register. */ general register. */
int int
reg_or_cint_move_operand (op, mode) reg_or_cint_move_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (register_operand (op, mode)) if (register_operand (op, mode))
return 1; return 1;
...@@ -595,9 +574,7 @@ reg_or_cint_move_operand (op, mode) ...@@ -595,9 +574,7 @@ reg_or_cint_move_operand (op, mode)
} }
int int
pic_label_operand (op, mode) pic_label_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (!flag_pic) if (!flag_pic)
return 0; return 0;
...@@ -616,9 +593,7 @@ pic_label_operand (op, mode) ...@@ -616,9 +593,7 @@ pic_label_operand (op, mode)
} }
int int
fp_reg_operand (op, mode) fp_reg_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return reg_renumber && FP_REG_P (op); return reg_renumber && FP_REG_P (op);
} }
...@@ -629,9 +604,7 @@ fp_reg_operand (op, mode) ...@@ -629,9 +604,7 @@ fp_reg_operand (op, mode)
three operand arithmetic insn that accepts registers of mode MODE three operand arithmetic insn that accepts registers of mode MODE
or 14-bit signed integers. */ or 14-bit signed integers. */
int int
arith_operand (op, mode) arith_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (register_operand (op, mode) return (register_operand (op, mode)
|| (GET_CODE (op) == CONST_INT && INT_14_BITS (op))); || (GET_CODE (op) == CONST_INT && INT_14_BITS (op)));
...@@ -641,9 +614,7 @@ arith_operand (op, mode) ...@@ -641,9 +614,7 @@ arith_operand (op, mode)
three operand arithmetic insn that accepts registers of mode MODE three operand arithmetic insn that accepts registers of mode MODE
or 11-bit signed integers. */ or 11-bit signed integers. */
int int
arith11_operand (op, mode) arith11_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (register_operand (op, mode) return (register_operand (op, mode)
|| (GET_CODE (op) == CONST_INT && INT_11_BITS (op))); || (GET_CODE (op) == CONST_INT && INT_11_BITS (op)));
...@@ -652,9 +623,7 @@ arith11_operand (op, mode) ...@@ -652,9 +623,7 @@ arith11_operand (op, mode)
/* Return truth value of whether OP can be used as an operand in a /* Return truth value of whether OP can be used as an operand in a
adddi3 insn. */ adddi3 insn. */
int int
adddi3_operand (op, mode) adddi3_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (register_operand (op, mode) return (register_operand (op, mode)
|| (GET_CODE (op) == CONST_INT || (GET_CODE (op) == CONST_INT
...@@ -664,9 +633,7 @@ adddi3_operand (op, mode) ...@@ -664,9 +633,7 @@ adddi3_operand (op, mode)
/* A constant integer suitable for use in a PRE_MODIFY memory /* A constant integer suitable for use in a PRE_MODIFY memory
reference. */ reference. */
int int
pre_cint_operand (op, mode) pre_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT return (GET_CODE (op) == CONST_INT
&& INTVAL (op) >= -0x2000 && INTVAL (op) < 0x10); && INTVAL (op) >= -0x2000 && INTVAL (op) < 0x10);
...@@ -675,18 +642,14 @@ pre_cint_operand (op, mode) ...@@ -675,18 +642,14 @@ pre_cint_operand (op, mode)
/* A constant integer suitable for use in a POST_MODIFY memory /* A constant integer suitable for use in a POST_MODIFY memory
reference. */ reference. */
int int
post_cint_operand (op, mode) post_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT return (GET_CODE (op) == CONST_INT
&& INTVAL (op) < 0x2000 && INTVAL (op) >= -0x10); && INTVAL (op) < 0x2000 && INTVAL (op) >= -0x10);
} }
int int
arith_double_operand (op, mode) arith_double_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (register_operand (op, mode) return (register_operand (op, mode)
|| (GET_CODE (op) == CONST_DOUBLE || (GET_CODE (op) == CONST_DOUBLE
...@@ -701,9 +664,7 @@ arith_double_operand (op, mode) ...@@ -701,9 +664,7 @@ arith_double_operand (op, mode)
is an integer register. */ is an integer register. */
int int
ireg_or_int5_operand (op, mode) ireg_or_int5_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return ((GET_CODE (op) == CONST_INT && INT_5_BITS (op)) return ((GET_CODE (op) == CONST_INT && INT_5_BITS (op))
|| (GET_CODE (op) == REG && REGNO (op) > 0 && REGNO (op) < 32)); || (GET_CODE (op) == REG && REGNO (op) > 0 && REGNO (op) < 32));
...@@ -711,9 +672,7 @@ ireg_or_int5_operand (op, mode) ...@@ -711,9 +672,7 @@ ireg_or_int5_operand (op, mode)
/* Return nonzero if OP is an integer register, else return zero. */ /* Return nonzero if OP is an integer register, else return zero. */
int int
ireg_operand (op, mode) ireg_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == REG && REGNO (op) > 0 && REGNO (op) < 32); return (GET_CODE (op) == REG && REGNO (op) > 0 && REGNO (op) < 32);
} }
...@@ -722,33 +681,25 @@ ireg_operand (op, mode) ...@@ -722,33 +681,25 @@ ireg_operand (op, mode)
range constraining immediate operands in three-address insns. */ range constraining immediate operands in three-address insns. */
int int
int5_operand (op, mode) int5_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT && INT_5_BITS (op)); return (GET_CODE (op) == CONST_INT && INT_5_BITS (op));
} }
int int
uint5_operand (op, mode) uint5_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT && INT_U5_BITS (op)); return (GET_CODE (op) == CONST_INT && INT_U5_BITS (op));
} }
int int
int11_operand (op, mode) int11_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT && INT_11_BITS (op)); return (GET_CODE (op) == CONST_INT && INT_11_BITS (op));
} }
int int
uint32_operand (op, mode) uint32_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
#if HOST_BITS_PER_WIDE_INT > 32 #if HOST_BITS_PER_WIDE_INT > 32
/* All allowed constants will fit a CONST_INT. */ /* All allowed constants will fit a CONST_INT. */
...@@ -762,9 +713,7 @@ uint32_operand (op, mode) ...@@ -762,9 +713,7 @@ uint32_operand (op, mode)
} }
int int
arith5_operand (op, mode) arith5_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return register_operand (op, mode) || int5_operand (op, mode); return register_operand (op, mode) || int5_operand (op, mode);
} }
...@@ -773,8 +722,7 @@ arith5_operand (op, mode) ...@@ -773,8 +722,7 @@ arith5_operand (op, mode)
zdepi first sign extends a 5 bit signed number to a given field zdepi first sign extends a 5 bit signed number to a given field
length, then places this field anywhere in a zero. */ length, then places this field anywhere in a zero. */
int int
zdepi_cint_p (x) zdepi_cint_p (unsigned HOST_WIDE_INT x)
unsigned HOST_WIDE_INT x;
{ {
unsigned HOST_WIDE_INT lsb_mask, t; unsigned HOST_WIDE_INT lsb_mask, t;
...@@ -792,8 +740,7 @@ zdepi_cint_p (x) ...@@ -792,8 +740,7 @@ zdepi_cint_p (x)
1....10....0 1....10....0
1..10..01..1 */ 1..10..01..1 */
int int
and_mask_p (mask) and_mask_p (unsigned HOST_WIDE_INT mask)
unsigned HOST_WIDE_INT mask;
{ {
mask = ~mask; mask = ~mask;
mask += mask & -mask; mask += mask & -mask;
...@@ -802,9 +749,7 @@ and_mask_p (mask) ...@@ -802,9 +749,7 @@ and_mask_p (mask)
/* True iff depi or extru can be used to compute (reg & OP). */ /* True iff depi or extru can be used to compute (reg & OP). */
int int
and_operand (op, mode) and_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (register_operand (op, mode) return (register_operand (op, mode)
|| (GET_CODE (op) == CONST_INT && and_mask_p (INTVAL (op)))); || (GET_CODE (op) == CONST_INT && and_mask_p (INTVAL (op))));
...@@ -812,8 +757,7 @@ and_operand (op, mode) ...@@ -812,8 +757,7 @@ and_operand (op, mode)
/* True iff depi can be used to compute (reg | MASK). */ /* True iff depi can be used to compute (reg | MASK). */
int int
ior_mask_p (mask) ior_mask_p (unsigned HOST_WIDE_INT mask)
unsigned HOST_WIDE_INT mask;
{ {
mask += mask & -mask; mask += mask & -mask;
return (mask & (mask - 1)) == 0; return (mask & (mask - 1)) == 0;
...@@ -821,17 +765,13 @@ ior_mask_p (mask) ...@@ -821,17 +765,13 @@ ior_mask_p (mask)
/* True iff depi can be used to compute (reg | OP). */ /* True iff depi can be used to compute (reg | OP). */
int int
ior_operand (op, mode) ior_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT && ior_mask_p (INTVAL (op))); return (GET_CODE (op) == CONST_INT && ior_mask_p (INTVAL (op)));
} }
int int
lhs_lshift_operand (op, mode) lhs_lshift_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return register_operand (op, mode) || lhs_lshift_cint_operand (op, mode); return register_operand (op, mode) || lhs_lshift_cint_operand (op, mode);
} }
...@@ -840,9 +780,7 @@ lhs_lshift_operand (op, mode) ...@@ -840,9 +780,7 @@ lhs_lshift_operand (op, mode)
Such values can be the left hand side x in (x << r), using the zvdepi Such values can be the left hand side x in (x << r), using the zvdepi
instruction. */ instruction. */
int int
lhs_lshift_cint_operand (op, mode) lhs_lshift_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
unsigned HOST_WIDE_INT x; unsigned HOST_WIDE_INT x;
if (GET_CODE (op) != CONST_INT) if (GET_CODE (op) != CONST_INT)
...@@ -852,17 +790,13 @@ lhs_lshift_cint_operand (op, mode) ...@@ -852,17 +790,13 @@ lhs_lshift_cint_operand (op, mode)
} }
int int
arith32_operand (op, mode) arith32_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return register_operand (op, mode) || GET_CODE (op) == CONST_INT; return register_operand (op, mode) || GET_CODE (op) == CONST_INT;
} }
int int
pc_or_label_operand (op, mode) pc_or_label_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == PC || GET_CODE (op) == LABEL_REF); return (GET_CODE (op) == PC || GET_CODE (op) == LABEL_REF);
} }
...@@ -873,9 +807,7 @@ pc_or_label_operand (op, mode) ...@@ -873,9 +807,7 @@ pc_or_label_operand (op, mode)
than one register, we lose. */ than one register, we lose. */
rtx rtx
legitimize_pic_address (orig, mode, reg) legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
rtx orig, reg;
enum machine_mode mode;
{ {
rtx pic_ref = orig; rtx pic_ref = orig;
...@@ -997,9 +929,8 @@ legitimize_pic_address (orig, mode, reg) ...@@ -997,9 +929,8 @@ legitimize_pic_address (orig, mode, reg)
a register. */ a register. */
rtx rtx
hppa_legitimize_address (x, oldx, mode) hppa_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
rtx x, oldx ATTRIBUTE_UNUSED; enum machine_mode mode)
enum machine_mode mode;
{ {
rtx orig = x; rtx orig = x;
...@@ -1347,8 +1278,7 @@ hppa_legitimize_address (x, oldx, mode) ...@@ -1347,8 +1278,7 @@ hppa_legitimize_address (x, oldx, mode)
as GO_IF_LEGITIMATE_ADDRESS. */ as GO_IF_LEGITIMATE_ADDRESS. */
static int static int
hppa_address_cost (X) hppa_address_cost (rtx X)
rtx X;
{ {
switch (GET_CODE (X)) switch (GET_CODE (X))
{ {
...@@ -1368,10 +1298,7 @@ hppa_address_cost (X) ...@@ -1368,10 +1298,7 @@ hppa_address_cost (X)
scanned. In either case, *TOTAL contains the cost result. */ scanned. In either case, *TOTAL contains the cost result. */
static bool static bool
hppa_rtx_costs (x, code, outer_code, total) hppa_rtx_costs (rtx x, int code, int outer_code, int *total)
rtx x;
int code, outer_code;
int *total;
{ {
switch (code) switch (code)
{ {
...@@ -1447,9 +1374,7 @@ hppa_rtx_costs (x, code, outer_code, total) ...@@ -1447,9 +1374,7 @@ hppa_rtx_costs (x, code, outer_code, total)
/* Ensure mode of ORIG, a REG rtx, is MODE. Returns either ORIG or a /* Ensure mode of ORIG, a REG rtx, is MODE. Returns either ORIG or a
new rtx with the correct mode. */ new rtx with the correct mode. */
static inline rtx static inline rtx
force_mode (mode, orig) force_mode (enum machine_mode mode, rtx orig)
enum machine_mode mode;
rtx orig;
{ {
if (mode == GET_MODE (orig)) if (mode == GET_MODE (orig))
return orig; return orig;
...@@ -1471,10 +1396,7 @@ force_mode (mode, orig) ...@@ -1471,10 +1396,7 @@ force_mode (mode, orig)
of SCRATCH_REG in the proper mode. */ of SCRATCH_REG in the proper mode. */
int int
emit_move_sequence (operands, mode, scratch_reg) emit_move_sequence (rtx *operands, enum machine_mode mode, rtx scratch_reg)
rtx *operands;
enum machine_mode mode;
rtx scratch_reg;
{ {
register rtx operand0 = operands[0]; register rtx operand0 = operands[0];
register rtx operand1 = operands[1]; register rtx operand1 = operands[1];
...@@ -1966,8 +1888,7 @@ emit_move_sequence (operands, mode, scratch_reg) ...@@ -1966,8 +1888,7 @@ emit_move_sequence (operands, mode, scratch_reg)
it will need a link/runtime reloc). */ it will need a link/runtime reloc). */
int int
reloc_needed (exp) reloc_needed (tree exp)
tree exp;
{ {
int reloc = 0; int reloc = 0;
...@@ -2011,9 +1932,7 @@ reloc_needed (exp) ...@@ -2011,9 +1932,7 @@ reloc_needed (exp)
will be true. */ will be true. */
int int
read_only_operand (operand, mode) read_only_operand (rtx operand, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (operand) == CONST) if (GET_CODE (operand) == CONST)
operand = XEXP (XEXP (operand, 0), 0); operand = XEXP (XEXP (operand, 0), 0);
...@@ -2034,8 +1953,7 @@ read_only_operand (operand, mode) ...@@ -2034,8 +1953,7 @@ read_only_operand (operand, mode)
/* Return the best assembler insn template /* Return the best assembler insn template
for moving operands[1] into operands[0] as a fullword. */ for moving operands[1] into operands[0] as a fullword. */
const char * const char *
singlemove_string (operands) singlemove_string (rtx *operands)
rtx *operands;
{ {
HOST_WIDE_INT intval; HOST_WIDE_INT intval;
...@@ -2080,9 +1998,7 @@ singlemove_string (operands) ...@@ -2080,9 +1998,7 @@ singlemove_string (operands)
useful for copying IMM to a register using the zdepi useful for copying IMM to a register using the zdepi
instructions. Store the immediate value to insert in OP[0]. */ instructions. Store the immediate value to insert in OP[0]. */
static void static void
compute_zdepwi_operands (imm, op) compute_zdepwi_operands (unsigned HOST_WIDE_INT imm, unsigned *op)
unsigned HOST_WIDE_INT imm;
unsigned *op;
{ {
int lsb, len; int lsb, len;
...@@ -2119,9 +2035,7 @@ compute_zdepwi_operands (imm, op) ...@@ -2119,9 +2035,7 @@ compute_zdepwi_operands (imm, op)
useful for copying IMM to a register using the depdi,z useful for copying IMM to a register using the depdi,z
instructions. Store the immediate value to insert in OP[0]. */ instructions. Store the immediate value to insert in OP[0]. */
void void
compute_zdepdi_operands (imm, op) compute_zdepdi_operands (unsigned HOST_WIDE_INT imm, unsigned *op)
unsigned HOST_WIDE_INT imm;
unsigned *op;
{ {
HOST_WIDE_INT lsb, len; HOST_WIDE_INT lsb, len;
...@@ -2159,8 +2073,7 @@ compute_zdepdi_operands (imm, op) ...@@ -2159,8 +2073,7 @@ compute_zdepdi_operands (imm, op)
with operands OPERANDS. */ with operands OPERANDS. */
const char * const char *
output_move_double (operands) output_move_double (rtx *operands)
rtx *operands;
{ {
enum { REGOP, OFFSOP, MEMOP, CNSTOP, RNDOP } optype0, optype1; enum { REGOP, OFFSOP, MEMOP, CNSTOP, RNDOP } optype0, optype1;
rtx latehalf[2]; rtx latehalf[2];
...@@ -2435,8 +2348,7 @@ output_move_double (operands) ...@@ -2435,8 +2348,7 @@ output_move_double (operands)
} }
const char * const char *
output_fp_move_double (operands) output_fp_move_double (rtx *operands)
rtx *operands;
{ {
if (FP_REG_P (operands[0])) if (FP_REG_P (operands[0]))
{ {
...@@ -2474,8 +2386,7 @@ output_fp_move_double (operands) ...@@ -2474,8 +2386,7 @@ output_fp_move_double (operands)
ADDR can be effectively incremented by incrementing REG. */ ADDR can be effectively incremented by incrementing REG. */
static rtx static rtx
find_addr_reg (addr) find_addr_reg (rtx addr)
rtx addr;
{ {
while (GET_CODE (addr) == PLUS) while (GET_CODE (addr) == PLUS)
{ {
...@@ -2506,9 +2417,7 @@ find_addr_reg (addr) ...@@ -2506,9 +2417,7 @@ find_addr_reg (addr)
OPERANDS[6] is another temporary register. */ OPERANDS[6] is another temporary register. */
const char * const char *
output_block_move (operands, size_is_constant) output_block_move (rtx *operands, int size_is_constant ATTRIBUTE_UNUSED)
rtx *operands;
int size_is_constant ATTRIBUTE_UNUSED;
{ {
int align = INTVAL (operands[5]); int align = INTVAL (operands[5]);
unsigned long n_bytes = INTVAL (operands[4]); unsigned long n_bytes = INTVAL (operands[4]);
...@@ -2607,8 +2516,7 @@ output_block_move (operands, size_is_constant) ...@@ -2607,8 +2516,7 @@ output_block_move (operands, size_is_constant)
count insns rather than emit them. */ count insns rather than emit them. */
static int static int
compute_movstrsi_length (insn) compute_movstrsi_length (rtx insn)
rtx insn;
{ {
rtx pat = PATTERN (insn); rtx pat = PATTERN (insn);
unsigned int align = INTVAL (XEXP (XVECEXP (pat, 0, 7), 0)); unsigned int align = INTVAL (XEXP (XVECEXP (pat, 0, 7), 0));
...@@ -2639,8 +2547,7 @@ compute_movstrsi_length (insn) ...@@ -2639,8 +2547,7 @@ compute_movstrsi_length (insn)
const char * const char *
output_and (operands) output_and (rtx *operands)
rtx *operands;
{ {
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) != 0) if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) != 0)
{ {
...@@ -2692,8 +2599,7 @@ output_and (operands) ...@@ -2692,8 +2599,7 @@ output_and (operands)
/* Return a string to perform a bitwise-and of operands[1] with operands[2] /* Return a string to perform a bitwise-and of operands[1] with operands[2]
storing the result in operands[0]. */ storing the result in operands[0]. */
const char * const char *
output_64bit_and (operands) output_64bit_and (rtx *operands)
rtx *operands;
{ {
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) != 0) if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) != 0)
{ {
...@@ -2743,8 +2649,7 @@ output_64bit_and (operands) ...@@ -2743,8 +2649,7 @@ output_64bit_and (operands)
} }
const char * const char *
output_ior (operands) output_ior (rtx *operands)
rtx *operands;
{ {
unsigned HOST_WIDE_INT mask = INTVAL (operands[2]); unsigned HOST_WIDE_INT mask = INTVAL (operands[2]);
int bs0, bs1, p, len; int bs0, bs1, p, len;
...@@ -2774,8 +2679,7 @@ output_ior (operands) ...@@ -2774,8 +2679,7 @@ output_ior (operands)
/* Return a string to perform a bitwise-and of operands[1] with operands[2] /* Return a string to perform a bitwise-and of operands[1] with operands[2]
storing the result in operands[0]. */ storing the result in operands[0]. */
const char * const char *
output_64bit_ior (operands) output_64bit_ior (rtx *operands)
rtx *operands;
{ {
unsigned HOST_WIDE_INT mask = INTVAL (operands[2]); unsigned HOST_WIDE_INT mask = INTVAL (operands[2]);
int bs0, bs1, p, len; int bs0, bs1, p, len;
...@@ -2808,10 +2712,7 @@ output_64bit_ior (operands) ...@@ -2808,10 +2712,7 @@ output_64bit_ior (operands)
be preceded by P%. */ be preceded by P%. */
static bool static bool
pa_assemble_integer (x, size, aligned_p) pa_assemble_integer (rtx x, unsigned int size, int aligned_p)
rtx x;
unsigned int size;
int aligned_p;
{ {
if (size == UNITS_PER_WORD && aligned_p if (size == UNITS_PER_WORD && aligned_p
&& function_label_operand (x, VOIDmode)) && function_label_operand (x, VOIDmode))
...@@ -2826,10 +2727,7 @@ pa_assemble_integer (x, size, aligned_p) ...@@ -2826,10 +2727,7 @@ pa_assemble_integer (x, size, aligned_p)
/* Output an ascii string. */ /* Output an ascii string. */
void void
output_ascii (file, p, size) output_ascii (FILE *file, const char *p, int size)
FILE *file;
const char *p;
int size;
{ {
int i; int i;
int chars_output; int chars_output;
...@@ -2896,8 +2794,7 @@ output_ascii (file, p, size) ...@@ -2896,8 +2794,7 @@ output_ascii (file, p, size)
when there's a 1:1 correspondence between fcmp and ftest/fbranch when there's a 1:1 correspondence between fcmp and ftest/fbranch
instructions. */ instructions. */
static void static void
remove_useless_addtr_insns (check_notes) remove_useless_addtr_insns (int check_notes)
int check_notes;
{ {
rtx insn; rtx insn;
static int pass = 0; static int pass = 0;
...@@ -3108,8 +3005,7 @@ static int local_fsize, save_fregs; ...@@ -3108,8 +3005,7 @@ static int local_fsize, save_fregs;
in %r1. There is code in expand_hppa_{prologue,epilogue} that knows this.*/ in %r1. There is code in expand_hppa_{prologue,epilogue} that knows this.*/
static void static void
store_reg (reg, disp, base) store_reg (int reg, int disp, int base)
int reg, disp, base;
{ {
rtx insn, dest, src, basereg; rtx insn, dest, src, basereg;
...@@ -3149,8 +3045,7 @@ store_reg (reg, disp, base) ...@@ -3149,8 +3045,7 @@ store_reg (reg, disp, base)
add MOD to BASE. MOD must be <= 8k. */ add MOD to BASE. MOD must be <= 8k. */
static void static void
store_reg_modify (base, reg, mod) store_reg_modify (int base, int reg, int mod)
int base, reg, mod;
{ {
rtx insn, basereg, srcreg, delta; rtx insn, basereg, srcreg, delta;
...@@ -3197,8 +3092,7 @@ store_reg_modify (base, reg, mod) ...@@ -3197,8 +3092,7 @@ store_reg_modify (base, reg, mod)
There is code in expand_hppa_{prologue,epilogue} that knows about this. */ There is code in expand_hppa_{prologue,epilogue} that knows about this. */
static void static void
set_reg_plus_d (reg, base, disp, note) set_reg_plus_d (int reg, int base, int disp, int note)
int reg, base, disp, note;
{ {
rtx insn; rtx insn;
...@@ -3225,9 +3119,7 @@ set_reg_plus_d (reg, base, disp, note) ...@@ -3225,9 +3119,7 @@ set_reg_plus_d (reg, base, disp, note)
} }
int int
compute_frame_size (size, fregs_live) compute_frame_size (int size, int *fregs_live)
int size;
int *fregs_live;
{ {
int freg_saved = 0; int freg_saved = 0;
int i, j; int i, j;
...@@ -3320,9 +3212,7 @@ compute_frame_size (size, fregs_live) ...@@ -3320,9 +3212,7 @@ compute_frame_size (size, fregs_live)
to do this is made in regclass.c. */ to do this is made in regclass.c. */
static void static void
pa_output_function_prologue (file, size) pa_output_function_prologue (FILE *file, HOST_WIDE_INT size ATTRIBUTE_UNUSED)
FILE *file;
HOST_WIDE_INT size ATTRIBUTE_UNUSED;
{ {
/* The function's label and associated .PROC must never be /* The function's label and associated .PROC must never be
separated and must be output *after* any profiling declarations separated and must be output *after* any profiling declarations
...@@ -3371,7 +3261,7 @@ pa_output_function_prologue (file, size) ...@@ -3371,7 +3261,7 @@ pa_output_function_prologue (file, size)
} }
void void
hppa_expand_prologue () hppa_expand_prologue (void)
{ {
int merge_sp_adjust_with_store = 0; int merge_sp_adjust_with_store = 0;
int size = get_frame_size (); int size = get_frame_size ();
...@@ -3664,8 +3554,7 @@ hppa_expand_prologue () ...@@ -3664,8 +3554,7 @@ hppa_expand_prologue ()
Handle case where DISP > 8k by using the add_high_const patterns. */ Handle case where DISP > 8k by using the add_high_const patterns. */
static void static void
load_reg (reg, disp, base) load_reg (int reg, int disp, int base)
int reg, disp, base;
{ {
rtx src, dest, basereg; rtx src, dest, basereg;
...@@ -3690,8 +3579,7 @@ load_reg (reg, disp, base) ...@@ -3690,8 +3579,7 @@ load_reg (reg, disp, base)
/* Update the total code bytes output to the text section. */ /* Update the total code bytes output to the text section. */
static void static void
update_total_code_bytes (nbytes) update_total_code_bytes (int nbytes)
int nbytes;
{ {
if ((TARGET_PORTABLE_RUNTIME || !TARGET_GAS || !TARGET_SOM) if ((TARGET_PORTABLE_RUNTIME || !TARGET_GAS || !TARGET_SOM)
&& !IN_NAMED_SECTION_P (cfun->decl)) && !IN_NAMED_SECTION_P (cfun->decl))
...@@ -3720,9 +3608,7 @@ update_total_code_bytes (nbytes) ...@@ -3720,9 +3608,7 @@ update_total_code_bytes (nbytes)
adjustments before returning. */ adjustments before returning. */
static void static void
pa_output_function_epilogue (file, size) pa_output_function_epilogue (FILE *file, HOST_WIDE_INT size ATTRIBUTE_UNUSED)
FILE *file;
HOST_WIDE_INT size ATTRIBUTE_UNUSED;
{ {
rtx insn = get_last_insn (); rtx insn = get_last_insn ();
...@@ -3770,7 +3656,7 @@ pa_output_function_epilogue (file, size) ...@@ -3770,7 +3656,7 @@ pa_output_function_epilogue (file, size)
} }
void void
hppa_expand_epilogue () hppa_expand_epilogue (void)
{ {
rtx tmpreg; rtx tmpreg;
int offset, i; int offset, i;
...@@ -3946,14 +3832,13 @@ hppa_expand_epilogue () ...@@ -3946,14 +3832,13 @@ hppa_expand_epilogue ()
} }
rtx rtx
hppa_pic_save_rtx () hppa_pic_save_rtx (void)
{ {
return get_hard_reg_initial_val (word_mode, PIC_OFFSET_TABLE_REGNUM); return get_hard_reg_initial_val (word_mode, PIC_OFFSET_TABLE_REGNUM);
} }
void void
hppa_profile_hook (label_no) hppa_profile_hook (int label_no)
int label_no;
{ {
rtx begin_label_rtx, call_insn; rtx begin_label_rtx, call_insn;
char begin_label_name[16]; char begin_label_name[16];
...@@ -4039,9 +3924,7 @@ hppa_profile_hook (label_no) ...@@ -4039,9 +3924,7 @@ hppa_profile_hook (label_no)
return location is in a shared library. */ return location is in a shared library. */
rtx rtx
return_addr_rtx (count, frameaddr) return_addr_rtx (int count, rtx frameaddr)
int count;
rtx frameaddr;
{ {
rtx label; rtx label;
rtx rp; rtx rp;
...@@ -4120,7 +4003,7 @@ return_addr_rtx (count, frameaddr) ...@@ -4120,7 +4003,7 @@ return_addr_rtx (count, frameaddr)
It's only valid if %r2 hasn't been saved into the caller's frame It's only valid if %r2 hasn't been saved into the caller's frame
(we're not profiling and %r2 isn't live anywhere). */ (we're not profiling and %r2 isn't live anywhere). */
int int
hppa_can_use_return_insn_p () hppa_can_use_return_insn_p (void)
{ {
return (reload_completed return (reload_completed
&& (compute_frame_size (get_frame_size (), 0) ? 0 : 1) && (compute_frame_size (get_frame_size (), 0) ? 0 : 1)
...@@ -4129,9 +4012,7 @@ hppa_can_use_return_insn_p () ...@@ -4129,9 +4012,7 @@ hppa_can_use_return_insn_p ()
} }
void void
emit_bcond_fp (code, operand0) emit_bcond_fp (enum rtx_code code, rtx operand0)
enum rtx_code code;
rtx operand0;
{ {
emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx,
gen_rtx_IF_THEN_ELSE (VOIDmode, gen_rtx_IF_THEN_ELSE (VOIDmode,
...@@ -4145,9 +4026,7 @@ emit_bcond_fp (code, operand0) ...@@ -4145,9 +4026,7 @@ emit_bcond_fp (code, operand0)
} }
rtx rtx
gen_cmp_fp (code, operand0, operand1) gen_cmp_fp (enum rtx_code code, rtx operand0, rtx operand1)
enum rtx_code code;
rtx operand0, operand1;
{ {
return gen_rtx_SET (VOIDmode, gen_rtx_REG (CCFPmode, 0), return gen_rtx_SET (VOIDmode, gen_rtx_REG (CCFPmode, 0),
gen_rtx_fmt_ee (code, CCFPmode, operand0, operand1)); gen_rtx_fmt_ee (code, CCFPmode, operand0, operand1));
...@@ -4157,11 +4036,7 @@ gen_cmp_fp (code, operand0, operand1) ...@@ -4157,11 +4036,7 @@ gen_cmp_fp (code, operand0, operand1)
a dependency LINK or INSN on DEP_INSN. COST is the current cost. */ a dependency LINK or INSN on DEP_INSN. COST is the current cost. */
static int static int
pa_adjust_cost (insn, link, dep_insn, cost) pa_adjust_cost (rtx insn, rtx link, rtx dep_insn, int cost)
rtx insn;
rtx link;
rtx dep_insn;
int cost;
{ {
enum attr_type attr_type; enum attr_type attr_type;
...@@ -4349,9 +4224,7 @@ pa_adjust_cost (insn, link, dep_insn, cost) ...@@ -4349,9 +4224,7 @@ pa_adjust_cost (insn, link, dep_insn, cost)
/* Adjust scheduling priorities. We use this to try and keep addil /* Adjust scheduling priorities. We use this to try and keep addil
and the next use of %r1 close together. */ and the next use of %r1 close together. */
static int static int
pa_adjust_priority (insn, priority) pa_adjust_priority (rtx insn, int priority)
rtx insn;
int priority;
{ {
rtx set = single_set (insn); rtx set = single_set (insn);
rtx src, dest; rtx src, dest;
...@@ -4383,7 +4256,7 @@ pa_adjust_priority (insn, priority) ...@@ -4383,7 +4256,7 @@ pa_adjust_priority (insn, priority)
The 7XXX processors can issue two insns at a time. The 7XXX processors can issue two insns at a time.
The 8000 can issue 4 insns at a time. */ The 8000 can issue 4 insns at a time. */
static int static int
pa_issue_rate () pa_issue_rate (void)
{ {
switch (pa_cpu) switch (pa_cpu)
{ {
...@@ -4411,9 +4284,7 @@ pa_issue_rate () ...@@ -4411,9 +4284,7 @@ pa_issue_rate ()
Also compute the length of an inline block move here as it is too Also compute the length of an inline block move here as it is too
complicated to express as a length attribute in pa.md. */ complicated to express as a length attribute in pa.md. */
int int
pa_adjust_insn_length (insn, length) pa_adjust_insn_length (rtx insn, int length)
rtx insn;
int length;
{ {
rtx pat = PATTERN (insn); rtx pat = PATTERN (insn);
...@@ -4472,10 +4343,7 @@ pa_adjust_insn_length (insn, length) ...@@ -4472,10 +4343,7 @@ pa_adjust_insn_length (insn, length)
For `%' followed by punctuation, CODE is the punctuation and X is null. */ For `%' followed by punctuation, CODE is the punctuation and X is null. */
void void
print_operand (file, x, code) print_operand (FILE *file, rtx x, int code)
FILE *file;
rtx x;
int code;
{ {
switch (code) switch (code)
{ {
...@@ -4840,10 +4708,7 @@ print_operand (file, x, code) ...@@ -4840,10 +4708,7 @@ print_operand (file, x, code)
/* output a SYMBOL_REF or a CONST expression involving a SYMBOL_REF. */ /* output a SYMBOL_REF or a CONST expression involving a SYMBOL_REF. */
void void
output_global_address (file, x, round_constant) output_global_address (FILE *file, rtx x, int round_constant)
FILE *file;
rtx x;
int round_constant;
{ {
/* Imagine (high (const (plus ...))). */ /* Imagine (high (const (plus ...))). */
...@@ -4921,7 +4786,7 @@ output_global_address (file, x, round_constant) ...@@ -4921,7 +4786,7 @@ output_global_address (file, x, round_constant)
There are several possible versions. */ There are several possible versions. */
#define aputs(x) fputs(x, asm_out_file) #define aputs(x) fputs(x, asm_out_file)
static inline void static inline void
pa_file_start_level () pa_file_start_level (void)
{ {
if (TARGET_64BIT) if (TARGET_64BIT)
aputs ("\t.LEVEL 2.0w\n"); aputs ("\t.LEVEL 2.0w\n");
...@@ -4934,8 +4799,7 @@ pa_file_start_level () ...@@ -4934,8 +4799,7 @@ pa_file_start_level ()
} }
static inline void static inline void
pa_file_start_space (sortspace) pa_file_start_space (int sortspace)
int sortspace;
{ {
aputs ("\t.SPACE $PRIVATE$"); aputs ("\t.SPACE $PRIVATE$");
if (sortspace) if (sortspace)
...@@ -4950,8 +4814,7 @@ pa_file_start_space (sortspace) ...@@ -4950,8 +4814,7 @@ pa_file_start_space (sortspace)
} }
static inline void static inline void
pa_file_start_file (want_version) pa_file_start_file (int want_version)
int want_version;
{ {
if (write_symbols != NO_DEBUG) if (write_symbols != NO_DEBUG)
{ {
...@@ -4962,15 +4825,14 @@ pa_file_start_file (want_version) ...@@ -4962,15 +4825,14 @@ pa_file_start_file (want_version)
} }
static inline void static inline void
pa_file_start_mcount (aswhat) pa_file_start_mcount (const char *aswhat)
const char *aswhat;
{ {
if (profile_flag) if (profile_flag)
fprintf (asm_out_file, "\t.IMPORT _mcount,%s\n", aswhat); fprintf (asm_out_file, "\t.IMPORT _mcount,%s\n", aswhat);
} }
static void static void
pa_elf_file_start () pa_elf_file_start (void)
{ {
pa_file_start_level (); pa_file_start_level ();
pa_file_start_mcount ("ENTRY"); pa_file_start_mcount ("ENTRY");
...@@ -4978,7 +4840,7 @@ pa_elf_file_start () ...@@ -4978,7 +4840,7 @@ pa_elf_file_start ()
} }
static void static void
pa_som_file_start () pa_som_file_start (void)
{ {
pa_file_start_level (); pa_file_start_level ();
pa_file_start_space (0); pa_file_start_space (0);
...@@ -4989,7 +4851,7 @@ pa_som_file_start () ...@@ -4989,7 +4851,7 @@ pa_som_file_start ()
} }
static void static void
pa_linux_file_start () pa_linux_file_start (void)
{ {
pa_file_start_file (1); pa_file_start_file (1);
pa_file_start_level (); pa_file_start_level ();
...@@ -4997,7 +4859,7 @@ pa_linux_file_start () ...@@ -4997,7 +4859,7 @@ pa_linux_file_start ()
} }
static void static void
pa_hpux64_gas_file_start () pa_hpux64_gas_file_start (void)
{ {
pa_file_start_level (); pa_file_start_level ();
#ifdef ASM_OUTPUT_TYPE_DIRECTIVE #ifdef ASM_OUTPUT_TYPE_DIRECTIVE
...@@ -5008,7 +4870,7 @@ pa_hpux64_gas_file_start () ...@@ -5008,7 +4870,7 @@ pa_hpux64_gas_file_start ()
} }
static void static void
pa_hpux64_hpas_file_start () pa_hpux64_hpas_file_start (void)
{ {
pa_file_start_level (); pa_file_start_level ();
pa_file_start_space (1); pa_file_start_space (1);
...@@ -5018,8 +4880,7 @@ pa_hpux64_hpas_file_start () ...@@ -5018,8 +4880,7 @@ pa_hpux64_hpas_file_start ()
#undef aputs #undef aputs
static struct deferred_plabel * static struct deferred_plabel *
get_plabel (fname) get_plabel (const char *fname)
const char *fname;
{ {
size_t i; size_t i;
...@@ -5059,7 +4920,7 @@ get_plabel (fname) ...@@ -5059,7 +4920,7 @@ get_plabel (fname)
} }
static void static void
output_deferred_plabels () output_deferred_plabels (void)
{ {
size_t i; size_t i;
/* If we have deferred plabels, then we need to switch into the data /* If we have deferred plabels, then we need to switch into the data
...@@ -5085,15 +4946,14 @@ output_deferred_plabels () ...@@ -5085,15 +4946,14 @@ output_deferred_plabels ()
Keep track of which ones we have used. */ Keep track of which ones we have used. */
enum millicodes { remI, remU, divI, divU, mulI, end1000 }; enum millicodes { remI, remU, divI, divU, mulI, end1000 };
static void import_milli PARAMS ((enum millicodes)); static void import_milli (enum millicodes);
static char imported[(int) end1000]; static char imported[(int) end1000];
static const char * const milli_names[] = {"remI", "remU", "divI", "divU", "mulI"}; static const char * const milli_names[] = {"remI", "remU", "divI", "divU", "mulI"};
static const char import_string[] = ".IMPORT $$....,MILLICODE"; static const char import_string[] = ".IMPORT $$....,MILLICODE";
#define MILLI_START 10 #define MILLI_START 10
static void static void
import_milli (code) import_milli (enum millicodes code)
enum millicodes code;
{ {
char str[sizeof (import_string)]; char str[sizeof (import_string)];
...@@ -5110,9 +4970,7 @@ import_milli (code) ...@@ -5110,9 +4970,7 @@ import_milli (code)
the proper registers. */ the proper registers. */
const char * const char *
output_mul_insn (unsignedp, insn) output_mul_insn (int unsignedp ATTRIBUTE_UNUSED, rtx insn)
int unsignedp ATTRIBUTE_UNUSED;
rtx insn;
{ {
import_milli (mulI); import_milli (mulI);
return output_millicode_call (insn, gen_rtx_SYMBOL_REF (Pmode, "$$mulI")); return output_millicode_call (insn, gen_rtx_SYMBOL_REF (Pmode, "$$mulI"));
...@@ -5131,9 +4989,7 @@ static const int magic_milli[]= {0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, ...@@ -5131,9 +4989,7 @@ static const int magic_milli[]= {0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0,
static int div_milli[16][2]; static int div_milli[16][2];
int int
div_operand (op, mode) div_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
return (mode == SImode return (mode == SImode
&& ((GET_CODE (op) == REG && REGNO (op) == 25) && ((GET_CODE (op) == REG && REGNO (op) == 25)
...@@ -5142,9 +4998,7 @@ div_operand (op, mode) ...@@ -5142,9 +4998,7 @@ div_operand (op, mode)
} }
int int
emit_hpdiv_const (operands, unsignedp) emit_hpdiv_const (rtx *operands, int unsignedp)
rtx *operands;
int unsignedp;
{ {
if (GET_CODE (operands[2]) == CONST_INT if (GET_CODE (operands[2]) == CONST_INT
&& INTVAL (operands[2]) > 0 && INTVAL (operands[2]) > 0
...@@ -5174,10 +5028,7 @@ emit_hpdiv_const (operands, unsignedp) ...@@ -5174,10 +5028,7 @@ emit_hpdiv_const (operands, unsignedp)
} }
const char * const char *
output_div_insn (operands, unsignedp, insn) output_div_insn (rtx *operands, int unsignedp, rtx insn)
rtx *operands;
int unsignedp;
rtx insn;
{ {
int divisor; int divisor;
...@@ -5231,9 +5082,7 @@ output_div_insn (operands, unsignedp, insn) ...@@ -5231,9 +5082,7 @@ output_div_insn (operands, unsignedp, insn)
/* Output a $$rem millicode to do mod. */ /* Output a $$rem millicode to do mod. */
const char * const char *
output_mod_insn (unsignedp, insn) output_mod_insn (int unsignedp, rtx insn)
int unsignedp;
rtx insn;
{ {
if (unsignedp) if (unsignedp)
{ {
...@@ -5250,8 +5099,7 @@ output_mod_insn (unsignedp, insn) ...@@ -5250,8 +5099,7 @@ output_mod_insn (unsignedp, insn)
} }
void void
output_arg_descriptor (call_insn) output_arg_descriptor (rtx call_insn)
rtx call_insn;
{ {
const char *arg_regs[4]; const char *arg_regs[4];
enum machine_mode arg_mode; enum machine_mode arg_mode;
...@@ -5335,10 +5183,7 @@ output_arg_descriptor (call_insn) ...@@ -5335,10 +5183,7 @@ output_arg_descriptor (call_insn)
It might be worthwhile to try and make this a leaf function too. */ It might be worthwhile to try and make this a leaf function too. */
enum reg_class enum reg_class
secondary_reload_class (class, mode, in) secondary_reload_class (enum reg_class class, enum machine_mode mode, rtx in)
enum reg_class class;
enum machine_mode mode;
rtx in;
{ {
int regno, is_symbolic; int regno, is_symbolic;
...@@ -5426,9 +5271,7 @@ secondary_reload_class (class, mode, in) ...@@ -5426,9 +5271,7 @@ secondary_reload_class (class, mode, in)
} }
enum direction enum direction
function_arg_padding (mode, type) function_arg_padding (enum machine_mode mode, tree type)
enum machine_mode mode;
tree type;
{ {
if (mode == BLKmode if (mode == BLKmode
|| (TARGET_64BIT && type && AGGREGATE_TYPE_P (type))) || (TARGET_64BIT && type && AGGREGATE_TYPE_P (type)))
...@@ -5467,7 +5310,7 @@ function_arg_padding (mode, type) ...@@ -5467,7 +5310,7 @@ function_arg_padding (mode, type)
va_list. A pointer to this constructor is returned. */ va_list. A pointer to this constructor is returned. */
struct rtx_def * struct rtx_def *
hppa_builtin_saveregs () hppa_builtin_saveregs (void)
{ {
rtx offset, dest; rtx offset, dest;
tree fntype = TREE_TYPE (current_function_decl); tree fntype = TREE_TYPE (current_function_decl);
...@@ -5536,17 +5379,14 @@ hppa_builtin_saveregs () ...@@ -5536,17 +5379,14 @@ hppa_builtin_saveregs ()
} }
void void
hppa_va_start (valist, nextarg) hppa_va_start (tree valist, rtx nextarg)
tree valist;
rtx nextarg;
{ {
nextarg = expand_builtin_saveregs (); nextarg = expand_builtin_saveregs ();
std_expand_builtin_va_start (valist, nextarg); std_expand_builtin_va_start (valist, nextarg);
} }
rtx rtx
hppa_va_arg (valist, type) hppa_va_arg (tree valist, tree type)
tree valist, type;
{ {
HOST_WIDE_INT size = int_size_in_bytes (type); HOST_WIDE_INT size = int_size_in_bytes (type);
HOST_WIDE_INT ofs; HOST_WIDE_INT ofs;
...@@ -5654,10 +5494,7 @@ hppa_va_arg (valist, type) ...@@ -5654,10 +5494,7 @@ hppa_va_arg (valist, type)
parameters. */ parameters. */
const char * const char *
output_cbranch (operands, nullify, length, negated, insn) output_cbranch (rtx *operands, int nullify, int length, int negated, rtx insn)
rtx *operands;
int nullify, length, negated;
rtx insn;
{ {
static char buf[100]; static char buf[100];
int useskip = 0; int useskip = 0;
...@@ -5842,8 +5679,7 @@ output_cbranch (operands, nullify, length, negated, insn) ...@@ -5842,8 +5679,7 @@ output_cbranch (operands, nullify, length, negated, insn)
maximum range of a simple branch instruction. */ maximum range of a simple branch instruction. */
const char * const char *
output_lbranch (dest, insn) output_lbranch (rtx dest, rtx insn)
rtx dest, insn;
{ {
rtx xoperands[2]; rtx xoperands[2];
...@@ -5961,11 +5797,8 @@ output_lbranch (dest, insn) ...@@ -5961,11 +5797,8 @@ output_lbranch (dest, insn)
above. it returns the appropriate output template to emit the branch. */ above. it returns the appropriate output template to emit the branch. */
const char * const char *
output_bb (operands, nullify, length, negated, insn, which) output_bb (rtx *operands ATTRIBUTE_UNUSED, int nullify, int length,
rtx *operands ATTRIBUTE_UNUSED; int negated, rtx insn, int which)
int nullify, length, negated;
rtx insn;
int which;
{ {
static char buf[100]; static char buf[100];
int useskip = 0; int useskip = 0;
...@@ -6109,11 +5942,8 @@ output_bb (operands, nullify, length, negated, insn, which) ...@@ -6109,11 +5942,8 @@ output_bb (operands, nullify, length, negated, insn, which)
branch. */ branch. */
const char * const char *
output_bvb (operands, nullify, length, negated, insn, which) output_bvb (rtx *operands ATTRIBUTE_UNUSED, int nullify, int length,
rtx *operands ATTRIBUTE_UNUSED; int negated, rtx insn, int which)
int nullify, length, negated;
rtx insn;
int which;
{ {
static char buf[100]; static char buf[100];
int useskip = 0; int useskip = 0;
...@@ -6255,10 +6085,7 @@ output_bvb (operands, nullify, length, negated, insn, which) ...@@ -6255,10 +6085,7 @@ output_bvb (operands, nullify, length, negated, insn, which)
Note it may perform some output operations on its own before Note it may perform some output operations on its own before
returning the final output string. */ returning the final output string. */
const char * const char *
output_dbra (operands, insn, which_alternative) output_dbra (rtx *operands, rtx insn, int which_alternative)
rtx *operands;
rtx insn;
int which_alternative;
{ {
/* A conditional branch to the following instruction (eg the delay slot) is /* A conditional branch to the following instruction (eg the delay slot) is
...@@ -6361,11 +6188,8 @@ output_dbra (operands, insn, which_alternative) ...@@ -6361,11 +6188,8 @@ output_dbra (operands, insn, which_alternative)
Note it may perform some output operations on its own before Note it may perform some output operations on its own before
returning the final output string. */ returning the final output string. */
const char * const char *
output_movb (operands, insn, which_alternative, reverse_comparison) output_movb (rtx *operands, rtx insn, int which_alternative,
rtx *operands; int reverse_comparison)
rtx insn;
int which_alternative;
int reverse_comparison;
{ {
/* A conditional branch to the following instruction (eg the delay slot) is /* A conditional branch to the following instruction (eg the delay slot) is
...@@ -6471,8 +6295,7 @@ output_movb (operands, insn, which_alternative, reverse_comparison) ...@@ -6471,8 +6295,7 @@ output_movb (operands, insn, which_alternative, reverse_comparison)
/* Copy any FP arguments in INSN into integer registers. */ /* Copy any FP arguments in INSN into integer registers. */
static void static void
copy_fp_args (insn) copy_fp_args (rtx insn)
rtx insn;
{ {
rtx link; rtx link;
rtx xoperands[2]; rtx xoperands[2];
...@@ -6515,8 +6338,7 @@ copy_fp_args (insn) ...@@ -6515,8 +6338,7 @@ copy_fp_args (insn)
/* Compute length of the FP argument copy sequence for INSN. */ /* Compute length of the FP argument copy sequence for INSN. */
static int static int
length_fp_args (insn) length_fp_args (rtx insn)
rtx insn;
{ {
int length = 0; int length = 0;
rtx link; rtx link;
...@@ -6553,8 +6375,7 @@ length_fp_args (insn) ...@@ -6553,8 +6375,7 @@ length_fp_args (insn)
over estimate the length than to under estimate it. */ over estimate the length than to under estimate it. */
int int
attr_length_millicode_call (insn) attr_length_millicode_call (rtx insn)
rtx insn;
{ {
unsigned long distance = -1; unsigned long distance = -1;
unsigned long total = IN_NAMED_SECTION_P (cfun->decl) ? 0 : total_code_bytes; unsigned long total = IN_NAMED_SECTION_P (cfun->decl) ? 0 : total_code_bytes;
...@@ -6593,9 +6414,7 @@ attr_length_millicode_call (insn) ...@@ -6593,9 +6414,7 @@ attr_length_millicode_call (insn)
CALL_DEST is the routine we are calling. */ CALL_DEST is the routine we are calling. */
const char * const char *
output_millicode_call (insn, call_dest) output_millicode_call (rtx insn, rtx call_dest)
rtx insn;
rtx call_dest;
{ {
int attr_length = get_attr_length (insn); int attr_length = get_attr_length (insn);
int seq_length = dbr_sequence_length (); int seq_length = dbr_sequence_length ();
...@@ -6756,9 +6575,7 @@ output_millicode_call (insn, call_dest) ...@@ -6756,9 +6575,7 @@ output_millicode_call (insn, call_dest)
these sequences. */ these sequences. */
int int
attr_length_call (insn, sibcall) attr_length_call (rtx insn, int sibcall)
rtx insn;
int sibcall;
{ {
int local_call; int local_call;
rtx call_dest; rtx call_dest;
...@@ -6841,10 +6658,7 @@ attr_length_call (insn, sibcall) ...@@ -6841,10 +6658,7 @@ attr_length_call (insn, sibcall)
CALL_DEST is the routine we are calling. */ CALL_DEST is the routine we are calling. */
const char * const char *
output_call (insn, call_dest, sibcall) output_call (rtx insn, rtx call_dest, int sibcall)
rtx insn;
rtx call_dest;
int sibcall;
{ {
int delay_insn_deleted = 0; int delay_insn_deleted = 0;
int delay_slot_filled = 0; int delay_slot_filled = 0;
...@@ -7137,8 +6951,7 @@ output_call (insn, call_dest, sibcall) ...@@ -7137,8 +6951,7 @@ output_call (insn, call_dest, sibcall)
the sequence itself. */ the sequence itself. */
int int
attr_length_indirect_call (insn) attr_length_indirect_call (rtx insn)
rtx insn;
{ {
unsigned long distance = -1; unsigned long distance = -1;
unsigned long total = IN_NAMED_SECTION_P (cfun->decl) ? 0 : total_code_bytes; unsigned long total = IN_NAMED_SECTION_P (cfun->decl) ? 0 : total_code_bytes;
...@@ -7169,9 +6982,7 @@ attr_length_indirect_call (insn) ...@@ -7169,9 +6982,7 @@ attr_length_indirect_call (insn)
} }
const char * const char *
output_indirect_call (insn, call_dest) output_indirect_call (rtx insn, rtx call_dest)
rtx insn;
rtx call_dest;
{ {
rtx xoperands[1]; rtx xoperands[1];
...@@ -7233,8 +7044,7 @@ output_indirect_call (insn, call_dest) ...@@ -7233,8 +7044,7 @@ output_indirect_call (insn, call_dest)
within the same translation unit. */ within the same translation unit. */
int int
attr_length_save_restore_dltp (insn) attr_length_save_restore_dltp (rtx insn)
rtx insn;
{ {
if (find_reg_note (insn, REG_NORETURN, NULL_RTX)) if (find_reg_note (insn, REG_NORETURN, NULL_RTX))
return 0; return 0;
...@@ -7248,8 +7058,7 @@ attr_length_save_restore_dltp (insn) ...@@ -7248,8 +7058,7 @@ attr_length_save_restore_dltp (insn)
space), and special magic is needed to construct their address. */ space), and special magic is needed to construct their address. */
void void
hppa_encode_label (sym) hppa_encode_label (rtx sym)
rtx sym;
{ {
const char *str = XSTR (sym, 0); const char *str = XSTR (sym, 0);
int len = strlen (str) + 1; int len = strlen (str) + 1;
...@@ -7263,10 +7072,7 @@ hppa_encode_label (sym) ...@@ -7263,10 +7072,7 @@ hppa_encode_label (sym)
} }
static void static void
pa_encode_section_info (decl, rtl, first) pa_encode_section_info (tree decl, rtx rtl, int first)
tree decl;
rtx rtl;
int first;
{ {
if (first && TEXT_SPACE_P (decl)) if (first && TEXT_SPACE_P (decl))
{ {
...@@ -7279,8 +7085,7 @@ pa_encode_section_info (decl, rtl, first) ...@@ -7279,8 +7085,7 @@ pa_encode_section_info (decl, rtl, first)
/* This is sort of inverse to pa_encode_section_info. */ /* This is sort of inverse to pa_encode_section_info. */
static const char * static const char *
pa_strip_name_encoding (str) pa_strip_name_encoding (const char *str)
const char *str;
{ {
str += (*str == '@'); str += (*str == '@');
str += (*str == '*'); str += (*str == '*');
...@@ -7288,9 +7093,7 @@ pa_strip_name_encoding (str) ...@@ -7288,9 +7093,7 @@ pa_strip_name_encoding (str)
} }
int int
function_label_operand (op, mode) function_label_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return GET_CODE (op) == SYMBOL_REF && FUNCTION_NAME_P (XSTR (op, 0)); return GET_CODE (op) == SYMBOL_REF && FUNCTION_NAME_P (XSTR (op, 0));
} }
...@@ -7299,8 +7102,7 @@ function_label_operand (op, mode) ...@@ -7299,8 +7102,7 @@ function_label_operand (op, mode)
with a constant. Used to keep certain patterns from matching with a constant. Used to keep certain patterns from matching
during instruction combination. */ during instruction combination. */
int int
is_function_label_plus_const (op) is_function_label_plus_const (rtx op)
rtx op;
{ {
/* Strip off any CONST. */ /* Strip off any CONST. */
if (GET_CODE (op) == CONST) if (GET_CODE (op) == CONST)
...@@ -7314,12 +7116,9 @@ is_function_label_plus_const (op) ...@@ -7314,12 +7116,9 @@ is_function_label_plus_const (op)
/* Output assembly code for a thunk to FUNCTION. */ /* Output assembly code for a thunk to FUNCTION. */
static void static void
pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function) pa_asm_output_mi_thunk (FILE *file, tree thunk_fndecl, HOST_WIDE_INT delta,
FILE *file; HOST_WIDE_INT vcall_offset ATTRIBUTE_UNUSED,
tree thunk_fndecl; tree function)
HOST_WIDE_INT delta;
HOST_WIDE_INT vcall_offset ATTRIBUTE_UNUSED;
tree function;
{ {
const char *fname = XSTR (XEXP (DECL_RTL (function), 0), 0); const char *fname = XSTR (XEXP (DECL_RTL (function), 0), 0);
const char *tname = XSTR (XEXP (DECL_RTL (thunk_fndecl), 0), 0); const char *tname = XSTR (XEXP (DECL_RTL (thunk_fndecl), 0), 0);
...@@ -7580,9 +7379,7 @@ pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function) ...@@ -7580,9 +7379,7 @@ pa_asm_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function)
It is safe to perform a sibcall optimization when the target function It is safe to perform a sibcall optimization when the target function
will never return. */ will never return. */
static bool static bool
pa_function_ok_for_sibcall (decl, exp) pa_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
tree decl;
tree exp ATTRIBUTE_UNUSED;
{ {
/* Sibcalls are ok for TARGET_ELF32 as along as the linker is used in /* Sibcalls are ok for TARGET_ELF32 as along as the linker is used in
single subspace mode and the call is not indirect. As far as I know, single subspace mode and the call is not indirect. As far as I know,
...@@ -7609,8 +7406,7 @@ pa_function_ok_for_sibcall (decl, exp) ...@@ -7609,8 +7406,7 @@ pa_function_ok_for_sibcall (decl, exp)
/* Returns 1 if the 6 operands specified in OPERANDS are suitable for /* Returns 1 if the 6 operands specified in OPERANDS are suitable for
use in fmpyadd instructions. */ use in fmpyadd instructions. */
int int
fmpyaddoperands (operands) fmpyaddoperands (rtx *operands)
rtx *operands;
{ {
enum machine_mode mode = GET_MODE (operands[0]); enum machine_mode mode = GET_MODE (operands[0]);
...@@ -7667,9 +7463,7 @@ fmpyaddoperands (operands) ...@@ -7667,9 +7463,7 @@ fmpyaddoperands (operands)
#if !defined(USE_COLLECT2) #if !defined(USE_COLLECT2)
static void static void
pa_asm_out_constructor (symbol, priority) pa_asm_out_constructor (rtx symbol, int priority)
rtx symbol;
int priority;
{ {
if (!function_label_operand (symbol, VOIDmode)) if (!function_label_operand (symbol, VOIDmode))
hppa_encode_label (symbol); hppa_encode_label (symbol);
...@@ -7686,9 +7480,7 @@ pa_asm_out_constructor (symbol, priority) ...@@ -7686,9 +7480,7 @@ pa_asm_out_constructor (symbol, priority)
} }
static void static void
pa_asm_out_destructor (symbol, priority) pa_asm_out_destructor (rtx symbol, int priority)
rtx symbol;
int priority;
{ {
if (!function_label_operand (symbol, VOIDmode)) if (!function_label_operand (symbol, VOIDmode))
hppa_encode_label (symbol); hppa_encode_label (symbol);
...@@ -7708,8 +7500,7 @@ pa_asm_out_destructor (symbol, priority) ...@@ -7708,8 +7500,7 @@ pa_asm_out_destructor (symbol, priority)
/* Returns 1 if the 6 operands specified in OPERANDS are suitable for /* Returns 1 if the 6 operands specified in OPERANDS are suitable for
use in fmpysub instructions. */ use in fmpysub instructions. */
int int
fmpysuboperands (operands) fmpysuboperands (rtx *operands)
rtx *operands;
{ {
enum machine_mode mode = GET_MODE (operands[0]); enum machine_mode mode = GET_MODE (operands[0]);
...@@ -7763,9 +7554,7 @@ fmpysuboperands (operands) ...@@ -7763,9 +7554,7 @@ fmpysuboperands (operands)
} }
int int
plus_xor_ior_operator (op, mode) plus_xor_ior_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == PLUS || GET_CODE (op) == XOR return (GET_CODE (op) == PLUS || GET_CODE (op) == XOR
|| GET_CODE (op) == IOR); || GET_CODE (op) == IOR);
...@@ -7774,8 +7563,7 @@ plus_xor_ior_operator (op, mode) ...@@ -7774,8 +7563,7 @@ plus_xor_ior_operator (op, mode)
/* Return 1 if the given constant is 2, 4, or 8. These are the valid /* Return 1 if the given constant is 2, 4, or 8. These are the valid
constants for shadd instructions. */ constants for shadd instructions. */
static int static int
shadd_constant_p (val) shadd_constant_p (int val)
int val;
{ {
if (val == 2 || val == 4 || val == 8) if (val == 2 || val == 4 || val == 8)
return 1; return 1;
...@@ -7786,9 +7574,7 @@ shadd_constant_p (val) ...@@ -7786,9 +7574,7 @@ shadd_constant_p (val)
/* Return 1 if OP is a CONST_INT with the value 2, 4, or 8. These are /* Return 1 if OP is a CONST_INT with the value 2, 4, or 8. These are
the valid constant for shadd instructions. */ the valid constant for shadd instructions. */
int int
shadd_operand (op, mode) shadd_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == CONST_INT && shadd_constant_p (INTVAL (op))); return (GET_CODE (op) == CONST_INT && shadd_constant_p (INTVAL (op)));
} }
...@@ -7796,9 +7582,7 @@ shadd_operand (op, mode) ...@@ -7796,9 +7582,7 @@ shadd_operand (op, mode)
/* Return 1 if OP is valid as a base register in a reg + reg address. */ /* Return 1 if OP is valid as a base register in a reg + reg address. */
int int
basereg_operand (op, mode) basereg_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
/* cse will create some unscaled indexed addresses, however; it /* cse will create some unscaled indexed addresses, however; it
generally isn't a win on the PA, so avoid creating unscaled generally isn't a win on the PA, so avoid creating unscaled
...@@ -7826,9 +7610,7 @@ basereg_operand (op, mode) ...@@ -7826,9 +7610,7 @@ basereg_operand (op, mode)
/* Return 1 if this operand is anything other than a hard register. */ /* Return 1 if this operand is anything other than a hard register. */
int int
non_hard_reg_operand (op, mode) non_hard_reg_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return ! (GET_CODE (op) == REG && REGNO (op) < FIRST_PSEUDO_REGISTER); return ! (GET_CODE (op) == REG && REGNO (op) < FIRST_PSEUDO_REGISTER);
} }
...@@ -7836,8 +7618,7 @@ non_hard_reg_operand (op, mode) ...@@ -7836,8 +7618,7 @@ non_hard_reg_operand (op, mode)
/* Return 1 if INSN branches forward. Should be using insn_addresses /* Return 1 if INSN branches forward. Should be using insn_addresses
to avoid walking through all the insns... */ to avoid walking through all the insns... */
static int static int
forward_branch_p (insn) forward_branch_p (rtx insn)
rtx insn;
{ {
rtx label = JUMP_LABEL (insn); rtx label = JUMP_LABEL (insn);
...@@ -7854,18 +7635,14 @@ forward_branch_p (insn) ...@@ -7854,18 +7635,14 @@ forward_branch_p (insn)
/* Return 1 if OP is an equality comparison, else return 0. */ /* Return 1 if OP is an equality comparison, else return 0. */
int int
eq_neq_comparison_operator (op, mode) eq_neq_comparison_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == EQ || GET_CODE (op) == NE); return (GET_CODE (op) == EQ || GET_CODE (op) == NE);
} }
/* Return 1 if OP is an operator suitable for use in a movb instruction. */ /* Return 1 if OP is an operator suitable for use in a movb instruction. */
int int
movb_comparison_operator (op, mode) movb_comparison_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == EQ || GET_CODE (op) == NE return (GET_CODE (op) == EQ || GET_CODE (op) == NE
|| GET_CODE (op) == LT || GET_CODE (op) == GE); || GET_CODE (op) == LT || GET_CODE (op) == GE);
...@@ -7873,8 +7650,7 @@ movb_comparison_operator (op, mode) ...@@ -7873,8 +7650,7 @@ movb_comparison_operator (op, mode)
/* Return 1 if INSN is in the delay slot of a call instruction. */ /* Return 1 if INSN is in the delay slot of a call instruction. */
int int
jump_in_call_delay (insn) jump_in_call_delay (rtx insn)
rtx insn;
{ {
if (GET_CODE (insn) != JUMP_INSN) if (GET_CODE (insn) != JUMP_INSN)
...@@ -7897,9 +7673,7 @@ jump_in_call_delay (insn) ...@@ -7897,9 +7673,7 @@ jump_in_call_delay (insn)
/* Output an unconditional move and branch insn. */ /* Output an unconditional move and branch insn. */
const char * const char *
output_parallel_movb (operands, length) output_parallel_movb (rtx *operands, int length)
rtx *operands;
int length;
{ {
/* These are the cases in which we win. */ /* These are the cases in which we win. */
if (length == 4) if (length == 4)
...@@ -7928,9 +7702,7 @@ output_parallel_movb (operands, length) ...@@ -7928,9 +7702,7 @@ output_parallel_movb (operands, length)
/* Output an unconditional add and branch insn. */ /* Output an unconditional add and branch insn. */
const char * const char *
output_parallel_addb (operands, length) output_parallel_addb (rtx *operands, int length)
rtx *operands;
int length;
{ {
/* To make life easy we want operand0 to be the shared input/output /* To make life easy we want operand0 to be the shared input/output
operand and operand1 to be the readonly operand. */ operand and operand1 to be the readonly operand. */
...@@ -7961,8 +7733,7 @@ output_parallel_addb (operands, length) ...@@ -7961,8 +7733,7 @@ output_parallel_addb (operands, length)
the delay slot of the call. */ the delay slot of the call. */
int int
following_call (insn) following_call (rtx insn)
rtx insn;
{ {
if (! TARGET_JUMP_IN_DELAY) if (! TARGET_JUMP_IN_DELAY)
return 0; return 0;
...@@ -8020,7 +7791,7 @@ following_call (insn) ...@@ -8020,7 +7791,7 @@ following_call (insn)
when using GAS (allows for better link time optimizations). */ when using GAS (allows for better link time optimizations). */
static void static void
pa_reorg () pa_reorg (void)
{ {
rtx insn; rtx insn;
...@@ -8191,7 +7962,7 @@ pa_reorg () ...@@ -8191,7 +7962,7 @@ pa_reorg ()
branch length restrictions. */ branch length restrictions. */
static void static void
pa_combine_instructions () pa_combine_instructions (void)
{ {
rtx anchor, new; rtx anchor, new;
...@@ -8387,10 +8158,8 @@ pa_combine_instructions () ...@@ -8387,10 +8158,8 @@ pa_combine_instructions ()
} }
static int static int
pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2) pa_can_combine_p (rtx new, rtx anchor, rtx floater, int reversed, rtx dest,
rtx new, anchor, floater; rtx src1, rtx src2)
int reversed;
rtx dest, src1, src2;
{ {
int insn_code_number; int insn_code_number;
rtx start, end; rtx start, end;
...@@ -8465,8 +8234,7 @@ pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2) ...@@ -8465,8 +8234,7 @@ pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2)
filter out things it will not accept -- SEQUENCE, USE and CLOBBER insns filter out things it will not accept -- SEQUENCE, USE and CLOBBER insns
in particular. */ in particular. */
int int
insn_refs_are_delayed (insn) insn_refs_are_delayed (rtx insn)
rtx insn;
{ {
return ((GET_CODE (insn) == INSN return ((GET_CODE (insn) == INSN
&& GET_CODE (PATTERN (insn)) != SEQUENCE && GET_CODE (PATTERN (insn)) != SEQUENCE
...@@ -8485,9 +8253,7 @@ insn_refs_are_delayed (insn) ...@@ -8485,9 +8253,7 @@ insn_refs_are_delayed (insn)
to match the HP Compiler ABI. */ to match the HP Compiler ABI. */
rtx rtx
function_value (valtype, func) function_value (tree valtype, tree func ATTRIBUTE_UNUSED)
tree valtype;
tree func ATTRIBUTE_UNUSED;
{ {
enum machine_mode valmode; enum machine_mode valmode;
...@@ -8535,11 +8301,8 @@ function_value (valtype, func) ...@@ -8535,11 +8301,8 @@ function_value (valtype, func)
??? We might want to restructure this so that it looks more like other ??? We might want to restructure this so that it looks more like other
ports. */ ports. */
rtx rtx
function_arg (cum, mode, type, named) function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type,
CUMULATIVE_ARGS *cum; int named ATTRIBUTE_UNUSED)
enum machine_mode mode;
tree type;
int named ATTRIBUTE_UNUSED;
{ {
int max_arg_words = (TARGET_64BIT ? 8 : 4); int max_arg_words = (TARGET_64BIT ? 8 : 4);
int alignment = 0; int alignment = 0;
...@@ -8738,11 +8501,8 @@ function_arg (cum, mode, type, named) ...@@ -8738,11 +8501,8 @@ function_arg (cum, mode, type, named)
then this routine should return zero. It is currently called only for then this routine should return zero. It is currently called only for
the 64-bit target. */ the 64-bit target. */
int int
function_arg_partial_nregs (cum, mode, type, named) function_arg_partial_nregs (CUMULATIVE_ARGS *cum, enum machine_mode mode,
CUMULATIVE_ARGS *cum; tree type, int named ATTRIBUTE_UNUSED)
enum machine_mode mode;
tree type;
int named ATTRIBUTE_UNUSED;
{ {
unsigned int max_arg_words = 8; unsigned int max_arg_words = 8;
unsigned int offset = 0; unsigned int offset = 0;
...@@ -8766,9 +8526,7 @@ function_arg_partial_nregs (cum, mode, type, named) ...@@ -8766,9 +8526,7 @@ function_arg_partial_nregs (cum, mode, type, named)
MATCH_OPERATOR to recognize all the branch insns. */ MATCH_OPERATOR to recognize all the branch insns. */
int int
cmpib_comparison_operator (op, mode) cmpib_comparison_operator (rtx op, enum machine_mode mode)
register rtx op;
enum machine_mode mode;
{ {
return ((mode == VOIDmode || GET_MODE (op) == mode) return ((mode == VOIDmode || GET_MODE (op) == mode)
&& (GET_CODE (op) == EQ && (GET_CODE (op) == EQ
...@@ -8809,9 +8567,7 @@ pa_select_section (exp, reloc, align) ...@@ -8809,9 +8567,7 @@ pa_select_section (exp, reloc, align)
} }
static void static void
pa_globalize_label (stream, name) pa_globalize_label (FILE *stream, const char *name)
FILE *stream;
const char *name;
{ {
/* We only handle DATA objects here, functions are globalized in /* We only handle DATA objects here, functions are globalized in
ASM_DECLARE_FUNCTION_NAME. */ ASM_DECLARE_FUNCTION_NAME. */
......
...@@ -5,20 +5,20 @@ ...@@ -5,20 +5,20 @@
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
Software Science at the University of Utah. Software Science at the University of Utah.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
...@@ -550,7 +550,7 @@ do { \ ...@@ -550,7 +550,7 @@ do { \
/* Function to return the rtx used to save the pic offset table register /* Function to return the rtx used to save the pic offset table register
across function calls. */ across function calls. */
extern struct rtx_def *hppa_pic_save_rtx PARAMS ((void)); extern struct rtx_def *hppa_pic_save_rtx (void);
#define DEFAULT_PCC_STRUCT_RETURN 0 #define DEFAULT_PCC_STRUCT_RETURN 0
...@@ -962,7 +962,7 @@ extern enum cmp_type hppa_branch_type; ...@@ -962,7 +962,7 @@ extern enum cmp_type hppa_branch_type;
(*targetm.asm_out.internal_label) (FILE, FUNC_BEGIN_PROLOG_LABEL, LABEL) (*targetm.asm_out.internal_label) (FILE, FUNC_BEGIN_PROLOG_LABEL, LABEL)
#define PROFILE_HOOK(label_no) hppa_profile_hook (label_no) #define PROFILE_HOOK(label_no) hppa_profile_hook (label_no)
void hppa_profile_hook PARAMS ((int label_no)); void hppa_profile_hook (int label_no);
/* The profile counter if emitted must come before the prologue. */ /* The profile counter if emitted must come before the prologue. */
#define PROFILE_BEFORE_PROLOGUE 1 #define PROFILE_BEFORE_PROLOGUE 1
......
;;- Machine description for HP PA-RISC architecture for GNU C compiler ;;- Machine description for HP PA-RISC architecture for GCC compiler
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
;; 2002, 2003 Free Software Foundation, Inc. ;; 2002, 2003 Free Software Foundation, Inc.
;; Contributed by the Center for Software Science at the University ;; Contributed by the Center for Software Science at the University
;; of Utah. ;; of Utah.
;; This file is part of GNU CC. ;; This file is part of GCC.
;; GNU CC is free software; you can redistribute it and/or modify ;; GCC is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option) ;; the Free Software Foundation; either version 2, or (at your option)
;; any later version. ;; any later version.
;; GNU CC is distributed in the hope that it will be useful, ;; GCC is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details. ;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU CC; see the file COPYING. If not, write to ;; along with GCC; see the file COPYING. If not, write to
;; the Free Software Foundation, 59 Temple Place - Suite 330, ;; the Free Software Foundation, 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA. ;; Boston, MA 02111-1307, USA.
......
/* Definitions for PA_RISC with ELF-32 format /* Definitions for PA_RISC with ELF-32 format
Copyright (C) 2000, 2002 Free Software Foundation, Inc. Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
...@@ -2,20 +2,20 @@ ...@@ -2,20 +2,20 @@
HPUX using the 64bit runtime model. HPUX using the 64bit runtime model.
Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions for PA_RISC with ELF format on 64-bit Linux /* Definitions for PA_RISC with ELF format on 64-bit Linux
Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Configuration for GNU C-compiler for PA-RISC. /* Configuration for GCC-compiler for PA-RISC.
Copyright (C) 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Subroutines for long double support. /* Subroutines for long double support.
Copyright (C) 2000, 2002 Free Software Foundation, Inc. Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
...@@ -17,13 +17,13 @@ do apply in other respects; for example, they cover modification of ...@@ -17,13 +17,13 @@ do apply in other respects; for example, they cover modification of
the file, and distribution when not linked into a combine the file, and distribution when not linked into a combine
executable.) executable.)
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
...@@ -2,20 +2,20 @@ ...@@ -2,20 +2,20 @@
Copyright (C) 1997, 2000, 2002, 2003 Free Software Foundation, Inc. Copyright (C) 1997, 2000, 2002, 2003 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com). Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
......
/* Definitions for SOM assembler support. /* Definitions for SOM assembler support.
Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc. Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GCC.
GNU CC is free software; you can redistribute it and/or modify GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
GNU CC is distributed in the hope that it will be useful, GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
...@@ -232,7 +232,7 @@ do { \ ...@@ -232,7 +232,7 @@ do { \
#define EXTRA_SECTIONS in_readonly_data #define EXTRA_SECTIONS in_readonly_data
#define EXTRA_SECTION_FUNCTIONS \ #define EXTRA_SECTION_FUNCTIONS \
extern void readonly_data PARAMS ((void)); \ extern void readonly_data (void); \
void \ void \
readonly_data () \ readonly_data () \
{ \ { \
......
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