1 /* Prototypes for m32r.c functions used in the md file & elsewhere. 2 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009 3 Free Software Foundation, Inc. 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 9 by the Free Software Foundation; either version 3, or (at your 10 option) 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 /* Function prototypes that cannot exist in v850.h due to dependency 22 complications. */ 23 #define Mmode enum machine_mode 24 25 extern void m32r_init (void); 26 extern void m32r_init_expanders (void); 27 extern unsigned m32r_compute_frame_size (int); 28 extern void m32r_expand_prologue (void); 29 extern void m32r_expand_epilogue (void); 30 extern int direct_return (void); 31 extern void m32r_load_pic_register (void); 32 extern enum m32r_function_type m32r_compute_function_type (tree); 33 34 #ifdef RTX_CODE 35 extern int easy_di_const (rtx); 36 extern int easy_df_const (rtx); 37 extern rtx gen_compare (enum rtx_code, rtx, rtx, int); 38 extern bool gen_cond_store (enum rtx_code, rtx, rtx, rtx); 39 extern rtx gen_split_move_double (rtx *); 40 extern int m32r_address_code (rtx); 41 extern void m32r_initialize_trampoline (rtx, rtx, rtx); 42 extern int zero_and_one (rtx, rtx); 43 extern char * emit_cond_move (rtx *, rtx); 44 extern void m32r_output_block_move (rtx, rtx *); 45 extern int m32r_expand_block_move (rtx *); 46 extern void m32r_print_operand (FILE *, rtx, int); 47 extern void m32r_print_operand_address (FILE *, rtx); 48 extern int m32r_not_same_reg (rtx, rtx); 49 extern int m32r_hard_regno_rename_ok (unsigned int, unsigned int); 50 extern int m32r_legitimate_pic_operand_p (rtx); 51 extern rtx m32r_legitimize_pic_address (rtx, rtx); 52 extern rtx m32r_return_addr (int); 53 extern rtx m32r_function_symbol (const char *); 54 55 #ifdef HAVE_MACHINE_MODES 56 extern int call_operand (rtx, Mmode); 57 extern int small_data_operand (rtx, Mmode); 58 extern int addr24_operand (rtx, Mmode); 59 extern int addr32_operand (rtx, Mmode); 60 extern int call26_operand (rtx, Mmode); 61 extern int memreg_operand (rtx, Mmode); 62 extern int small_insn_p (rtx, Mmode); 63 64 #endif /* HAVE_MACHINE_MODES */ 65 66 #endif /* RTX_CODE */ 67 68 #undef Mmode 69