1 /* Prototypes for exported functions defined in xstormy16.c
2 Copyright (C) 2000, 2001 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));
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));
38 extern void xstormy16_setup_incoming_varargs
39 PARAMS ((CUMULATIVE_ARGS
, int, tree
, int *));
40 extern tree xstormy16_build_va_list
PARAMS ((void));
43 #if defined (TREE_CODE) && defined (RTX_CODE)
44 extern void xstormy16_expand_builtin_va_start
PARAMS ((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
));
52 extern void xstormy16_emit_cbranch
PARAMS ((enum rtx_code
, rtx
));
53 extern char * xstormy16_output_cbranch_hi
PARAMS ((rtx
, const char *, int,
55 extern char * xstormy16_output_cbranch_si
PARAMS ((rtx
, const char *, int,
57 extern int xstormy16_mode_dependent_address_p
PARAMS ((rtx
));
58 extern int xstormy16_extra_constraint_p
PARAMS ((rtx
, int));
60 extern void xstormy16_print_operand
PARAMS ((FILE *, rtx
, int));
61 extern void xstormy16_print_operand_address
PARAMS ((FILE *, rtx
));
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
));
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
,
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
,
87 extern int shift_operator
PARAMS ((rtx
, enum machine_mode
));
88 extern const char * xstormy16_output_shift
PARAMS ((enum machine_mode
,