Commit cb713a8d by Kazu Hirata Committed by Kazu Hirata

h8300-protos.h: Update to ISO C.

	* config/h8300/h8300-protos.h: Update to ISO C.
	* config/h8300/h8300.c: Likewise.
	* config/h8300/h8300.h: Likewise.
	* config/h8300/h8300.md: Likewise.

From-SVN: r68121
parent 019bb98e
2003-06-17 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300-protos.h: Update to ISO C.
* config/h8300/h8300.c: Likewise.
* config/h8300/h8300.h: Likewise.
* config/h8300/h8300.md: Likewise.
2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org> 2003-06-16 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Replace BUILD_CC references with CC_FOR_BUILD. * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
......
...@@ -26,79 +26,79 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,79 +26,79 @@ Boston, MA 02111-1307, USA. */
/* Declarations for functions used in insn-output.c. */ /* Declarations for functions used in insn-output.c. */
#ifdef RTX_CODE #ifdef RTX_CODE
extern const char *output_plussi PARAMS ((rtx *)); extern const char *output_plussi (rtx *);
extern unsigned int compute_plussi_length PARAMS ((rtx *)); extern unsigned int compute_plussi_length (rtx *);
extern int compute_plussi_cc PARAMS ((rtx *)); extern int compute_plussi_cc (rtx *);
extern const char *output_a_shift PARAMS ((rtx *)); extern const char *output_a_shift (rtx *);
extern unsigned int compute_a_shift_length PARAMS ((rtx, rtx *)); extern unsigned int compute_a_shift_length (rtx, rtx *);
extern int compute_a_shift_cc PARAMS ((rtx, rtx *)); extern int compute_a_shift_cc (rtx, rtx *);
extern const char *emit_a_rotate PARAMS ((enum rtx_code, rtx *)); extern const char *emit_a_rotate (enum rtx_code, rtx *);
extern const char *output_simode_bld PARAMS ((int, rtx[])); extern const char *output_simode_bld (int, rtx[]);
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);
extern void final_prescan_insn PARAMS ((rtx, rtx *, int)); extern void final_prescan_insn (rtx, rtx *, int);
extern int do_movsi PARAMS ((rtx[])); extern int do_movsi (rtx[]);
extern void notice_update_cc PARAMS ((rtx, rtx)); extern void notice_update_cc (rtx, rtx);
extern const char *output_logical_op PARAMS ((enum machine_mode, rtx *)); extern const char *output_logical_op (enum machine_mode, rtx *);
extern unsigned int compute_logical_op_length PARAMS ((enum machine_mode, extern unsigned int compute_logical_op_length (enum machine_mode,
rtx *)); rtx *);
extern int compute_logical_op_cc PARAMS ((enum machine_mode, rtx *)); extern int compute_logical_op_cc (enum machine_mode, rtx *);
extern void expand_a_shift PARAMS ((enum machine_mode, int, rtx[])); extern void expand_a_shift (enum machine_mode, int, rtx[]);
extern int h8300_shift_needs_scratch_p PARAMS ((int, enum machine_mode)); extern int h8300_shift_needs_scratch_p (int, enum machine_mode);
extern int expand_a_rotate PARAMS ((enum rtx_code, rtx[])); extern int expand_a_rotate (enum rtx_code, rtx[]);
extern int fix_bit_operand PARAMS ((rtx *, int, enum rtx_code)); extern int fix_bit_operand (rtx *, int, enum rtx_code);
extern int h8300_adjust_insn_length PARAMS ((rtx, int)); extern int h8300_adjust_insn_length (rtx, int);
extern void split_adds_subs PARAMS ((enum machine_mode, rtx[])); extern void split_adds_subs (enum machine_mode, rtx[]);
extern int general_operand_src PARAMS ((rtx, enum machine_mode)); extern int general_operand_src (rtx, enum machine_mode);
extern int general_operand_dst PARAMS ((rtx, enum machine_mode)); extern int general_operand_dst (rtx, enum machine_mode);
extern int single_one_operand PARAMS ((rtx, enum machine_mode)); extern int single_one_operand (rtx, enum machine_mode);
extern int single_zero_operand PARAMS ((rtx, enum machine_mode)); extern int single_zero_operand (rtx, enum machine_mode);
extern int call_insn_operand PARAMS ((rtx, enum machine_mode)); extern int call_insn_operand (rtx, enum machine_mode);
extern int two_insn_adds_subs_operand PARAMS ((rtx, enum machine_mode)); extern int two_insn_adds_subs_operand (rtx, enum machine_mode);
extern int small_call_insn_operand PARAMS ((rtx, enum machine_mode)); extern int small_call_insn_operand (rtx, enum machine_mode);
extern int jump_address_operand PARAMS ((rtx, enum machine_mode)); extern int jump_address_operand (rtx, enum machine_mode);
extern int bit_operand PARAMS ((rtx, enum machine_mode)); extern int bit_operand (rtx, enum machine_mode);
extern int bit_memory_operand PARAMS ((rtx, enum machine_mode)); extern int bit_memory_operand (rtx, enum machine_mode);
extern int stack_pointer_operand PARAMS ((rtx, enum machine_mode)); extern int stack_pointer_operand (rtx, enum machine_mode);
extern int const_int_gt_2_operand PARAMS ((rtx, enum machine_mode)); extern int const_int_gt_2_operand (rtx, enum machine_mode);
extern int const_int_ge_8_operand PARAMS ((rtx, enum machine_mode)); extern int const_int_ge_8_operand (rtx, enum machine_mode);
extern int const_int_qi_operand PARAMS ((rtx, enum machine_mode)); extern int const_int_qi_operand (rtx, enum machine_mode);
extern int const_int_hi_operand PARAMS ((rtx, enum machine_mode)); extern int const_int_hi_operand (rtx, enum machine_mode);
extern int incdec_operand PARAMS ((rtx, enum machine_mode)); extern int incdec_operand (rtx, enum machine_mode);
extern int bit_operator PARAMS ((rtx, enum machine_mode)); extern int bit_operator (rtx, enum machine_mode);
extern int nshift_operator PARAMS ((rtx, enum machine_mode)); extern int nshift_operator (rtx, enum machine_mode);
extern int eqne_operator PARAMS ((rtx, enum machine_mode)); extern int eqne_operator (rtx, enum machine_mode);
extern int gtle_operator PARAMS ((rtx, enum machine_mode)); extern int gtle_operator (rtx, enum machine_mode);
extern int gtuleu_operator PARAMS ((rtx, enum machine_mode)); extern int gtuleu_operator (rtx, enum machine_mode);
extern int iorxor_operator PARAMS ((rtx, enum machine_mode)); extern int iorxor_operator (rtx, enum machine_mode);
extern int h8300_eightbit_constant_address_p PARAMS ((rtx)); extern int h8300_eightbit_constant_address_p (rtx);
extern int h8300_tiny_constant_address_p PARAMS ((rtx)); extern int h8300_tiny_constant_address_p (rtx);
extern int byte_accesses_mergeable_p PARAMS ((rtx, rtx)); extern int byte_accesses_mergeable_p (rtx, rtx);
/* Used in builtins.c */ /* Used in builtins.c */
extern rtx h8300_return_addr_rtx PARAMS ((int, rtx)); extern rtx h8300_return_addr_rtx (int, rtx);
#endif /* RTX_CODE */ #endif /* RTX_CODE */
#ifdef TREE_CODE #ifdef TREE_CODE
extern struct rtx_def *function_arg PARAMS ((CUMULATIVE_ARGS *, extern struct rtx_def *function_arg (CUMULATIVE_ARGS *,
enum machine_mode, tree, int)); enum machine_mode, tree, int);
extern int h8300_funcvec_function_p PARAMS ((tree)); extern int h8300_funcvec_function_p (tree);
extern int h8300_eightbit_data_p PARAMS ((tree)); extern int h8300_eightbit_data_p (tree);
extern int h8300_tiny_data_p PARAMS ((tree)); extern int h8300_tiny_data_p (tree);
#endif /* TREE_CODE */ #endif /* TREE_CODE */
extern void h8300_init_once PARAMS ((void)); extern void h8300_init_once (void);
extern int h8300_can_use_return_insn_p PARAMS ((void)); extern int h8300_can_use_return_insn_p (void);
extern void h8300_expand_prologue PARAMS ((void)); extern void h8300_expand_prologue (void);
extern void h8300_expand_epilogue PARAMS ((void)); extern void h8300_expand_epilogue (void);
extern int h8300_current_function_interrupt_function_p PARAMS ((void)); extern int h8300_current_function_interrupt_function_p (void);
extern void asm_file_start PARAMS ((FILE *)); extern void asm_file_start (FILE *);
extern int h8300_initial_elimination_offset PARAMS ((int, int)); extern int h8300_initial_elimination_offset (int, int);
struct cpp_reader; struct cpp_reader;
extern void h8300_pr_interrupt PARAMS ((struct cpp_reader *)); extern void h8300_pr_interrupt (struct cpp_reader *);
extern void h8300_pr_saveall PARAMS ((struct cpp_reader *)); extern void h8300_pr_saveall (struct cpp_reader *);
#endif /* ! GCC_H8300_PROTOS_H */ #endif /* ! GCC_H8300_PROTOS_H */
...@@ -46,31 +46,31 @@ Boston, MA 02111-1307, USA. */ ...@@ -46,31 +46,31 @@ Boston, MA 02111-1307, USA. */
#include "target-def.h" #include "target-def.h"
/* Forward declarations. */ /* Forward declarations. */
static const char *byte_reg PARAMS ((rtx, int)); static const char *byte_reg (rtx, int);
static int h8300_interrupt_function_p PARAMS ((tree)); static int h8300_interrupt_function_p (tree);
static int h8300_monitor_function_p PARAMS ((tree)); static int h8300_monitor_function_p (tree);
static int h8300_os_task_function_p PARAMS ((tree)); static int h8300_os_task_function_p (tree);
static void dosize PARAMS ((int, unsigned int)); static void dosize (int, unsigned int);
static int round_frame_size PARAMS ((int)); static int round_frame_size (int);
static unsigned int compute_saved_regs PARAMS ((void)); static unsigned int compute_saved_regs (void);
static void push PARAMS ((int)); static void push (int);
static void pop PARAMS ((int)); static void pop (int);
static const char *cond_string PARAMS ((enum rtx_code)); static const char *cond_string (enum rtx_code);
static unsigned int h8300_asm_insn_count PARAMS ((const char *)); static unsigned int h8300_asm_insn_count (const char *);
const struct attribute_spec h8300_attribute_table[]; const struct attribute_spec h8300_attribute_table[];
static tree h8300_handle_fndecl_attribute PARAMS ((tree *, tree, tree, int, bool *)); static tree h8300_handle_fndecl_attribute (tree *, tree, tree, int, bool *);
static tree h8300_handle_eightbit_data_attribute PARAMS ((tree *, tree, tree, int, bool *)); static tree h8300_handle_eightbit_data_attribute (tree *, tree, tree, int, bool *);
static tree h8300_handle_tiny_data_attribute PARAMS ((tree *, tree, tree, int, bool *)); static tree h8300_handle_tiny_data_attribute (tree *, tree, tree, int, bool *);
static void h8300_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT)); static void h8300_output_function_epilogue (FILE *, HOST_WIDE_INT);
static void h8300_insert_attributes PARAMS ((tree, tree *)); static void h8300_insert_attributes (tree, tree *);
static void h8300_file_end PARAMS ((void)); static void h8300_file_end (void);
#ifndef OBJECT_FORMAT_ELF #ifndef OBJECT_FORMAT_ELF
static void h8300_asm_named_section PARAMS ((const char *, unsigned int)); static void h8300_asm_named_section (const char *, unsigned int);
#endif #endif
static void h8300_encode_section_info PARAMS ((tree, rtx, int)); static void h8300_encode_section_info (tree, rtx, int);
static int h8300_and_costs PARAMS ((rtx)); static int h8300_and_costs (rtx);
static int h8300_shift_costs PARAMS ((rtx)); static int h8300_shift_costs (rtx);
static bool h8300_rtx_costs PARAMS ((rtx, int, int, int *)); static bool h8300_rtx_costs (rtx, int, int, int *);
/* CPU_TYPE, says what cpu we're compiling for. */ /* CPU_TYPE, says what cpu we're compiling for. */
int cpu_type; int cpu_type;
...@@ -290,7 +290,7 @@ enum h8_cpu ...@@ -290,7 +290,7 @@ enum h8_cpu
/* Initialize various cpu specific globals at start up. */ /* Initialize various cpu specific globals at start up. */
void void
h8300_init_once () h8300_init_once (void)
{ {
static const char *const h8_push_ops[2] = { "push" , "push.l" }; static const char *const h8_push_ops[2] = { "push" , "push.l" };
static const char *const h8_pop_ops[2] = { "pop" , "pop.l" }; static const char *const h8_pop_ops[2] = { "pop" , "pop.l" };
...@@ -359,9 +359,7 @@ h8300_init_once () ...@@ -359,9 +359,7 @@ h8300_init_once ()
} }
static const char * static const char *
byte_reg (x, b) byte_reg (rtx x, int b)
rtx x;
int b;
{ {
static const char *const names_small[] = { static const char *const names_small[] = {
"r0l", "r0h", "r1l", "r1h", "r2l", "r2h", "r3l", "r3h", "r0l", "r0h", "r1l", "r1h", "r2l", "r2h", "r3l", "r3h",
...@@ -427,8 +425,7 @@ dosize (sign, size) ...@@ -427,8 +425,7 @@ dosize (sign, size)
/* Round up frame size SIZE. */ /* Round up frame size SIZE. */
static int static int
round_frame_size (size) round_frame_size (int size)
int size;
{ {
return ((size + STACK_BOUNDARY / BITS_PER_UNIT - 1) return ((size + STACK_BOUNDARY / BITS_PER_UNIT - 1)
& -STACK_BOUNDARY / BITS_PER_UNIT); & -STACK_BOUNDARY / BITS_PER_UNIT);
...@@ -438,7 +435,7 @@ round_frame_size (size) ...@@ -438,7 +435,7 @@ round_frame_size (size)
Return a bit vector of registers. */ Return a bit vector of registers. */
static unsigned int static unsigned int
compute_saved_regs () compute_saved_regs (void)
{ {
unsigned int saved_regs = 0; unsigned int saved_regs = 0;
int regno; int regno;
...@@ -460,8 +457,7 @@ compute_saved_regs () ...@@ -460,8 +457,7 @@ compute_saved_regs ()
/* Emit an insn to push register RN. */ /* Emit an insn to push register RN. */
static void static void
push (rn) push (int rn)
int rn;
{ {
rtx reg = gen_rtx_REG (word_mode, rn); rtx reg = gen_rtx_REG (word_mode, rn);
rtx x; rtx x;
...@@ -477,8 +473,7 @@ push (rn) ...@@ -477,8 +473,7 @@ push (rn)
/* Emit an insn to pop register RN. */ /* Emit an insn to pop register RN. */
static void static void
pop (rn) pop (int rn)
int rn;
{ {
rtx reg = gen_rtx_REG (word_mode, rn); rtx reg = gen_rtx_REG (word_mode, rn);
rtx x; rtx x;
...@@ -512,7 +507,7 @@ pop (rn) ...@@ -512,7 +507,7 @@ pop (rn)
/* Generate RTL code for the function prologue. */ /* Generate RTL code for the function prologue. */
void void
h8300_expand_prologue () h8300_expand_prologue (void)
{ {
int regno; int regno;
int saved_regs; int saved_regs;
...@@ -590,7 +585,7 @@ h8300_expand_prologue () ...@@ -590,7 +585,7 @@ h8300_expand_prologue ()
} }
int int
h8300_can_use_return_insn_p () h8300_can_use_return_insn_p (void)
{ {
return (reload_completed return (reload_completed
&& !frame_pointer_needed && !frame_pointer_needed
...@@ -601,7 +596,7 @@ h8300_can_use_return_insn_p () ...@@ -601,7 +596,7 @@ h8300_can_use_return_insn_p ()
/* Generate RTL code for the function epilogue. */ /* Generate RTL code for the function epilogue. */
void void
h8300_expand_epilogue () h8300_expand_epilogue (void)
{ {
int regno; int regno;
int saved_regs; int saved_regs;
...@@ -672,9 +667,8 @@ h8300_expand_epilogue () ...@@ -672,9 +667,8 @@ h8300_expand_epilogue ()
/* Output assembly language code for the function epilogue. */ /* Output assembly language code for the function epilogue. */
static void static void
h8300_output_function_epilogue (file, size) h8300_output_function_epilogue (FILE *file ATTRIBUTE_UNUSED,
FILE *file ATTRIBUTE_UNUSED; HOST_WIDE_INT size ATTRIBUTE_UNUSED)
HOST_WIDE_INT size ATTRIBUTE_UNUSED;
{ {
pragma_saveall = 0; pragma_saveall = 0;
} }
...@@ -683,7 +677,7 @@ h8300_output_function_epilogue (file, size) ...@@ -683,7 +677,7 @@ h8300_output_function_epilogue (file, size)
function. */ function. */
int int
h8300_current_function_interrupt_function_p () h8300_current_function_interrupt_function_p (void)
{ {
return (h8300_interrupt_function_p (current_function_decl) return (h8300_interrupt_function_p (current_function_decl)
|| h8300_monitor_function_p (current_function_decl)); || h8300_monitor_function_p (current_function_decl));
...@@ -692,8 +686,7 @@ h8300_current_function_interrupt_function_p () ...@@ -692,8 +686,7 @@ h8300_current_function_interrupt_function_p ()
/* Output assembly code for the start of the file. */ /* Output assembly code for the start of the file. */
void void
asm_file_start (file) asm_file_start (FILE *file)
FILE *file;
{ {
fprintf (file, ";\tGCC For the Hitachi H8/300\n"); fprintf (file, ";\tGCC For the Hitachi H8/300\n");
fprintf (file, ";\tBy Hitachi America Ltd and Cygnus Support\n"); fprintf (file, ";\tBy Hitachi America Ltd and Cygnus Support\n");
...@@ -720,7 +713,7 @@ asm_file_start (file) ...@@ -720,7 +713,7 @@ asm_file_start (file)
/* Output assembly language code for the end of file. */ /* Output assembly language code for the end of file. */
static void static void
h8300_file_end () h8300_file_end (void)
{ {
fputs ("\t.end\n", asm_out_file); fputs ("\t.end\n", asm_out_file);
} }
...@@ -729,9 +722,7 @@ h8300_file_end () ...@@ -729,9 +722,7 @@ h8300_file_end ()
instruction. */ instruction. */
int int
general_operand_src (op, mode) general_operand_src (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (GET_MODE (op) == mode if (GET_MODE (op) == mode
&& GET_CODE (op) == MEM && GET_CODE (op) == MEM
...@@ -744,9 +735,7 @@ general_operand_src (op, mode) ...@@ -744,9 +735,7 @@ general_operand_src (op, mode)
instruction. */ instruction. */
int int
general_operand_dst (op, mode) general_operand_dst (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (GET_MODE (op) == mode if (GET_MODE (op) == mode
&& GET_CODE (op) == MEM && GET_CODE (op) == MEM
...@@ -759,9 +748,7 @@ general_operand_dst (op, mode) ...@@ -759,9 +748,7 @@ general_operand_dst (op, mode)
binary representation. */ binary representation. */
int int
single_one_operand (operand, mode) single_one_operand (rtx operand, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (operand) == CONST_INT) if (GET_CODE (operand) == CONST_INT)
{ {
...@@ -778,9 +765,7 @@ single_one_operand (operand, mode) ...@@ -778,9 +765,7 @@ single_one_operand (operand, mode)
binary representation. */ binary representation. */
int int
single_zero_operand (operand, mode) single_zero_operand (rtx operand, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx operand;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (operand) == CONST_INT) if (GET_CODE (operand) == CONST_INT)
{ {
...@@ -796,9 +781,7 @@ single_zero_operand (operand, mode) ...@@ -796,9 +781,7 @@ single_zero_operand (operand, mode)
/* Return true if OP is a valid call operand. */ /* Return true if OP is a valid call operand. */
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;
{ {
if (GET_CODE (op) == MEM) if (GET_CODE (op) == MEM)
{ {
...@@ -816,9 +799,7 @@ call_insn_operand (op, mode) ...@@ -816,9 +799,7 @@ call_insn_operand (op, mode)
straightforward way. Otherwise, return 0. */ straightforward way. Otherwise, return 0. */
int int
two_insn_adds_subs_operand (op, mode) two_insn_adds_subs_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (GET_CODE (op) == CONST_INT) if (GET_CODE (op) == CONST_INT)
{ {
...@@ -863,9 +844,7 @@ two_insn_adds_subs_operand (op, mode) ...@@ -863,9 +844,7 @@ two_insn_adds_subs_operand (op, mode)
instead of adds/subs. */ instead of adds/subs. */
void void
split_adds_subs (mode, operands) split_adds_subs (enum machine_mode mode, rtx *operands)
enum machine_mode mode;
rtx *operands;
{ {
HOST_WIDE_INT val = INTVAL (operands[1]); HOST_WIDE_INT val = INTVAL (operands[1]);
rtx reg = operands[0]; rtx reg = operands[0];
...@@ -911,9 +890,7 @@ split_adds_subs (mode, operands) ...@@ -911,9 +890,7 @@ split_adds_subs (mode, operands)
an operand for a small call (4 bytes instead of 6 bytes). */ an operand for a small call (4 bytes instead of 6 bytes). */
int int
small_call_insn_operand (op, mode) small_call_insn_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) == MEM) if (GET_CODE (op) == MEM)
{ {
...@@ -935,9 +912,7 @@ small_call_insn_operand (op, mode) ...@@ -935,9 +912,7 @@ small_call_insn_operand (op, mode)
/* Return true if OP is a valid jump operand. */ /* Return true if OP is a valid jump operand. */
int int
jump_address_operand (op, mode) jump_address_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
if (GET_CODE (op) == REG) if (GET_CODE (op) == REG)
return mode == Pmode; return mode == Pmode;
...@@ -958,9 +933,7 @@ jump_address_operand (op, mode) ...@@ -958,9 +933,7 @@ jump_address_operand (op, mode)
extern int rtx_equal_function_value_matters; extern int rtx_equal_function_value_matters;
int int
bit_operand (op, mode) bit_operand (rtx op, enum machine_mode mode)
rtx op;
enum machine_mode mode;
{ {
/* We can accept any general operand, except that MEM operands must /* We can accept any general operand, except that MEM operands must
be limited to those that use addresses valid for the 'U' constraint. */ be limited to those that use addresses valid for the 'U' constraint. */
...@@ -982,9 +955,7 @@ bit_operand (op, mode) ...@@ -982,9 +955,7 @@ bit_operand (op, mode)
} }
int int
bit_memory_operand (op, mode) bit_memory_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx op;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (op) == MEM return (GET_CODE (op) == MEM
&& EXTRA_CONSTRAINT (op, 'U')); && EXTRA_CONSTRAINT (op, 'U'));
...@@ -1001,15 +972,13 @@ bit_memory_operand (op, mode) ...@@ -1001,15 +972,13 @@ bit_memory_operand (op, mode)
with this attribute may be safely used in an interrupt vector. */ with this attribute may be safely used in an interrupt vector. */
void void
h8300_pr_interrupt (pfile) h8300_pr_interrupt (struct cpp_reader *pfile ATTRIBUTE_UNUSED)
struct cpp_reader *pfile ATTRIBUTE_UNUSED;
{ {
pragma_interrupt = 1; pragma_interrupt = 1;
} }
void void
h8300_pr_saveall (pfile) h8300_pr_saveall (struct cpp_reader *pfile ATTRIBUTE_UNUSED)
struct cpp_reader *pfile ATTRIBUTE_UNUSED;
{ {
pragma_saveall = 1; pragma_saveall = 1;
} }
...@@ -1020,11 +989,8 @@ h8300_pr_saveall (pfile) ...@@ -1020,11 +989,8 @@ h8300_pr_saveall (pfile)
If the argument is to be pushed, NULL_RTX is returned. */ If the argument is to be pushed, NULL_RTX is returned. */
rtx rtx
function_arg (cum, mode, type, named) function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
CUMULATIVE_ARGS *cum; tree type, int named)
enum machine_mode mode;
tree type;
int named;
{ {
static const char *const hand_list[] = { static const char *const hand_list[] = {
"__main", "__main",
...@@ -1090,8 +1056,7 @@ function_arg (cum, mode, type, named) ...@@ -1090,8 +1056,7 @@ function_arg (cum, mode, type, named)
} }
static int static int
h8300_and_costs (x) h8300_and_costs (rtx x)
rtx x;
{ {
rtx operands[4]; rtx operands[4];
...@@ -1110,8 +1075,7 @@ h8300_and_costs (x) ...@@ -1110,8 +1075,7 @@ h8300_and_costs (x)
} }
static int static int
h8300_shift_costs (x) h8300_shift_costs (rtx x)
rtx x;
{ {
rtx operands[4]; rtx operands[4];
...@@ -1128,10 +1092,7 @@ h8300_shift_costs (x) ...@@ -1128,10 +1092,7 @@ h8300_shift_costs (x)
} }
static bool static bool
h8300_rtx_costs (x, code, outer_code, total) h8300_rtx_costs (rtx x, int code, int outer_code, int *total)
rtx x;
int code, outer_code;
int *total;
{ {
switch (code) switch (code)
{ {
...@@ -1243,8 +1204,7 @@ h8300_rtx_costs (x, code, outer_code, total) ...@@ -1243,8 +1204,7 @@ h8300_rtx_costs (x, code, outer_code, total)
/* Return assembly language string which identifies a comparison type. */ /* Return assembly language string which identifies a comparison type. */
static const char * static const char *
cond_string (code) cond_string (enum rtx_code code)
enum rtx_code code;
{ {
switch (code) switch (code)
{ {
...@@ -1277,10 +1237,7 @@ cond_string (code) ...@@ -1277,10 +1237,7 @@ cond_string (code)
FILE. */ FILE. */
void void
print_operand (file, x, code) print_operand (FILE *file, rtx x, int code)
FILE *file;
rtx x;
int code;
{ {
/* This is used for communication between codes V,W,Z and Y. */ /* This is used for communication between codes V,W,Z and Y. */
static int bitint; static int bitint;
...@@ -1568,9 +1525,7 @@ print_operand (file, x, code) ...@@ -1568,9 +1525,7 @@ print_operand (file, x, code)
/* Output assembly language output for the address ADDR to FILE. */ /* Output assembly language output for the address ADDR to FILE. */
void void
print_operand_address (file, addr) print_operand_address (FILE *file, rtx addr)
FILE *file;
rtx addr;
{ {
switch (GET_CODE (addr)) switch (GET_CODE (addr))
{ {
...@@ -1631,9 +1586,8 @@ print_operand_address (file, addr) ...@@ -1631,9 +1586,8 @@ print_operand_address (file, addr)
option. */ option. */
void void
final_prescan_insn (insn, operand, num_operands) final_prescan_insn (rtx insn, rtx *operand ATTRIBUTE_UNUSED,
rtx insn, *operand ATTRIBUTE_UNUSED; int num_operands ATTRIBUTE_UNUSED)
int num_operands ATTRIBUTE_UNUSED;
{ {
/* This holds the last insn address. */ /* This holds the last insn address. */
static int last_insn_address = 0; static int last_insn_address = 0;
...@@ -1651,8 +1605,7 @@ final_prescan_insn (insn, operand, num_operands) ...@@ -1651,8 +1605,7 @@ final_prescan_insn (insn, operand, num_operands)
/* Prepare for an SI sized move. */ /* Prepare for an SI sized move. */
int int
do_movsi (operands) do_movsi (rtx operands[])
rtx operands[];
{ {
rtx src = operands[1]; rtx src = operands[1];
rtx dst = operands[0]; rtx dst = operands[0];
...@@ -1673,8 +1626,7 @@ do_movsi (operands) ...@@ -1673,8 +1626,7 @@ do_movsi (operands)
the other its replacement, at the start of a routine. */ the other its replacement, at the start of a routine. */
int int
h8300_initial_elimination_offset (from, to) h8300_initial_elimination_offset (int from, int to)
int from, to;
{ {
int offset = 0; int offset = 0;
/* The number of bytes that the return address takes on the stack. */ /* The number of bytes that the return address takes on the stack. */
...@@ -1706,9 +1658,7 @@ h8300_initial_elimination_offset (from, to) ...@@ -1706,9 +1658,7 @@ h8300_initial_elimination_offset (from, to)
} }
rtx rtx
h8300_return_addr_rtx (count, frame) h8300_return_addr_rtx (int count, rtx frame)
int count;
rtx frame;
{ {
rtx ret; rtx ret;
...@@ -1728,9 +1678,7 @@ h8300_return_addr_rtx (count, frame) ...@@ -1728,9 +1678,7 @@ h8300_return_addr_rtx (count, frame)
/* Update the condition code from the insn. */ /* Update the condition code from the insn. */
void void
notice_update_cc (body, insn) notice_update_cc (rtx body, rtx insn)
rtx body;
rtx insn;
{ {
rtx set; rtx set;
...@@ -1797,9 +1745,7 @@ notice_update_cc (body, insn) ...@@ -1797,9 +1745,7 @@ notice_update_cc (body, insn)
/* Return nonzero if X is a stack pointer. */ /* Return nonzero if X is a stack pointer. */
int int
stack_pointer_operand (x, mode) stack_pointer_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return x == stack_pointer_rtx; return x == stack_pointer_rtx;
} }
...@@ -1808,9 +1754,7 @@ stack_pointer_operand (x, mode) ...@@ -1808,9 +1754,7 @@ stack_pointer_operand (x, mode)
than 2. */ than 2. */
int int
const_int_gt_2_operand (x, mode) const_int_gt_2_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (x) == CONST_INT return (GET_CODE (x) == CONST_INT
&& abs (INTVAL (x)) > 2); && abs (INTVAL (x)) > 2);
...@@ -1820,9 +1764,7 @@ const_int_gt_2_operand (x, mode) ...@@ -1820,9 +1764,7 @@ const_int_gt_2_operand (x, mode)
smaller than 8. */ smaller than 8. */
int int
const_int_ge_8_operand (x, mode) const_int_ge_8_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (x) == CONST_INT return (GET_CODE (x) == CONST_INT
&& abs (INTVAL (x)) >= 8); && abs (INTVAL (x)) >= 8);
...@@ -1831,9 +1773,7 @@ const_int_ge_8_operand (x, mode) ...@@ -1831,9 +1773,7 @@ const_int_ge_8_operand (x, mode)
/* Return nonzero if X is a constant expressible in QImode. */ /* Return nonzero if X is a constant expressible in QImode. */
int int
const_int_qi_operand (x, mode) const_int_qi_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (x) == CONST_INT return (GET_CODE (x) == CONST_INT
&& (INTVAL (x) & 0xff) == INTVAL (x)); && (INTVAL (x) & 0xff) == INTVAL (x));
...@@ -1842,9 +1782,7 @@ const_int_qi_operand (x, mode) ...@@ -1842,9 +1782,7 @@ const_int_qi_operand (x, mode)
/* Return nonzero if X is a constant expressible in HImode. */ /* Return nonzero if X is a constant expressible in HImode. */
int int
const_int_hi_operand (x, mode) const_int_hi_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (x) == CONST_INT return (GET_CODE (x) == CONST_INT
&& (INTVAL (x) & 0xffff) == INTVAL (x)); && (INTVAL (x) & 0xffff) == INTVAL (x));
...@@ -1853,9 +1791,7 @@ const_int_hi_operand (x, mode) ...@@ -1853,9 +1791,7 @@ const_int_hi_operand (x, mode)
/* Return nonzero if X is a constant suitable for inc/dec. */ /* Return nonzero if X is a constant suitable for inc/dec. */
int int
incdec_operand (x, mode) incdec_operand (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
return (GET_CODE (x) == CONST_INT return (GET_CODE (x) == CONST_INT
&& (CONST_OK_FOR_M (INTVAL (x)) && (CONST_OK_FOR_M (INTVAL (x))
...@@ -1865,9 +1801,7 @@ incdec_operand (x, mode) ...@@ -1865,9 +1801,7 @@ incdec_operand (x, mode)
/* Return nonzero if X is either EQ or NE. */ /* Return nonzero if X is either EQ or NE. */
int int
eqne_operator (x, mode) eqne_operator (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (x); enum rtx_code code = GET_CODE (x);
...@@ -1877,9 +1811,7 @@ eqne_operator (x, mode) ...@@ -1877,9 +1811,7 @@ eqne_operator (x, mode)
/* Return nonzero if X is GT, LE, GTU, or LEU. */ /* Return nonzero if X is GT, LE, GTU, or LEU. */
int int
gtle_operator (x, mode) gtle_operator (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (x); enum rtx_code code = GET_CODE (x);
...@@ -1889,9 +1821,7 @@ gtle_operator (x, mode) ...@@ -1889,9 +1821,7 @@ gtle_operator (x, mode)
/* Return nonzero if X is either GTU or LEU. */ /* Return nonzero if X is either GTU or LEU. */
int int
gtuleu_operator (x, mode) gtuleu_operator (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (x); enum rtx_code code = GET_CODE (x);
...@@ -1901,9 +1831,7 @@ gtuleu_operator (x, mode) ...@@ -1901,9 +1831,7 @@ gtuleu_operator (x, mode)
/* Return nonzero if X is either IOR or XOR. */ /* Return nonzero if X is either IOR or XOR. */
int int
iorxor_operator (x, mode) iorxor_operator (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (x); enum rtx_code code = GET_CODE (x);
...@@ -1913,9 +1841,7 @@ iorxor_operator (x, mode) ...@@ -1913,9 +1841,7 @@ iorxor_operator (x, mode)
/* Recognize valid operators for bit instructions. */ /* Recognize valid operators for bit instructions. */
int int
bit_operator (x, mode) bit_operator (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (x); enum rtx_code code = GET_CODE (x);
...@@ -1925,8 +1851,7 @@ bit_operator (x, mode) ...@@ -1925,8 +1851,7 @@ bit_operator (x, mode)
} }
const char * const char *
output_plussi (operands) output_plussi (rtx *operands)
rtx *operands;
{ {
enum machine_mode mode = GET_MODE (operands[0]); enum machine_mode mode = GET_MODE (operands[0]);
...@@ -1999,8 +1924,7 @@ output_plussi (operands) ...@@ -1999,8 +1924,7 @@ output_plussi (operands)
} }
unsigned int unsigned int
compute_plussi_length (operands) compute_plussi_length (rtx *operands)
rtx *operands;
{ {
enum machine_mode mode = GET_MODE (operands[0]); enum machine_mode mode = GET_MODE (operands[0]);
...@@ -2068,8 +1992,7 @@ compute_plussi_length (operands) ...@@ -2068,8 +1992,7 @@ compute_plussi_length (operands)
} }
int int
compute_plussi_cc (operands) compute_plussi_cc (rtx *operands)
rtx *operands;
{ {
enum machine_mode mode = GET_MODE (operands[0]); enum machine_mode mode = GET_MODE (operands[0]);
...@@ -2122,9 +2045,7 @@ compute_plussi_cc (operands) ...@@ -2122,9 +2045,7 @@ compute_plussi_cc (operands)
} }
const char * const char *
output_logical_op (mode, operands) output_logical_op (enum machine_mode mode, rtx *operands)
enum machine_mode mode;
rtx *operands;
{ {
/* Figure out the logical op that we need to perform. */ /* Figure out the logical op that we need to perform. */
enum rtx_code code = GET_CODE (operands[3]); enum rtx_code code = GET_CODE (operands[3]);
...@@ -2298,9 +2219,7 @@ output_logical_op (mode, operands) ...@@ -2298,9 +2219,7 @@ output_logical_op (mode, operands)
} }
unsigned int unsigned int
compute_logical_op_length (mode, operands) compute_logical_op_length (enum machine_mode mode, rtx *operands)
enum machine_mode mode;
rtx *operands;
{ {
/* Figure out the logical op that we need to perform. */ /* Figure out the logical op that we need to perform. */
enum rtx_code code = GET_CODE (operands[3]); enum rtx_code code = GET_CODE (operands[3]);
...@@ -2443,9 +2362,7 @@ compute_logical_op_length (mode, operands) ...@@ -2443,9 +2362,7 @@ compute_logical_op_length (mode, operands)
} }
int int
compute_logical_op_cc (mode, operands) compute_logical_op_cc (enum machine_mode mode, rtx *operands)
enum machine_mode mode;
rtx *operands;
{ {
/* Figure out the logical op that we need to perform. */ /* Figure out the logical op that we need to perform. */
enum rtx_code code = GET_CODE (operands[3]); enum rtx_code code = GET_CODE (operands[3]);
...@@ -2556,9 +2473,7 @@ compute_logical_op_cc (mode, operands) ...@@ -2556,9 +2473,7 @@ compute_logical_op_cc (mode, operands)
refer to shift_alg_[qhs]i. */ refer to shift_alg_[qhs]i. */
int int
nshift_operator (x, mode) nshift_operator (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED)
rtx x;
enum machine_mode mode ATTRIBUTE_UNUSED;
{ {
switch (GET_CODE (x)) switch (GET_CODE (x))
{ {
...@@ -2575,10 +2490,7 @@ nshift_operator (x, mode) ...@@ -2575,10 +2490,7 @@ nshift_operator (x, mode)
/* Emit code to do shifts. */ /* Emit code to do shifts. */
void void
expand_a_shift (mode, code, operands) expand_a_shift (enum machine_mode mode, int code, rtx operands[])
enum machine_mode mode;
int code;
rtx operands[];
{ {
emit_move_insn (operands[0], operands[1]); emit_move_insn (operands[0], operands[1]);
...@@ -2783,9 +2695,9 @@ struct shift_info { ...@@ -2783,9 +2695,9 @@ struct shift_info {
int cc_special; int cc_special;
}; };
static void get_shift_alg PARAMS ((enum shift_type, static void get_shift_alg (enum shift_type,
enum shift_mode, unsigned int, enum shift_mode, unsigned int,
struct shift_info *)); struct shift_info *);
/* Given SHIFT_TYPE, SHIFT_MODE, and shift count COUNT, determine the /* Given SHIFT_TYPE, SHIFT_MODE, and shift count COUNT, determine the
best algorithm for doing the shift. The assembler code is stored best algorithm for doing the shift. The assembler code is stored
...@@ -2800,11 +2712,8 @@ static void get_shift_alg PARAMS ((enum shift_type, ...@@ -2800,11 +2712,8 @@ static void get_shift_alg PARAMS ((enum shift_type,
result is returned through INFO. */ result is returned through INFO. */
static void static void
get_shift_alg (shift_type, shift_mode, count, info) get_shift_alg (enum shift_type shift_type, enum shift_mode shift_mode,
enum shift_type shift_type; unsigned int count, struct shift_info *info)
enum shift_mode shift_mode;
unsigned int count;
struct shift_info *info;
{ {
enum h8_cpu cpu; enum h8_cpu cpu;
...@@ -3249,9 +3158,7 @@ get_shift_alg (shift_type, shift_mode, count, info) ...@@ -3249,9 +3158,7 @@ get_shift_alg (shift_type, shift_mode, count, info)
needed for some shift with COUNT and MODE. Return 0 otherwise. */ needed for some shift with COUNT and MODE. Return 0 otherwise. */
int int
h8300_shift_needs_scratch_p (count, mode) h8300_shift_needs_scratch_p (int count, enum machine_mode mode)
int count;
enum machine_mode mode;
{ {
enum h8_cpu cpu; enum h8_cpu cpu;
int a, lr, ar; int a, lr, ar;
...@@ -3300,8 +3207,7 @@ h8300_shift_needs_scratch_p (count, mode) ...@@ -3300,8 +3207,7 @@ h8300_shift_needs_scratch_p (count, mode)
/* Emit the assembler code for doing shifts. */ /* Emit the assembler code for doing shifts. */
const char * const char *
output_a_shift (operands) output_a_shift (rtx *operands)
rtx *operands;
{ {
static int loopend_lab; static int loopend_lab;
rtx shift = operands[3]; rtx shift = operands[3];
...@@ -3453,8 +3359,7 @@ output_a_shift (operands) ...@@ -3453,8 +3359,7 @@ output_a_shift (operands)
} }
static unsigned int static unsigned int
h8300_asm_insn_count (template) h8300_asm_insn_count (const char *template)
const char *template;
{ {
unsigned int count = 1; unsigned int count = 1;
...@@ -3466,9 +3371,7 @@ h8300_asm_insn_count (template) ...@@ -3466,9 +3371,7 @@ h8300_asm_insn_count (template)
} }
unsigned int unsigned int
compute_a_shift_length (insn, operands) compute_a_shift_length (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
rtx insn ATTRIBUTE_UNUSED;
rtx *operands;
{ {
rtx shift = operands[3]; rtx shift = operands[3];
enum machine_mode mode = GET_MODE (shift); enum machine_mode mode = GET_MODE (shift);
...@@ -3616,9 +3519,7 @@ compute_a_shift_length (insn, operands) ...@@ -3616,9 +3519,7 @@ compute_a_shift_length (insn, operands)
} }
int int
compute_a_shift_cc (insn, operands) compute_a_shift_cc (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
rtx insn ATTRIBUTE_UNUSED;
rtx *operands;
{ {
rtx shift = operands[3]; rtx shift = operands[3];
enum machine_mode mode = GET_MODE (shift); enum machine_mode mode = GET_MODE (shift);
...@@ -3715,9 +3616,7 @@ compute_a_shift_cc (insn, operands) ...@@ -3715,9 +3616,7 @@ compute_a_shift_cc (insn, operands)
emit_a_rotate () at the insn emit time. */ emit_a_rotate () at the insn emit time. */
int int
expand_a_rotate (code, operands) expand_a_rotate (enum rtx_code code, rtx operands[])
enum rtx_code code;
rtx operands[];
{ {
rtx dst = operands[0]; rtx dst = operands[0];
rtx src = operands[1]; rtx src = operands[1];
...@@ -3772,9 +3671,7 @@ expand_a_rotate (code, operands) ...@@ -3772,9 +3671,7 @@ expand_a_rotate (code, operands)
/* Emit rotate insns. */ /* Emit rotate insns. */
const char * const char *
emit_a_rotate (code, operands) emit_a_rotate (enum rtx_code code, rtx *operands)
enum rtx_code code;
rtx *operands;
{ {
rtx dst = operands[0]; rtx dst = operands[0];
rtx rotate_amount = operands[2]; rtx rotate_amount = operands[2];
...@@ -3884,10 +3781,7 @@ emit_a_rotate (code, operands) ...@@ -3884,10 +3781,7 @@ emit_a_rotate (code, operands)
operating insn. */ operating insn. */
int int
fix_bit_operand (operands, what, type) fix_bit_operand (rtx *operands, int what, enum rtx_code type)
rtx *operands;
int what;
enum rtx_code type;
{ {
/* The bit_operand predicate accepts any memory during RTL generation, but /* The bit_operand predicate accepts any memory during RTL generation, but
only 'U' memory afterwards, so if this is a MEM operand, we must force only 'U' memory afterwards, so if this is a MEM operand, we must force
...@@ -3935,8 +3829,7 @@ fix_bit_operand (operands, what, type) ...@@ -3935,8 +3829,7 @@ fix_bit_operand (operands, what, type)
by the "interrupt" attribute. */ by the "interrupt" attribute. */
static int static int
h8300_interrupt_function_p (func) h8300_interrupt_function_p (tree func)
tree func;
{ {
tree a; tree a;
...@@ -3951,8 +3844,7 @@ h8300_interrupt_function_p (func) ...@@ -3951,8 +3844,7 @@ h8300_interrupt_function_p (func)
by the "OS_Task" attribute. */ by the "OS_Task" attribute. */
static int static int
h8300_os_task_function_p (func) h8300_os_task_function_p (tree func)
tree func;
{ {
tree a; tree a;
...@@ -3967,8 +3859,7 @@ h8300_os_task_function_p (func) ...@@ -3967,8 +3859,7 @@ h8300_os_task_function_p (func)
by the "monitor" attribute. */ by the "monitor" attribute. */
static int static int
h8300_monitor_function_p (func) h8300_monitor_function_p (tree func)
tree func;
{ {
tree a; tree a;
...@@ -3983,8 +3874,7 @@ h8300_monitor_function_p (func) ...@@ -3983,8 +3874,7 @@ h8300_monitor_function_p (func)
through the function vector. */ through the function vector. */
int int
h8300_funcvec_function_p (func) h8300_funcvec_function_p (tree func)
tree func;
{ {
tree a; tree a;
...@@ -3999,8 +3889,7 @@ h8300_funcvec_function_p (func) ...@@ -3999,8 +3889,7 @@ h8300_funcvec_function_p (func)
data area. */ data area. */
int int
h8300_eightbit_data_p (decl) h8300_eightbit_data_p (tree decl)
tree decl;
{ {
tree a; tree a;
...@@ -4015,8 +3904,7 @@ h8300_eightbit_data_p (decl) ...@@ -4015,8 +3904,7 @@ h8300_eightbit_data_p (decl)
data area. */ data area. */
int int
h8300_tiny_data_p (decl) h8300_tiny_data_p (tree decl)
tree decl;
{ {
tree a; tree a;
...@@ -4030,9 +3918,7 @@ h8300_tiny_data_p (decl) ...@@ -4030,9 +3918,7 @@ h8300_tiny_data_p (decl)
/* Generate an 'interrupt_handler' attribute for decls. */ /* Generate an 'interrupt_handler' attribute for decls. */
static void static void
h8300_insert_attributes (node, attributes) h8300_insert_attributes (tree node, tree *attributes)
tree node;
tree *attributes;
{ {
if (!pragma_interrupt if (!pragma_interrupt
|| TREE_CODE (node) != FUNCTION_DECL) || TREE_CODE (node) != FUNCTION_DECL)
...@@ -4075,12 +3961,10 @@ const struct attribute_spec h8300_attribute_table[] = ...@@ -4075,12 +3961,10 @@ const struct attribute_spec h8300_attribute_table[] =
/* Handle an attribute requiring a FUNCTION_DECL; arguments as in /* Handle an attribute requiring a FUNCTION_DECL; arguments as in
struct attribute_spec.handler. */ struct attribute_spec.handler. */
static tree static tree
h8300_handle_fndecl_attribute (node, name, args, flags, no_add_attrs) h8300_handle_fndecl_attribute (tree *node, tree name,
tree *node; tree args ATTRIBUTE_UNUSED,
tree name; int flags ATTRIBUTE_UNUSED,
tree args ATTRIBUTE_UNUSED; bool *no_add_attrs)
int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs;
{ {
if (TREE_CODE (*node) != FUNCTION_DECL) if (TREE_CODE (*node) != FUNCTION_DECL)
{ {
...@@ -4095,12 +3979,10 @@ h8300_handle_fndecl_attribute (node, name, args, flags, no_add_attrs) ...@@ -4095,12 +3979,10 @@ h8300_handle_fndecl_attribute (node, name, args, flags, no_add_attrs)
/* Handle an "eightbit_data" attribute; arguments as in /* Handle an "eightbit_data" attribute; arguments as in
struct attribute_spec.handler. */ struct attribute_spec.handler. */
static tree static tree
h8300_handle_eightbit_data_attribute (node, name, args, flags, no_add_attrs) h8300_handle_eightbit_data_attribute (tree *node, tree name,
tree *node; tree args ATTRIBUTE_UNUSED,
tree name; int flags ATTRIBUTE_UNUSED,
tree args ATTRIBUTE_UNUSED; bool *no_add_attrs)
int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs;
{ {
tree decl = *node; tree decl = *node;
...@@ -4120,12 +4002,10 @@ h8300_handle_eightbit_data_attribute (node, name, args, flags, no_add_attrs) ...@@ -4120,12 +4002,10 @@ h8300_handle_eightbit_data_attribute (node, name, args, flags, no_add_attrs)
/* Handle an "tiny_data" attribute; arguments as in /* Handle an "tiny_data" attribute; arguments as in
struct attribute_spec.handler. */ struct attribute_spec.handler. */
static tree static tree
h8300_handle_tiny_data_attribute (node, name, args, flags, no_add_attrs) h8300_handle_tiny_data_attribute (tree *node, tree name,
tree *node; tree args ATTRIBUTE_UNUSED,
tree name; int flags ATTRIBUTE_UNUSED,
tree args ATTRIBUTE_UNUSED; bool *no_add_attrs)
int flags ATTRIBUTE_UNUSED;
bool *no_add_attrs;
{ {
tree decl = *node; tree decl = *node;
...@@ -4145,10 +4025,7 @@ h8300_handle_tiny_data_attribute (node, name, args, flags, no_add_attrs) ...@@ -4145,10 +4025,7 @@ h8300_handle_tiny_data_attribute (node, name, args, flags, no_add_attrs)
/* Mark function vectors, and various small data objects. */ /* Mark function vectors, and various small data objects. */
static void static void
h8300_encode_section_info (decl, rtl, first) h8300_encode_section_info (tree decl, rtx rtl, int first)
tree decl;
rtx rtl;
int first;
{ {
int extra_flags = 0; int extra_flags = 0;
...@@ -4171,9 +4048,7 @@ h8300_encode_section_info (decl, rtl, first) ...@@ -4171,9 +4048,7 @@ h8300_encode_section_info (decl, rtl, first)
} }
const char * const char *
output_simode_bld (bild, operands) output_simode_bld (int bild, rtx operands[])
int bild;
rtx operands[];
{ {
if (TARGET_H8300) if (TARGET_H8300)
{ {
...@@ -4221,9 +4096,7 @@ output_simode_bld (bild, operands) ...@@ -4221,9 +4096,7 @@ output_simode_bld (bild, operands)
We use this to get the lengths of various memory references correct. */ We use this to get the lengths of various memory references correct. */
int int
h8300_adjust_insn_length (insn, length) h8300_adjust_insn_length (rtx insn, int length ATTRIBUTE_UNUSED)
rtx insn;
int length ATTRIBUTE_UNUSED;
{ {
rtx pat = PATTERN (insn); rtx pat = PATTERN (insn);
...@@ -4389,9 +4262,7 @@ h8300_adjust_insn_length (insn, length) ...@@ -4389,9 +4262,7 @@ h8300_adjust_insn_length (insn, length)
#ifndef OBJECT_FORMAT_ELF #ifndef OBJECT_FORMAT_ELF
static void static void
h8300_asm_named_section (name, flags) h8300_asm_named_section (const char *name, unsigned int flags ATTRIBUTE_UNUSED)
const char *name;
unsigned int flags ATTRIBUTE_UNUSED;
{ {
/* ??? Perhaps we should be using default_coff_asm_named_section. */ /* ??? Perhaps we should be using default_coff_asm_named_section. */
fprintf (asm_out_file, "\t.section %s\n", name); fprintf (asm_out_file, "\t.section %s\n", name);
...@@ -4402,8 +4273,7 @@ h8300_asm_named_section (name, flags) ...@@ -4402,8 +4273,7 @@ h8300_asm_named_section (name, flags)
which is a special case of the 'R' operand. */ which is a special case of the 'R' operand. */
int int
h8300_eightbit_constant_address_p (x) h8300_eightbit_constant_address_p (rtx x)
rtx x;
{ {
/* The ranges of the 8-bit area. */ /* The ranges of the 8-bit area. */
const unsigned HOST_WIDE_INT n1 = trunc_int_for_mode (0xff00, HImode); const unsigned HOST_WIDE_INT n1 = trunc_int_for_mode (0xff00, HImode);
...@@ -4434,8 +4304,7 @@ h8300_eightbit_constant_address_p (x) ...@@ -4434,8 +4304,7 @@ h8300_eightbit_constant_address_p (x)
on H8/300H and H8S. */ on H8/300H and H8S. */
int int
h8300_tiny_constant_address_p (x) h8300_tiny_constant_address_p (rtx x)
rtx x;
{ {
/* The ranges of the 16-bit area. */ /* The ranges of the 16-bit area. */
const unsigned HOST_WIDE_INT h1 = trunc_int_for_mode (0x00000000, SImode); const unsigned HOST_WIDE_INT h1 = trunc_int_for_mode (0x00000000, SImode);
...@@ -4467,8 +4336,7 @@ h8300_tiny_constant_address_p (x) ...@@ -4467,8 +4336,7 @@ h8300_tiny_constant_address_p (x)
} }
int int
byte_accesses_mergeable_p (addr1, addr2) byte_accesses_mergeable_p (rtx addr1, rtx addr2)
rtx addr1, addr2;
{ {
HOST_WIDE_INT offset1, offset2; HOST_WIDE_INT offset1, offset2;
rtx reg1, reg2; rtx reg1, reg2;
......
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