]>
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)); | |
52 | extern int reg_or_cint_operand PARAMS ((rtx, enum machine_mode)); | |
53 | extern int some_operand PARAMS ((rtx, enum machine_mode)); | |
54 | extern int some_ni_operand PARAMS ((rtx, enum machine_mode)); | |
55 | extern int input_operand PARAMS ((rtx, enum machine_mode)); | |
56 | extern int current_file_function_operand PARAMS ((rtx, enum machine_mode)); | |
57 | extern int call_operand PARAMS ((rtx, enum machine_mode)); | |
58 | extern int alpha_comparison_operator PARAMS ((rtx, enum machine_mode)); | |
59 | extern int alpha_swapped_comparison_operator PARAMS ((rtx, enum machine_mode)); | |
60 | extern int signed_comparison_operator PARAMS ((rtx, enum machine_mode)); | |
61 | extern int divmod_operator PARAMS ((rtx, enum machine_mode)); | |
62 | extern int aligned_memory_operand PARAMS ((rtx, enum machine_mode)); | |
63 | extern int unaligned_memory_operand PARAMS ((rtx, enum machine_mode)); | |
64 | extern int reg_or_unaligned_mem_operand PARAMS ((rtx, enum machine_mode)); | |
65 | extern int any_memory_operand PARAMS ((rtx, enum machine_mode)); | |
66 | extern int reg_not_elim_operand PARAMS ((rtx, enum machine_mode)); | |
67 | extern int normal_memory_operand PARAMS ((rtx, enum machine_mode)); | |
68 | extern int reg_no_subreg_operand PARAMS ((rtx, enum machine_mode)); | |
69 | extern int addition_operation PARAMS ((rtx, enum machine_mode)); | |
aa388f29 | 70 | |
f6da8bc3 KG |
71 | extern void get_aligned_mem PARAMS ((rtx, rtx *, rtx *)); |
72 | extern rtx get_unaligned_address PARAMS ((rtx, int)); | |
73 | extern enum reg_class secondary_reload_class PARAMS ((enum reg_class, | |
3611aef0 RH |
74 | enum machine_mode, |
75 | rtx, int)); | |
f6da8bc3 KG |
76 | extern void alpha_set_memflags PARAMS ((rtx, rtx)); |
77 | extern rtx alpha_emit_set_const PARAMS ((rtx, enum machine_mode, | |
aa388f29 | 78 | HOST_WIDE_INT, int)); |
f6da8bc3 | 79 | extern rtx alpha_emit_set_long_const PARAMS ((rtx, HOST_WIDE_INT, |
aa388f29 | 80 | HOST_WIDE_INT)); |
f6da8bc3 KG |
81 | extern rtx alpha_emit_conditional_branch PARAMS ((enum rtx_code)); |
82 | extern rtx alpha_emit_conditional_move PARAMS ((rtx, enum machine_mode)); | |
83 | extern void alpha_expand_unaligned_load PARAMS ((rtx, rtx, HOST_WIDE_INT, | |
aa388f29 | 84 | HOST_WIDE_INT, int)); |
f6da8bc3 | 85 | extern void alpha_expand_unaligned_store PARAMS ((rtx, rtx, HOST_WIDE_INT, |
aa388f29 | 86 | HOST_WIDE_INT)); |
f6da8bc3 KG |
87 | extern int alpha_expand_block_move PARAMS ((rtx [])); |
88 | extern int alpha_expand_block_clear PARAMS ((rtx [])); | |
89 | extern int alpha_adjust_cost PARAMS ((rtx, rtx, rtx, int)); | |
90 | extern rtx alpha_return_addr PARAMS ((int, rtx)); | |
91 | extern void print_operand PARAMS ((FILE *, rtx, int)); | |
92 | extern void print_operand_address PARAMS ((FILE *, rtx)); | |
93 | extern void alpha_initialize_trampoline PARAMS ((rtx, rtx, rtx, int, int, int)); | |
94 | extern void alpha_reorg PARAMS ((rtx)); | |
aa388f29 RH |
95 | #endif /* RTX_CODE */ |
96 | ||
97 | #ifdef REAL_VALUE_TYPE | |
f6da8bc3 | 98 | extern int check_float_value PARAMS ((enum machine_mode, |
aa388f29 RH |
99 | REAL_VALUE_TYPE *, int)); |
100 | #endif | |
101 | ||
102 | #if OPEN_VMS | |
103 | #ifdef HAVE_MACHINE_MODES | |
f6da8bc3 | 104 | extern enum avms_arg_type alpha_arg_type PARAMS ((enum machine_mode)); |
aa388f29 | 105 | #endif |
f6da8bc3 KG |
106 | extern rtx alpha_arg_info_reg_val PARAMS ((CUMULATIVE_ARGS)); |
107 | extern void alpha_write_linkage PARAMS ((FILE *)); | |
aa388f29 RH |
108 | #endif /* OPEN_VMS */ |
109 | ||
f6da8bc3 | 110 | extern void alpha_need_linkage PARAMS ((const char *, int)); |
aa388f29 RH |
111 | |
112 | #ifdef TREE_CODE | |
f6da8bc3 | 113 | extern tree alpha_build_va_list PARAMS ((void)); |
aa388f29 | 114 | #ifdef RTX_CODE |
f6da8bc3 KG |
115 | extern void alpha_va_start PARAMS ((int, tree, rtx)); |
116 | extern rtx alpha_va_arg PARAMS ((tree, tree)); | |
aa388f29 | 117 | #endif |
f6da8bc3 KG |
118 | extern int vms_valid_decl_attribute_p PARAMS ((tree, tree, tree, tree)); |
119 | extern void alpha_start_function PARAMS ((FILE *, const char *, tree)); | |
120 | extern void alpha_end_function PARAMS ((FILE *, const char *, tree)); | |
aa388f29 | 121 | #endif /* TREE CODE */ |