]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/rl78/rl78-protos.h
ed67a5d31349fb3bca5db19c4a30f565450b211e
1 /* Prototypes for Renesas RL78 processors
2 Copyright (C) 2011-2017 Free Software Foundation, Inc.
3 Contributed by Red Hat.
5 This file is part of GCC.
7 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 the Free Software Foundation; either version 3, or (at your option)
12 GCC 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 GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
21 const char * rl78_addsi3_internal (rtx
*, unsigned int);
22 void rl78_emit_eh_epilogue (rtx
);
23 void rl78_expand_compare (rtx
*);
24 void rl78_expand_movsi (rtx
*);
25 void rl78_split_movsi (rtx
*, enum machine_mode
);
26 int rl78_force_nonfar_2 (rtx
*, rtx (*gen
)(rtx
,rtx
));
27 int rl78_force_nonfar_3 (rtx
*, rtx (*gen
)(rtx
,rtx
,rtx
));
28 void rl78_expand_eh_epilogue (rtx
);
29 void rl78_expand_epilogue (void);
30 void rl78_expand_prologue (void);
31 int rl78_far_p (rtx x
);
32 int rl78_hard_regno_mode_ok (int, machine_mode
);
33 int rl78_hard_regno_nregs (int, machine_mode
);
34 bool rl78_hl_b_c_addr_p (rtx
);
35 int rl78_initial_elimination_offset (int, int);
36 bool rl78_as_legitimate_address (machine_mode
, rtx
,
38 int rl78_legitimize_reload_address (rtx
*, machine_mode
, int,int, int);
39 enum reg_class
rl78_mode_code_base_reg_class (machine_mode
, addr_space_t
, int, int);
40 bool rl78_peep_movhi_p (rtx
*);
41 bool rl78_real_insns_ok (void);
42 void rl78_register_pragmas (void);
43 bool rl78_regno_mode_code_ok_for_base_p (int, machine_mode
, addr_space_t
, int, int);
44 void rl78_setup_peep_movhi (rtx
*);
45 bool rl78_virt_insns_ok (void);
47 bool rl78_es_addr (rtx
);
48 rtx
rl78_es_base (rtx
);
50 bool rl78_flags_already_set (rtx
, rtx
);
51 void rl78_output_symbol_ref (FILE *, rtx
);
52 void rl78_output_labelref (FILE *, const char *);
53 int rl78_saddr_p (rtx x
);
54 int rl78_sfr_p (rtx x
);
55 void rl78_output_aligned_common (FILE *, tree
, const char *,
58 int rl78_one_far_p (rtx
*operands
, int num_operands
);