]>
Commit | Line | Data |
---|---|---|
38b2d076 | 1 | /* Target Prototypes for R8C/M16C/M32C |
23a5b65a | 2 | Copyright (C) 2005-2014 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); | |
444d6efe | 32 | unsigned int m32c_push_rounding (int); |
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 | ||
984514ac | 41 | int m32c_cannot_change_mode_class (enum machine_mode, enum machine_mode, int); |
38b2d076 DD |
42 | rtx m32c_eh_return_stackadj_rtx (void); |
43 | void m32c_emit_eh_epilogue (rtx); | |
07127a0a DD |
44 | int m32c_expand_cmpstr (rtx *); |
45 | int m32c_expand_insv (rtx *); | |
46 | int m32c_expand_movcc (rtx *); | |
47 | int m32c_expand_movmemhi (rtx *); | |
48 | int m32c_expand_movstr (rtx *); | |
49 | void m32c_expand_neg_mulpsi3 (rtx *); | |
50 | int m32c_expand_setmemhi (rtx *); | |
03dd17b1 | 51 | bool m32c_matches_constraint_p (rtx, int); |
984514ac JM |
52 | int m32c_hard_regno_nregs (int, enum machine_mode); |
53 | int m32c_hard_regno_ok (int, enum machine_mode); | |
f9b89438 | 54 | bool m32c_illegal_subreg_p (rtx); |
984514ac | 55 | bool m32c_immd_dbl_mov (rtx *, enum machine_mode); |
38b2d076 | 56 | rtx m32c_incoming_return_addr_rtx (void); |
984514ac JM |
57 | int m32c_legitimize_reload_address (rtx *, enum machine_mode, int, int, int); |
58 | int m32c_limit_reload_class (enum machine_mode, int); | |
59 | int m32c_modes_tieable_p (enum machine_mode, enum machine_mode); | |
60 | bool m32c_mov_ok (rtx *, enum machine_mode); | |
16659fcf | 61 | char * m32c_output_compare (rtx, rtx *); |
984514ac | 62 | int m32c_prepare_move (rtx *, enum machine_mode); |
38b2d076 | 63 | int m32c_prepare_shift (rtx *, int, int); |
38b2d076 | 64 | int m32c_reg_ok_for_base_p (rtx, int); |
444d6efe | 65 | enum reg_class m32c_regno_reg_class (int); |
38b2d076 | 66 | rtx m32c_return_addr_rtx (int); |
07127a0a | 67 | const char *m32c_scc_pattern (rtx *, RTX_CODE); |
984514ac JM |
68 | int m32c_secondary_reload_class (int, enum machine_mode, rtx); |
69 | int m32c_split_move (rtx *, enum machine_mode, int); | |
38b2d076 | 70 | int m32c_split_psi_p (rtx *); |
444d6efe | 71 | int current_function_special_page_vector (rtx); |
38b2d076 DD |
72 | |
73 | #endif | |
74 | ||
75 | #ifdef TREE_CODE | |
76 | ||
726a989a | 77 | tree m32c_gimplify_va_arg_expr (tree, tree, gimple_seq *, gimple_seq *); |
38b2d076 | 78 | void m32c_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int); |
586de218 | 79 | bool m32c_promote_function_return (const_tree); |
5abd2125 | 80 | int m32c_special_page_vector_p (tree); |
f6052f86 DD |
81 | void m32c_output_aligned_common (FILE *, tree, const char *, |
82 | int, int, int); | |
38b2d076 DD |
83 | |
84 | #endif |