]>
Commit | Line | Data |
---|---|---|
38b2d076 | 1 | /* Target Prototypes for R8C/M16C/M32C |
a5544970 | 2 | Copyright (C) 2005-2019 Free Software Foundation, Inc. |
38b2d076 DD |
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 it | |
8 | under the terms of the GNU General Public License as published | |
2f83c7d6 | 9 | by the Free Software Foundation; either version 3, or (at your |
38b2d076 DD |
10 | option) any later version. |
11 | ||
12 | GCC is distributed in the hope that it will be useful, but WITHOUT | |
13 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
14 | or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
15 | License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
2f83c7d6 NC |
18 | along with GCC; see the file COPYING3. If not see |
19 | <http://www.gnu.org/licenses/>. */ | |
38b2d076 | 20 | |
d6d17ae7 | 21 | void m32c_conditional_register_usage (void); |
984514ac | 22 | unsigned int m32c_dwarf_frame_regnum (int); |
38b2d076 DD |
23 | int m32c_eh_return_data_regno (int); |
24 | void m32c_emit_epilogue (void); | |
25 | void m32c_emit_prologue (void); | |
26 | int m32c_epilogue_uses (int); | |
38b2d076 DD |
27 | int m32c_function_arg_regno_p (int); |
28 | void m32c_init_expanders (void); | |
29 | int m32c_initial_elimination_offset (int, int); | |
30 | void m32c_output_reg_pop (FILE *, int); | |
31 | void m32c_output_reg_push (FILE *, int); | |
7b4df2bf | 32 | poly_int64 m32c_push_rounding (poly_int64); |
38b2d076 | 33 | void m32c_register_pragmas (void); |
f6052f86 | 34 | void m32c_note_pragma_address (const char *, unsigned); |
38b2d076 DD |
35 | int m32c_regno_ok_for_base_p (int); |
36 | int m32c_trampoline_alignment (void); | |
37 | int m32c_trampoline_size (void); | |
38 | ||
38b2d076 DD |
39 | #ifdef RTX_CODE |
40 | ||
38b2d076 DD |
41 | rtx m32c_eh_return_stackadj_rtx (void); |
42 | void m32c_emit_eh_epilogue (rtx); | |
07127a0a DD |
43 | int m32c_expand_cmpstr (rtx *); |
44 | int m32c_expand_insv (rtx *); | |
45 | int m32c_expand_movcc (rtx *); | |
76715c32 | 46 | int m32c_expand_cpymemhi (rtx *); |
07127a0a DD |
47 | int m32c_expand_movstr (rtx *); |
48 | void m32c_expand_neg_mulpsi3 (rtx *); | |
49 | int m32c_expand_setmemhi (rtx *); | |
03dd17b1 | 50 | bool m32c_matches_constraint_p (rtx, int); |
f9b89438 | 51 | bool m32c_illegal_subreg_p (rtx); |
ef4bddc2 | 52 | bool m32c_immd_dbl_mov (rtx *, machine_mode); |
38b2d076 | 53 | rtx m32c_incoming_return_addr_rtx (void); |
ef4bddc2 RS |
54 | int m32c_legitimize_reload_address (rtx *, machine_mode, int, int, int); |
55 | int m32c_limit_reload_class (machine_mode, int); | |
ef4bddc2 | 56 | bool m32c_mov_ok (rtx *, machine_mode); |
84034c69 | 57 | char * m32c_output_compare (rtx_insn *, rtx *); |
ef4bddc2 | 58 | int m32c_prepare_move (rtx *, machine_mode); |
38b2d076 | 59 | int m32c_prepare_shift (rtx *, int, int); |
38b2d076 | 60 | int m32c_reg_ok_for_base_p (rtx, int); |
444d6efe | 61 | enum reg_class m32c_regno_reg_class (int); |
38b2d076 | 62 | rtx m32c_return_addr_rtx (int); |
07127a0a | 63 | const char *m32c_scc_pattern (rtx *, RTX_CODE); |
ef4bddc2 RS |
64 | int m32c_secondary_reload_class (int, machine_mode, rtx); |
65 | int m32c_split_move (rtx *, machine_mode, int); | |
38b2d076 | 66 | int m32c_split_psi_p (rtx *); |
444d6efe | 67 | int current_function_special_page_vector (rtx); |
38b2d076 DD |
68 | |
69 | #endif | |
70 | ||
71 | #ifdef TREE_CODE | |
72 | ||
726a989a | 73 | tree m32c_gimplify_va_arg_expr (tree, tree, gimple_seq *, gimple_seq *); |
38b2d076 | 74 | void m32c_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int); |
586de218 | 75 | bool m32c_promote_function_return (const_tree); |
5abd2125 | 76 | int m32c_special_page_vector_p (tree); |
f6052f86 DD |
77 | void m32c_output_aligned_common (FILE *, tree, const char *, |
78 | int, int, int); | |
38b2d076 DD |
79 | |
80 | #endif |