1 /* Prototypes for exported functions defined in xstormy16.c
2 Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
3 Contributed by Red Hat, Inc.
5 This file is part of GNU CC.
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)
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.
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. */
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 extern void xstormy16_function_profiler PARAMS ((void));
34 #if defined (TREE_CODE)
35 # if defined (HAVE_MACHINE_MODES)
36 extern CUMULATIVE_ARGS xstormy16_function_arg_advance
37 PARAMS ((CUMULATIVE_ARGS, enum machine_mode, tree, int));
38 extern rtx xstormy16_function_arg
39 PARAMS ((CUMULATIVE_ARGS, enum machine_mode, tree, int));
41 extern void xstormy16_setup_incoming_varargs
42 PARAMS ((CUMULATIVE_ARGS, int, tree, int *));
43 extern tree xstormy16_build_va_list PARAMS ((void));
46 #if defined (TREE_CODE) && defined (RTX_CODE)
47 extern void xstormy16_expand_builtin_va_start PARAMS ((tree, rtx));
48 extern rtx xstormy16_expand_builtin_va_arg PARAMS ((tree, tree));
49 extern void xstormy16_initialize_trampoline PARAMS ((rtx, rtx, rtx));
50 extern rtx xstormy16_function_value PARAMS ((tree, tree));
54 extern void xstormy16_emit_cbranch PARAMS ((enum rtx_code, rtx));
55 extern char * xstormy16_output_cbranch_hi PARAMS ((rtx, const char *, int,
57 extern char * xstormy16_output_cbranch_si PARAMS ((rtx, const char *, int,
59 extern int xstormy16_mode_dependent_address_p PARAMS ((rtx));
60 extern int xstormy16_extra_constraint_p PARAMS ((rtx, int));
62 extern void xstormy16_print_operand PARAMS ((FILE *, rtx, int));
63 extern void xstormy16_print_operand_address PARAMS ((FILE *, rtx));
65 extern void xstormy16_expand_casesi PARAMS ((rtx, rtx, rtx, rtx, rtx));
66 extern void xstormy16_output_addr_vec PARAMS ((FILE *, rtx, rtx));
67 extern void xstormy16_expand_call PARAMS ((rtx, rtx, rtx));
70 #if defined (HAVE_MACHINE_MODES) && defined (RTX_CODE)
71 extern int xstormy16_ineqsi_operator PARAMS ((rtx, enum machine_mode));
72 extern int equality_operator PARAMS ((rtx, enum machine_mode));
73 extern int inequality_operator PARAMS ((rtx, enum machine_mode));
74 extern void xstormy16_split_cbranch PARAMS ((enum machine_mode,
76 extern int short_memory_operand PARAMS ((rtx, enum machine_mode));
77 extern int nonimmediate_nonstack_operand PARAMS ((rtx, enum machine_mode));
78 extern enum reg_class xstormy16_secondary_reload_class
79 PARAMS ((enum reg_class, enum machine_mode, rtx));
80 extern int xstormy16_carry_plus_operand PARAMS ((rtx, enum machine_mode));
81 extern enum reg_class xstormy16_preferred_reload_class
82 PARAMS ((rtx, enum reg_class));
83 extern int xstormy16_legitimate_address_p
84 PARAMS ((enum machine_mode, rtx, int));
85 extern void xstormy16_split_move PARAMS ((enum machine_mode, rtx, rtx));
86 extern void xstormy16_expand_move PARAMS ((enum machine_mode, rtx, rtx));
87 extern void xstormy16_expand_arith PARAMS ((enum machine_mode, enum rtx_code,
89 extern int shift_operator PARAMS ((rtx, enum machine_mode));
90 extern const char * xstormy16_output_shift PARAMS ((enum machine_mode,