PR libstdc++/83279 handle sendfile not copying entire file
[official-gcc.git] / gcc / config / rl78 / rl78-protos.h
blob976bffa61e7faf37f272aebf2a382fea0b659333
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)
10 any later version.
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 *, 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 bool rl78_hl_b_c_addr_p (rtx);
33 int rl78_initial_elimination_offset (int, int);
34 bool rl78_as_legitimate_address (machine_mode, rtx,
35 bool, addr_space_t);
36 int rl78_legitimize_reload_address (rtx *, machine_mode, int,int, int);
37 enum reg_class rl78_mode_code_base_reg_class (machine_mode, addr_space_t, int, int);
38 bool rl78_peep_movhi_p (rtx *);
39 bool rl78_real_insns_ok (void);
40 void rl78_register_pragmas (void);
41 bool rl78_regno_mode_code_ok_for_base_p (int, machine_mode, addr_space_t, int, int);
42 void rl78_setup_peep_movhi (rtx *);
43 bool rl78_virt_insns_ok (void);
45 bool rl78_es_addr (rtx);
46 rtx rl78_es_base (rtx);
48 bool rl78_flags_already_set (rtx, rtx);
49 void rl78_output_symbol_ref (FILE *, rtx);
50 void rl78_output_labelref (FILE *, const char *);
51 int rl78_saddr_p (rtx x);
52 int rl78_sfr_p (rtx x);
53 void rl78_output_aligned_common (FILE *, tree, const char *,
54 int, int, int);
56 int rl78_one_far_p (rtx *operands, int num_operands);
58 #ifdef RTX_CODE
59 #ifdef HAVE_MACHINE_MODES
61 rtx rl78_emit_libcall (const char*, enum rtx_code,
62 enum machine_mode, enum machine_mode,
63 int, rtx*);
65 #endif
66 #endif