1 /* Prototypes for Renesas RL78 processors 2 Copyright (C) 2011-2021 Free Software Foundation, Inc. 3 Contributed by Red Hat. 4 5 This file is part of GCC. 6 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) 10 any later version. 11 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. 16 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/>. */ 20 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 *, machine_mode); 26 void rl78_split_movdi (rtx *, enum machine_mode); 27 int rl78_force_nonfar_2 (rtx *, rtx (*gen)(rtx,rtx)); 28 int rl78_force_nonfar_3 (rtx *, rtx (*gen)(rtx,rtx,rtx)); 29 void rl78_expand_eh_epilogue (rtx); 30 void rl78_expand_epilogue (void); 31 void rl78_expand_prologue (void); 32 int rl78_far_p (rtx x); 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, 36 bool, addr_space_t); 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); 45 46 bool rl78_es_addr (rtx); 47 rtx rl78_es_base (rtx); 48 49 bool rl78_flags_already_set (rtx, rtx); 50 void rl78_output_symbol_ref (FILE *, rtx); 51 void rl78_output_labelref (FILE *, const char *); 52 int rl78_saddr_p (rtx x); 53 int rl78_sfr_p (rtx x); 54 void rl78_output_aligned_common (FILE *, tree, const char *, 55 int, int, int); 56 57 int rl78_one_far_p (rtx *operands, int num_operands); 58 59 #ifdef RTX_CODE 60 #ifdef HAVE_MACHINE_MODES 61 62 rtx rl78_emit_libcall (const char*, enum rtx_code, 63 enum machine_mode, enum machine_mode, 64 int, rtx*); 65 66 #endif 67 #endif 68