OSDN Git Service

* config/mcore/predicates.md (mcore_general_movesrc_operand): Accept CONSTs.
[pf3gnuchains/gcc-fork.git] / gcc / config / mcore / mcore-protos.h
1 /* Prototypes for exported functions defined in mcore.c
2    Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
3    Contributed by Nick Clifton (nickc@redhat.com)
4
5    This file is part of GCC.
6
7    GCC 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    GCC 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 GCC; see the file COPYING.  If not, write to
19    the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20    Boston, MA 02110-1301, USA.  */
21
22 extern const char * mcore_output_jump_label_table       (void);
23 extern void         mcore_expand_prolog                 (void);
24 extern void         mcore_expand_epilog                 (void);
25 extern int          mcore_const_ok_for_inline           (HOST_WIDE_INT);
26 extern int          mcore_num_ones                      (HOST_WIDE_INT);
27 extern int          mcore_num_zeros                     (HOST_WIDE_INT);
28 extern int          mcore_initial_elimination_offset    (int, int);
29 extern int          mcore_byte_offset                   (unsigned int);
30 extern int          mcore_halfword_offset               (unsigned int);
31 extern int          mcore_const_trick_uses_not          (HOST_WIDE_INT);
32 extern void         mcore_override_options              (void);
33 extern int          mcore_dllexport_name_p              (const char *);
34 extern int          mcore_dllimport_name_p              (const char *);
35 extern int          mcore_naked_function_p              (void);
36
37 #ifdef TREE_CODE
38 #ifdef HAVE_MACHINE_MODES
39 extern int          mcore_num_arg_regs                  (enum machine_mode, tree);
40 #endif /* HAVE_MACHINE_MODES */
41
42 #ifdef RTX_CODE
43 extern rtx          mcore_function_value                (tree, tree);
44 #endif /* RTX_CODE */
45 #endif /* TREE_CODE */
46
47 #ifdef RTX_CODE
48
49 extern GTY(()) rtx arch_compare_op0;
50 extern GTY(()) rtx arch_compare_op1;
51
52 extern const char * mcore_output_bclri                  (rtx, int);
53 extern const char * mcore_output_bseti                  (rtx, int);
54 extern const char * mcore_output_cmov                   (rtx *, int, const char *);
55 extern char *       mcore_output_call                   (rtx *, int);
56 extern int          mcore_is_dead                       (rtx, rtx);
57 extern int          mcore_expand_insv                   (rtx *);
58 extern int          mcore_modify_comparison             (RTX_CODE);
59 extern bool         mcore_expand_block_move             (rtx *);
60 extern const char * mcore_output_andn                   (rtx, rtx *);
61 extern void         mcore_print_operand_address         (FILE *, rtx);
62 extern void         mcore_print_operand                 (FILE *, rtx, int);
63 extern rtx          mcore_gen_compare_reg               (RTX_CODE);
64 extern int          mcore_symbolic_address_p            (rtx);
65 extern bool         mcore_r15_operand_p                 (rtx);
66 extern enum reg_class mcore_secondary_reload_class      (enum reg_class, enum machine_mode, rtx);
67 extern enum reg_class mcore_reload_class                (rtx, enum reg_class);
68 extern int          mcore_is_same_reg                   (rtx, rtx);
69 extern int          mcore_arith_S_operand               (rtx);
70
71 #ifdef HAVE_MACHINE_MODES
72 extern const char * mcore_output_move                   (rtx, rtx *, enum machine_mode);
73 extern const char * mcore_output_movedouble             (rtx *, enum machine_mode);
74 extern int          const_ok_for_mcore                  (HOST_WIDE_INT);
75 #ifdef TREE_CODE
76 extern rtx          mcore_function_arg                  (CUMULATIVE_ARGS, enum machine_mode, tree, int);
77 #endif /* TREE_CODE */
78 #endif /* HAVE_MACHINE_MODES */
79 #endif /* RTX_CODE */