OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [config/] [c4x/] [c4x-protos.h] - Blame information for rev 38

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
/* Definitions of target machine for GNU compiler.  TMS320C[34]x
2
   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2004, 2005,
3
   2007 Free Software Foundation, Inc.
4
 
5
   Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
6
              and Herman Ten Brugge (Haj.Ten.Brugge@net.HCC.nl).
7
 
8
   This file is part of GCC.
9
 
10
   GCC is free software; you can redistribute it and/or modify
11
   it under the terms of the GNU General Public License as published by
12
   the Free Software Foundation; either version 3, or (at your option)
13
   any later version.
14
 
15
   GCC is distributed in the hope that it will be useful,
16
   but WITHOUT ANY WARRANTY; without even the implied warranty of
17
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
   GNU General Public License for more details.
19
 
20
   You should have received a copy of the GNU General Public License
21
   along with GCC; see the file COPYING3.  If not see
22
   <http://www.gnu.org/licenses/>.  */
23
 
24
#ifndef GCC_C4X_PROTOS_H
25
#define GCC_C4X_PROTOS_H
26
 
27
extern void c4x_override_options (void);
28
 
29
extern void c4x_optimization_options (int, int);
30
 
31
extern void c4x_output_ascii (FILE *, const char *, int);
32
 
33
extern int c4x_interrupt_function_p (void);
34
 
35
extern void c4x_expand_prologue (void);
36
 
37
extern void c4x_expand_epilogue (void);
38
 
39
extern int c4x_null_epilogue_p (void);
40
 
41
extern void c4x_global_label (const char *);
42
 
43
extern void c4x_external_ref (const char *);
44
 
45
#ifdef TREE_CODE
46
extern void c4x_function_arg_advance (CUMULATIVE_ARGS *,
47
                                      enum machine_mode, tree, int);
48
 
49
extern struct rtx_def *c4x_function_arg (CUMULATIVE_ARGS *,
50
                                         enum machine_mode, tree, int);
51
 
52
#endif /* TREE_CODE */
53
 
54
 
55
#if defined(RTX_CODE) && defined(TREE_CODE)
56
extern void c4x_init_cumulative_args (CUMULATIVE_ARGS *c, tree, rtx);
57
 
58
extern rtx c4x_expand_builtin (tree, rtx, rtx, enum machine_mode, int);
59
 
60
extern void c4x_init_builtins (void);
61
 
62
#endif /* TREE_CODE and RTX_CODE*/
63
 
64
 
65
#ifdef RTX_CODE
66
extern struct rtx_def *c4x_gen_compare_reg (enum rtx_code, rtx, rtx);
67
 
68
extern int c4x_legitimate_address_p (enum machine_mode, rtx, int);
69
 
70
extern int c4x_hard_regno_mode_ok (unsigned int, enum machine_mode);
71
 
72
extern int c4x_hard_regno_rename_ok (unsigned int, unsigned int);
73
 
74
extern struct rtx_def *c4x_legitimize_address (rtx, enum machine_mode);
75
 
76
extern void c4x_print_operand (FILE *, rtx, int);
77
 
78
extern void c4x_print_operand_address (FILE *, rtx);
79
 
80
extern enum reg_class c4x_preferred_reload_class (rtx, enum reg_class);
81
 
82
extern struct rtx_def *c4x_operand_subword (rtx, int, int, enum machine_mode);
83
 
84
extern char *c4x_output_cbranch (const char *, rtx);
85
 
86
extern int c4x_label_conflict (rtx, rtx, rtx);
87
 
88
extern int c4x_address_conflict (rtx, rtx, int, int);
89
 
90
extern void c4x_rptb_insert (rtx insn);
91
 
92
extern int c4x_rptb_nop_p (rtx);
93
 
94
extern int c4x_rptb_rpts_p (rtx, rtx);
95
 
96
extern int c4x_check_laj_p (rtx);
97
 
98
extern int c4x_autoinc_operand (rtx, enum machine_mode);
99
 
100
extern int reg_or_const_operand (rtx, enum machine_mode);
101
 
102
extern int mixed_subreg_operand (rtx, enum machine_mode);
103
 
104
extern int reg_imm_operand (rtx, enum machine_mode);
105
 
106
extern int ar0_reg_operand (rtx, enum machine_mode);
107
 
108
extern int ar0_mem_operand (rtx, enum machine_mode);
109
 
110
extern int ar1_reg_operand (rtx, enum machine_mode);
111
 
112
extern int ar1_mem_operand (rtx, enum machine_mode);
113
 
114
extern int ar2_reg_operand (rtx, enum machine_mode);
115
 
116
extern int ar2_mem_operand (rtx, enum machine_mode);
117
 
118
extern int ar3_reg_operand (rtx, enum machine_mode);
119
 
120
extern int ar3_mem_operand (rtx, enum machine_mode);
121
 
122
extern int ar4_reg_operand (rtx, enum machine_mode);
123
 
124
extern int ar4_mem_operand (rtx, enum machine_mode);
125
 
126
extern int ar5_reg_operand (rtx, enum machine_mode);
127
 
128
extern int ar5_mem_operand (rtx, enum machine_mode);
129
 
