1 /* Prototypes for exported functions defined in mcore.c
2 Copyright (C) 2000, 2002 Free Software Foundation, Inc.
3 Contributed by Nick Clifton (nickc@redhat.com)
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. */
22 extern const char * mcore_output_jump_label_table
PARAMS ((void));
23 extern void mcore_expand_prolog
PARAMS ((void));
24 extern void mcore_expand_epilog
PARAMS ((void));
25 extern int mcore_const_ok_for_inline
PARAMS ((long));
26 extern int mcore_num_ones
PARAMS ((int));
27 extern int mcore_num_zeros
PARAMS ((int));
28 extern int mcore_initial_elimination_offset
PARAMS ((int, int));
29 extern int mcore_byte_offset
PARAMS ((unsigned int));
30 extern int mcore_halfword_offset
PARAMS ((unsigned int));
31 extern int mcore_const_trick_uses_not
PARAMS ((long));
32 extern void mcore_override_options
PARAMS ((void));
33 extern int mcore_dllexport_name_p
PARAMS ((const char *));
34 extern int mcore_dllimport_name_p
PARAMS ((const char *));
35 extern int mcore_naked_function_p
PARAMS ((void));
38 #ifdef HAVE_MACHINE_MODES
39 extern int mcore_function_arg_partial_nregs
PARAMS ((CUMULATIVE_ARGS
, enum machine_mode
, tree
, int));
40 extern void mcore_setup_incoming_varargs
PARAMS ((CUMULATIVE_ARGS
, enum machine_mode
, tree
, int *));
41 extern int mcore_num_arg_regs
PARAMS ((enum machine_mode
, tree
));
42 extern int mcore_must_pass_on_stack
PARAMS ((enum machine_mode
, tree
));
43 #endif /* HAVE_MACHINE_MODES */
46 extern rtx mcore_function_value
PARAMS ((tree
, tree
));
48 #endif /* TREE_CODE */
52 extern GTY(()) rtx arch_compare_op0
;
53 extern GTY(()) rtx arch_compare_op1
;
55 extern const char * mcore_output_bclri
PARAMS ((rtx
, int));
56 extern const char * mcore_output_bseti
PARAMS ((rtx
, int));
57 extern const char * mcore_output_cmov
PARAMS ((rtx
*, int, const char *));
58 extern char * mcore_output_call
PARAMS ((rtx
*, int));
59 extern int mcore_is_dead
PARAMS ((rtx
, rtx
));
60 extern int mcore_expand_insv
PARAMS ((rtx
*));
61 extern int mcore_modify_comparison
PARAMS ((RTX_CODE
));
62 extern void mcore_expand_block_move
PARAMS ((rtx
, rtx
, rtx
*));
63 extern const char * mcore_output_andn
PARAMS ((rtx
, rtx
*));
64 extern void mcore_print_operand_address
PARAMS ((FILE *, rtx
));
65 extern void mcore_print_operand
PARAMS ((FILE *, rtx
, int));
66 extern rtx mcore_gen_compare_reg
PARAMS ((RTX_CODE
));
67 extern int mcore_symbolic_address_p
PARAMS ((rtx
));
68 extern enum reg_class mcore_reload_class
PARAMS ((rtx
, enum reg_class
));
69 extern int mcore_is_same_reg
PARAMS ((rtx
, rtx
));
70 extern int mcore_arith_S_operand
PARAMS ((rtx
));
72 #ifdef HAVE_MACHINE_MODES
73 extern const char * mcore_output_move
PARAMS ((rtx
, rtx
*, enum machine_mode
));
74 extern const char * mcore_output_movedouble
PARAMS ((rtx
*, enum machine_mode
));
75 extern const char * mcore_output_inline_const_forced
PARAMS ((rtx
, rtx
*, enum machine_mode
));
76 extern int mcore_arith_reg_operand
PARAMS ((rtx
, enum machine_mode
));
77 extern int mcore_general_movsrc_operand
PARAMS ((rtx
, enum machine_mode
));
78 extern int mcore_general_movdst_operand
PARAMS ((rtx
, enum machine_mode
));
79 extern int mcore_reload_operand
PARAMS ((rtx
, enum machine_mode
));
80 extern int mcore_arith_J_operand
PARAMS ((rtx
, enum machine_mode
));
81 extern int mcore_arith_K_operand
PARAMS ((rtx
, enum machine_mode
));
82 extern int mcore_arith_K_operand_not_0
PARAMS ((rtx
, enum machine_mode
));
83 extern int mcore_arith_M_operand
PARAMS ((rtx
, enum machine_mode
));
84 extern int mcore_arith_K_S_operand
PARAMS ((rtx
, enum machine_mode
));
85 extern int mcore_arith_imm_operand
PARAMS ((rtx
, enum machine_mode
));
86 extern int mcore_arith_any_imm_operand
PARAMS ((rtx
, enum machine_mode
));
87 extern int mcore_arith_O_operand
PARAMS ((rtx
, enum machine_mode
));
88 extern int mcore_literal_K_operand
PARAMS ((rtx
, enum machine_mode
));
89 extern int mcore_addsub_operand
PARAMS ((rtx
, enum machine_mode
));
90 extern int mcore_compare_operand
PARAMS ((rtx
, enum machine_mode
));
91 extern int mcore_load_multiple_operation
PARAMS ((rtx
, enum machine_mode
));
92 extern int mcore_store_multiple_operation
PARAMS ((rtx
, enum machine_mode
));
93 extern int mcore_call_address_operand
PARAMS ((rtx
, enum machine_mode
));
96 extern rtx mcore_function_arg
PARAMS ((CUMULATIVE_ARGS
, enum machine_mode
, tree
, int));
97 #endif /* TREE_CODE */
98 #endif /* HAVE_MACHINE_MODES */