1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
/* Prototypes for exported functions defined in arm.c and pe.c
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@arm.com)
Minor hacks by Nick Clifton (nickc@cygnus.com)
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
extern void arm_expand_prologue PARAMS ((void));
extern void arm_finalize_pic PARAMS ((void));
extern char * arm_output_epilogue PARAMS ((void));
extern void arm_override_options PARAMS ((void));
extern void arm_poke_function_name PARAMS ((FILE *, char *));
extern int arm_process_pragma PARAMS ((int (*)(void), void (*) (int), char *));
extern int arm_regno_class PARAMS ((int));
extern int arm_volatile_func PARAMS ((void));
extern int const_ok_for_arm PARAMS ((HOST_WIDE_INT));
extern void output_arm_prologue PARAMS ((FILE *, int));
extern void output_ascii_pseudo_op PARAMS ((FILE *, const unsigned char *, int));
extern void output_func_epilogue PARAMS ((int));
extern void output_func_prologue PARAMS ((FILE *, int));
extern int use_return_insn PARAMS ((int));
extern const char * arm_strip_name_encoding PARAMS ((const char *));
#if defined AOF_ASSEMBLER
extern void aof_add_import PARAMS ((char *));
extern char * aof_data_section PARAMS ((void));
extern void aof_delete_import PARAMS ((char *));
extern void aof_dump_imports PARAMS ((FILE *));
extern void aof_dump_pic_table PARAMS ((FILE *));
extern char * aof_text_section PARAMS ((void));
#endif /* AOF_ASSEMBLER */
/* Defined in pe.c */
extern int arm_dllexport_name_p PARAMS ((const char *));
extern int arm_dllimport_name_p PARAMS ((const char *));
#define Mmode enum machine_mode
#ifdef TREE_CODE
extern int arm_comp_type_attributes PARAMS ((tree, tree));
extern int arm_return_in_memory PARAMS ((tree));
extern int arm_valid_machine_decl_attribute PARAMS ((tree, tree, tree));
extern int arm_valid_type_attribute_p PARAMS ((tree, tree, tree, tree));
/* Defined in pe.c */
extern int arm_dllexport_p PARAMS ((tree));
extern int arm_dllimport_p PARAMS ((tree));
extern void arm_mark_dllexport PARAMS ((tree));
extern void arm_mark_dllimport PARAMS ((tree));
extern void arm_pe_encode_section_info PARAMS ((tree));
extern tree arm_pe_merge_machine_decl_attributes PARAMS ((tree, tree));
extern void arm_pe_unique_section PARAMS ((tree, int));
extern int arm_pe_valid_machine_decl_attribute PARAMS ((tree, tree, tree, tree));
extern void arm_set_default_type_attributes PARAMS ((tree));
extern void arm_encode_call_attribute PARAMS ((tree, char));
extern int arm_pe_return_in_memory PARAMS ((tree));
#endif
#ifdef RTX_CODE
extern int adjacent_mem_locations PARAMS ((rtx, rtx));
extern char * arithmetic_instr PARAMS ((rtx, int));
extern int arm_adjust_cost PARAMS ((rtx, rtx, rtx, int));
extern RTX_CODE arm_canonicalize_comparison PARAMS ((RTX_CODE, rtx *));
extern int arm_debugger_arg_offset PARAMS ((int, rtx));
extern void arm_final_prescan_insn PARAMS ((rtx));
extern rtx arm_gen_load_multiple PARAMS ((int, int, rtx, int, int, int, int, int));
extern int arm_gen_movstrqi PARAMS ((rtx *));
extern rtx arm_gen_store_multiple PARAMS ((int, int, rtx, int, int, int, int, int));
extern void arm_print_operand PARAMS ((FILE *, rtx, int));
extern void arm_reload_in_hi PARAMS ((rtx *));
extern void arm_reload_out_hi PARAMS ((rtx *));
extern void arm_reorg PARAMS ((rtx));
extern int arm_rtx_costs PARAMS ((rtx, RTX_CODE));
extern Mmode arm_select_cc_mode PARAMS ((RTX_CODE, rtx, rtx));
extern int const_double_rtx_ok_for_fpu PARAMS ((rtx));
extern int const_ok_for_arm PARAMS ((HOST_WIDE_INT));
extern char * emit_ldm_seq PARAMS ((rtx *, int));
extern char * emit_stm_seq PARAMS ((rtx *, int));
extern char * fp_immediate_constant PARAMS ((rtx));
extern rtx gen_compare_reg PARAMS ((RTX_CODE, rtx, rtx));
extern rtx gen_rotated_half_load PARAMS ((rtx));
extern int is_pic PARAMS ((rtx));
extern int label_mentioned_p PARAMS ((rtx));
extern int legitimate_pic_operand_p PARAMS ((rtx));
extern int load_multiple_sequence PARAMS ((rtx *, int, int *, int *, HOST_WIDE_INT *));
extern RTX_CODE minmax_code PARAMS ((rtx));
extern int neg_const_double_rtx_ok_for_fpu PARAMS ((rtx));
extern char * output_add_immediate PARAMS ((rtx *));
extern char * output_call PARAMS ((rtx *));
extern char * output_call_mem PARAMS ((rtx *));
extern char * output_mov_double_arm_from_fpu PARAMS ((rtx *));
extern char * output_mov_double_fpu_from_arm PARAMS ((rtx *));
extern char * output_mov_immediate PARAMS ((rtx *));
extern char * output_mov_long_double_arm_from_arm PARAMS ((rtx *));
extern char * output_mov_long_double_arm_from_fpu PARAMS ((rtx *));
extern char * output_mov_long_double_fpu_from_arm PARAMS ((rtx *));
extern char * output_move_double PARAMS ((rtx *));
extern char * output_return_instruction PARAMS ((rtx, int, int));
extern int store_multiple_sequence PARAMS ((rtx *, int, int *, int *, HOST_WIDE_INT *));
extern int symbol_mentioned_p PARAMS ((rtx));
extern int arm_is_longcall_p PARAMS ((rtx, int, int));
#if defined AOF_ASSEMBLER
extern rtx aof_pic_entry PARAMS ((rtx));
#endif /* AOF_ASSEMBLER */
#ifdef HAVE_MACHINE_MODES
extern int alignable_memory_operand PARAMS ((rtx, Mmode));
extern int arm_add_operand PARAMS ((rtx, Mmode));
extern int arm_go_if_legitimate_address PARAMS ((Mmode, rtx));
extern int arm_not_operand PARAMS ((rtx, Mmode));
extern int arm_reload_memory_operand PARAMS ((rtx, Mmode));
extern int arm_rhs_operand PARAMS ((rtx, Mmode));
extern int arm_rhsm_operand PARAMS ((rtx, Mmode));
extern Mmode arm_select_cc_mode PARAMS ((RTX_CODE, rtx, rtx));
extern int arm_split_constant PARAMS ((RTX_CODE, Mmode, HOST_WIDE_INT, rtx, rtx, int));
extern int bad_signed_byte_operand PARAMS ((rtx, Mmode));
extern int cc_register PARAMS ((rtx, Mmode));
extern int const_shift_operand PARAMS ((rtx, Mmode));
extern int di_operand PARAMS ((rtx, Mmode));
extern int dominant_cc_register PARAMS ((rtx, Mmode));
extern int equality_operator PARAMS ((rtx, Mmode));
extern int f_register_operand PARAMS ((rtx, Mmode));
extern int fpu_add_operand PARAMS ((rtx, Mmode));
extern int fpu_rhs_operand PARAMS ((rtx, Mmode));
extern int index_operand PARAMS ((rtx, Mmode));
extern rtx legitimize_pic_address PARAMS ((rtx, Mmode, rtx));
extern int load_multiple_operation PARAMS ((rtx, Mmode));
extern int logical_binary_operator PARAMS ((rtx, Mmode));
extern int minmax_operator PARAMS ((rtx, Mmode));
extern int multi_register_push PARAMS ((rtx, Mmode));
extern int nonimmediate_di_operand PARAMS ((rtx, Mmode));
extern int nonimmediate_soft_df_operand PARAMS ((rtx, Mmode));
extern int offsettable_memory_operand PARAMS ((rtx, Mmode));
extern int power_of_two_operand PARAMS ((rtx, Mmode));
extern int reg_or_int_operand PARAMS ((rtx, Mmode));
extern int s_register_operand PARAMS ((rtx, Mmode));
extern int shift_operator PARAMS ((rtx, Mmode));
extern int shiftable_operator PARAMS ((rtx, Mmode));
extern int soft_df_operand PARAMS ((rtx, Mmode));
extern int store_multiple_operation PARAMS ((rtx, Mmode));
#if defined TREE_CODE
extern rtx arm_function_arg PARAMS ((CUMULATIVE_ARGS *, Mmode, tree, int));
extern void arm_init_cumulative_args PARAMS ((CUMULATIVE_ARGS *, tree, rtx, int));
#endif /* TREE_CODE */
#endif /* HAVE_MACHINE_MODES */
#endif /* RTX_CODE */
#undef Mmode
|