]>
Commit | Line | Data |
---|---|---|
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 | |
4 | This file is part of GNU CC. | |
5 | ||
6 | GNU CC is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
10 | ||
11 | GNU CC is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with GNU CC; see the file COPYING. If not, write to | |
18 | the Free Software Foundation, 59 Temple Place - Suite 330, | |
19 | Boston, MA 02111-1307, USA. */ | |
20 | ||
f6da8bc3 KG |
21 | extern void literal_section PARAMS ((void)); |
22 | extern void override_options PARAMS ((void)); | |
23 | extern int zap_mask PARAMS ((HOST_WIDE_INT)); | |
24 | extern int direct_return PARAMS ((void)); | |
aa388f29 | 25 | |
f6da8bc3 KG |
26 | extern int alpha_sa_size PARAMS ((void)); |
27 | extern int alpha_pv_save_size PARAMS ((void)); | |
28 | extern int alpha_using_fp PARAMS ((void)); | |
29 | extern void alpha_write_verstamp PARAMS ((FILE *)); | |
30 | extern void alpha_expand_prologue PARAMS ((void)); | |
31 | extern void output_end_prologue PARAMS ((FILE *)); | |
32 | extern void alpha_expand_epilogue PARAMS ((void)); | |
33 | extern void alpha_output_filename PARAMS ((FILE *, const char *)); | |
34 | extern void alpha_output_lineno PARAMS ((FILE *, int)); | |
aa388f29 RH |
35 | |
36 | #ifdef RTX_CODE | |
f6da8bc3 KG |
37 | extern int reg_or_0_operand PARAMS ((rtx, enum machine_mode)); |
38 | extern int reg_or_6bit_operand PARAMS ((rtx, enum machine_mode)); | |
39 | extern int reg_or_8bit_operand PARAMS ((rtx, enum machine_mode)); | |
40 | extern int cint8_operand PARAMS ((rtx, enum machine_mode)); | |
41 | extern int add_operand PARAMS ((rtx, enum machine_mode)); | |
42 | extern int sext_add_operand PARAMS ((rtx, enum machine_mode)); | |
43 | extern int const48_operand PARAMS ((rtx, enum machine_mode)); | |
44 | extern int and_operand PARAMS ((rtx, enum machine_mode)); | |
45 | extern int or_operand PARAMS ((rtx, enum machine_mode)); | |
46 | extern int mode_width_operand PARAMS ((rtx, enum machine_mode)); | |
47 | extern int mode_mask_operand PARAMS ((rtx, enum machine_mode)); | |
48 | extern int mul8_operand PARAMS ((rtx, enum machine_mode)); | |
49 | extern int fp0_operand PARAMS ((rtx, enum machine_mode)); | |
50 | extern int reg_or_fp0_operand PARAMS ((rtx, enum machine_mode)); | |
51 | extern int hard_fp_register_operand PARAMS ((rtx, enum machine_mode)); | |
d2c6a1b6 | 52 | extern int hard_int_register_operand PARAMS ((rtx, enum machine_mode)); |
f6da8bc3 KG |
53 | extern int reg_or_cint_operand PARAMS ((rtx, enum machine_mode)); |
54 | extern int some_operand PARAMS ((rtx, enum machine_mode)); | |
55 | extern int some_ni_operand PARAMS ((rtx, enum machine_mode)); | |
56 | extern int input_operand PARAMS ((rtx, enum machine_mode)); | |
57 | extern int current_file_function_operand PARAMS ((rtx, enum machine_mode)); | |
58 | extern int call_operand PARAMS ((rtx, enum machine_mode)); | |
59 | extern int alpha_comparison_operator PARAMS ((rtx, enum machine_mode)); | |
8f4773ea | 60 | extern int alpha_zero_comparison_operator PARAMS ((rtx, enum machine_mode)); |
f6da8bc3 KG |
61 | extern int alpha_swapped_comparison_operator PARAMS ((rtx, enum machine_mode)); |
62 | extern int signed_comparison_operator PARAMS ((rtx, enum machine_mode)); | |
1eb8759b | 63 | extern int alpha_fp_comparison_operator PARAMS ((rtx, enum machine_mode)); |
f6da8bc3 KG |
64 | extern int divmod_operator PARAMS ((rtx, enum machine_mode)); |
65 | extern int aligned_memory_operand PARAMS ((rtx, enum machine_mode)); | |
66 | extern int unaligned_memory_operand PARAMS ((rtx, enum machine_mode)); | |
67 | extern int reg_or_unaligned_mem_operand PARAMS ((rtx, enum machine_mode)); | |
68 | extern int any_memory_operand PARAMS ((rtx, enum machine_mode)); | |
69 | extern int reg_not_elim_operand PARAMS ((rtx, enum machine_mode)); | |
70 | extern int normal_memory_operand PARAMS ((rtx, enum machine_mode)); | |
71 | extern int reg_no_subreg_operand PARAMS ((rtx, enum machine_mode)); | |
72 | extern int addition_operation PARAMS ((rtx, enum machine_mode)); | |
aa388f29 | 73 | |
f6da8bc3 KG |
74 | extern void get_aligned_mem PARAMS ((rtx, rtx *, rtx *)); |
75 | extern rtx get_unaligned_address PARAMS ((rtx, int)); | |
76 | extern enum reg_class secondary_reload_class PARAMS ((enum reg_class, | |
3611aef0 RH |
77 | enum machine_mode, |
78 | rtx, int)); | |
f6da8bc3 KG |
79 | extern void alpha_set_memflags PARAMS ((rtx, rtx)); |
80 | extern rtx alpha_emit_set_const PARAMS ((rtx, enum machine_mode, | |
aa388f29 | 81 | HOST_WIDE_INT, int)); |
f6da8bc3 | 82 | extern rtx alpha_emit_set_long_const PARAMS ((rtx, HOST_WIDE_INT, |
aa388f29 | 83 | HOST_WIDE_INT)); |
01b9e84e | 84 | extern void alpha_emit_floatuns PARAMS ((rtx[])); |
f6da8bc3 | 85 | extern rtx alpha_emit_conditional_branch PARAMS ((enum rtx_code)); |
9e495700 | 86 | extern rtx alpha_emit_setcc PARAMS ((enum rtx_code)); |
f6da8bc3 | 87 | extern rtx alpha_emit_conditional_move PARAMS ((rtx, enum machine_mode)); |
8f4773ea RH |
88 | extern int alpha_split_conditional_move PARAMS ((enum rtx_code, rtx, rtx, |
89 | rtx, rtx)); | |
5495cc55 RH |
90 | extern void alpha_emit_xfloating_arith PARAMS ((enum rtx_code, rtx[])); |
91 | extern void alpha_emit_xfloating_cvt PARAMS ((enum rtx_code, rtx[])); | |
628d74de | 92 | extern void alpha_split_tfmode_pair PARAMS ((rtx[])); |
f940c352 RH |
93 | extern void alpha_split_tfmode_frobsign PARAMS ((rtx[], |
94 | rtx (*)(rtx, rtx, rtx))); | |
f6da8bc3 | 95 | extern void alpha_expand_unaligned_load PARAMS ((rtx, rtx, HOST_WIDE_INT, |
aa388f29 | 96 | HOST_WIDE_INT, int)); |
f6da8bc3 | 97 | extern void alpha_expand_unaligned_store PARAMS ((rtx, rtx, HOST_WIDE_INT, |
aa388f29 | 98 | HOST_WIDE_INT)); |
f6da8bc3 KG |
99 | extern int alpha_expand_block_move PARAMS ((rtx [])); |
100 | extern int alpha_expand_block_clear PARAMS ((rtx [])); | |
101 | extern int alpha_adjust_cost PARAMS ((rtx, rtx, rtx, int)); | |
102 | extern rtx alpha_return_addr PARAMS ((int, rtx)); | |
103 | extern void print_operand PARAMS ((FILE *, rtx, int)); | |
104 | extern void print_operand_address PARAMS ((FILE *, rtx)); | |
105 | extern void alpha_initialize_trampoline PARAMS ((rtx, rtx, rtx, int, int, int)); | |
106 | extern void alpha_reorg PARAMS ((rtx)); | |
aa388f29 RH |
107 | #endif /* RTX_CODE */ |
108 | ||
109 | #ifdef REAL_VALUE_TYPE | |
f6da8bc3 | 110 | extern int check_float_value PARAMS ((enum machine_mode, |
aa388f29 RH |
111 | REAL_VALUE_TYPE *, int)); |
112 | #endif | |
113 | ||
114 | #if OPEN_VMS | |
115 | #ifdef HAVE_MACHINE_MODES | |
f6da8bc3 | 116 | extern enum avms_arg_type alpha_arg_type PARAMS ((enum machine_mode)); |
aa388f29 | 117 | #endif |
a82c7f05 | 118 | #ifdef RTX_CODE |
f6da8bc3 | 119 | extern rtx alpha_arg_info_reg_val PARAMS ((CUMULATIVE_ARGS)); |
a82c7f05 RH |
120 | #endif |
121 | #ifdef BUFSIZ | |
f6da8bc3 | 122 | extern void alpha_write_linkage PARAMS ((FILE *)); |
a82c7f05 | 123 | #endif |
aa388f29 RH |
124 | #endif /* OPEN_VMS */ |
125 | ||
a82c7f05 RH |
126 | #ifdef RTX_CODE |
127 | extern rtx alpha_need_linkage PARAMS ((const char *, int)); | |
128 | #endif | |
aa388f29 RH |
129 | |
130 | #ifdef TREE_CODE | |
f6da8bc3 | 131 | extern tree alpha_build_va_list PARAMS ((void)); |
aa388f29 | 132 | #ifdef RTX_CODE |
f6da8bc3 KG |
133 | extern void alpha_va_start PARAMS ((int, tree, rtx)); |
134 | extern rtx alpha_va_arg PARAMS ((tree, tree)); | |
5495cc55 RH |
135 | extern rtx function_arg PARAMS ((CUMULATIVE_ARGS, enum machine_mode, |
136 | tree, int)); | |
aa388f29 | 137 | #endif |
f6da8bc3 KG |
138 | extern int vms_valid_decl_attribute_p PARAMS ((tree, tree, tree, tree)); |
139 | extern void alpha_start_function PARAMS ((FILE *, const char *, tree)); | |
140 | extern void alpha_end_function PARAMS ((FILE *, const char *, tree)); | |
aa388f29 | 141 | #endif /* TREE CODE */ |