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,18 +667,17 @@ h8300_expand_epilogue () ...@@ -672,18 +667,17 @@ 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;
} }
/* Return nonzero if the current function is an interrupt /* Return nonzero if the current function is an interrupt
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;
......
...@@ -1128,7 +1128,7 @@ struct cum_arg ...@@ -1128,7 +1128,7 @@ struct cum_arg
/* This is how to store into the string LABEL /* This is how to store into the string LABEL
the symbol_ref name of an internal numbered label where the symbol_ref name of an internal numbered label where
PREFIX is the class of label and NUM is the number within the class. PREFIX is the class of label and NUM is the number within the class.
This is suitable for output with `assemble_name'. This is suitable for output with `assemble_name'.
N.B.: The h8300.md branch_true and branch_false patterns also know N.B.: The h8300.md branch_true and branch_false patterns also know
how to generate internal labels. */ how to generate internal labels. */
......
...@@ -2091,7 +2091,7 @@ ...@@ -2091,7 +2091,7 @@
(zero_extend:SI (match_operand:QI 1 "general_operand_src" "")))] (zero_extend:SI (match_operand:QI 1 "general_operand_src" "")))]
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& reg_overlap_mentioned_p (operands[0], operands[1]) && reg_overlap_mentioned_p (operands[0], operands[1])
&& reload_completed" && reload_completed"
[(set (match_dup 2) [(set (match_dup 2)
(match_dup 1)) (match_dup 1))
(set (match_dup 3) (set (match_dup 3)
...@@ -2106,7 +2106,7 @@ ...@@ -2106,7 +2106,7 @@
(zero_extend:SI (match_operand:QI 1 "general_operand_src" "")))] (zero_extend:SI (match_operand:QI 1 "general_operand_src" "")))]
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& !reg_overlap_mentioned_p (operands[0], operands[1]) && !reg_overlap_mentioned_p (operands[0], operands[1])
&& reload_completed" && reload_completed"
[(set (match_dup 0) [(set (match_dup 0)
(const_int 0)) (const_int 0))
(set (strict_low_part (match_dup 2)) (set (strict_low_part (match_dup 2))
......
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