1 /* Definitions of target machine for GNU compiler. Matsushita MN10300 series
2 Copyright (C) 2000, 2003 Free Software Foundation, Inc.
3 Contributed by Jeff Law (law@cygnus.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. */
25 extern void mn10300_va_start
PARAMS ((tree
, rtx
));
26 #endif /* TREE_CODE */
28 extern struct rtx_def
*legitimize_address
PARAMS ((rtx
, rtx
, enum machine_mode
));
29 extern rtx
legitimize_pic_address (rtx
, rtx
);
30 extern int legitimate_pic_operand_p (rtx
);
31 extern void print_operand
PARAMS ((FILE *, rtx
, int));
32 extern void print_operand_address
PARAMS ((FILE *, rtx
));
33 extern void mn10300_print_reg_list
PARAMS ((FILE *, int));
34 extern int mn10300_get_live_callee_saved_regs
PARAMS ((void));
35 extern void mn10300_gen_multiple_store
PARAMS ((int));
36 extern void notice_update_cc
PARAMS ((rtx
, rtx
));
37 extern enum reg_class secondary_reload_class
PARAMS ((enum reg_class
,
38 enum machine_mode
, rtx
));
39 extern const char *output_tst
PARAMS ((rtx
, rtx
));
40 extern int store_multiple_operation
PARAMS ((rtx
, enum machine_mode
));
41 extern int symbolic_operand
PARAMS ((rtx
, enum machine_mode
));
42 extern int call_address_operand
PARAMS ((rtx
, enum machine_mode
));
43 extern int impossible_plus_operand
PARAMS ((rtx
, enum machine_mode
));
44 extern int const_8bit_operand
PARAMS ((rtx
, enum machine_mode
));
46 extern bool mn10300_wide_const_load_uses_clr
PARAMS ((rtx operands
[2]));
50 extern struct rtx_def
*function_arg
PARAMS ((CUMULATIVE_ARGS
*,
51 enum machine_mode
, tree
, int));
52 extern int function_arg_partial_nregs
PARAMS ((CUMULATIVE_ARGS
*,
53 enum machine_mode
, tree
, int));
54 extern struct rtx_def
*mn10300_va_arg
PARAMS ((tree
, tree
));
55 #endif /* TREE_CODE */
57 extern struct rtx_def
*mn10300_builtin_saveregs
PARAMS ((void));
58 extern void expand_prologue
PARAMS ((void));
59 extern void expand_epilogue
PARAMS ((void));
60 extern int initial_offset
PARAMS ((int, int));
61 extern int can_use_return_insn
PARAMS ((void));
62 extern int mask_ok_for_mem_btst
PARAMS ((int, int));