]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/m68k/m68k-protos.h
m68k.c (m68k_sched_branch_type): Remove.
[thirdparty/gcc.git] / gcc / config / m68k / m68k-protos.h
CommitLineData
5505f548 1/* Definitions of target machine for GNU compiler. Sun 68000/68020 version.
c5387660 2 Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
66647d44 3 Free Software Foundation, Inc.
5505f548 4
7ec022b2 5This file is part of GCC.
5505f548 6
7ec022b2 7GCC is free software; you can redistribute it and/or modify
5505f548 8it under the terms of the GNU General Public License as published by
2f83c7d6 9the Free Software Foundation; either version 3, or (at your option)
5505f548
KG
10any later version.
11
7ec022b2 12GCC is distributed in the hope that it will be useful,
5505f548
KG
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
2f83c7d6
NC
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
5505f548
KG
20
21/* Define functions defined in aux-output.c and used in templates. */
22
23#ifdef RTX_CODE
a4242737 24extern enum m68k_function_kind m68k_get_function_kind (tree);
860c4900 25extern HOST_WIDE_INT m68k_initial_elimination_offset (int from, int to);
01e304f8
RZ
26
27extern void split_di (rtx[], int, rtx[], rtx[]);
28
bda2a571 29extern bool valid_mov3q_const (HOST_WIDE_INT);
8a4a2253
BI
30extern const char *output_move_simode (rtx *);
31extern const char *output_move_himode (rtx *);
32extern const char *output_move_qimode (rtx *);
33extern const char *output_move_stricthi (rtx *);
34extern const char *output_move_strictqi (rtx *);
35extern const char *output_move_double (rtx *);
36extern const char *output_move_const_single (rtx *);
37extern const char *output_move_const_double (rtx *);
38extern const char *output_btst (rtx *, rtx, rtx, rtx, int);
39extern const char *output_scc_di (rtx, rtx, rtx, rtx);
40extern const char *output_addsi3 (rtx *);
41extern const char *output_andsi3 (rtx *);
42extern const char *output_iorsi3 (rtx *);
43extern const char *output_xorsi3 (rtx *);
29ca003a 44extern const char *output_call (rtx);
f7e70894 45extern const char *output_sibcall (rtx);
8a4a2253 46extern void output_dbcc_and_branch (rtx *);
8a4a2253 47extern int floating_exact_log2 (rtx);
8a4a2253 48extern bool strict_low_part_peephole_ok (enum machine_mode mode, rtx first_insn, rtx target);
5505f548
KG
49
50/* Functions from m68k.c used in macros. */
8a4a2253
BI
51extern int standard_68881_constant_p (rtx);
52extern void print_operand_address (FILE *, rtx);
53extern void print_operand (FILE *, rtx, int);
54extern void notice_update_cc (rtx, rtx);
fc2241eb
RS
55extern bool m68k_legitimate_base_reg_p (rtx, bool);
56extern bool m68k_legitimate_index_reg_p (rtx, bool);
7ffb5e78 57extern bool m68k_illegitimate_symbolic_constant_p (rtx);
1a627b35 58extern bool m68k_legitimate_constant_p (enum machine_mode, rtx);
fc2241eb
RS
59extern bool m68k_matches_q_p (rtx);
60extern bool m68k_matches_u_p (rtx);
8a4a2253 61extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx);
75df395f
MK
62extern rtx m68k_legitimize_tls_address (rtx);
63extern bool m68k_tls_reference_p (rtx, bool);
41b6a5e2 64extern int valid_dbcc_comparison_p_2 (rtx, enum machine_mode);
dcc21c4c 65extern rtx m68k_libcall_value (enum machine_mode);
586de218 66extern rtx m68k_function_value (const_tree, const_tree);
dcc21c4c 67extern int emit_move_sequence (rtx *, enum machine_mode, rtx);
a40ed0f3
KH
68extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
69extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
75df395f 70extern void m68k_final_prescan_insn (rtx, rtx *, int);
cfca21cb 71
75df395f
MK
72/* Functions from m68k.c used in constraints.md. */
73extern rtx m68k_unwrap_symbol (rtx, bool);
74
75/* Functions from m68k.c used in genattrtab. */
fb7803cb
MK
76#ifdef HAVE_ATTR_cpu
77extern enum attr_cpu m68k_sched_cpu;
826fadba 78extern enum attr_mac m68k_sched_mac;
fb7803cb
MK
79
80extern enum attr_opx_type m68k_sched_attr_opx_type (rtx, int);
81extern enum attr_opy_type m68k_sched_attr_opy_type (rtx, int);
96fcacb7 82extern enum attr_size m68k_sched_attr_size (rtx);
fb7803cb 83extern enum attr_op_mem m68k_sched_attr_op_mem (rtx);
fb7803cb
MK
84#endif /* HAVE_ATTR_cpu */
85
5505f548
KG
86#endif /* RTX_CODE */
87
70028b61 88extern bool m68k_regno_mode_ok (int, enum machine_mode);
ffa2596e
RS
89extern enum reg_class m68k_secondary_reload_class (enum reg_class,
90 enum machine_mode, rtx);
91extern enum reg_class m68k_preferred_reload_class (rtx, enum reg_class);
8a4a2253 92extern int flags_in_68881 (void);
a40ed0f3 93extern void m68k_expand_prologue (void);
a2bda628 94extern bool m68k_use_return_insn (void);
f7e70894 95extern void m68k_expand_epilogue (bool);
7eb4f044
NS
96extern const char *m68k_cpp_cpu_ident (const char *);
97extern const char *m68k_cpp_cpu_family (const char *);
8a4a2253 98extern void init_68881_table (void);
29ca003a 99extern rtx m68k_legitimize_call_address (rtx);
f7e70894 100extern rtx m68k_legitimize_sibcall_address (rtx);
cfca21cb 101extern int m68k_hard_regno_rename_ok(unsigned int, unsigned int);