1 /* Prototypes for m32r.c functions used in the md file & elsewhere. 2 Copyright (C) 1999-2020 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify it 7 under the terms of the GNU General Public License as published 8 by the Free Software Foundation; either version 3, or (at your 9 option) any later version. 10 11 GCC is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GCC; see the file COPYING3. If not see 18 <http://www.gnu.org/licenses/>. */ 19 20 /* Function prototypes that cannot exist in m32r.h due to dependency 21 complications. */ 22 23 extern void m32r_init (void); 24 extern void m32r_init_expanders (void); 25 extern unsigned m32r_compute_frame_size (poly_int64); 26 extern void m32r_expand_prologue (void); 27 extern void m32r_expand_epilogue (void); 28 extern int direct_return (void); 29 extern void m32r_load_pic_register (void); 30 extern enum m32r_function_type m32r_compute_function_type (tree); 31 32 #ifdef RTX_CODE 33 extern int easy_di_const (rtx); 34 extern int easy_df_const (rtx); 35 extern rtx gen_compare (enum rtx_code, rtx, rtx, int); 36 extern bool gen_cond_store (enum rtx_code, rtx, rtx, rtx); 37 extern rtx gen_split_move_double (rtx *); 38 extern int m32r_address_code (rtx); 39 extern void m32r_initialize_trampoline (rtx, rtx, rtx); 40 extern int zero_and_one (rtx, rtx); 41 extern char * emit_cond_move (rtx *, rtx); 42 extern void m32r_output_block_move (rtx, rtx *); 43 extern int m32r_expand_block_move (rtx *); 44 extern int m32r_not_same_reg (rtx, rtx); 45 extern int m32r_hard_regno_rename_ok (unsigned int, unsigned int); 46 extern int m32r_legitimate_pic_operand_p (rtx); 47 extern rtx m32r_legitimize_pic_address (rtx, rtx); 48 extern rtx m32r_return_addr (int); 49 extern rtx m32r_function_symbol (const char *); 50 51 #ifdef HAVE_MACHINE_MODES 52 extern int call_operand (rtx, machine_mode); 53 extern int small_data_operand (rtx, machine_mode); 54 extern int addr24_operand (rtx, machine_mode); 55 extern int addr32_operand (rtx, machine_mode); 56 extern int call26_operand (rtx, machine_mode); 57 extern int memreg_operand (rtx, machine_mode); 58 extern int small_insn_p (rtx, machine_mode); 59 60 #endif /* HAVE_MACHINE_MODES */ 61 62 #endif /* RTX_CODE */ 63