comparison gcc/config/mn10300/mn10300-protos.h @ 67:f6334be47118

update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Mar 2011 17:18:12 +0900
parents 77e2b8dfacca
children 04ced10e8804
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
1 /* Definitions of target machine for GNU compiler. Matsushita MN10300 series 1 /* Definitions of target machine for GNU compiler. Matsushita MN10300 series
2 Copyright (C) 2000, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. 2 Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010
3 Free Software Foundation, Inc.
3 Contributed by Jeff Law (law@cygnus.com). 4 Contributed by Jeff Law (law@cygnus.com).
4 5
5 This file is part of GCC. 6 This file is part of GCC.
6 7
7 GCC is free software; you can redistribute it and/or modify 8 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 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option) 10 the Free Software Foundation; either version 3, or (at your option)
10 any later version. 11 any later version.
11 12
12 GCC is distributed in the hope that it will be useful, 13 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details. 16 GNU General Public License for more details.
16 17
17 You should have received a copy of the GNU General Public License 18 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see 19 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */ 20 <http://www.gnu.org/licenses/>. */
21
22 #define Mmode enum machine_mode
23 #define Cstar const char *
24 #define Rclas enum reg_class
20 25
21 #ifdef RTX_CODE 26 #ifdef RTX_CODE
22 27 extern rtx mn10300_legitimize_pic_address (rtx, rtx);
23 extern void mn10300_override_options (void); 28 extern int mn10300_legitimate_pic_operand_p (rtx);
24 extern rtx legitimize_pic_address (rtx, rtx); 29 extern rtx mn10300_legitimize_reload_address (rtx, Mmode, int, int, int);
25 extern int legitimate_pic_operand_p (rtx); 30 extern bool mn10300_function_value_regno_p (const unsigned int);
26 extern void print_operand (FILE *, rtx, int); 31 extern int mn10300_get_live_callee_saved_regs (void);
27 extern void print_operand_address (FILE *, rtx); 32 extern bool mn10300_hard_regno_mode_ok (unsigned int, Mmode);
28 extern void mn10300_print_reg_list (FILE *, int); 33 extern bool mn10300_legitimate_constant_p (rtx);
29 extern int mn10300_get_live_callee_saved_regs (void); 34 extern bool mn10300_modes_tieable (Mmode, Mmode);
30 extern void mn10300_gen_multiple_store (int); 35 extern Cstar mn10300_output_add (rtx[3], bool);
31 extern void notice_update_cc (rtx, rtx); 36 extern void mn10300_print_operand (FILE *, rtx, int);
32 extern enum reg_class mn10300_secondary_reload_class (enum reg_class, 37 extern void mn10300_print_operand_address (FILE *, rtx);
33 enum machine_mode, rtx); 38 extern void mn10300_print_reg_list (FILE *, int);
34 extern const char *output_tst (rtx, rtx); 39 extern Mmode mn10300_select_cc_mode (enum rtx_code, rtx, rtx);
35 extern int store_multiple_operation (rtx, enum machine_mode); 40 extern int mn10300_store_multiple_operation (rtx, Mmode);
36 extern int symbolic_operand (rtx, enum machine_mode); 41 extern int mn10300_symbolic_operand (rtx, Mmode);
37 extern int impossible_plus_operand (rtx, enum machine_mode); 42 extern void mn10300_split_cbranch (Mmode, rtx, rtx);
38 43 extern int mn10300_split_and_operand_count (rtx);
39 extern bool mn10300_wide_const_load_uses_clr (rtx operands[2]); 44 extern bool mn10300_match_ccmode (rtx, Mmode);
40
41 extern bool mn10300_function_value_regno_p (const unsigned int);
42 #endif /* RTX_CODE */ 45 #endif /* RTX_CODE */
43 46
44 #ifdef TREE_CODE 47 extern bool mn10300_regno_in_class_p (unsigned, int, bool);
45 extern struct rtx_def *function_arg (CUMULATIVE_ARGS *, 48 extern bool mn10300_can_use_rets_insn (void);
46 enum machine_mode, tree, int); 49 extern bool mn10300_can_use_retf_insn (void);
47 #endif /* TREE_CODE */ 50 extern void mn10300_expand_prologue (void);
51 extern void mn10300_expand_epilogue (void);
52 extern int mn10300_initial_offset (int, int);
53 extern int mn10300_frame_size (void);
48 54
49 extern void expand_prologue (void); 55 #undef Mmode
50 extern void expand_epilogue (void); 56 #undef Cstar
51 extern int initial_offset (int, int); 57 #undef Rclas
52 extern int can_use_return_insn (void);
53 extern int mask_ok_for_mem_btst (int, int);