a181a36e255902c721f7f91dcac67cebbd3112fa
[gcc.git] / gcc / config / stormy16 / stormy16-protos.h
1 /* Prototypes for exported functions defined in xstormy16.c
2 Copyright (C) 2000, 2001 Free Software Foundation, Inc.
3 Contributed by Red Hat, Inc.
4
5 This file is part of GNU CC.
6
7 GNU CC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 GNU CC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU CC; see the file COPYING. If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
21
22
23
24 extern struct xstormy16_stack_layout
25 xstormy16_compute_stack_layout PARAMS((void));
26 extern void xstormy16_expand_prologue PARAMS ((void));
27 extern void xstormy16_expand_epilogue PARAMS ((void));
28 extern int xstormy16_initial_elimination_offset PARAMS ((int, int));
29 extern int direct_return PARAMS ((void));
30 extern int xstormy16_interrupt_function_p PARAMS ((void));
31 extern int xstormy16_epilogue_uses PARAMS ((int));
32
33 #if defined (TREE_CODE)
34 # if defined (HAVE_MACHINE_MODES)
35 extern CUMULATIVE_ARGS xstormy16_function_arg_advance
36 PARAMS ((CUMULATIVE_ARGS, enum machine_mode, tree, int));
37 # endif
38 extern void xstormy16_setup_incoming_varargs
39 PARAMS ((CUMULATIVE_ARGS, int, tree, int *));
40 extern tree xstormy16_build_va_list PARAMS ((void));
41 #endif
42
43 #if defined (TREE_CODE) && defined (RTX_CODE)
44 extern void xstormy16_expand_builtin_va_start PARAMS ((int, tree, rtx));
45 extern rtx xstormy16_expand_builtin_va_arg PARAMS ((tree, tree));
46 extern void xstormy16_initialize_trampoline PARAMS ((rtx, rtx, rtx));
47 extern rtx xstormy16_function_value PARAMS ((tree, tree));
48 extern void xstormy16_asm_output_mi_thunk PARAMS ((FILE *, tree, int, tree));
49 #endif
50
51 #ifdef RTX_CODE
52 extern void xstormy16_emit_cbranch PARAMS ((enum rtx_code, rtx));
53 extern char * xstormy16_output_cbranch_hi PARAMS ((rtx, const char *, int,
54 rtx));
55 extern char * xstormy16_output_cbranch_si PARAMS ((rtx, const char *, int,
56 rtx));
57 extern int xstormy16_mode_dependent_address_p PARAMS ((rtx));
58 extern int xstormy16_extra_constraint_p PARAMS ((rtx, int));
59
60 extern void xstormy16_print_operand PARAMS ((FILE *, rtx, int));
61 extern void xstormy16_print_operand_address PARAMS ((FILE *, rtx));
62
63 extern void xstormy16_expand_casesi PARAMS ((rtx, rtx, rtx, rtx, rtx));
64 extern void xstormy16_output_addr_vec PARAMS ((FILE *, rtx, rtx));
65 extern void xstormy16_expand_call PARAMS ((rtx, rtx, rtx));
66 #endif
67
68 #if defined (HAVE_MACHINE_MODES) && defined (RTX_CODE)
69 extern int xstormy16_ineqsi_operator PARAMS ((rtx, enum machine_mode));
70 extern int equality_operator PARAMS ((rtx, enum machine_mode));
71 extern int inequality_operator PARAMS ((rtx, enum machine_mode));
72 extern void xstormy16_split_cbranch PARAMS ((enum machine_mode,
73 rtx, rtx, rtx, rtx));
74 extern int short_memory_operand PARAMS ((rtx, enum machine_mode));
75 extern int nonimmediate_nonstack_operand PARAMS ((rtx, enum machine_mode));
76 extern enum reg_class xstormy16_secondary_reload_class
77 PARAMS ((enum reg_class, enum machine_mode, rtx));
78 extern int xstormy16_carry_plus_operand PARAMS ((rtx, enum machine_mode));
79 extern enum reg_class xstormy16_preferred_reload_class
80 PARAMS ((rtx, enum reg_class));
81 extern int xstormy16_legitimate_address_p
82 PARAMS ((enum machine_mode, rtx, int));
83 extern void xstormy16_split_move PARAMS ((enum machine_mode, rtx, rtx));
84 extern void xstormy16_expand_move PARAMS ((enum machine_mode, rtx, rtx));
85 extern void xstormy16_expand_arith PARAMS ((enum machine_mode, enum rtx_code,
86 rtx, rtx, rtx, rtx));
87 extern int shift_operator PARAMS ((rtx, enum machine_mode));
88 extern const char * xstormy16_output_shift PARAMS ((enum machine_mode,
89 enum rtx_code,
90 rtx, rtx, rtx));
91 #endif
92