OSDN Git Service

* target.h (targetm.address_cost): New.
[pf3gnuchains/gcc-fork.git] / gcc / config / m32r / m32r-protos.h
1 /* Prototypes for m32r.c functions used in the md file & elsewhere.
2    Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3
4 This file is part of GNU CC.
5
6 GNU CC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GNU CC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU CC; see the file COPYING.  If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21 /* Function prototypes that cannot exist in v850.h due to dependency
22    complications.  */
23 #define Mmode enum machine_mode
24
25 extern void   sbss_section                      PARAMS ((void));
26 extern void   sdata_section                     PARAMS ((void));
27 extern void   m32r_init                         PARAMS ((void));
28 extern void   m32r_init_expanders               PARAMS ((void));
29 extern unsigned m32r_compute_frame_size         PARAMS ((int));
30 extern int    m32r_first_insn_address           PARAMS ((void));
31 extern void   m32r_expand_prologue              PARAMS ((void));
32 extern void   m32r_finalize_pic                 PARAMS ((void));
33 extern void   m32r_asm_file_start               PARAMS ((FILE *));
34 extern int    direct_return                     PARAMS ((void));
35 #ifdef TREE_CODE
36 extern enum m32r_function_type m32r_compute_function_type PARAMS ((tree));
37
38 #ifdef HAVE_MACHINE_MODES
39 extern void   m32r_setup_incoming_varargs       PARAMS ((CUMULATIVE_ARGS *, Mmode, tree, int *, int));
40 extern int    function_arg_partial_nregs        PARAMS ((CUMULATIVE_ARGS *, Mmode, tree, int));
41 #endif
42 #endif /* TREE_CODE */
43
44 #ifdef RTX_CODE
45 extern int    easy_di_const                     PARAMS ((rtx));
46 extern int    easy_df_const                     PARAMS ((rtx));
47 extern rtx    gen_compare                       PARAMS ((enum rtx_code, rtx, rtx, int));
48 extern rtx    gen_split_move_double             PARAMS ((rtx *));
49 extern int    m32r_address_code                 PARAMS ((rtx));
50 extern void   m32r_initialize_trampoline        PARAMS ((rtx, rtx, rtx));
51 extern int    zero_and_one                      PARAMS ((rtx, rtx));
52 extern char * emit_cond_move                    PARAMS ((rtx *, rtx));
53 extern void   m32r_output_block_move            PARAMS ((rtx, rtx *));
54 extern void   m32r_expand_block_move            PARAMS ((rtx *));
55 extern void   m32r_print_operand                PARAMS ((FILE *, rtx, int));
56 extern void   m32r_print_operand_address        PARAMS ((FILE *, rtx));
57 extern int    m32r_not_same_reg                 PARAMS ((rtx, rtx));
58
59 #ifdef HAVE_MACHINE_MODES
60 extern int    call_address_operand              PARAMS ((rtx, Mmode));
61 extern int    call_operand                      PARAMS ((rtx, Mmode));
62 extern int    symbolic_operand                  PARAMS ((rtx, Mmode));
63 extern int    small_data_operand                PARAMS ((rtx, Mmode));
64 extern int    addr24_operand                    PARAMS ((rtx, Mmode));
65 extern int    addr32_operand                    PARAMS ((rtx, Mmode));
66 extern int    call26_operand                    PARAMS ((rtx, Mmode));
67 extern int    seth_add3_operand                 PARAMS ((rtx, Mmode));
68 extern int    cmp_int16_operand                 PARAMS ((rtx, Mmode));
69 extern int    uint16_operand                    PARAMS ((rtx, Mmode));
70 extern int    reg_or_int16_operand              PARAMS ((rtx, Mmode));
71 extern int    reg_or_uint16_operand             PARAMS ((rtx, Mmode));
72 extern int    reg_or_cmp_int16_operand          PARAMS ((rtx, Mmode));
73 extern int    two_insn_const_operand            PARAMS ((rtx, Mmode));
74 extern int    move_src_operand                  PARAMS ((rtx, Mmode));
75 extern int    move_double_src_operand           PARAMS ((rtx, Mmode));
76 extern int    move_dest_operand                 PARAMS ((rtx, Mmode));
77 extern int    eqne_comparison_operator          PARAMS ((rtx, Mmode));
78 extern int    signed_comparison_operator        PARAMS ((rtx, Mmode));
79 extern int    memreg_operand                    PARAMS ((rtx, Mmode));
80 extern int    small_insn_p                      PARAMS ((rtx, Mmode));
81 extern int    large_insn_p                      PARAMS ((rtx, Mmode));
82 extern int    conditional_move_operand          PARAMS ((rtx, Mmode));
83 extern int    carry_compare_operand             PARAMS ((rtx, Mmode));
84 extern int    m32r_block_immediate_operand      PARAMS ((rtx, Mmode));
85 extern int    extend_operand                    PARAMS ((rtx, Mmode));
86 extern int    reg_or_eq_int16_operand           PARAMS ((rtx, Mmode));
87 extern int    int8_operand                      PARAMS ((rtx, Mmode));
88 extern int    reg_or_zero_operand               PARAMS ((rtx, Mmode));
89
90 #endif /* HAVE_MACHINE_MODES */
91
92 #ifdef TREE_CODE
93 extern struct rtx_def * m32r_va_arg             PARAMS ((tree, tree));
94 #endif /* TREE_CODE */
95 #endif /* RTX_CODE */
96
97 #undef  Mmode