136ac495dSmrg /* Prototypes for m32r.c functions used in the md file & elsewhere. 2*8feb0f0bSmrg Copyright (C) 1999-2020 Free Software Foundation, Inc. 336ac495dSmrg 436ac495dSmrg This file is part of GCC. 536ac495dSmrg 636ac495dSmrg GCC is free software; you can redistribute it and/or modify it 736ac495dSmrg under the terms of the GNU General Public License as published 836ac495dSmrg by the Free Software Foundation; either version 3, or (at your 936ac495dSmrg option) any later version. 1036ac495dSmrg 1136ac495dSmrg GCC is distributed in the hope that it will be useful, 1236ac495dSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of 1336ac495dSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1436ac495dSmrg GNU General Public License for more details. 1536ac495dSmrg 1636ac495dSmrg You should have received a copy of the GNU General Public License 1736ac495dSmrg along with GCC; see the file COPYING3. If not see 1836ac495dSmrg <http://www.gnu.org/licenses/>. */ 1936ac495dSmrg 2036ac495dSmrg /* Function prototypes that cannot exist in m32r.h due to dependency 2136ac495dSmrg complications. */ 2236ac495dSmrg 2336ac495dSmrg extern void m32r_init (void); 2436ac495dSmrg extern void m32r_init_expanders (void); 25a2dc1f3fSmrg extern unsigned m32r_compute_frame_size (poly_int64); 2636ac495dSmrg extern void m32r_expand_prologue (void); 2736ac495dSmrg extern void m32r_expand_epilogue (void); 2836ac495dSmrg extern int direct_return (void); 2936ac495dSmrg extern void m32r_load_pic_register (void); 3036ac495dSmrg extern enum m32r_function_type m32r_compute_function_type (tree); 3136ac495dSmrg 3236ac495dSmrg #ifdef RTX_CODE 3336ac495dSmrg extern int easy_di_const (rtx); 3436ac495dSmrg extern int easy_df_const (rtx); 3536ac495dSmrg extern rtx gen_compare (enum rtx_code, rtx, rtx, int); 3636ac495dSmrg extern bool gen_cond_store (enum rtx_code, rtx, rtx, rtx); 3736ac495dSmrg extern rtx gen_split_move_double (rtx *); 3836ac495dSmrg extern int m32r_address_code (rtx); 3936ac495dSmrg extern void m32r_initialize_trampoline (rtx, rtx, rtx); 4036ac495dSmrg extern int zero_and_one (rtx, rtx); 4136ac495dSmrg extern char * emit_cond_move (rtx *, rtx); 4236ac495dSmrg extern void m32r_output_block_move (rtx, rtx *); 4336ac495dSmrg extern int m32r_expand_block_move (rtx *); 4436ac495dSmrg extern int m32r_not_same_reg (rtx, rtx); 4536ac495dSmrg extern int m32r_hard_regno_rename_ok (unsigned int, unsigned int); 4636ac495dSmrg extern int m32r_legitimate_pic_operand_p (rtx); 4736ac495dSmrg extern rtx m32r_legitimize_pic_address (rtx, rtx); 4836ac495dSmrg extern rtx m32r_return_addr (int); 4936ac495dSmrg extern rtx m32r_function_symbol (const char *); 5036ac495dSmrg 5136ac495dSmrg #ifdef HAVE_MACHINE_MODES 5236ac495dSmrg extern int call_operand (rtx, machine_mode); 5336ac495dSmrg extern int small_data_operand (rtx, machine_mode); 5436ac495dSmrg extern int addr24_operand (rtx, machine_mode); 5536ac495dSmrg extern int addr32_operand (rtx, machine_mode); 5636ac495dSmrg extern int call26_operand (rtx, machine_mode); 5736ac495dSmrg extern int memreg_operand (rtx, machine_mode); 5836ac495dSmrg extern int small_insn_p (rtx, machine_mode); 5936ac495dSmrg 6036ac495dSmrg #endif /* HAVE_MACHINE_MODES */ 6136ac495dSmrg 6236ac495dSmrg #endif /* RTX_CODE */ 63