1 /* Prototypes for Renesas RL78 processors
2 Copyright (C) 2011-2014 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 void rl78_emit_eh_epilogue (rtx
);
22 void rl78_expand_compare (rtx
*);
23 void rl78_expand_movsi (rtx
*);
24 void rl78_split_movsi (rtx
*);
25 int rl78_force_nonfar_2 (rtx
*, rtx (*gen
)(rtx
,rtx
));
26 int rl78_force_nonfar_3 (rtx
*, rtx (*gen
)(rtx
,rtx
,rtx
));
27 void rl78_expand_eh_epilogue (rtx
);
28 void rl78_expand_epilogue (void);
29 void rl78_expand_prologue (void);
30 int rl78_far_p (rtx x
);
31 int rl78_hard_regno_mode_ok (int, machine_mode
);
32 int rl78_hard_regno_nregs (int, machine_mode
);
33 bool rl78_hl_b_c_addr_p (rtx
);
34 int rl78_initial_elimination_offset (int, int);
35 bool rl78_as_legitimate_address (machine_mode
, rtx
,
37 int rl78_legitimize_reload_address (rtx
*, machine_mode
, int,int, int);
38 enum reg_class
rl78_mode_code_base_reg_class (machine_mode
, addr_space_t
, int, int);
39 bool rl78_peep_movhi_p (rtx
*);
40 bool rl78_real_insns_ok (void);
41 void rl78_register_pragmas (void);
42 bool rl78_regno_mode_code_ok_for_base_p (int, machine_mode
, addr_space_t
, int, int);
43 void rl78_setup_peep_movhi (rtx
*);
44 bool rl78_virt_insns_ok (void);
46 bool rl78_es_addr (rtx
);
47 rtx
rl78_es_base (rtx
);