diff options
author | Dale Johannesen <dalej@apple.com> | 2003-09-12 19:00:45 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@gcc.gnu.org> | 2003-09-12 19:00:45 +0000 |
commit | a2369ed310098b1f200e68cca7b14376912528d2 (patch) | |
tree | 303c3e3ac91f58b8cf1ef4215691ccba31e396ae /gcc | |
parent | 4ca0d6d449a0884cbd24bcc87c91253ba093487c (diff) | |
download | gcc-a2369ed310098b1f200e68cca7b14376912528d2.zip gcc-a2369ed310098b1f200e68cca7b14376912528d2.tar.gz gcc-a2369ed310098b1f200e68cca7b14376912528d2.tar.bz2 |
Use ISO C90 prototypes.
From-SVN: r71336
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-c.c | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000-protos.h | 315 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 1157 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 2 |
5 files changed, 530 insertions, 956 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45fbeec..60e7bd9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-09-12 Dale Johannesen <dale@apple.com> + * config/rs6000/rs6000-protos.h: Use C90 prototypes. + * config/rs6000/rs6000-c.c: Ditto. + * config/rs6000/rs6000.c: Ditto. + * config/rs6000/ sysv4.h: Ditto. + 2003-09-12 Chris Lattner <sabre@nondot.org> * loop.c: Move comments describing BIV's and GIV's to top of file diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index a7e8dd3..a47afee 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -48,8 +48,7 @@ } while (0) void -rs6000_pragma_longcall (pfile) - cpp_reader *pfile ATTRIBUTE_UNUSED; +rs6000_pragma_longcall (cpp_reader *pfile ATTRIBUTE_UNUSED) { tree x, n; @@ -80,8 +79,7 @@ rs6000_pragma_longcall (pfile) #define builtin_assert(TXT) cpp_assert (pfile, TXT) void -rs6000_cpu_cpp_builtins (pfile) - cpp_reader *pfile; +rs6000_cpu_cpp_builtins (cpp_reader *pfile) { if (TARGET_POWER2) builtin_define ("_ARCH_PWR2"); diff --git a/gcc/config/rs6000/rs6000-protos.h b/gcc/config/rs6000/rs6000-protos.h index bbdaa6a..8340c2b 100644 --- a/gcc/config/rs6000/rs6000-protos.h +++ b/gcc/config/rs6000/rs6000-protos.h @@ -27,185 +27,182 @@ #ifdef RTX_CODE #ifdef TREE_CODE -extern void init_cumulative_args PARAMS ((CUMULATIVE_ARGS *, tree, rtx, int, int)); -extern void rs6000_va_start PARAMS ((tree, rtx)); +extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, int, int); +extern void rs6000_va_start (tree, rtx); #endif /* TREE_CODE */ -extern struct rtx_def *rs6000_got_register PARAMS ((rtx)); -extern struct rtx_def *find_addr_reg PARAMS ((rtx)); -extern int any_operand PARAMS ((rtx, enum machine_mode)); -extern int short_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int u_short_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int non_short_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int exact_log2_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int gpc_reg_operand PARAMS ((rtx, enum machine_mode)); -extern int cc_reg_operand PARAMS ((rtx, enum machine_mode)); -extern int cc_reg_not_cr0_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_short_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_neg_short_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_aligned_short_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_u_short_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_arith_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_add_cint64_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_sub_cint64_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_logical_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int got_operand PARAMS ((rtx, enum machine_mode)); -extern int got_no_const_operand PARAMS ((rtx, enum machine_mode)); -extern int num_insns_constant PARAMS ((rtx, enum machine_mode)); -extern int easy_fp_constant PARAMS ((rtx, enum machine_mode)); -extern int easy_vector_constant PARAMS ((rtx, enum machine_mode)); -extern const char *output_vec_const_move PARAMS ((rtx *)); -extern int zero_fp_constant PARAMS ((rtx, enum machine_mode)); -extern int zero_constant PARAMS ((rtx, enum machine_mode)); -extern int volatile_mem_operand PARAMS ((rtx, enum machine_mode)); -extern int offsettable_mem_operand PARAMS ((rtx, enum machine_mode)); -extern int mem_or_easy_const_operand PARAMS ((rtx, enum machine_mode)); -extern int add_operand PARAMS ((rtx, enum machine_mode)); -extern int non_add_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int non_logical_cint_operand PARAMS ((rtx, enum machine_mode)); -extern int logical_operand PARAMS ((rtx, enum machine_mode)); -extern int mask_operand PARAMS ((rtx, enum machine_mode)); -extern int mask_operand_wrap PARAMS ((rtx, enum machine_mode)); -extern int mask64_operand PARAMS ((rtx, enum machine_mode)); -extern int mask64_2_operand PARAMS ((rtx, enum machine_mode)); -extern void build_mask64_2_operands PARAMS ((rtx, rtx *)); -extern int and64_operand PARAMS ((rtx, enum machine_mode)); -extern int and64_2_operand PARAMS ((rtx, enum machine_mode)); -extern int and_operand PARAMS ((rtx, enum machine_mode)); -extern int count_register_operand PARAMS ((rtx, enum machine_mode)); -extern int xer_operand PARAMS ((rtx, enum machine_mode)); -extern int reg_or_mem_operand PARAMS ((rtx, enum machine_mode)); -extern int lwa_operand PARAMS ((rtx, enum machine_mode)); -extern int call_operand PARAMS ((rtx, enum machine_mode)); -extern int current_file_function_operand PARAMS ((rtx, enum machine_mode)); -extern int input_operand PARAMS ((rtx, enum machine_mode)); -extern int small_data_operand PARAMS ((rtx, enum machine_mode)); -extern int s8bit_cint_operand PARAMS ((rtx, enum machine_mode)); -extern bool legitimate_constant_pool_address_p PARAMS ((rtx)); -extern int expand_block_move PARAMS ((rtx[])); -extern int load_multiple_operation PARAMS ((rtx, enum machine_mode)); -extern const char * rs6000_output_load_multiple PARAMS ((rtx[])); -extern int store_multiple_operation PARAMS ((rtx, enum machine_mode)); -extern int branch_comparison_operator PARAMS ((rtx, enum machine_mode)); -extern int branch_positive_comparison_operator - PARAMS ((rtx, enum machine_mode)); -extern int scc_comparison_operator PARAMS ((rtx, enum machine_mode)); -extern int trap_comparison_operator PARAMS ((rtx, enum machine_mode)); -extern int boolean_operator PARAMS ((rtx, enum machine_mode)); -extern int boolean_or_operator PARAMS ((rtx, enum machine_mode)); -extern int min_max_operator PARAMS ((rtx, enum machine_mode)); -extern int includes_lshift_p PARAMS ((rtx, rtx)); -extern int includes_rshift_p PARAMS ((rtx, rtx)); -extern int includes_rldic_lshift_p PARAMS ((rtx, rtx)); -extern int includes_rldicr_lshift_p PARAMS ((rtx, rtx)); -extern int registers_ok_for_quad_peep PARAMS ((rtx, rtx)); -extern int addrs_ok_for_quad_peep PARAMS ((rtx, rtx)); +extern struct rtx_def *rs6000_got_register (rtx); +extern struct rtx_def *find_addr_reg (rtx); +extern int any_operand (rtx, enum machine_mode); +extern int short_cint_operand (rtx, enum machine_mode); +extern int u_short_cint_operand (rtx, enum machine_mode); +extern int non_short_cint_operand (rtx, enum machine_mode); +extern int exact_log2_cint_operand (rtx, enum machine_mode); +extern int gpc_reg_operand (rtx, enum machine_mode); +extern int cc_reg_operand (rtx, enum machine_mode); +extern int cc_reg_not_cr0_operand (rtx, enum machine_mode); +extern int reg_or_short_operand (rtx, enum machine_mode); +extern int reg_or_neg_short_operand (rtx, enum machine_mode); +extern int reg_or_aligned_short_operand (rtx, enum machine_mode); +extern int reg_or_u_short_operand (rtx, enum machine_mode); +extern int reg_or_cint_operand (rtx, enum machine_mode); +extern int reg_or_arith_cint_operand (rtx, enum machine_mode); +extern int reg_or_add_cint64_operand (rtx, enum machine_mode); +extern int reg_or_sub_cint64_operand (rtx, enum machine_mode); +extern int reg_or_logical_cint_operand (rtx, enum machine_mode); +extern int got_operand (rtx, enum machine_mode); +extern int got_no_const_operand (rtx, enum machine_mode); +extern int num_insns_constant (rtx, enum machine_mode); +extern int easy_fp_constant (rtx, enum machine_mode); +extern int easy_vector_constant (rtx, enum machine_mode); +extern const char *output_vec_const_move (rtx *); +extern int zero_fp_constant (rtx, enum machine_mode); +extern int zero_constant (rtx, enum machine_mode); +extern int volatile_mem_operand (rtx, enum machine_mode); +extern int offsettable_mem_operand (rtx, enum machine_mode); +extern int mem_or_easy_const_operand (rtx, enum machine_mode); +extern int add_operand (rtx, enum machine_mode); +extern int non_add_cint_operand (rtx, enum machine_mode); +extern int non_logical_cint_operand (rtx, enum machine_mode); +extern int logical_operand (rtx, enum machine_mode); +extern int mask_operand (rtx, enum machine_mode); +extern int mask_operand_wrap (rtx, enum machine_mode); +extern int mask64_operand (rtx, enum machine_mode); +extern int mask64_2_operand (rtx, enum machine_mode); +extern void build_mask64_2_operands (rtx, rtx *); +extern int and64_operand (rtx, enum machine_mode); +extern int and64_2_operand (rtx, enum machine_mode); +extern int and_operand (rtx, enum machine_mode); +extern int count_register_operand (rtx, enum machine_mode); +extern int xer_operand (rtx, enum machine_mode); +extern int reg_or_mem_operand (rtx, enum machine_mode); +extern int lwa_operand (rtx, enum machine_mode); +extern int call_operand (rtx, enum machine_mode); +extern int current_file_function_operand (rtx, enum machine_mode); +extern int input_operand (rtx, enum machine_mode); +extern int small_data_operand (rtx, enum machine_mode); +extern int s8bit_cint_operand (rtx, enum machine_mode); +extern bool legitimate_constant_pool_address_p (rtx); +extern int expand_block_move (rtx[]); +extern int load_multiple_operation (rtx, enum machine_mode); +extern const char * rs6000_output_load_multiple (rtx[]); +extern int store_multiple_operation (rtx, enum machine_mode); +extern int branch_comparison_operator (rtx, enum machine_mode); +extern int branch_positive_comparison_operator (rtx, enum machine_mode); +extern int scc_comparison_operator (rtx, enum machine_mode); +extern int trap_comparison_operator (rtx, enum machine_mode); +extern int boolean_operator (rtx, enum machine_mode); +extern int boolean_or_operator (rtx, enum machine_mode); +extern int min_max_operator (rtx, enum machine_mode); +extern int includes_lshift_p (rtx, rtx); +extern int includes_rshift_p (rtx, rtx); +extern int includes_rldic_lshift_p (rtx, rtx); +extern int includes_rldicr_lshift_p (rtx, rtx); +extern int registers_ok_for_quad_peep (rtx, rtx); +extern int addrs_ok_for_quad_peep (rtx, rtx); extern int altivec_in_gprs_p (rtx, rtx); -extern enum reg_class secondary_reload_class PARAMS ((enum reg_class, - enum machine_mode, rtx)); -extern int ccr_bit PARAMS ((rtx, int)); -extern int extract_MB PARAMS ((rtx)); -extern int extract_ME PARAMS ((rtx)); -extern void print_operand PARAMS ((FILE *, rtx, int)); -extern void print_operand_address PARAMS ((FILE *, rtx)); -extern enum rtx_code rs6000_reverse_condition PARAMS ((enum machine_mode, - enum rtx_code)); -extern void rs6000_emit_sCOND PARAMS ((enum rtx_code, rtx)); -extern void rs6000_emit_cbranch PARAMS ((enum rtx_code, rtx)); -extern char * output_cbranch PARAMS ((rtx, const char *, int, rtx)); -extern rtx rs6000_emit_set_const PARAMS ((rtx, enum machine_mode, rtx, int)); -extern int rs6000_emit_cmove PARAMS ((rtx, rtx, rtx, rtx)); -extern void rs6000_emit_minmax PARAMS ((rtx, enum rtx_code, rtx, rtx)); -extern void output_toc PARAMS ((FILE *, rtx, int, enum machine_mode)); -extern void rs6000_initialize_trampoline PARAMS ((rtx, rtx, rtx)); -extern struct rtx_def *rs6000_longcall_ref PARAMS ((rtx)); -extern void rs6000_fatal_bad_address PARAMS ((rtx)); -extern int stmw_operation PARAMS ((rtx, enum machine_mode)); -extern int mfcr_operation PARAMS ((rtx, enum machine_mode)); -extern int mtcrf_operation PARAMS ((rtx, enum machine_mode)); -extern int lmw_operation PARAMS ((rtx, enum machine_mode)); -extern struct rtx_def *create_TOC_reference PARAMS ((rtx)); +extern enum reg_class secondary_reload_class (enum reg_class, + enum machine_mode, rtx); +extern int ccr_bit (rtx, int); +extern int extract_MB (rtx); +extern int extract_ME (rtx); +extern void print_operand (FILE *, rtx, int); +extern void print_operand_address (FILE *, rtx); +extern enum rtx_code rs6000_reverse_condition (enum machine_mode, + enum rtx_code); +extern void rs6000_emit_sCOND (enum rtx_code, rtx); +extern void rs6000_emit_cbranch (enum rtx_code, rtx); +extern char * output_cbranch (rtx, const char *, int, rtx); +extern rtx rs6000_emit_set_const (rtx, enum machine_mode, rtx, int); +extern int rs6000_emit_cmove (rtx, rtx, rtx, rtx); +extern void rs6000_emit_minmax (rtx, enum rtx_code, rtx, rtx); +extern void output_toc (FILE *, rtx, int, enum machine_mode); +extern void rs6000_initialize_trampoline (rtx, rtx, rtx); +extern struct rtx_def *rs6000_longcall_ref (rtx); +extern void rs6000_fatal_bad_address (rtx); +extern int stmw_operation (rtx, enum machine_mode); +extern int mfcr_operation (rtx, enum machine_mode); +extern int mtcrf_operation (rtx, enum machine_mode); +extern int lmw_operation (rtx, enum machine_mode); +extern struct rtx_def *create_TOC_reference (rtx); extern void rs6000_split_altivec_in_gprs (rtx *); -extern void rs6000_emit_move PARAMS ((rtx, rtx, enum machine_mode)); -extern rtx rs6000_legitimize_address PARAMS ((rtx, rtx, enum machine_mode)); -extern rtx rs6000_legitimize_reload_address PARAMS ((rtx, enum machine_mode, - int, int, int, int *)); -extern int rs6000_legitimate_address PARAMS ((enum machine_mode, rtx, int)); -extern bool rs6000_mode_dependent_address PARAMS ((rtx)); -extern rtx rs6000_return_addr PARAMS ((int, rtx)); -extern void rs6000_output_symbol_ref PARAMS ((FILE*, rtx)); - -extern rtx rs6000_machopic_legitimize_pic_address PARAMS ((rtx orig, enum machine_mode mode, rtx reg)); +extern void rs6000_emit_move (rtx, rtx, enum machine_mode); +extern rtx rs6000_legitimize_address (rtx, rtx, enum machine_mode); +extern rtx rs6000_legitimize_reload_address (rtx, enum machine_mode, + int, int, int, int *); +extern int rs6000_legitimate_address (enum machine_mode, rtx, int); +extern bool rs6000_mode_dependent_address (rtx); +extern rtx rs6000_return_addr (int, rtx); +extern void rs6000_output_symbol_ref (FILE*, rtx); + +extern rtx rs6000_machopic_legitimize_pic_address (rtx orig, + enum machine_mode mode, rtx reg); #endif /* RTX_CODE */ #ifdef TREE_CODE -extern void function_arg_advance PARAMS ((CUMULATIVE_ARGS *, enum machine_mode, - tree, int)); -extern int function_arg_boundary PARAMS ((enum machine_mode, tree)); -extern struct rtx_def *function_arg PARAMS ((CUMULATIVE_ARGS *, - enum machine_mode, tree, int)); -extern int function_arg_partial_nregs PARAMS ((CUMULATIVE_ARGS *, - enum machine_mode, tree, int)); -extern int function_arg_pass_by_reference PARAMS ((CUMULATIVE_ARGS *, +extern void function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, + tree, int); +extern int function_arg_boundary (enum machine_mode, tree); +extern struct rtx_def *function_arg (CUMULATIVE_ARGS *, + enum machine_mode, tree, int); +extern int function_arg_partial_nregs (CUMULATIVE_ARGS *, + enum machine_mode, tree, int); +extern int function_arg_pass_by_reference (CUMULATIVE_ARGS *, enum machine_mode, - tree, int)); -extern void setup_incoming_varargs PARAMS ((CUMULATIVE_ARGS *, + tree, int); +extern void setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode, tree, - int *, int)); + int *, int); extern rtx rs6000_function_value (tree, tree); extern rtx rs6000_libcall_value (enum machine_mode); -extern struct rtx_def *rs6000_va_arg PARAMS ((tree, tree)); -extern int function_ok_for_sibcall PARAMS ((tree)); -extern void rs6000_elf_declare_function_name - PARAMS ((FILE *, const char *, tree)); +extern struct rtx_def *rs6000_va_arg (tree, tree); +extern int function_ok_for_sibcall (tree); +extern void rs6000_elf_declare_function_name (FILE *, const char *, tree); #ifdef ARGS_SIZE_RTX /* expr.h defines ARGS_SIZE_RTX and `enum direction' */ -extern enum direction function_arg_padding PARAMS ((enum machine_mode, tree)); +extern enum direction function_arg_padding (enum machine_mode, tree); #endif /* ARGS_SIZE_RTX */ #endif /* TREE_CODE */ -extern void optimization_options PARAMS ((int, int)); -extern void rs6000_override_options PARAMS ((const char *)); -extern int direct_return PARAMS ((void)); -extern union tree_node *rs6000_build_va_list PARAMS ((void)); -extern int first_reg_to_save PARAMS ((void)); -extern int first_fp_reg_to_save PARAMS ((void)); -extern rs6000_stack_t *rs6000_stack_info PARAMS ((void)); -extern void output_ascii PARAMS ((FILE *, const char *, int)); -extern void rs6000_gen_section_name PARAMS ((char **, const char *, - const char *)); -extern void output_function_profiler PARAMS ((FILE *, int)); -extern void output_profile_hook PARAMS ((int)); -extern int rs6000_trampoline_size PARAMS ((void)); -extern void toc_section PARAMS ((void)); -extern void sdata_section PARAMS ((void)); -extern void sdata2_section PARAMS ((void)); -extern void sbss_section PARAMS ((void)); -extern void private_data_section PARAMS ((void)); -extern void read_only_data_section PARAMS ((void)); -extern void read_only_private_data_section PARAMS ((void)); -extern int get_TOC_alias_set PARAMS ((void)); -extern int uses_TOC PARAMS ((void)); -extern void rs6000_emit_prologue PARAMS ((void)); -extern void rs6000_emit_load_toc_table PARAMS ((int)); -extern void rs6000_aix_emit_builtin_unwind_init PARAMS ((void)); -extern void rs6000_emit_epilogue PARAMS ((int)); -extern void debug_stack_info PARAMS ((rs6000_stack_t *)); -extern const char * output_isel PARAMS ((rtx *)); -extern int vrsave_operation PARAMS ((rtx, enum machine_mode)); -extern int rs6000_register_move_cost PARAMS ((enum machine_mode, - enum reg_class, enum reg_class)); -extern int rs6000_memory_move_cost PARAMS ((enum machine_mode, - enum reg_class, int)); -extern bool rs6000_tls_referenced_p PARAMS ((rtx)); -extern int rs6000_tls_symbol_ref PARAMS ((rtx, enum machine_mode)); +extern void optimization_options (int, int); +extern void rs6000_override_options (const char *); +extern int direct_return (void); +extern union tree_node *rs6000_build_va_list (void); +extern int first_reg_to_save (void); +extern int first_fp_reg_to_save (void); +extern rs6000_stack_t *rs6000_stack_info (void); +extern void output_ascii (FILE *, const char *, int); +extern void rs6000_gen_section_name (char **, const char *, const char *); +extern void output_function_profiler (FILE *, int); +extern void output_profile_hook (int); +extern int rs6000_trampoline_size (void); +extern void toc_section (void); +extern void sdata_section (void); +extern void sdata2_section (void); +extern void sbss_section (void); +extern void private_data_section (void); +extern void read_only_data_section (void); +extern void read_only_private_data_section (void); +extern int get_TOC_alias_set (void); +extern int uses_TOC (void); +extern void rs6000_emit_prologue (void); +extern void rs6000_emit_load_toc_table (int); +extern void rs6000_aix_emit_builtin_unwind_init (void); +extern void rs6000_emit_epilogue (int); +extern void debug_stack_info (rs6000_stack_t *); +extern const char * output_isel (rtx *); +extern int vrsave_operation (rtx, enum machine_mode); +extern int rs6000_register_move_cost (enum machine_mode, + enum reg_class, enum reg_class); +extern int rs6000_memory_move_cost (enum machine_mode, enum reg_class, int); +extern bool rs6000_tls_referenced_p (rtx); +extern int rs6000_tls_symbol_ref (rtx, enum machine_mode); /* Declare functions in rs6000-c.c */ -extern void rs6000_pragma_longcall PARAMS ((struct cpp_reader *)); -extern void rs6000_cpu_cpp_builtins PARAMS ((struct cpp_reader *)); +extern void rs6000_pragma_longcall (struct cpp_reader *); +extern void rs6000_cpu_cpp_builtins (struct cpp_reader *); #endif /* rs6000-protos.h */ diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 378170c..ac2a17f 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -198,129 +198,126 @@ struct builtin_description const enum rs6000_builtins code; }; -static bool rs6000_function_ok_for_sibcall PARAMS ((tree, tree)); -static int num_insns_constant_wide PARAMS ((HOST_WIDE_INT)); -static void validate_condition_mode - PARAMS ((enum rtx_code, enum machine_mode)); -static rtx rs6000_generate_compare PARAMS ((enum rtx_code)); -static void rs6000_maybe_dead PARAMS ((rtx)); -static void rs6000_emit_stack_tie PARAMS ((void)); -static void rs6000_frame_related PARAMS ((rtx, rtx, HOST_WIDE_INT, rtx, rtx)); -static rtx spe_synthesize_frame_save PARAMS ((rtx)); -static bool spe_func_has_64bit_regs_p PARAMS ((void)); -static void emit_frame_save PARAMS ((rtx, rtx, enum machine_mode, - unsigned int, int, int)); -static rtx gen_frame_mem_offset PARAMS ((enum machine_mode, rtx, int)); -static void rs6000_emit_allocate_stack PARAMS ((HOST_WIDE_INT, int)); -static unsigned rs6000_hash_constant PARAMS ((rtx)); -static unsigned toc_hash_function PARAMS ((const void *)); -static int toc_hash_eq PARAMS ((const void *, const void *)); -static int constant_pool_expr_1 PARAMS ((rtx, int *, int *)); -static bool constant_pool_expr_p PARAMS ((rtx)); -static bool toc_relative_expr_p PARAMS ((rtx)); -static bool legitimate_small_data_p PARAMS ((enum machine_mode, rtx)); -static bool legitimate_offset_address_p PARAMS ((enum machine_mode, rtx, int)); -static bool legitimate_indexed_address_p PARAMS ((rtx, int)); -static bool legitimate_indirect_address_p PARAMS ((rtx, int)); -static bool legitimate_lo_sum_address_p PARAMS ((enum machine_mode, rtx, int)); -static struct machine_function * rs6000_init_machine_status PARAMS ((void)); -static bool rs6000_assemble_integer PARAMS ((rtx, unsigned int, int)); +static bool rs6000_function_ok_for_sibcall (tree, tree); +static int num_insns_constant_wide (HOST_WIDE_INT); +static void validate_condition_mode (enum rtx_code, enum machine_mode); +static rtx rs6000_generate_compare (enum rtx_code); +static void rs6000_maybe_dead (rtx); +static void rs6000_emit_stack_tie (void); +static void rs6000_frame_related (rtx, rtx, HOST_WIDE_INT, rtx, rtx); +static rtx spe_synthesize_frame_save (rtx); +static bool spe_func_has_64bit_regs_p (void); +static void emit_frame_save (rtx, rtx, enum machine_mode, + unsigned int, int, int); +static rtx gen_frame_mem_offset (enum machine_mode, rtx, int); +static void rs6000_emit_allocate_stack (HOST_WIDE_INT, int); +static unsigned rs6000_hash_constant (rtx); +static unsigned toc_hash_function (const void *); +static int toc_hash_eq (const void *, const void *); +static int constant_pool_expr_1 (rtx, int *, int *); +static bool constant_pool_expr_p (rtx); +static bool toc_relative_expr_p (rtx); +static bool legitimate_small_data_p (enum machine_mode, rtx); +static bool legitimate_offset_address_p (enum machine_mode, rtx, int); +static bool legitimate_indexed_address_p (rtx, int); +static bool legitimate_indirect_address_p (rtx, int); +static bool legitimate_lo_sum_address_p (enum machine_mode, rtx, int); +static struct machine_function * rs6000_init_machine_status (void); +static bool rs6000_assemble_integer (rtx, unsigned int, int); #ifdef HAVE_GAS_HIDDEN -static void rs6000_assemble_visibility PARAMS ((tree, int)); +static void rs6000_assemble_visibility (tree, int); #endif -static int rs6000_ra_ever_killed PARAMS ((void)); -static tree rs6000_handle_longcall_attribute PARAMS ((tree *, tree, tree, int, bool *)); +static int rs6000_ra_ever_killed (void); +static tree rs6000_handle_longcall_attribute (tree *, tree, tree, int, bool *); extern const struct attribute_spec rs6000_attribute_table[]; -static void rs6000_set_default_type_attributes PARAMS ((tree)); -static void rs6000_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT)); -static void rs6000_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT)); -static void rs6000_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT, - HOST_WIDE_INT, tree)); -static rtx rs6000_emit_set_long_const PARAMS ((rtx, - HOST_WIDE_INT, HOST_WIDE_INT)); -static void rs6000_file_start PARAMS ((void)); +static void rs6000_set_default_type_attributes (tree); +static void rs6000_output_function_prologue (FILE *, HOST_WIDE_INT); +static void rs6000_output_function_epilogue (FILE *, HOST_WIDE_INT); +static void rs6000_output_mi_thunk (FILE *, tree, HOST_WIDE_INT, + HOST_WIDE_INT, tree); +static rtx rs6000_emit_set_long_const (rtx, HOST_WIDE_INT, HOST_WIDE_INT); +static void rs6000_file_start (void); #if TARGET_ELF -static unsigned int rs6000_elf_section_type_flags PARAMS ((tree, const char *, - int)); -static void rs6000_elf_asm_out_constructor PARAMS ((rtx, int)); -static void rs6000_elf_asm_out_destructor PARAMS ((rtx, int)); -static void rs6000_elf_select_section PARAMS ((tree, int, - unsigned HOST_WIDE_INT)); -static void rs6000_elf_unique_section PARAMS ((tree, int)); -static void rs6000_elf_select_rtx_section PARAMS ((enum machine_mode, rtx, - unsigned HOST_WIDE_INT)); -static void rs6000_elf_encode_section_info PARAMS ((tree, rtx, int)) +static unsigned int rs6000_elf_section_type_flags (tree, const char *, int); +static void rs6000_elf_asm_out_constructor (rtx, int); +static void rs6000_elf_asm_out_destructor (rtx, int); +static void rs6000_elf_select_section (tree, int, unsigned HOST_WIDE_INT); +static void rs6000_elf_unique_section (tree, int); +static void rs6000_elf_select_rtx_section (enum machine_mode, rtx, + unsigned HOST_WIDE_INT); +static void rs6000_elf_encode_section_info (tree, rtx, int)) ATTRIBUTE_UNUSED; -static bool rs6000_elf_in_small_data_p PARAMS ((tree)); +static bool rs6000_elf_in_small_data_p (tree); #endif #if TARGET_XCOFF -static void rs6000_xcoff_asm_globalize_label PARAMS ((FILE *, const char *)); -static void rs6000_xcoff_asm_named_section PARAMS ((const char *, unsigned int)); -static void rs6000_xcoff_select_section PARAMS ((tree, int, - unsigned HOST_WIDE_INT)); -static void rs6000_xcoff_unique_section PARAMS ((tree, int)); -static void rs6000_xcoff_select_rtx_section PARAMS ((enum machine_mode, rtx, - unsigned HOST_WIDE_INT)); -static const char * rs6000_xcoff_strip_name_encoding PARAMS ((const char *)); -static unsigned int rs6000_xcoff_section_type_flags PARAMS ((tree, const char *, int)); -static void rs6000_xcoff_file_start PARAMS ((void)); -static void rs6000_xcoff_file_end PARAMS ((void)); +static void rs6000_xcoff_asm_globalize_label (FILE *, const char *); +static void rs6000_xcoff_asm_named_section (const char *, unsigned int); +static void rs6000_xcoff_select_section (tree, int, unsigned HOST_WIDE_INT); +static void rs6000_xcoff_unique_section (tree, int); +static void rs6000_xcoff_select_rtx_section (enum machine_mode, rtx, + unsigned HOST_WIDE_INT); +static const char * rs6000_xcoff_strip_name_encoding (const char *); +static unsigned int rs6000_xcoff_section_type_flags (tree, const char *, int); +static void rs6000_xcoff_file_start (void); +static void rs6000_xcoff_file_end (void); #endif #if TARGET_MACHO -static bool rs6000_binds_local_p PARAMS ((tree)); +static bool rs6000_binds_local_p (tree); #endif -static int rs6000_use_dfa_pipeline_interface PARAMS ((void)); -static int rs6000_variable_issue PARAMS ((FILE *, int, rtx, int)); -static bool rs6000_rtx_costs PARAMS ((rtx, int, int, int *)); -static int rs6000_adjust_cost PARAMS ((rtx, rtx, rtx, int)); -static int rs6000_adjust_priority PARAMS ((rtx, int)); -static int rs6000_issue_rate PARAMS ((void)); -static int rs6000_use_sched_lookahead PARAMS ((void)); - -static void rs6000_init_builtins PARAMS ((void)); -static rtx rs6000_expand_unop_builtin PARAMS ((enum insn_code, tree, rtx)); -static rtx rs6000_expand_binop_builtin PARAMS ((enum insn_code, tree, rtx)); -static rtx rs6000_expand_ternop_builtin PARAMS ((enum insn_code, tree, rtx)); -static rtx rs6000_expand_builtin PARAMS ((tree, rtx, rtx, enum machine_mode, int)); -static void altivec_init_builtins PARAMS ((void)); -static void rs6000_common_init_builtins PARAMS ((void)); - -static void enable_mask_for_builtins PARAMS ((struct builtin_description *, +static int rs6000_use_dfa_pipeline_interface (void); +static int rs6000_variable_issue (FILE *, int, rtx, int); +static bool rs6000_rtx_costs (rtx, int, int, int *); +static int rs6000_adjust_cost (rtx, rtx, rtx, int); +static int rs6000_adjust_priority (rtx, int); +static int rs6000_issue_rate (void); +static int rs6000_use_sched_lookahead (void); + +static void rs6000_init_builtins (void); +static rtx rs6000_expand_unop_builtin (enum insn_code, tree, rtx); +static rtx rs6000_expand_binop_builtin (enum insn_code, tree, rtx); +static rtx rs6000_expand_ternop_builtin (enum insn_code, tree, rtx); +static rtx rs6000_expand_builtin (tree, rtx, rtx, enum machine_mode, int); +static void altivec_init_builtins (void); +static void rs6000_common_init_builtins (void); + +static void enable_mask_for_builtins (struct builtin_description *, int, enum rs6000_builtins, - enum rs6000_builtins)); -static void spe_init_builtins PARAMS ((void)); -static rtx spe_expand_builtin PARAMS ((tree, rtx, bool *)); -static rtx spe_expand_predicate_builtin PARAMS ((enum insn_code, tree, rtx)); -static rtx spe_expand_evsel_builtin PARAMS ((enum insn_code, tree, rtx)); -static int rs6000_emit_int_cmove PARAMS ((rtx, rtx, rtx, rtx)); - -static rtx altivec_expand_builtin PARAMS ((tree, rtx, bool *)); -static rtx altivec_expand_ld_builtin PARAMS ((tree, rtx, bool *)); -static rtx altivec_expand_st_builtin PARAMS ((tree, rtx, bool *)); -static rtx altivec_expand_dst_builtin PARAMS ((tree, rtx, bool *)); -static rtx altivec_expand_abs_builtin PARAMS ((enum insn_code, tree, rtx)); -static rtx altivec_expand_predicate_builtin PARAMS ((enum insn_code, const char *, tree, rtx)); -static rtx altivec_expand_stv_builtin PARAMS ((enum insn_code, tree)); -static void rs6000_parse_abi_options PARAMS ((void)); -static void rs6000_parse_alignment_option PARAMS ((void)); -static void rs6000_parse_tls_size_option PARAMS ((void)); + enum rs6000_builtins); +static void spe_init_builtins (void); +static rtx spe_expand_builtin (tree, rtx, bool *); +static rtx spe_expand_predicate_builtin (enum insn_code, tree, rtx); +static rtx spe_expand_evsel_builtin (enum insn_code, tree, rtx); +static int rs6000_emit_int_cmove (rtx, rtx, rtx, rtx); + +static rtx altivec_expand_builtin (tree, rtx, bool *); +static rtx altivec_expand_ld_builtin (tree, rtx, bool *); +static rtx altivec_expand_st_builtin (tree, rtx, bool *); +static rtx altivec_expand_dst_builtin (tree, rtx, bool *); +static rtx altivec_expand_abs_builtin (enum insn_code, tree, rtx); +static rtx altivec_expand_predicate_builtin (enum insn_code, + const char *, tree, rtx); +static rtx altivec_expand_stv_builtin (enum insn_code, tree); +static void rs6000_parse_abi_options (void); +static void rs6000_parse_alignment_option (void); +static void rs6000_parse_tls_size_option (void); static void rs6000_parse_yes_no_option (const char *, const char *, int *); -static int first_altivec_reg_to_save PARAMS ((void)); -static unsigned int compute_vrsave_mask PARAMS ((void)); -static void is_altivec_return_reg PARAMS ((rtx, void *)); -static rtx generate_set_vrsave PARAMS ((rtx, rs6000_stack_t *, int)); -int easy_vector_constant PARAMS ((rtx, enum machine_mode)); -static int easy_vector_same PARAMS ((rtx, enum machine_mode)); -static bool is_ev64_opaque_type PARAMS ((tree)); -static rtx rs6000_dwarf_register_span PARAMS ((rtx)); -static rtx rs6000_legitimize_tls_address PARAMS ((rtx, enum tls_model)); -static rtx rs6000_tls_get_addr PARAMS ((void)); -static rtx rs6000_got_sym PARAMS ((void)); -static inline int rs6000_tls_symbol_ref_1 PARAMS ((rtx *, void *)); -static const char *rs6000_get_some_local_dynamic_name PARAMS ((void)); -static int rs6000_get_some_local_dynamic_name_1 PARAMS ((rtx *, void *)); +static int first_altivec_reg_to_save (void); +static unsigned int compute_vrsave_mask (void); +static void is_altivec_return_reg (rtx, void *); +static rtx generate_set_vrsave (rtx, rs6000_stack_t *, int); +int easy_vector_constant (rtx, enum machine_mode); +static int easy_vector_same (rtx, enum machine_mode); +static bool is_ev64_opaque_type (tree); +static rtx rs6000_dwarf_register_span (rtx); +static rtx rs6000_legitimize_tls_address (rtx, enum tls_model); +static rtx rs6000_tls_get_addr (void); +static rtx rs6000_got_sym (void); +static inline int rs6000_tls_symbol_ref_1 (rtx *, void *); +static const char *rs6000_get_some_local_dynamic_name (void); +static int rs6000_get_some_local_dynamic_name_1 (rtx *, void *); static rtx rs6000_complex_function_value (enum machine_mode); -static rtx rs6000_spe_function_arg (CUMULATIVE_ARGS *, enum machine_mode, tree); +static rtx rs6000_spe_function_arg (CUMULATIVE_ARGS *, + enum machine_mode, tree); /* Hash table stuff for keeping track of TOC entries. */ @@ -501,8 +498,7 @@ struct gcc_target targetm = TARGET_INITIALIZER; type and sometimes adjust other TARGET_ options. */ void -rs6000_override_options (default_cpu) - const char *default_cpu; +rs6000_override_options (const char *default_cpu); { size_t i, j; struct rs6000_cpu_select *ptr; @@ -941,9 +937,7 @@ rs6000_parse_tls_size_option () } void -optimization_options (level, size) - int level ATTRIBUTE_UNUSED; - int size ATTRIBUTE_UNUSED; +optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED) { } @@ -1028,18 +1022,15 @@ direct_return () /* Returns 1 always. */ int -any_operand (op, mode) - rtx op ATTRIBUTE_UNUSED; - enum machine_mode mode ATTRIBUTE_UNUSED; +any_operand (rtx op ATTRIBUTE_UNUSED, + enum machine_mode mode ATTRIBUTE_UNUSED) { return 1; } /* Returns 1 if op is the count register. */ int -count_register_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +count_register_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { if (GET_CODE (op) != REG) return 0; @@ -1055,9 +1046,7 @@ count_register_operand (op, mode) /* Returns 1 if op is an altivec register. */ int -altivec_register_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +altivec_register_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (register_operand (op, mode) @@ -1067,9 +1056,7 @@ altivec_register_operand (op, mode) } int -xer_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +xer_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { if (GET_CODE (op) != REG) return 0; @@ -1084,9 +1071,7 @@ xer_operand (op, mode) by such constants completes more quickly. */ int -s8bit_cint_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +s8bit_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return ( GET_CODE (op) == CONST_INT && (INTVAL (op) >= -128 && INTVAL (op) <= 127)); @@ -1095,9 +1080,7 @@ s8bit_cint_operand (op, mode) /* Return 1 if OP is a constant that can fit in a D field. */ int -short_cint_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +short_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == CONST_INT && CONST_OK_FOR_LETTER_P (INTVAL (op), 'I')); @@ -1106,9 +1089,7 @@ short_cint_operand (op, mode) /* Similar for an unsigned D field. */ int -u_short_cint_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +u_short_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == CONST_INT && CONST_OK_FOR_LETTER_P (INTVAL (op) & GET_MODE_MASK (mode), 'K')); @@ -1117,9 +1098,7 @@ u_short_cint_operand (op, mode) /* Return 1 if OP is a CONST_INT that cannot fit in a signed D field. */ int -non_short_cint_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +non_short_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == CONST_INT && (unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) >= 0x10000); @@ -1129,9 +1108,7 @@ non_short_cint_operand (op, mode) and an exact power of 2. */ int -exact_log2_cint_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +exact_log2_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == CONST_INT && INTVAL (op) > 0 @@ -1142,9 +1119,7 @@ exact_log2_cint_operand (op, mode) ctr, or lr). */ int -gpc_reg_operand (op, mode) - rtx op; - enum machine_mode mode; +gpc_reg_operand (rtx op, enum machine_mode mode) { return (register_operand (op, mode) && (GET_CODE (op) != REG @@ -1157,9 +1132,7 @@ gpc_reg_operand (op, mode) CR field. */ int -cc_reg_operand (op, mode) - rtx op; - enum machine_mode mode; +cc_reg_operand (rtx op, enum machine_mode mode) { return (register_operand (op, mode) && (GET_CODE (op) != REG @@ -1171,9 +1144,7 @@ cc_reg_operand (op, mode) CR field that isn't CR0. */ int -cc_reg_not_cr0_operand (op, mode) - rtx op; - enum machine_mode mode; +cc_reg_not_cr0_operand (rtx op, enum machine_mode mode) { return (register_operand (op, mode) && (GET_CODE (op) != REG @@ -1186,9 +1157,7 @@ cc_reg_not_cr0_operand (op, mode) mode unless MODE is VOIDmode. */ int -reg_or_short_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_short_operand (rtx op, enum machine_mode mode) { return short_cint_operand (op, mode) || gpc_reg_operand (op, mode); } @@ -1197,9 +1166,7 @@ reg_or_short_operand (op, mode) valid for a D-field. */ int -reg_or_neg_short_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_neg_short_operand (rtx op, enum machine_mode mode) { if (GET_CODE (op) == CONST_INT) return CONST_OK_FOR_LETTER_P (INTVAL (op), 'P'); @@ -1212,9 +1179,7 @@ reg_or_neg_short_operand (op, mode) mode unless MODE is VOIDmode. */ int -reg_or_aligned_short_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_aligned_short_operand (rtx op, enum machine_mode mode) { if (gpc_reg_operand (op, mode)) return 1; @@ -1229,9 +1194,7 @@ reg_or_aligned_short_operand (op, mode) high-order 16 bits are zero. */ int -reg_or_u_short_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_u_short_operand (rtx op, enum machine_mode mode) { return u_short_cint_operand (op, mode) || gpc_reg_operand (op, mode); } @@ -1240,9 +1203,7 @@ reg_or_u_short_operand (op, mode) constant integer. */ int -reg_or_cint_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_cint_operand (rtx op, enum machine_mode mode) { return (GET_CODE (op) == CONST_INT || gpc_reg_operand (op, mode)); } @@ -1251,9 +1212,7 @@ reg_or_cint_operand (op, mode) 32-bit signed constant integer. */ int -reg_or_arith_cint_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_arith_cint_operand (rtx op, enum machine_mode mode) { return (gpc_reg_operand (op, mode) || (GET_CODE (op) == CONST_INT @@ -1268,9 +1227,7 @@ reg_or_arith_cint_operand (op, mode) signed constant integer valid for 64-bit addition. */ int -reg_or_add_cint64_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_add_cint64_operand (rtx op, enum machine_mode mode) { return (gpc_reg_operand (op, mode) || (GET_CODE (op) == CONST_INT @@ -1287,9 +1244,7 @@ reg_or_add_cint64_operand (op, mode) signed constant integer valid for 64-bit subtraction. */ int -reg_or_sub_cint64_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_sub_cint64_operand (rtx op, enum machine_mode mode) { return (gpc_reg_operand (op, mode) || (GET_CODE (op) == CONST_INT @@ -1306,9 +1261,7 @@ reg_or_sub_cint64_operand (op, mode) 32-bit unsigned constant integer. */ int -reg_or_logical_cint_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_logical_cint_operand (rtx op, enum machine_mode mode) { if (GET_CODE (op) == CONST_INT) { @@ -1339,9 +1292,7 @@ reg_or_logical_cint_operand (op, mode) /* Return 1 if the operand is an operand that can be loaded via the GOT. */ int -got_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +got_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == SYMBOL_REF || GET_CODE (op) == CONST @@ -1352,9 +1303,7 @@ got_operand (op, mode) the GOT (labels involving addition aren't allowed). */ int -got_no_const_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +got_no_const_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == SYMBOL_REF || GET_CODE (op) == LABEL_REF); } @@ -1363,8 +1312,7 @@ got_no_const_operand (op, mode) integer register. */ static int -num_insns_constant_wide (value) - HOST_WIDE_INT value; +num_insns_constant_wide (HOST_WIDE_INT value) { /* signed constant loadable with {cal|addi} */ if (CONST_OK_FOR_LETTER_P (value, 'I')) @@ -1398,9 +1346,7 @@ num_insns_constant_wide (value) } int -num_insns_constant (op, mode) - rtx op; - enum machine_mode mode; +num_insns_constant (rtx op, enum machine_mode mode) { if (GET_CODE (op) == CONST_INT) { @@ -1477,9 +1423,7 @@ num_insns_constant (op, mode) safely read CONST_DOUBLE_{LOW,HIGH}. */ int -easy_fp_constant (op, mode) - rtx op; - enum machine_mode mode; +easy_fp_constant (rtx op, enum machine_mode mode) { if (GET_CODE (op) != CONST_DOUBLE || GET_MODE (op) != mode @@ -1553,9 +1497,7 @@ easy_fp_constant (op, mode) /* Return nonzero if all elements of a vector have the same value. */ static int -easy_vector_same (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +easy_vector_same (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int units, i, cst; @@ -1574,9 +1516,7 @@ easy_vector_same (op, mode) register without using memory. */ int -easy_vector_constant (op, mode) - rtx op; - enum machine_mode mode; +easy_vector_constant (rtx op, enum machine_mode mode) { int cst, cst2; @@ -1625,9 +1565,7 @@ easy_vector_constant (op, mode) /* Same as easy_vector_constant but only for EASY_VECTOR_15_ADD_SELF. */ int -easy_vector_constant_add_self (op, mode) - rtx op; - enum machine_mode mode; +easy_vector_constant_add_self (rtx op, enum machine_mode mode) { int cst; @@ -1640,8 +1578,7 @@ easy_vector_constant_add_self (op, mode) } const char * -output_vec_const_move (operands) - rtx *operands; +output_vec_const_move (rtx *operands) { int cst, cst2; enum machine_mode mode; @@ -1701,18 +1638,14 @@ output_vec_const_move (operands) /* Return 1 if the operand is the constant 0. This works for scalars as well as vectors. */ int -zero_constant (op, mode) - rtx op; - enum machine_mode mode; +zero_constant (rtx op, enum machine_mode mode) { return op == CONST0_RTX (mode); } /* Return 1 if the operand is 0.0. */ int -zero_fp_constant (op, mode) - rtx op; - enum machine_mode mode; +zero_fp_constant (rtx op, enum machine_mode mode) { return GET_MODE_CLASS (mode) == MODE_FLOAT && op == CONST0_RTX (mode); } @@ -1723,9 +1656,7 @@ zero_fp_constant (op, mode) recognize volatile references where its safe. */ int -volatile_mem_operand (op, mode) - rtx op; - enum machine_mode mode; +volatile_mem_operand (rtx op, enum machine_mode mode) { if (GET_CODE (op) != MEM) return 0; @@ -1748,9 +1679,7 @@ volatile_mem_operand (op, mode) /* Return 1 if the operand is an offsettable memory operand. */ int -offsettable_mem_operand (op, mode) - rtx op; - enum machine_mode mode; +offsettable_mem_operand (rtx op, enum machine_mode mode) { return ((GET_CODE (op) == MEM) && offsettable_address_p (reload_completed || reload_in_progress, @@ -1761,9 +1690,7 @@ offsettable_mem_operand (op, mode) memory. */ int -mem_or_easy_const_operand (op, mode) - rtx op; - enum machine_mode mode; +mem_or_easy_const_operand (rtx op, enum machine_mode mode) { return memory_operand (op, mode) || easy_fp_constant (op, mode); } @@ -1772,9 +1699,7 @@ mem_or_easy_const_operand (op, mode) that can be used as the operand of a `mode' add insn. */ int -add_operand (op, mode) - rtx op; - enum machine_mode mode; +add_operand (rtx op, enum machine_mode mode) { if (GET_CODE (op) == CONST_INT) return (CONST_OK_FOR_LETTER_P (INTVAL (op), 'I') @@ -1786,9 +1711,7 @@ add_operand (op, mode) /* Return 1 if OP is a constant but not a valid add_operand. */ int -non_add_cint_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +non_add_cint_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == CONST_INT && !CONST_OK_FOR_LETTER_P (INTVAL (op), 'I') @@ -1799,9 +1722,7 @@ non_add_cint_operand (op, mode) can be used as the operand of an OR or XOR insn on the RS/6000. */ int -logical_operand (op, mode) - rtx op; - enum machine_mode mode; +logical_operand (rtx op, enum machine_mode mode) { HOST_WIDE_INT opl, oph; @@ -1838,9 +1759,7 @@ logical_operand (op, mode) above), but could be split into one. */ int -non_logical_cint_operand (op, mode) - rtx op; - enum machine_mode mode; +non_logical_cint_operand (rtx op, enum machine_mode mode) { return ((GET_CODE (op) == CONST_INT || GET_CODE (op) == CONST_DOUBLE) && ! logical_operand (op, mode) @@ -1853,9 +1772,7 @@ non_logical_cint_operand (op, mode) away and confuse the making of MB and ME. */ int -mask_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +mask_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { HOST_WIDE_INT c, lsb; @@ -1897,9 +1814,7 @@ mask_operand (op, mode) /* Return 1 for the PowerPC64 rlwinm corner case. */ int -mask_operand_wrap (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +mask_operand_wrap (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { HOST_WIDE_INT c, lsb; @@ -1928,9 +1843,7 @@ mask_operand_wrap (op, mode) confuses the making of MB and ME. */ int -mask64_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +mask64_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { if (GET_CODE (op) == CONST_INT) { @@ -1961,9 +1874,7 @@ mask64_operand (op, mode) rldicr machine insns. */ int -mask64_2_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +mask64_2_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { if (GET_CODE (op) == CONST_INT) { @@ -2010,9 +1921,7 @@ mask64_2_operand (op, mode) /* Generates shifts and masks for a pair of rldicl or rldicr insns to implement ANDing by the mask IN. */ void -build_mask64_2_operands (in, out) - rtx in; - rtx *out; +build_mask64_2_operands (rtx in, rtx *out) { #if HOST_BITS_PER_WIDE_INT >= 64 unsigned HOST_WIDE_INT c, lsb, m1, m2; @@ -2083,9 +1992,7 @@ build_mask64_2_operands (in, out) that can be used as the operand of a PowerPC64 logical AND insn. */ int -and64_operand (op, mode) - rtx op; - enum machine_mode mode; +and64_operand (rtx op, enum machine_mode mode) { if (fixed_regs[CR0_REGNO]) /* CR0 not available, don't do andi./andis. */ return (gpc_reg_operand (op, mode) || mask64_operand (op, mode)); @@ -2097,9 +2004,7 @@ and64_operand (op, mode) with two rldicl or rldicr insns. */ int -and64_2_operand (op, mode) - rtx op; - enum machine_mode mode; +and64_2_operand (rtx op, enum machine_mode mode) { if (fixed_regs[CR0_REGNO]) /* CR0 not available, don't do andi./andis. */ return gpc_reg_operand (op, mode) || mask64_2_operand (op, mode); @@ -2111,9 +2016,7 @@ and64_2_operand (op, mode) constant that can be used as the operand of an RS/6000 logical AND insn. */ int -and_operand (op, mode) - rtx op; - enum machine_mode mode; +and_operand (rtx op, enum machine_mode mode) { if (fixed_regs[CR0_REGNO]) /* CR0 not available, don't do andi./andis. */ return (gpc_reg_operand (op, mode) || mask_operand (op, mode)); @@ -2124,9 +2027,7 @@ and_operand (op, mode) /* Return 1 if the operand is a general register or memory operand. */ int -reg_or_mem_operand (op, mode) - rtx op; - enum machine_mode mode; +reg_or_mem_operand (rtx op, enum machine_mode mode) { return (gpc_reg_operand (op, mode) || memory_operand (op, mode) @@ -2138,9 +2039,7 @@ reg_or_mem_operand (op, mode) instruction. */ int -lwa_operand (op, mode) - rtx op; - enum machine_mode mode; +lwa_operand (rtx op, enum machine_mode mode) { rtx inner = op; @@ -2159,9 +2058,7 @@ lwa_operand (op, mode) /* Return 1 if the operand, used inside a MEM, is a SYMBOL_REF. */ int -symbol_ref_operand (op, mode) - rtx op; - enum machine_mode mode; +symbol_ref_operand (rtx op, enum machine_mode mode) { if (mode != VOIDmode && GET_MODE (op) != mode) return 0; @@ -2174,9 +2071,7 @@ symbol_ref_operand (op, mode) to CALL. This is a SYMBOL_REF, a pseudo-register, LR or CTR. */ int -call_operand (op, mode) - rtx op; - enum machine_mode mode; +call_operand (rtx op, enum machine_mode mode) { if (mode != VOIDmode && GET_MODE (op) != mode) return 0; @@ -2192,9 +2087,8 @@ call_operand (op, mode) this file. */ int -current_file_function_operand (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +current_file_function_operand (rtx op, + enum machine_mode mode ATTRIBUTE_UNUSED) { return (GET_CODE (op) == SYMBOL_REF && (DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op)) @@ -2205,9 +2099,7 @@ current_file_function_operand (op, mode) /* Return 1 if this operand is a valid input for a move insn. */ int -input_operand (op, mode) - rtx op; - enum machine_mode mode; +input_operand (rtx op, enum machine_mode mode) { /* Memory is always valid. */ if (memory_operand (op, mode)) @@ -2267,9 +2159,8 @@ input_operand (op, mode) /* Return 1 for an operand in small memory on V.4/eabi. */ int -small_data_operand (op, mode) - rtx op ATTRIBUTE_UNUSED; - enum machine_mode mode ATTRIBUTE_UNUSED; +small_data_operand (rtx op ATTRIBUTE_UNUSED, + enum machine_mode mode ATTRIBUTE_UNUSED) { #if TARGET_ELF rtx sym_ref; @@ -2327,10 +2218,7 @@ altivec_in_gprs_p (rtx op0, rtx op1) /* Subroutines of rs6000_legitimize_address and rs6000_legitimate_address. */ static int -constant_pool_expr_1 (op, have_sym, have_toc) - rtx op; - int *have_sym; - int *have_toc; +constant_pool_expr_1 (rtx op, int *have_sym, int *have_toc) { switch (GET_CODE(op)) { @@ -2368,8 +2256,7 @@ constant_pool_expr_1 (op, have_sym, have_toc) } static bool -constant_pool_expr_p (op) - rtx op; +constant_pool_expr_p (rtx op) { int have_sym = 0; int have_toc = 0; @@ -2377,8 +2264,7 @@ constant_pool_expr_p (op) } static bool -toc_relative_expr_p (op) - rtx op; +toc_relative_expr_p (rtx op) { int have_sym = 0; int have_toc = 0; @@ -2389,8 +2275,7 @@ toc_relative_expr_p (op) #define SPE_CONST_OFFSET_OK(x) (((x) & ~0xf8) == 0) bool -legitimate_constant_pool_address_p (x) - rtx x; +legitimate_constant_pool_address_p (rtx x) { return (TARGET_TOC && GET_CODE (x) == PLUS @@ -2400,9 +2285,7 @@ legitimate_constant_pool_address_p (x) } static bool -legitimate_small_data_p (mode, x) - enum machine_mode mode; - rtx x; +legitimate_small_data_p (enum machine_mode mode, rtx x) { return (DEFAULT_ABI == ABI_V4 && !flag_pic && !TARGET_TOC @@ -2411,10 +2294,7 @@ legitimate_small_data_p (mode, x) } static bool -legitimate_offset_address_p (mode, x, strict) - enum machine_mode mode; - rtx x; - int strict; +legitimate_offset_address_p (enum machine_mode mode, rtx x, int strict) { unsigned HOST_WIDE_INT offset, extra; @@ -2473,9 +2353,7 @@ legitimate_offset_address_p (mode, x, strict) } static bool -legitimate_indexed_address_p (x, strict) - rtx x; - int strict; +legitimate_indexed_address_p (rtx x, int strict) { rtx op0, op1; @@ -2494,18 +2372,13 @@ legitimate_indexed_address_p (x, strict) } static inline bool -legitimate_indirect_address_p (x, strict) - rtx x; - int strict; +legitimate_indirect_address_p (rtx x, int strict) { return GET_CODE (x) == REG && INT_REG_OK_FOR_BASE_P (x, strict); } static bool -legitimate_lo_sum_address_p (mode, x, strict) - enum machine_mode mode; - rtx x; - int strict; +legitimate_lo_sum_address_p (enum machine_mode mode, rtx x, int strict) { if (GET_CODE (x) != LO_SUM) return false; @@ -2558,10 +2431,8 @@ legitimate_lo_sum_address_p (mode, x, strict) load the other things into a register and return the sum. */ rtx -rs6000_legitimize_address (x, oldx, mode) - rtx x; - rtx oldx ATTRIBUTE_UNUSED; - enum machine_mode mode; +rs6000_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED, + enum machine_mode mode) { if (GET_CODE (x) == SYMBOL_REF) { @@ -2702,9 +2573,7 @@ rs6000_got_sym () this (thread-local) address. */ static rtx -rs6000_legitimize_tls_address (addr, model) - rtx addr; - enum tls_model model; +rs6000_legitimize_tls_address (rtx addr, enum tls_model model) { rtx dest, insn; @@ -2890,9 +2759,7 @@ rs6000_legitimize_tls_address (addr, model) instruction definitions. */ int -rs6000_tls_symbol_ref (x, mode) - rtx x; - enum machine_mode mode ATTRIBUTE_UNUSED; +rs6000_tls_symbol_ref (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED) { return RS6000_SYMBOL_REF_TLS_P (x); } @@ -2900,8 +2767,7 @@ rs6000_tls_symbol_ref (x, mode) /* Return 1 if X contains a thread-local symbol. */ bool -rs6000_tls_referenced_p (x) - rtx x; +rs6000_tls_referenced_p (rtx x) { return for_each_rtx (&x, &rs6000_tls_symbol_ref_1, 0); } @@ -2910,9 +2776,7 @@ rs6000_tls_referenced_p (x) rs6000_tls_symbol_ref except for the type of the unused argument. */ static inline int -rs6000_tls_symbol_ref_1 (x, data) - rtx *x; - void *data ATTRIBUTE_UNUSED; +rs6000_tls_symbol_ref_1 (rtx *x, void *data ATTRIBUTE_UNUSED) { return RS6000_SYMBOL_REF_TLS_P (*x); } @@ -2938,13 +2802,8 @@ rs6000_tls_symbol_ref_1 (x, data) The Darwin code is inside #if TARGET_MACHO because only then is machopic_function_base_name() defined. */ rtx -rs6000_legitimize_reload_address (x, mode, opnum, type, ind_levels, win) - rtx x; - enum machine_mode mode; - int opnum; - int type; - int ind_levels ATTRIBUTE_UNUSED; - int *win; +rs6000_legitimize_reload_address (rtx x, enum machine_mode mode, + int opnum, int type, int ind_levels ATTRIBUTE_UNUSED, int *win) { /* We must recognize output that we have already generated ourselves. */ if (GET_CODE (x) == PLUS @@ -3080,10 +2939,7 @@ rs6000_legitimize_reload_address (x, mode, opnum, type, ind_levels, win) adjacent memory cells are accessed by adding word-sized offsets during assembly output. */ int -rs6000_legitimate_address (mode, x, reg_ok_strict) - enum machine_mode mode; - rtx x; - int reg_ok_strict; +rs6000_legitimate_address (enum machine_mode mode, rtx x, int reg_ok_strict) { if (RS6000_SYMBOL_REF_TLS_P (x)) return 0; @@ -3132,8 +2988,7 @@ rs6000_legitimate_address (mode, x, reg_ok_strict) sub-words of a TFmode operand, which is what we had before. */ bool -rs6000_mode_dependent_address (addr) - rtx addr; +rs6000_mode_dependent_address (rtx addr) { switch (GET_CODE (addr)) { @@ -3166,10 +3021,8 @@ rs6000_mode_dependent_address (addr) insns, zero is returned and no insns and emitted. */ rtx -rs6000_emit_set_const (dest, mode, source, n) - rtx dest, source; - enum machine_mode mode; - int n ATTRIBUTE_UNUSED; +rs6000_emit_set_const (rtx dest, enum machine_mode mode, + rtx source, int n ATTRIBUTE_UNUSED) { rtx result, insn, set; HOST_WIDE_INT c0, c1; @@ -3231,9 +3084,7 @@ rs6000_emit_set_const (dest, mode, source, n) exponential run times encountered when looking for longer sequences with rs6000_emit_set_const. */ static rtx -rs6000_emit_set_long_const (dest, c1, c2) - rtx dest; - HOST_WIDE_INT c1, c2; +rs6000_emit_set_long_const (rtx dest, HOST_WIDE_INT c1, HOST_WIDE_INT c2) { if (!TARGET_POWERPC64) { @@ -3317,10 +3168,7 @@ rs6000_emit_set_long_const (dest, c1, c2) /* Emit a move from SOURCE to DEST in mode MODE. */ void -rs6000_emit_move (dest, source, mode) - rtx dest; - rtx source; - enum machine_mode mode; +rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode) { rtx operands[2]; operands[0] = dest; @@ -3669,12 +3517,8 @@ rs6000_emit_move (dest, source, mode) so we never return a PARALLEL. */ void -init_cumulative_args (cum, fntype, libname, incoming, libcall) - CUMULATIVE_ARGS *cum; - tree fntype; - rtx libname ATTRIBUTE_UNUSED; - int incoming; - int libcall; +init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype, + rtx libname ATTRIBUTE_UNUSED, int incoming, int libcall) { static CUMULATIVE_ARGS zero_cumulative; @@ -3736,9 +3580,7 @@ init_cumulative_args (cum, fntype, libname, incoming, libcall) argument slot. */ enum direction -function_arg_padding (mode, type) - enum machine_mode mode; - tree type; +function_arg_padding (enum machine_mode mode, tree type) { #ifndef AGGREGATE_PADDING_FIXED #define AGGREGATE_PADDING_FIXED 0 @@ -3799,9 +3641,7 @@ function_arg_padding (mode, type) V.4 wants long longs to be double word aligned. */ int -function_arg_boundary (mode, type) - enum machine_mode mode; - tree type ATTRIBUTE_UNUSED; +function_arg_boundary (enum machine_mode mode, tree type ATTRIBUTE_UNUSED) { if (DEFAULT_ABI == ABI_V4 && (mode == DImode || mode == DFmode)) return 64; @@ -3818,11 +3658,8 @@ function_arg_boundary (mode, type) (TYPE is null for libcalls where that information may not be available.) */ void -function_arg_advance (cum, mode, type, named) - CUMULATIVE_ARGS *cum; - enum machine_mode mode; - tree type; - int named; +function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, + tree type, int named) { cum->nargs_prototype--; @@ -3917,7 +3754,8 @@ function_arg_advance (cum, mode, type, named) /* Determine where to put a SIMD argument on the SPE. */ static rtx -rs6000_spe_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type) +rs6000_spe_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, + tree type) { if (cum->stdarg) { @@ -3975,11 +3813,8 @@ rs6000_spe_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, tree type doesn't support PARALLEL anyway. */ struct rtx_def * -function_arg (cum, mode, type, named) - CUMULATIVE_ARGS *cum; - enum machine_mode mode; - tree type; - int named; +function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, + tree type, int named) { enum rs6000_abi abi = DEFAULT_ABI; @@ -4102,11 +3937,8 @@ function_arg (cum, mode, type, named) For args passed entirely in registers or entirely in memory, zero. */ int -function_arg_partial_nregs (cum, mode, type, named) - CUMULATIVE_ARGS *cum; - enum machine_mode mode; - tree type; - int named ATTRIBUTE_UNUSED; +function_arg_partial_nregs (CUMULATIVE_ARGS *cum, enum machine_mode mode, + tree type, int named ATTRIBUTE_UNUSED) { if (DEFAULT_ABI == ABI_V4) return 0; @@ -4143,11 +3975,9 @@ function_arg_partial_nregs (cum, mode, type, named) reference. */ int -function_arg_pass_by_reference (cum, mode, type, named) - CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED; - enum machine_mode mode ATTRIBUTE_UNUSED; - tree type; - int named ATTRIBUTE_UNUSED; +function_arg_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED, + enum machine_mode mode ATTRIBUTE_UNUSED, +' tree type, int named ATTRIBUTE_UNUSED) { if (DEFAULT_ABI == ABI_V4 && ((type && AGGREGATE_TYPE_P (type)) @@ -4176,13 +4006,8 @@ function_arg_pass_by_reference (cum, mode, type, named) stack and set PRETEND_SIZE to the length of the registers pushed. */ void -setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) - CUMULATIVE_ARGS *cum; - enum machine_mode mode; - tree type; - int *pretend_size ATTRIBUTE_UNUSED; - int no_rtl; - +setup_incoming_varargs (CUMULATIVE_ARGS *cum, enum machine_mode mode, + tree type, int *pretend_size ATTRIBUTE_UNUSED, int no_rtl) { CUMULATIVE_ARGS next_cum; int reg_size = TARGET_32BIT ? 4 : 8; @@ -4318,9 +4143,7 @@ rs6000_build_va_list () /* Implement va_start. */ void -rs6000_va_start (valist, nextarg) - tree valist; - rtx nextarg; +rs6000_va_start (tree valist, rtx nextarg) { HOST_WIDE_INT words, n_gpr, n_fpr; tree f_gpr, f_fpr, f_res, f_ovf, f_sav; @@ -4384,8 +4207,7 @@ rs6000_va_start (valist, nextarg) /* Implement va_arg. */ rtx -rs6000_va_arg (valist, type) - tree valist, type; +rs6000_va_arg (tree valist, tree type) { tree f_gpr, f_fpr, f_res, f_ovf, f_sav; tree gpr, fpr, ovf, sav, reg, t, u; @@ -5016,10 +4838,7 @@ static struct builtin_description bdesc_1arg[] = }; static rtx -rs6000_expand_unop_builtin (icode, arglist, target) - enum insn_code icode; - tree arglist; - rtx target; +rs6000_expand_unop_builtin (enum insn_code icode, tree arglist, rtx target) { rtx pat; tree arg0 = TREE_VALUE (arglist); @@ -5068,10 +4887,7 @@ rs6000_expand_unop_builtin (icode, arglist, target) } static rtx -altivec_expand_abs_builtin (icode, arglist, target) - enum insn_code icode; - tree arglist; - rtx target; +altivec_expand_abs_builtin (enum insn_code icode, tree arglist, rtx target) { rtx pat, scratch1, scratch2; tree arg0 = TREE_VALUE (arglist); @@ -5103,10 +4919,7 @@ altivec_expand_abs_builtin (icode, arglist, target) } static rtx -rs6000_expand_binop_builtin (icode, arglist, target) - enum insn_code icode; - tree arglist; - rtx target; +rs6000_expand_binop_builtin (enum insn_code icode, tree arglist, rtx target) { rtx pat; tree arg0 = TREE_VALUE (arglist); @@ -5178,11 +4991,8 @@ rs6000_expand_binop_builtin (icode, arglist, target) } static rtx -altivec_expand_predicate_builtin (icode, opcode, arglist, target) - enum insn_code icode; - const char *opcode; - tree arglist; - rtx target; +altivec_expand_predicate_builtin (enum insn_code icode, const char *opcode, + tree arglist, rtx target) { rtx pat, scratch; tree cr6_form = TREE_VALUE (arglist); @@ -5259,9 +5069,7 @@ altivec_expand_predicate_builtin (icode, opcode, arglist, target) } static rtx -altivec_expand_stv_builtin (icode, arglist) - enum insn_code icode; - tree arglist; +altivec_expand_stv_builtin (enum insn_code icode, tree arglist) { tree arg0 = TREE_VALUE (arglist); tree arg1 = TREE_VALUE (TREE_CHAIN (arglist)); @@ -5294,10 +5102,7 @@ altivec_expand_stv_builtin (icode, arglist) } static rtx -rs6000_expand_ternop_builtin (icode, arglist, target) - enum insn_code icode; - tree arglist; - rtx target; +rs6000_expand_ternop_builtin (enum insn_code icode, tree arglist, rtx target) { rtx pat; tree arg0 = TREE_VALUE (arglist); @@ -5357,10 +5162,7 @@ rs6000_expand_ternop_builtin (icode, arglist, target) /* Expand the lvx builtins. */ static rtx -altivec_expand_ld_builtin (exp, target, expandedp) - tree exp; - rtx target; - bool *expandedp; +altivec_expand_ld_builtin (tree exp, rtx target, bool *expandedp) { tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree arglist = TREE_OPERAND (exp, 1); @@ -5413,10 +5215,8 @@ altivec_expand_ld_builtin (exp, target, expandedp) /* Expand the stvx builtins. */ static rtx -altivec_expand_st_builtin (exp, target, expandedp) - tree exp; - rtx target ATTRIBUTE_UNUSED; - bool *expandedp; +altivec_expand_st_builtin (tree exp, rtx target ATTRIBUTE_UNUSED, + bool *expandedp) { tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree arglist = TREE_OPERAND (exp, 1); @@ -5467,10 +5267,8 @@ altivec_expand_st_builtin (exp, target, expandedp) /* Expand the dst builtins. */ static rtx -altivec_expand_dst_builtin (exp, target, expandedp) - tree exp; - rtx target ATTRIBUTE_UNUSED; - bool *expandedp; +altivec_expand_dst_builtin (tree exp, rtx target ATTRIBUTE_UNUSED, + bool *expandedp) { tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree arglist = TREE_OPERAND (exp, 1); @@ -5530,10 +5328,7 @@ altivec_expand_dst_builtin (exp, target, expandedp) /* Expand the builtin in EXP and store the result in TARGET. Store true in *EXPANDEDP if we found a builtin to expand. */ static rtx -altivec_expand_builtin (exp, target, expandedp) - tree exp; - rtx target; - bool *expandedp; +altivec_expand_builtin (tree exp, rtx target, bool *expandedp) { struct builtin_description *d; struct builtin_description_predicates *dp; @@ -5713,10 +5508,7 @@ static struct builtin_description bdesc_2arg_spe[] = This expands the SPE builtins that are not simple unary and binary operations. */ static rtx -spe_expand_builtin (exp, target, expandedp) - tree exp; - rtx target; - bool *expandedp; +spe_expand_builtin (tree exp, rtx target, bool *expandedp) { tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree arglist = TREE_OPERAND (exp, 1); @@ -5849,10 +5641,7 @@ spe_expand_builtin (exp, target, expandedp) } static rtx -spe_expand_predicate_builtin (icode, arglist, target) - enum insn_code icode; - tree arglist; - rtx target; +spe_expand_predicate_builtin (enum insn_code icode, tree arglist, rtx target) { rtx pat, scratch, tmp; tree form = TREE_VALUE (arglist); @@ -5961,10 +5750,7 @@ spe_expand_predicate_builtin (icode, arglist, target) */ static rtx -spe_expand_evsel_builtin (icode, arglist, target) - enum insn_code icode; - tree arglist; - rtx target; +spe_expand_evsel_builtin (enum insn_code icode, tree arglist, rtx target) { rtx pat, scratch; tree arg0 = TREE_VALUE (arglist); @@ -6021,12 +5807,9 @@ spe_expand_evsel_builtin (icode, arglist, target) IGNORE is nonzero if the value is to be ignored. */ static rtx -rs6000_expand_builtin (exp, target, subtarget, mode, ignore) - tree exp; - rtx target; - rtx subtarget ATTRIBUTE_UNUSED; - enum machine_mode mode ATTRIBUTE_UNUSED; - int ignore ATTRIBUTE_UNUSED; +rs6000_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED, + enum machine_mode mode ATTRIBUTE_UNUSED, + int ignore ATTRIBUTE_UNUSED) { tree fndecl = TREE_OPERAND (TREE_OPERAND (exp, 0), 0); tree arglist = TREE_OPERAND (exp, 1); @@ -6097,10 +5880,9 @@ rs6000_init_builtins () START is the builtin enum at which to start. END is the builtin enum at which to end. */ static void -enable_mask_for_builtins (desc, size, start, end) - struct builtin_description *desc; - int size; - enum rs6000_builtins start, end; +enable_mask_for_builtins (struct builtin_description *desc, int size, + enum rs6000_builtins start, + enum rs6000_builtins end) { int i; @@ -7009,8 +6791,7 @@ rs6000_common_init_builtins () #define MAX_MOVE_REG 4 int -expand_block_move (operands) - rtx operands[]; +expand_block_move (rtx operands[]) { rtx orig_dest = operands[0]; rtx orig_src = operands[1]; @@ -7046,8 +6827,8 @@ expand_block_move (operands) for (offset = 0; bytes > 0; offset += move_bytes, bytes -= move_bytes) { union { - rtx (*movstrsi) PARAMS ((rtx, rtx, rtx, rtx)); - rtx (*mov) PARAMS ((rtx, rtx)); + rtx (*movstrsi) (rtx, rtx, rtx, rtx); + rtx (*mov) (rtx, rtx); } gen_func; enum machine_mode mode = BLKmode; rtx src, dest; @@ -7177,9 +6958,7 @@ expand_block_move (operands) PARALLEL and the first section will be tested. */ int -load_multiple_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +load_multiple_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0); unsigned int dest_regno; @@ -7220,9 +6999,7 @@ load_multiple_operation (op, mode) is a CLOBBER. It will be tested later. */ int -store_multiple_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +store_multiple_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0) - 1; unsigned int src_regno; @@ -7265,8 +7042,7 @@ store_multiple_operation (op, mode) operands[2] is the first destination register. */ const char * -rs6000_output_load_multiple (operands) - rtx operands[3]; +rs6000_output_load_multiple (rtx operands[3]) { /* We have to handle the case where the pseudo used to contain the address is assigned to one of the output registers. */ @@ -7320,9 +7096,7 @@ rs6000_output_load_multiple (operands) /* Return 1 for a parallel vrsave operation. */ int -vrsave_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +vrsave_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0); unsigned int dest_regno, src_regno; @@ -7356,9 +7130,7 @@ vrsave_operation (op, mode) /* Return 1 for an PARALLEL suitable for mfcr. */ int -mfcr_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +mfcr_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0); int i; @@ -7406,9 +7178,7 @@ mfcr_operation (op, mode) /* Return 1 for an PARALLEL suitable for mtcrf. */ int -mtcrf_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +mtcrf_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0); int i; @@ -7455,9 +7225,7 @@ mtcrf_operation (op, mode) /* Return 1 for an PARALLEL suitable for lmw. */ int -lmw_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +lmw_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0); unsigned int dest_regno; @@ -7533,9 +7301,7 @@ lmw_operation (op, mode) /* Return 1 for an PARALLEL suitable for stmw. */ int -stmw_operation (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +stmw_operation (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { int count = XVECLEN (op, 0); unsigned int src_regno; @@ -7613,9 +7379,7 @@ stmw_operation (op, mode) never be generated. */ static void -validate_condition_mode (code, mode) - enum rtx_code code; - enum machine_mode mode; +validate_condition_mode (enum rtx_code code, enum machine_mode mode) { if (GET_RTX_CLASS (code) != '<' || GET_MODE_CLASS (mode) != MODE_CC) @@ -7656,9 +7420,7 @@ validate_condition_mode (code, mode) We only check the opcode against the mode of the CC value here. */ int -branch_comparison_operator (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +branch_comparison_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { enum rtx_code code = GET_CODE (op); enum machine_mode cc_mode; @@ -7680,13 +7442,11 @@ branch_comparison_operator (op, mode) is set. */ int -branch_positive_comparison_operator (op, mode) - rtx op; - enum machine_mode mode; +branch_positive_comparison_operator (rtx op, enum machine_mode mode) { enum rtx_code code; - if (! branch_comparison_operator (op, mode)) + if (! branch_comparison_operator (rtx op, enum machine_mode mode)) return 0; code = GET_CODE (op); @@ -7700,17 +7460,13 @@ branch_positive_comparison_operator (op, mode) insn: it must be a positive comparison. */ int -scc_comparison_operator (op, mode) - rtx op; - enum machine_mode mode; +scc_comparison_operator (rtx op, enum machine_mode mode) { return branch_positive_comparison_operator (op, mode); } int -trap_comparison_operator (op, mode) - rtx op; - enum machine_mode mode; +trap_comparison_operator (rtx op, enum machine_mode mode) { if (mode != VOIDmode && mode != GET_MODE (op)) return 0; @@ -7718,27 +7474,21 @@ trap_comparison_operator (op, mode) } int -boolean_operator (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +boolean_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { enum rtx_code code = GET_CODE (op); return (code == AND || code == IOR || code == XOR); } int -boolean_or_operator (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +boolean_or_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { enum rtx_code code = GET_CODE (op); return (code == IOR || code == XOR); } int -min_max_operator (op, mode) - rtx op; - enum machine_mode mode ATTRIBUTE_UNUSED; +min_max_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED) { enum rtx_code code = GET_CODE (op); return (code == SMIN || code == SMAX || code == UMIN || code == UMAX); @@ -7749,9 +7499,7 @@ min_max_operator (op, mode) left insn of SHIFTOP bits. Both are known to be SImode CONST_INT. */ int -includes_lshift_p (shiftop, andop) - rtx shiftop; - rtx andop; +includes_lshift_p (rtx shiftop, rtx andop) { unsigned HOST_WIDE_INT shift_mask = ~(unsigned HOST_WIDE_INT) 0; @@ -7763,9 +7511,7 @@ includes_lshift_p (shiftop, andop) /* Similar, but for right shift. */ int -includes_rshift_p (shiftop, andop) - rtx shiftop; - rtx andop; +includes_rshift_p (rtx shiftop, rtx andop) { unsigned HOST_WIDE_INT shift_mask = ~(unsigned HOST_WIDE_INT) 0; @@ -7779,9 +7525,7 @@ includes_rshift_p (shiftop, andop) significant 0's, then one or more 1's, then zero or more 0's. */ int -includes_rldic_lshift_p (shiftop, andop) - rtx shiftop; - rtx andop; +includes_rldic_lshift_p (rtx shiftop, rtx andop) { if (GET_CODE (andop) == CONST_INT) { @@ -7874,9 +7618,7 @@ includes_rldic_lshift_p (shiftop, andop) significant 0's, with the remainder of the word 1's. */ int -includes_rldicr_lshift_p (shiftop, andop) - rtx shiftop; - rtx andop; +includes_rldicr_lshift_p (rtx shiftop, rtx andop) { if (GET_CODE (andop) == CONST_INT) { @@ -7948,8 +7690,7 @@ includes_rldicr_lshift_p (shiftop, andop) abort if we are passed pseudo registers. */ int -registers_ok_for_quad_peep (reg1, reg2) - rtx reg1, reg2; +registers_ok_for_quad_peep (rtx reg1, rtx reg2) { /* We might have been passed a SUBREG. */ if (GET_CODE (reg1) != REG || GET_CODE (reg2) != REG) @@ -7963,9 +7704,7 @@ registers_ok_for_quad_peep (reg1, reg2) (addr2 == addr1 + 8). */ int -addrs_ok_for_quad_peep (addr1, addr2) - rtx addr1; - rtx addr2; +addrs_ok_for_quad_peep (rtx addr1, rtx addr2) { unsigned int reg1; int offset1; @@ -7994,9 +7733,9 @@ addrs_ok_for_quad_peep (addr1, addr2) offset1 = 0; } -/* Make sure the second address is a (mem (plus (reg) (const_int))) - or if it is (mem (reg)) then make sure that offset1 is -8 and the same - register as addr1. */ + /* Make sure the second address is a (mem (plus (reg) (const_int))) + or if it is (mem (reg)) then make sure that offset1 is -8 and the same + register as addr1. */ if (offset1 == -8 && GET_CODE (addr2) == REG && reg1 == REGNO (addr2)) return 1; if (GET_CODE (addr2) != PLUS) @@ -8023,10 +7762,8 @@ addrs_ok_for_quad_peep (addr1, addr2) NO_REGS is returned. */ enum reg_class -secondary_reload_class (class, mode, in) - enum reg_class class; - enum machine_mode mode ATTRIBUTE_UNUSED; - rtx in; +secondary_reload_class (enum reg_class class, + enum machine_mode mode ATTRIBUTE_UNUSED, rtx in) { int regno; @@ -8104,9 +7841,7 @@ secondary_reload_class (class, mode, in) Return -1 if OP isn't a valid comparison for some reason. */ int -ccr_bit (op, scc_p) - rtx op; - int scc_p; +ccr_bit (rtx op, int scc_p) { enum rtx_code code = GET_CODE (op); enum machine_mode cc_mode; @@ -8171,8 +7906,7 @@ ccr_bit (op, scc_p) /* Return the GOT register. */ struct rtx_def * -rs6000_got_register (value) - rtx value ATTRIBUTE_UNUSED; +rs6000_got_register (rtx value ATTRIBUTE_UNUSED) { /* The second flow pass currently (June 1999) can't update regs_ever_live without disturbing other parts of the compiler, so @@ -8204,8 +7938,7 @@ rs6000_init_machine_status () (GET_CODE (X) == CONST_INT ? INTVAL (X) : CONST_DOUBLE_LOW (X)) int -extract_MB (op) - rtx op; +extract_MB (rtx op) { int i; unsigned long val = INT_LOWPART (op); @@ -8238,8 +7971,7 @@ extract_MB (op) } int -extract_ME (op) - rtx op; +extract_ME (rtx op) { int i; unsigned long val = INT_LOWPART (op); @@ -8295,9 +8027,7 @@ rs6000_get_some_local_dynamic_name () /* Helper function for rs6000_get_some_local_dynamic_name. */ static int -rs6000_get_some_local_dynamic_name_1 (px, data) - rtx *px; - void *data ATTRIBUTE_UNUSED; +rs6000_get_some_local_dynamic_name_1 (rtx *px, void *data ATTRIBUTE_UNUSED) { rtx x = *px; @@ -8325,10 +8055,7 @@ rs6000_get_some_local_dynamic_name_1 (px, data) #endif void -print_operand (file, x, code) - FILE *file; - rtx x; - int code; +print_operand (FILE *file, rtx x, int code) { int i; HOST_WIDE_INT val; @@ -8946,9 +8673,7 @@ print_operand (file, x, code) /* Print the address of an operand. */ void -print_operand_address (file, x) - FILE *file; - rtx x; +print_operand_address (FILE *file, rtx x) { if (GET_CODE (x) == REG) fprintf (file, "0(%s)", reg_names[ REGNO (x) ]); @@ -9037,16 +8762,13 @@ print_operand_address (file, x) targets. */ static bool -rs6000_assemble_integer (x, size, aligned_p) - rtx x; - unsigned int size; - int aligned_p; +rs6000_assemble_integer (rtx x, unsigned int size, int aligned_p) { #ifdef RELOCATABLE_NEEDS_FIXUP /* Special handling for SI values. */ if (size == 4 && aligned_p) { - extern int in_toc_section PARAMS ((void)); + extern int in_toc_section (void); static int recurse = 0; /* For -mrelocatable, we mark all addresses that need to be fixed up @@ -9100,9 +8822,7 @@ rs6000_assemble_integer (x, size, aligned_p) VISIBILITY_TYPE. */ static void -rs6000_assemble_visibility (decl, vis) - tree decl; - int vis; +rs6000_assemble_visibility (tree decl, int vis) { /* Functions need to have their entry point symbol visibility set as well as their descriptor symbol visibility. */ @@ -9127,9 +8847,7 @@ rs6000_assemble_visibility (decl, vis) #endif enum rtx_code -rs6000_reverse_condition (mode, code) - enum machine_mode mode; - enum rtx_code code; +rs6000_reverse_condition (enum machine_mode mode, enum rtx_code code) { /* Reversal of FP compares takes care -- an ordered compare becomes an unordered compare and vice versa. */ @@ -9146,8 +8864,7 @@ rs6000_reverse_condition (mode, code) represents the result of the compare. */ static rtx -rs6000_generate_compare (code) - enum rtx_code code; +rs6000_generate_compare (enum rtx_code code) { enum machine_mode comp_mode; rtx compare_result; @@ -9331,9 +9048,7 @@ rs6000_generate_compare (code) /* Emit the RTL for an sCOND pattern. */ void -rs6000_emit_sCOND (code, result) - enum rtx_code code; - rtx result; +rs6000_emit_sCOND (enum rtx_code code, rtx result) { rtx condition_rtx; enum machine_mode op_mode; @@ -9379,9 +9094,7 @@ rs6000_emit_sCOND (code, result) /* Emit a branch of kind CODE to location LOC. */ void -rs6000_emit_cbranch (code, loc) - enum rtx_code code; - rtx loc; +rs6000_emit_cbranch (enum rtx_code code, rtx loc) { rtx condition_rtx, loc_ref; @@ -9405,11 +9118,7 @@ rs6000_emit_cbranch (code, loc) INSN is the insn. */ char * -output_cbranch (op, label, reversed, insn) - rtx op; - const char * label; - int reversed; - rtx insn; +output_cbranch (rtx op, const char *label, int reversed, rtx insn) { static char string[64]; enum rtx_code code = GET_CODE (op); @@ -9531,11 +9240,7 @@ output_cbranch (op, label, reversed, insn) is zero/false. Return 0 if the hardware has no such operation. */ int -rs6000_emit_cmove (dest, op, true_cond, false_cond) - rtx dest; - rtx op; - rtx true_cond; - rtx false_cond; +rs6000_emit_cmove (rtx dest, rtx op, rtx true_cond, rtx false_cond) { enum rtx_code code = GET_CODE (op); rtx op0 = rs6000_compare_op0; @@ -9700,11 +9405,7 @@ rs6000_emit_cmove (dest, op, true_cond, false_cond) /* Same as above, but for ints (isel). */ static int -rs6000_emit_int_cmove (dest, op, true_cond, false_cond) - rtx dest; - rtx op; - rtx true_cond; - rtx false_cond; +rs6000_emit_int_cmove (rtx dest, rtx op, rtx true_cond, rtx false_cond) { rtx condition_rtx, cr; @@ -9729,8 +9430,7 @@ rs6000_emit_int_cmove (dest, op, true_cond, false_cond) } const char * -output_isel (operands) - rtx *operands; +output_isel (rtx *operands) { enum rtx_code code; @@ -9745,11 +9445,7 @@ output_isel (operands) } void -rs6000_emit_minmax (dest, code, op0, op1) - rtx dest; - enum rtx_code code; - rtx op0; - rtx op1; +rs6000_emit_minmax (rtx dest, enum rtx_code code, rtx op0, rtx op1) { enum machine_mode mode = GET_MODE (op0); enum rtx_code c; @@ -9950,9 +9646,7 @@ compute_vrsave_mask () } static void -is_altivec_return_reg (reg, xyes) - rtx reg; - void *xyes; +is_altivec_return_reg (rtx reg, void *xyes) { bool *yes = (bool *) xyes; if (REGNO (reg) == ALTIVEC_ARG_RETURN) @@ -10397,8 +10091,7 @@ spe_func_has_64bit_regs_p () } void -debug_stack_info (info) - rs6000_stack_t *info; +debug_stack_info (rs6000_stack_t *info) { const char *abi_string; @@ -10542,9 +10235,7 @@ debug_stack_info (info) } rtx -rs6000_return_addr (count, frame) - int count; - rtx frame; +rs6000_return_addr (int count, rtx frame) { /* Currently we don't optimize very well between prolog and body code and for PIC code the code can be actually quite bad, so @@ -10576,9 +10267,7 @@ rs6000_return_addr (count, frame) type info must be available here. (The tail recursion case can work with vector parameters, but there's no way to distinguish here.) */ static bool -rs6000_function_ok_for_sibcall (decl, exp) - tree decl; - tree exp ATTRIBUTE_UNUSED; +rs6000_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED) { tree type; if (decl) @@ -10659,8 +10348,7 @@ rs6000_ra_ever_killed () /* Add a REG_MAYBE_DEAD note to the insn. */ static void -rs6000_maybe_dead (insn) - rtx insn; +rs6000_maybe_dead (rtx insn) { REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, const0_rtx, @@ -10672,8 +10360,7 @@ rs6000_maybe_dead (insn) a constant pool; or for SVR4 -fpic. */ void -rs6000_emit_load_toc_table (fromprolog) - int fromprolog; +rs6000_emit_load_toc_table (int fromprolog) { rtx dest, insn; dest = gen_rtx_REG (Pmode, RS6000_PIC_OFFSET_TABLE_REGNUM); @@ -10813,8 +10500,7 @@ uses_TOC () } rtx -create_TOC_reference (symbol) - rtx symbol; +create_TOC_reference (rtx symbol) { return gen_rtx_PLUS (Pmode, gen_rtx_REG (Pmode, TOC_REGISTER), @@ -10876,9 +10562,7 @@ rs6000_emit_stack_tie () The generated code may use hard register 0 as a temporary. */ static void -rs6000_emit_allocate_stack (size, copy_r12) - HOST_WIDE_INT size; - int copy_r12; +rs6000_emit_allocate_stack (HOST_WIDE_INT size, int copy_r12) { rtx insn; rtx stack_reg = gen_rtx_REG (Pmode, STACK_POINTER_REGNUM); @@ -10966,12 +10650,8 @@ rs6000_emit_allocate_stack (size, copy_r12) its hand so much. */ static void -rs6000_frame_related (insn, reg, val, reg2, rreg) - rtx insn; - rtx reg; - HOST_WIDE_INT val; - rtx reg2; - rtx rreg; +rs6000_frame_related (rtx insn, rtx reg, HOST_WIDE_INT val, + rtx reg2, rtx rreg) { rtx real, temp; @@ -11053,8 +10733,7 @@ rs6000_frame_related (insn, reg, val, reg2, rreg) original note, plus a synthetic register save. */ static rtx -spe_synthesize_frame_save (real) - rtx real; +spe_synthesize_frame_save (rtx real) { rtx synth, offset, reg, real2; @@ -11117,10 +10796,7 @@ spe_synthesize_frame_save (real) appropriate CLOBBERs. */ static rtx -generate_set_vrsave (reg, info, epiloguep) - rtx reg; - rs6000_stack_t *info; - int epiloguep; +generate_set_vrsave (rtx reg, rs6000_stack_t *info, int epiloguep) { int nclobs, i; rtx insn, clobs[TOTAL_ALTIVEC_REGS + 1]; @@ -11179,13 +10855,8 @@ generate_set_vrsave (reg, info, epiloguep) Save REGNO into [FRAME_REG + OFFSET] in mode MODE. */ static void -emit_frame_save (frame_reg, frame_ptr, mode, regno, offset, total_size) - rtx frame_reg; - rtx frame_ptr; - enum machine_mode mode; - unsigned int regno; - int offset; - int total_size; +emit_frame_save (rtx frame_reg, rtx frame_ptr, enum machine_mode mode, + unsigned int regno, int offset, int total_size) { rtx reg, offset_rtx, insn, mem, addr, int_rtx; rtx replacea, replaceb; @@ -11227,10 +10898,7 @@ emit_frame_save (frame_reg, frame_ptr, mode, regno, offset, total_size) converting to a valid addressing mode. */ static rtx -gen_frame_mem_offset (mode, reg, offset) - enum machine_mode mode; - rtx reg; - int offset; +gen_frame_mem_offset (enum machine_mode mode, rtx reg, int offset) { rtx int_rtx, offset_rtx; @@ -11642,9 +11310,8 @@ rs6000_emit_prologue () /* Write function prologue. */ static void -rs6000_output_function_prologue (file, size) - FILE *file; - HOST_WIDE_INT size ATTRIBUTE_UNUSED; +rs6000_output_function_prologue (FILE *file, + HOST_WIDE_INT size ATTRIBUTE_UNUSED) { rs6000_stack_t *info = rs6000_stack_info (); @@ -11710,8 +11377,7 @@ rs6000_output_function_prologue (file, size) need special notes to explain where r11 is in relation to the stack. */ void -rs6000_emit_epilogue (sibcall) - int sibcall; +rs6000_emit_epilogue (int sibcall) { rs6000_stack_t *info; int restoring_FPRs_inline; @@ -12091,9 +11757,8 @@ rs6000_emit_epilogue (sibcall) /* Write function epilogue. */ static void -rs6000_output_function_epilogue (file, size) - FILE *file; - HOST_WIDE_INT size ATTRIBUTE_UNUSED; +rs6000_output_function_epilogue (FILE *file, + HOST_WIDE_INT size ATTRIBUTE_UNUSED) { rs6000_stack_t *info = rs6000_stack_info (); @@ -12412,12 +12077,9 @@ rs6000_output_function_epilogue (file, size) not support varargs. */ static void -rs6000_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function) - FILE *file; - tree thunk_fndecl ATTRIBUTE_UNUSED; - HOST_WIDE_INT delta; - HOST_WIDE_INT vcall_offset; - tree function; +rs6000_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, + HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset, + tree function) { rtx this, insn, funexp; @@ -12544,8 +12206,7 @@ rs6000_output_mi_thunk (file, thunk_fndecl, delta, vcall_offset, function) /* Hash functions for the hash table. */ static unsigned -rs6000_hash_constant (k) - rtx k; +rs6000_hash_constant (rtx k) { enum rtx_code code = GET_CODE (k); enum machine_mode mode = GET_MODE (k); @@ -12618,8 +12279,7 @@ rs6000_hash_constant (k) } static unsigned -toc_hash_function (hash_entry) - const void * hash_entry; +toc_hash_function (const void *hash_entry) { const struct toc_hash_struct *thc = (const struct toc_hash_struct *) hash_entry; @@ -12629,9 +12289,7 @@ toc_hash_function (hash_entry) /* Compare H1 and H2 for equivalence. */ static int -toc_hash_eq (h1, h2) - const void * h1; - const void * h2; +toc_hash_eq (const void *h1, const void *h2) { rtx r1 = ((const struct toc_hash_struct *) h1)->key; rtx r2 = ((const struct toc_hash_struct *) h2)->key; @@ -12655,9 +12313,7 @@ toc_hash_eq (h1, h2) || strncmp ("_ZTC", name, strlen ("_ZTC")) == 0) void -rs6000_output_symbol_ref (file, x) - FILE *file; - rtx x; +rs6000_output_symbol_ref (FILE *file, rtx x) { /* Currently C++ toc references to vtables can be emitted before it is decided whether the vtable is public or private. If this is @@ -12679,11 +12335,7 @@ rs6000_output_symbol_ref (file, x) written. */ void -output_toc (file, x, labelno, mode) - FILE *file; - rtx x; - int labelno; - enum machine_mode mode; +output_toc (FILE *file, rtx x, int labelno, enum machine_mode mode) { char buf[256]; const char *name = buf; @@ -12983,10 +12635,7 @@ output_toc (file, x, labelno, mode) so we must artificially break them up early. */ void -output_ascii (file, p, n) - FILE *file; - const char *p; - int n; +output_ascii (FILE *file, const char *p, int n) { char c; int i, count_string; @@ -13057,10 +12706,8 @@ output_ascii (file, p, n) the name. */ void -rs6000_gen_section_name (buf, filename, section_desc) - char **buf; - const char *filename; - const char *section_desc; +rs6000_gen_section_name (char **buf, const char *filename, + const char *section_desc) { const char *q, *after_last_slash, *last_period = 0; char *p; @@ -13103,8 +12750,7 @@ rs6000_gen_section_name (buf, filename, section_desc) /* Emit profile function. */ void -output_profile_hook (labelno) - int labelno ATTRIBUTE_UNUSED; +output_profile_hook (int labelno ATTRIBUTE_UNUSED) { if (TARGET_PROFILE_KERNEL) return; @@ -13157,9 +12803,7 @@ output_profile_hook (labelno) /* Write function profiler code. */ void -output_function_profiler (file, labelno) - FILE *file; - int labelno; +output_function_profiler (FILE *file, int labelno) { char buf[100]; int save_lr = 8; @@ -13261,11 +12905,9 @@ rs6000_use_dfa_pipeline_interface () instructions to issue in this cycle. */ static int -rs6000_variable_issue (stream, verbose, insn, more) - FILE *stream ATTRIBUTE_UNUSED; - int verbose ATTRIBUTE_UNUSED; - rtx insn; - int more; +rs6000_variable_issue (FILE *stream ATTRIBUTE_UNUSED, + int verbose ATTRIBUTE_UNUSED, + rtx insn, int more) { if (GET_CODE (PATTERN (insn)) == USE || GET_CODE (PATTERN (insn)) == CLOBBER) @@ -13296,11 +12938,8 @@ rs6000_variable_issue (stream, verbose, insn, more) a dependency LINK or INSN on DEP_INSN. COST is the current cost. */ static int -rs6000_adjust_cost (insn, link, dep_insn, cost) - rtx insn; - rtx link; - rtx dep_insn ATTRIBUTE_UNUSED; - int cost; +rs6000_adjust_cost (rtx insn, rtx link, rtx dep_insn ATTRIBUTE_UNUSED, + int cost) { if (! recog_memoized (insn)) return 0; @@ -13360,9 +12999,7 @@ rs6000_adjust_cost (insn, link, dep_insn, cost) priorities of insns. */ static int -rs6000_adjust_priority (insn, priority) - rtx insn ATTRIBUTE_UNUSED; - int priority; +rs6000_adjust_priority (rtx insn ATTRIBUTE_UNUSED, int priority) { /* On machines (like the 750) which have asymmetric integer units, where one integer unit can do multiply and divides and the other @@ -13472,10 +13109,7 @@ rs6000_trampoline_size () CXT is an RTX for the static chain value for the function. */ void -rs6000_initialize_trampoline (addr, fnaddr, cxt) - rtx addr; - rtx fnaddr; - rtx cxt; +rs6000_initialize_trampoline (rtx addr, rtx fnaddr, rtx cxt) { enum machine_mode pmode = Pmode; int regsize = (TARGET_32BIT) ? 4 : 8; @@ -13534,12 +13168,10 @@ const struct attribute_spec rs6000_attribute_table[] = struct attribute_spec.handler. */ static tree -rs6000_handle_longcall_attribute (node, name, args, flags, no_add_attrs) - tree *node; - tree name; - tree args ATTRIBUTE_UNUSED; - int flags ATTRIBUTE_UNUSED; - bool *no_add_attrs; +rs6000_handle_longcall_attribute (tree *node, tree name, + tree args ATTRIBUTE_UNUSED, + int flags ATTRIBUTE_UNUSED, + bool *no_add_attrs) { if (TREE_CODE (*node) != FUNCTION_TYPE && TREE_CODE (*node) != FIELD_DECL @@ -13556,8 +13188,7 @@ rs6000_handle_longcall_attribute (node, name, args, flags, no_add_attrs) /* Set longcall attributes on all functions declared when rs6000_default_long_calls is true. */ static void -rs6000_set_default_type_attributes (type) - tree type; +rs6000_set_default_type_attributes (tree type) { if (rs6000_default_long_calls && (TREE_CODE (type) == FUNCTION_TYPE @@ -13571,8 +13202,7 @@ rs6000_set_default_type_attributes (type) longcall attribute. */ struct rtx_def * -rs6000_longcall_ref (call_ref) - rtx call_ref; +rs6000_longcall_ref (rtx call_ref) { const char *call_name; tree node; @@ -13606,10 +13236,8 @@ rs6000_longcall_ref (call_ref) data section. */ static void -rs6000_elf_select_rtx_section (mode, x, align) - enum machine_mode mode; - rtx x; - unsigned HOST_WIDE_INT align; +rs6000_elf_select_rtx_section (enum machine_mode mode, rtx x, + unsigned HOST_WIDE_INT align) { if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode)) toc_section (); @@ -13623,10 +13251,8 @@ rs6000_elf_select_rtx_section (mode, x, align) the initial value of DECL requires link-time relocations. */ static void -rs6000_elf_select_section (decl, reloc, align) - tree decl; - int reloc; - unsigned HOST_WIDE_INT align; +rs6000_elf_select_section (tree decl, int reloc, + unsigned HOST_WIDE_INT align) { /* Pretend that we're always building for a shared library when ABI_AIX, because otherwise we end up with dynamic relocations @@ -13645,9 +13271,7 @@ rs6000_elf_select_section (decl, reloc, align) initialized data and functions. */ static void -rs6000_elf_unique_section (decl, reloc) - tree decl; - int reloc; +rs6000_elf_unique_section (tree decl, int reloc) { /* As above, pretend that we're always building for a shared library when ABI_AIX, to avoid dynamic relocations in read-only sections. */ @@ -13664,10 +13288,7 @@ rs6000_elf_unique_section (decl, reloc) read the prefixes. */ static void -rs6000_elf_encode_section_info (decl, rtl, first) - tree decl; - rtx rtl; - int first; +rs6000_elf_encode_section_info (tree decl, rtx rtl, int first) { default_encode_section_info (decl, rtl, first); @@ -13686,8 +13307,7 @@ rs6000_elf_encode_section_info (decl, rtl, first) } static bool -rs6000_elf_in_small_data_p (decl) - tree decl; +rs6000_elf_in_small_data_p (tree decl) { if (rs6000_sdata == SDATA_NONE) return false; @@ -13729,8 +13349,7 @@ rs6000_elf_in_small_data_p (decl) increment the returned register via an "la" instruction. */ struct rtx_def * -find_addr_reg (addr) - rtx addr; +find_addr_reg (rtx addr) { while (GET_CODE (addr) == PLUS) { @@ -13753,8 +13372,7 @@ find_addr_reg (addr) } void -rs6000_fatal_bad_address (op) - rtx op; +rs6000_fatal_bad_address (rtx op) { fatal_insn ("bad address", op); } @@ -13766,8 +13384,7 @@ rs6000_fatal_bad_address (op) reference and a constant. */ int -symbolic_operand (op) - rtx op; +symbolic_operand (rtx op) { switch (GET_CODE (op)) { @@ -13794,10 +13411,7 @@ static tree stub_list = 0; procedure calls to the linked list. */ void -add_compiler_stub (label_name, function_name, line_number) - tree label_name; - tree function_name; - int line_number; +add_compiler_stub (tree label_name, tree function_name, int line_number) { tree stub = build_tree_list (function_name, label_name); TREE_TYPE (stub) = build_int_2 (line_number, 0); @@ -13861,8 +13475,7 @@ output_compiler_stub () already there or not. */ int -no_previous_def (function_name) - tree function_name; +no_previous_def (tree function_name) { tree stub; for (stub = stub_list; stub; stub = TREE_CHAIN (stub)) @@ -13875,8 +13488,7 @@ no_previous_def (function_name) the function. */ tree -get_prev_label (function_name) - tree function_name; +get_prev_label (tree function_name) { tree stub; for (stub = stub_list; stub; stub = TREE_CHAIN (stub)) @@ -13891,10 +13503,7 @@ get_prev_label (function_name) CALL_DEST is the routine we are calling. */ char * -output_call (insn, call_dest, operand_number) - rtx insn; - rtx call_dest; - int operand_number; +output_call (rtx insn, rtx call_dest, int operand_number) { static char buf[256]; if (GET_CODE (call_dest) == SYMBOL_REF && TARGET_LONG_BRANCH && !flag_pic) @@ -13954,9 +13563,7 @@ output_call (insn, call_dest, operand_number) /* Generate PIC and indirect symbol stubs. */ void -machopic_output_stub (file, symb, stub) - FILE *file; - const char *symb, *stub; +machopic_output_stub (FILE *file, const char *symb, const char *stub) { unsigned int length; char *symbol_name, *lazy_ptr_name; @@ -14022,10 +13629,8 @@ machopic_output_stub (file, symb, stub) #define SMALL_INT(X) ((unsigned) (INTVAL(X) + 0x8000) < 0x10000) rtx -rs6000_machopic_legitimize_pic_address (orig, mode, reg) - rtx orig; - enum machine_mode mode; - rtx reg; +rs6000_machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, + rtx reg) { rtx base, offset; @@ -14083,10 +13688,7 @@ toc_section () #if TARGET_ELF static unsigned int -rs6000_elf_section_type_flags (decl, name, reloc) - tree decl; - const char *name; - int reloc; +rs6000_elf_section_type_flags (tree decl, const char *name, int reloc) { unsigned int flags = default_section_type_flags_1 (decl, name, reloc, @@ -14106,9 +13708,7 @@ rs6000_elf_section_type_flags (decl, name, reloc) that we have special handling for -mrelocatable. */ static void -rs6000_elf_asm_out_constructor (symbol, priority) - rtx symbol; - int priority; +rs6000_elf_asm_out_constructor (rtx symbol, int priority) { const char *section = ".ctors"; char buf[16]; @@ -14137,9 +13737,7 @@ rs6000_elf_asm_out_constructor (symbol, priority) } static void -rs6000_elf_asm_out_destructor (symbol, priority) - rtx symbol; - int priority; +rs6000_elf_asm_out_destructor (rtx symbol, int priority) { const char *section = ".dtors"; char buf[16]; @@ -14168,10 +13766,7 @@ rs6000_elf_asm_out_destructor (symbol, priority) } void -rs6000_elf_declare_function_name (file, name, decl) - FILE *file; - const char *name; - tree decl; +rs6000_elf_declare_function_name (FILE *file, const char *name, tree decl) { if (TARGET_64BIT) { @@ -14243,9 +13838,7 @@ rs6000_elf_declare_function_name (file, name, decl) #if TARGET_XCOFF static void -rs6000_xcoff_asm_globalize_label (stream, name) - FILE *stream; - const char *name; +rs6000_xcoff_asm_globalize_label (FILE *stream, const char *name) { fputs (GLOBAL_ASM_OP, stream); RS6000_OUTPUT_BASENAME (stream, name); @@ -14253,9 +13846,7 @@ rs6000_xcoff_asm_globalize_label (stream, name) } static void -rs6000_xcoff_asm_named_section (name, flags) - const char *name; - unsigned int flags; +rs6000_xcoff_asm_named_section (const char *name, unsigned int flags) { int smclass; static const char * const suffix[3] = { "PR", "RO", "RW" }; @@ -14273,10 +13864,8 @@ rs6000_xcoff_asm_named_section (name, flags) } static void -rs6000_xcoff_select_section (decl, reloc, align) - tree decl; - int reloc; - unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED; +rs6000_xcoff_select_section (tree decl, int reloc, + unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED) { if (decl_readonly_section_1 (decl, reloc, 1)) { @@ -14295,9 +13884,7 @@ rs6000_xcoff_select_section (decl, reloc, align) } static void -rs6000_xcoff_unique_section (decl, reloc) - tree decl; - int reloc ATTRIBUTE_UNUSED; +rs6000_xcoff_unique_section (tree decl, int reloc ATTRIBUTE_UNUSED) { const char *name; @@ -14322,10 +13909,8 @@ rs6000_xcoff_unique_section (decl, reloc) toc entry. */ static void -rs6000_xcoff_select_rtx_section (mode, x, align) - enum machine_mode mode; - rtx x; - unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED; +rs6000_xcoff_select_rtx_section (enum machine_mode mode, rtx x, + unsigned HOST_WIDE_INT align ATTRIBUTE_UNUSED) { if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode)) toc_section (); @@ -14336,8 +13921,7 @@ rs6000_xcoff_select_rtx_section (mode, x, align) /* Remove any trailing [DS] or the like from the symbol name. */ static const char * -rs6000_xcoff_strip_name_encoding (name) - const char *name; +rs6000_xcoff_strip_name_encoding (const char *name) { size_t len; if (*name == '*') @@ -14352,10 +13936,7 @@ rs6000_xcoff_strip_name_encoding (name) /* Section attributes. AIX is always PIC. */ static unsigned int -rs6000_xcoff_section_type_flags (decl, name, reloc) - tree decl; - const char *name; - int reloc; +rs6000_xcoff_section_type_flags (tree decl, const char *name, int reloc) { unsigned int align; unsigned int flags = default_section_type_flags_1 (decl, name, reloc, 1); @@ -14426,8 +14007,7 @@ rs6000_xcoff_file_end () functions at dynamic-link time. */ static bool -rs6000_binds_local_p (decl) - tree decl; +rs6000_binds_local_p (tree decl) { return default_binds_local_p_1 (decl, 0); } @@ -14438,10 +14018,8 @@ rs6000_binds_local_p (decl) scanned. In either case, *TOTAL contains the cost result. */ static bool -rs6000_rtx_costs (x, code, outer_code, total) - rtx x; - int code, outer_code ATTRIBUTE_UNUSED; - int *total; +rs6000_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED, + int *total) { switch (code) { @@ -14662,9 +14240,8 @@ rs6000_rtx_costs (x, code, outer_code, total) CLASS1 to one of CLASS2. */ int -rs6000_register_move_cost (mode, from, to) - enum machine_mode mode; - enum reg_class from, to; +rs6000_register_move_cost (enum machine_mode mode, + enum reg_class from, enum reg_class to) { /* Moves from/to GENERAL_REGS. */ if (reg_classes_intersect_p (to, GENERAL_REGS) @@ -14700,10 +14277,8 @@ rs6000_register_move_cost (mode, from, to) or from memory. */ int -rs6000_memory_move_cost (mode, class, in) - enum machine_mode mode; - enum reg_class class; - int in ATTRIBUTE_UNUSED; +rs6000_memory_move_cost (enum machine_mode mode, enum reg_class class, + int in ATTRIBUTE_UNUSED) { if (reg_classes_intersect_p (class, GENERAL_REGS)) return 4 * HARD_REGNO_NREGS (0, mode); @@ -14803,8 +14378,7 @@ rs6000_libcall_value (enum machine_mode mode) /* Return true if TYPE is of type __ev64_opaque__. */ static bool -is_ev64_opaque_type (type) - tree type; +is_ev64_opaque_type (tree type) { return (TARGET_SPE && (type == opaque_V2SI_type_node @@ -14813,8 +14387,7 @@ is_ev64_opaque_type (type) } static rtx -rs6000_dwarf_register_span (reg) - rtx reg; +rs6000_dwarf_register_span (rtx reg) { unsigned regno; diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 822a438..39174ef 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -494,7 +494,7 @@ toc_section () \ } \ } \ \ -extern int in_toc_section PARAMS ((void)); \ +extern int in_toc_section (void); \ int in_toc_section () \ { \ return in_section == in_toc; \ |