1 /* Prototypes for OpenRISC functions used in the md file & elsewhere. 2 Copyright (C) 2018-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 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3, or (at your option) 9 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 extern HOST_WIDE_INT or1k_initial_elimination_offset (int, int); 21 extern void or1k_expand_prologue (void); 22 extern void or1k_expand_epilogue (void); 23 extern void or1k_expand_eh_return (rtx); 24 extern rtx or1k_initial_frame_addr (void); 25 extern rtx or1k_dynamic_chain_addr (rtx); 26 extern rtx or1k_return_addr (int, rtx); 27 extern void or1k_expand_move (machine_mode, rtx, rtx); 28 extern void or1k_expand_compare (rtx *); 29 extern void or1k_expand_call (rtx, rtx, rtx, bool); 30 31 #ifdef RTX_CODE 32 void or1k_expand_atomic_compare_and_swap (rtx operands[]); 33 void or1k_expand_atomic_compare_and_swap_qihi (rtx operands[]); 34 void or1k_expand_atomic_exchange (rtx operands[]); 35 void or1k_expand_atomic_exchange_qihi (rtx operands[]); 36 void or1k_expand_atomic_op (rtx_code, rtx, rtx, rtx, rtx); 37 void or1k_expand_atomic_op_qihi (rtx_code, rtx, rtx, rtx, rtx); 38 #endif 39