130
extern int ar6_reg_operand (rtx, enum machine_mode);
131
 
132
extern int ar6_mem_operand (rtx, enum machine_mode);
133
 
134
extern int ar7_reg_operand (rtx, enum machine_mode);
135
 
136
extern int ar7_mem_operand (rtx, enum machine_mode);
137
 
138
extern int ir0_reg_operand (rtx, enum machine_mode);
139
 
140
extern int ir0_mem_operand (rtx, enum machine_mode);
141
 
142
extern int ir1_reg_operand (rtx, enum machine_mode);
143
 
144
extern int ir1_mem_operand (rtx, enum machine_mode);
145
 
146
extern int group1_reg_operand (rtx, enum machine_mode);
147
 
148
extern int group1_mem_operand (rtx, enum machine_mode);
149
 
150
extern int arx_reg_operand (rtx, enum machine_mode);
151
 
152
extern int not_rc_reg (rtx, enum machine_mode);
153
 
154
extern int not_modify_reg (rtx, enum machine_mode);
155
 
156
extern int c4x_shiftable_constant (rtx);
157
 
158
extern int c4x_immed_float_p (rtx);
159
 
160
extern int c4x_a_register (rtx);
161
 
162
extern int c4x_x_register (rtx);
163
 
164
extern int c4x_H_constant (rtx);
165
 
166
extern int c4x_I_constant (rtx);
167
 
168
extern int c4x_J_constant (rtx);
169
 
170
extern int c4x_K_constant (rtx);
171
 
172
extern int c4x_L_constant (rtx);
173
 
174
extern int c4x_N_constant (rtx);
175
 
176
extern int c4x_O_constant (rtx);
177
 
178
extern int c4x_Q_constraint (rtx);
179
 
180
extern int c4x_R_constraint (rtx);
181
 
182
extern int c4x_S_indirect (rtx);
183
 
184
extern int c4x_S_constraint (rtx);
185
 
186
extern int c4x_T_constraint (rtx);
187
 
188
extern int c4x_U_constraint (rtx);
189
 
190
extern void c4x_emit_libcall (rtx, enum rtx_code, enum machine_mode,
191
                              enum machine_mode, int, rtx *);
192
 
193
extern void c4x_emit_libcall3 (rtx, enum rtx_code, enum machine_mode, rtx *);
194
 
195
extern void c4x_emit_libcall_mulhi (rtx, enum rtx_code,
196
                                    enum machine_mode, rtx *);
197
 
198
extern int c4x_emit_move_sequence (rtx *, enum machine_mode);
199
 
200
extern int legitimize_operands (enum rtx_code, rtx *, enum machine_mode);
201
 
202
extern int valid_operands (enum rtx_code, rtx *, enum machine_mode);
203
 
204
extern int valid_parallel_load_store (rtx *, enum machine_mode);
205
 
206
extern int valid_parallel_operands_4 (rtx *, enum machine_mode);
207
 
208
extern int valid_parallel_operands_5 (rtx *, enum machine_mode);
209
 
210
extern int valid_parallel_operands_6 (rtx *, enum machine_mode);
211
 
212
extern GTY(()) rtx smulhi3_libfunc;
213
extern GTY(()) rtx umulhi3_libfunc;
214
extern GTY(()) rtx fix_truncqfhi2_libfunc;
215
extern GTY(()) rtx fixuns_truncqfhi2_libfunc;
216
extern GTY(()) rtx fix_trunchfhi2_libfunc;
217
extern GTY(()) rtx fixuns_trunchfhi2_libfunc;
218
extern GTY(()) rtx floathiqf2_libfunc;
219
extern GTY(()) rtx floatunshiqf2_libfunc;
220
extern GTY(()) rtx floathihf2_libfunc;
221
extern GTY(()) rtx floatunshihf2_libfunc;
222
 
223
extern GTY(()) rtx c4x_compare_op0;     /* Operand 0 for comparisons.  */
224
extern GTY(()) rtx c4x_compare_op1;     /* Operand 1 for comparisons.  */
225
 
226
#endif /* RTX_CODE */
227
 
228
/* Smallest class containing REGNO.  */
229
extern enum reg_class c4x_regclass_map[FIRST_PSEUDO_REGISTER];
230
extern enum machine_mode c4x_caller_save_map[FIRST_PSEUDO_REGISTER];
231
 
232
extern void c4x_pr_CODE_SECTION (struct cpp_reader *);
233
extern void c4x_pr_DATA_SECTION (struct cpp_reader *);
234
extern void c4x_pr_FUNC_IS_PURE (struct cpp_reader *);
235
extern void c4x_pr_FUNC_NEVER_RETURNS (struct cpp_reader *);
236
extern void c4x_pr_INTERRUPT (struct cpp_reader *);
237
extern void c4x_pr_ignored (struct cpp_reader *);
238
extern void c4x_init_pragma (int (*) (tree *));
239
 
240
extern GTY(()) tree code_tree;
241
extern GTY(()) tree data_tree;
242
extern GTY(()) tree pure_tree;
243
extern GTY(()) tree noreturn_tree;
244
extern GTY(()) tree interrupt_tree;
245
 
246
#endif /* ! GCC_C4X_PROTOS_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.