]> gcc.gnu.org Git - gcc.git/blame - gcc/config/alpha/alpha-protos.h
* local-alloc.c (function_invariant_p): Update commentary.
[gcc.git] / gcc / config / alpha / alpha-protos.h
CommitLineData
aa388f29 1/* Prototypes for alpha.c functions used in the md file & elsewhere.
f6da8bc3 2 Copyright (C) 1999, 2000 Free Software Foundation, Inc.
aa388f29
RH
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU CC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU CC; see the file COPYING. If not, write to
18the Free Software Foundation, 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA. */
20
e2c9fb9b
RH
21extern int alpha_next_sequence_number;
22
f6da8bc3
KG
23extern void literal_section PARAMS ((void));
24extern void override_options PARAMS ((void));
25extern int zap_mask PARAMS ((HOST_WIDE_INT));
26extern int direct_return PARAMS ((void));
aa388f29 27
f6da8bc3
KG
28extern int alpha_sa_size PARAMS ((void));
29extern int alpha_pv_save_size PARAMS ((void));
30extern int alpha_using_fp PARAMS ((void));
31extern void alpha_write_verstamp PARAMS ((FILE *));
32extern void alpha_expand_prologue PARAMS ((void));
f6da8bc3
KG
33extern void alpha_expand_epilogue PARAMS ((void));
34extern void alpha_output_filename PARAMS ((FILE *, const char *));
35extern void alpha_output_lineno PARAMS ((FILE *, int));
aa388f29
RH
36
37#ifdef RTX_CODE
f6da8bc3
KG
38extern int reg_or_0_operand PARAMS ((rtx, enum machine_mode));
39extern int reg_or_6bit_operand PARAMS ((rtx, enum machine_mode));
40extern int reg_or_8bit_operand PARAMS ((rtx, enum machine_mode));
41extern int cint8_operand PARAMS ((rtx, enum machine_mode));
42extern int add_operand PARAMS ((rtx, enum machine_mode));
43extern int sext_add_operand PARAMS ((rtx, enum machine_mode));
44extern int const48_operand PARAMS ((rtx, enum machine_mode));
45extern int and_operand PARAMS ((rtx, enum machine_mode));
46extern int or_operand PARAMS ((rtx, enum machine_mode));
47extern int mode_width_operand PARAMS ((rtx, enum machine_mode));
48extern int mode_mask_operand PARAMS ((rtx, enum machine_mode));
49extern int mul8_operand PARAMS ((rtx, enum machine_mode));
50extern int fp0_operand PARAMS ((rtx, enum machine_mode));
51extern int reg_or_fp0_operand PARAMS ((rtx, enum machine_mode));
52extern int hard_fp_register_operand PARAMS ((rtx, enum machine_mode));
d2c6a1b6 53extern int hard_int_register_operand PARAMS ((rtx, enum machine_mode));
f6da8bc3
KG
54extern int reg_or_cint_operand PARAMS ((rtx, enum machine_mode));
55extern int some_operand PARAMS ((rtx, enum machine_mode));
56extern int some_ni_operand PARAMS ((rtx, enum machine_mode));
57extern int input_operand PARAMS ((rtx, enum machine_mode));
58extern int current_file_function_operand PARAMS ((rtx, enum machine_mode));
1afec8ad 59extern int direct_call_operand PARAMS ((rtx, enum machine_mode));
1eb356b9 60extern int local_symbolic_operand PARAMS ((rtx, enum machine_mode));
e2c9fb9b
RH
61extern int small_symbolic_operand PARAMS ((rtx, enum machine_mode));
62extern int global_symbolic_operand PARAMS ((rtx, enum machine_mode));
f6da8bc3 63extern int call_operand PARAMS ((rtx, enum machine_mode));
30102605 64extern int symbolic_operand PARAMS ((rtx, enum machine_mode));
f6da8bc3 65extern int alpha_comparison_operator PARAMS ((rtx, enum machine_mode));
8f4773ea 66extern int alpha_zero_comparison_operator PARAMS ((rtx, enum machine_mode));
f6da8bc3
KG
67extern int alpha_swapped_comparison_operator PARAMS ((rtx, enum machine_mode));
68extern int signed_comparison_operator PARAMS ((rtx, enum machine_mode));
1eb8759b 69extern int alpha_fp_comparison_operator PARAMS ((rtx, enum machine_mode));
f6da8bc3
KG
70extern int divmod_operator PARAMS ((rtx, enum machine_mode));
71extern int aligned_memory_operand PARAMS ((rtx, enum machine_mode));
72extern int unaligned_memory_operand PARAMS ((rtx, enum machine_mode));
73extern int reg_or_unaligned_mem_operand PARAMS ((rtx, enum machine_mode));
74extern int any_memory_operand PARAMS ((rtx, enum machine_mode));
75extern int reg_not_elim_operand PARAMS ((rtx, enum machine_mode));
76extern int normal_memory_operand PARAMS ((rtx, enum machine_mode));
77extern int reg_no_subreg_operand PARAMS ((rtx, enum machine_mode));
78extern int addition_operation PARAMS ((rtx, enum machine_mode));
aa388f29 79
25e21aed
RH
80extern rtx alpha_tablejump_addr_vec PARAMS ((rtx));
81extern rtx alpha_tablejump_best_label PARAMS ((rtx));
aead1ca3 82
a39bdefc 83extern bool alpha_legitimate_address_p PARAMS ((enum machine_mode, rtx, int));
aead1ca3
RH
84extern rtx alpha_legitimize_address PARAMS ((rtx, rtx, enum machine_mode));
85extern rtx alpha_legitimize_reload_address PARAMS ((rtx, enum machine_mode,
86 int, int, int));
87
f6da8bc3
KG
88extern void get_aligned_mem PARAMS ((rtx, rtx *, rtx *));
89extern rtx get_unaligned_address PARAMS ((rtx, int));
90extern enum reg_class secondary_reload_class PARAMS ((enum reg_class,
3611aef0
RH
91 enum machine_mode,
92 rtx, int));
f6da8bc3
KG
93extern void alpha_set_memflags PARAMS ((rtx, rtx));
94extern rtx alpha_emit_set_const PARAMS ((rtx, enum machine_mode,
aa388f29 95 HOST_WIDE_INT, int));
f6da8bc3 96extern rtx alpha_emit_set_long_const PARAMS ((rtx, HOST_WIDE_INT,
aa388f29 97 HOST_WIDE_INT));
23296a36
RH
98extern bool alpha_expand_mov PARAMS ((enum machine_mode, rtx *));
99extern bool alpha_expand_mov_nobwx PARAMS ((enum machine_mode, rtx *));
01b9e84e 100extern void alpha_emit_floatuns PARAMS ((rtx[]));
f6da8bc3 101extern rtx alpha_emit_conditional_branch PARAMS ((enum rtx_code));
9e495700 102extern rtx alpha_emit_setcc PARAMS ((enum rtx_code));
f6da8bc3 103extern rtx alpha_emit_conditional_move PARAMS ((rtx, enum machine_mode));
8f4773ea
RH
104extern int alpha_split_conditional_move PARAMS ((enum rtx_code, rtx, rtx,
105 rtx, rtx));
5495cc55
RH
106extern void alpha_emit_xfloating_arith PARAMS ((enum rtx_code, rtx[]));
107extern void alpha_emit_xfloating_cvt PARAMS ((enum rtx_code, rtx[]));
628d74de 108extern void alpha_split_tfmode_pair PARAMS ((rtx[]));
f940c352
RH
109extern void alpha_split_tfmode_frobsign PARAMS ((rtx[],
110 rtx (*)(rtx, rtx, rtx)));
f6da8bc3 111extern void alpha_expand_unaligned_load PARAMS ((rtx, rtx, HOST_WIDE_INT,
aa388f29 112 HOST_WIDE_INT, int));
f6da8bc3 113extern void alpha_expand_unaligned_store PARAMS ((rtx, rtx, HOST_WIDE_INT,
aa388f29 114 HOST_WIDE_INT));
f6da8bc3
KG
115extern int alpha_expand_block_move PARAMS ((rtx []));
116extern int alpha_expand_block_clear PARAMS ((rtx []));
f6da8bc3 117extern rtx alpha_return_addr PARAMS ((int, rtx));
ccb83cbc 118extern rtx alpha_gp_save_rtx PARAMS ((void));
f6da8bc3
KG
119extern void print_operand PARAMS ((FILE *, rtx, int));
120extern void print_operand_address PARAMS ((FILE *, rtx));
121extern void alpha_initialize_trampoline PARAMS ((rtx, rtx, rtx, int, int, int));
122extern void alpha_reorg PARAMS ((rtx));
aa388f29
RH
123#endif /* RTX_CODE */
124
125#ifdef REAL_VALUE_TYPE
f6da8bc3 126extern int check_float_value PARAMS ((enum machine_mode,
aa388f29
RH
127 REAL_VALUE_TYPE *, int));
128#endif
129
be7b80f4 130#if TARGET_ABI_OPEN_VMS
aa388f29 131#ifdef HAVE_MACHINE_MODES
f6da8bc3 132extern enum avms_arg_type alpha_arg_type PARAMS ((enum machine_mode));
aa388f29 133#endif
a82c7f05 134#ifdef RTX_CODE
f6da8bc3 135extern rtx alpha_arg_info_reg_val PARAMS ((CUMULATIVE_ARGS));
a82c7f05
RH
136#endif
137#ifdef BUFSIZ
f6da8bc3 138extern void alpha_write_linkage PARAMS ((FILE *));
a82c7f05 139#endif
be7b80f4 140#endif /* TARGET_ABI_OPEN_VMS */
aa388f29 141
a82c7f05
RH
142#ifdef RTX_CODE
143extern rtx alpha_need_linkage PARAMS ((const char *, int));
144#endif
aa388f29
RH
145
146#ifdef TREE_CODE
f6da8bc3 147extern tree alpha_build_va_list PARAMS ((void));
aa388f29 148#ifdef RTX_CODE
f6da8bc3
KG
149extern void alpha_va_start PARAMS ((int, tree, rtx));
150extern rtx alpha_va_arg PARAMS ((tree, tree));
5495cc55
RH
151extern rtx function_arg PARAMS ((CUMULATIVE_ARGS, enum machine_mode,
152 tree, int));
aa388f29 153#endif
f6da8bc3
KG
154extern void alpha_start_function PARAMS ((FILE *, const char *, tree));
155extern void alpha_end_function PARAMS ((FILE *, const char *, tree));
1eb356b9 156extern void alpha_encode_section_info PARAMS ((tree));
aa388f29 157#endif /* TREE CODE */
30102605
RH
158
159#ifdef RTX_CODE
160extern rtx unicosmk_add_call_info_word PARAMS ((rtx));
161#endif
162
163#if TARGET_ABI_UNICOSMK
164#ifdef RTX_CODE
165extern void unicosmk_defer_case_vector PARAMS ((rtx, rtx));
166#endif
167#ifdef TREE_CODE
168extern void unicosmk_unique_section PARAMS ((tree, int));
169#endif
170extern void unicosmk_add_extern PARAMS ((const char *));
171extern void unicosmk_output_align PARAMS ((FILE *, int));
172extern char * unicosmk_text_section PARAMS ((void));
173extern char * unicosmk_data_section PARAMS ((void));
174extern void unicosmk_asm_file_start PARAMS ((FILE *));
175extern void unicosmk_asm_file_end PARAMS ((FILE *));
176extern void unicosmk_output_common PARAMS ((FILE *, const char *, int, int));
177#endif /* TARGET_ABI_UNICOSMK */
This page took 0.496351 seconds and 5 git commands to generate.