]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/mcore/mcore-protos.h
arc-protos.h (arc_select_cc_mode, gen_compare_reg): Wrap in RTX_CODE macro guard.
[thirdparty/gcc.git] / gcc / config / mcore / mcore-protos.h
CommitLineData
8f90be4c 1/* Prototypes for exported functions defined in mcore.c
2f83c7d6
NC
2 Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007
3 Free Software Foundation, Inc.
f27cd94d 4 Contributed by Nick Clifton (nickc@redhat.com)
8f90be4c 5
08903e08 6 This file is part of GCC.
8f90be4c 7
08903e08
SB
8 GCC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
2f83c7d6 10 the Free Software Foundation; either version 3, or (at your option)
08903e08 11 any later version.
8f90be4c 12
08903e08
SB
13 GCC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
8f90be4c 17
08903e08 18 You should have received a copy of the GNU General Public License
2f83c7d6
NC
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
8f90be4c 21
08903e08
SB
22extern const char * mcore_output_jump_label_table (void);
23extern void mcore_expand_prolog (void);
24extern void mcore_expand_epilog (void);
6e3a343d
NC
25extern int mcore_const_ok_for_inline (HOST_WIDE_INT);
26extern int mcore_num_ones (HOST_WIDE_INT);
27extern int mcore_num_zeros (HOST_WIDE_INT);
08903e08
SB
28extern int mcore_initial_elimination_offset (int, int);
29extern int mcore_byte_offset (unsigned int);
30extern int mcore_halfword_offset (unsigned int);
6e3a343d 31extern int mcore_const_trick_uses_not (HOST_WIDE_INT);
08903e08
SB
32extern void mcore_override_options (void);
33extern int mcore_dllexport_name_p (const char *);
34extern int mcore_dllimport_name_p (const char *);
35extern int mcore_naked_function_p (void);
8f90be4c
NC
36
37#ifdef TREE_CODE
8f90be4c 38#ifdef HAVE_MACHINE_MODES
586de218 39extern int mcore_num_arg_regs (enum machine_mode, const_tree);
8f90be4c
NC
40#endif /* HAVE_MACHINE_MODES */
41
42#ifdef RTX_CODE
586de218 43extern rtx mcore_function_value (const_tree, const_tree);
8f90be4c
NC
44#endif /* RTX_CODE */
45#endif /* TREE_CODE */
46
47#ifdef RTX_CODE
48
e2500fed
GK
49extern GTY(()) rtx arch_compare_op0;
50extern GTY(()) rtx arch_compare_op1;
8f90be4c 51
08903e08
SB
52extern const char * mcore_output_bclri (rtx, int);
53extern const char * mcore_output_bseti (rtx, int);
54extern const char * mcore_output_cmov (rtx *, int, const char *);
55extern char * mcore_output_call (rtx *, int);
56extern int mcore_is_dead (rtx, rtx);
57extern int mcore_expand_insv (rtx *);
58extern int mcore_modify_comparison (RTX_CODE);
88042663 59extern bool mcore_expand_block_move (rtx *);
08903e08
SB
60extern const char * mcore_output_andn (rtx, rtx *);
61extern void mcore_print_operand_address (FILE *, rtx);
62extern void mcore_print_operand (FILE *, rtx, int);
63extern rtx mcore_gen_compare_reg (RTX_CODE);
64extern int mcore_symbolic_address_p (rtx);
65extern bool mcore_r15_operand_p (rtx);
66extern enum reg_class mcore_secondary_reload_class (enum reg_class, enum machine_mode, rtx);
67extern enum reg_class mcore_reload_class (rtx, enum reg_class);
68extern int mcore_is_same_reg (rtx, rtx);
69extern int mcore_arith_S_operand (rtx);
8f90be4c
NC
70
71#ifdef HAVE_MACHINE_MODES
08903e08
SB
72extern const char * mcore_output_move (rtx, rtx *, enum machine_mode);
73extern const char * mcore_output_movedouble (rtx *, enum machine_mode);
6e3a343d 74extern int const_ok_for_mcore (HOST_WIDE_INT);
8f90be4c 75#ifdef TREE_CODE
08903e08 76extern rtx mcore_function_arg (CUMULATIVE_ARGS, enum machine_mode, tree, int);
8f90be4c
NC
77#endif /* TREE_CODE */
78#endif /* HAVE_MACHINE_MODES */
79#endif /* RTX_CODE */