]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/arc/arc-protos.h
arc-protos.h (arc_select_cc_mode, gen_compare_reg): Wrap in RTX_CODE macro guard.
[thirdparty/gcc.git] / gcc / config / arc / arc-protos.h
CommitLineData
2b046bda 1/* Definitions of target machine for GNU compiler, Argonaut ARC cpu.
2f83c7d6 2 Copyright (C) 2000, 2004, 2007 Free Software Foundation, Inc.
2b046bda 3
7ec022b2 4This file is part of GCC.
2b046bda 5
7ec022b2 6GCC is free software; you can redistribute it and/or modify
2b046bda 7it under the terms of the GNU General Public License as published by
2f83c7d6 8the Free Software Foundation; either version 3, or (at your option)
2b046bda
KG
9any later version.
10
7ec022b2 11GCC is distributed in the hope that it will be useful,
2b046bda
KG
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
2f83c7d6
NC
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
2b046bda 19
2b49e0aa 20extern void arc_va_start (tree, rtx);
2b046bda 21
586de218 22#ifdef RTX_CODE
2b49e0aa 23extern enum machine_mode arc_select_cc_mode (enum rtx_code, rtx, rtx);
2b046bda
KG
24
25/* Define the function that build the compare insn for scc and bcc. */
2b49e0aa 26extern struct rtx_def *gen_compare_reg (enum rtx_code, rtx, rtx);
586de218 27#endif
2b046bda
KG
28
29/* Declarations for various fns used in the .md file. */
2b49e0aa 30extern const char *output_shift (rtx *);
2b046bda 31
2b49e0aa
KC
32extern int symbolic_operand (rtx, enum machine_mode);
33extern int arc_double_limm_p (rtx);
34extern int arc_eligible_for_epilogue_delay (rtx, int);
35extern void arc_initialize_trampoline (rtx, rtx, rtx);
36extern void arc_print_operand (FILE *, rtx, int);
37extern void arc_print_operand_address (FILE *, rtx);
38extern void arc_final_prescan_insn (rtx, rtx *, int);
39extern int call_address_operand (rtx, enum machine_mode);
40extern int call_operand (rtx, enum machine_mode);
41extern int symbolic_memory_operand (rtx, enum machine_mode);
42extern int short_immediate_operand (rtx, enum machine_mode);
43extern int long_immediate_operand (rtx, enum machine_mode);
44extern int long_immediate_loadstore_operand (rtx, enum machine_mode);
45extern int move_src_operand (rtx, enum machine_mode);
46extern int move_double_src_operand (rtx, enum machine_mode);
47extern int move_dest_operand (rtx, enum machine_mode);
48extern int load_update_operand (rtx, enum machine_mode);
49extern int store_update_operand (rtx, enum machine_mode);
50extern int nonvol_nonimm_operand (rtx, enum machine_mode);
51extern int const_sint32_operand (rtx, enum machine_mode);
52extern int const_uint32_operand (rtx, enum machine_mode);
53extern int proper_comparison_operator (rtx, enum machine_mode);
54extern int shift_operator (rtx, enum machine_mode);
2b046bda 55
2b49e0aa 56extern enum arc_function_type arc_compute_function_type (tree);
2b046bda
KG
57
58
2b49e0aa
KC
59extern void arc_init (void);
60extern unsigned int arc_compute_frame_size (int);
61extern void arc_save_restore (FILE *, const char *, unsigned int,
62 unsigned int, const char *);
63extern int arc_delay_slots_for_epilogue (void);
2b49e0aa
KC
64extern void arc_ccfsm_at_label (const char *, int);
65extern int arc_ccfsm_branch_deleted_p (void);
66extern void arc_ccfsm_record_branch_deleted (void);