(root)/
gcc-13.2.0/
gcc/
optabs-libfuncs.h
       1  /* Mapping from optabs to underlying library functions
       2     Copyright (C) 2001-2023 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  #ifndef GCC_OPTABS_LIBFUNCS_H
      21  #define GCC_OPTABS_LIBFUNCS_H
      22  
      23  #include "insn-opinit.h"
      24  
      25  rtx convert_optab_libfunc (convert_optab, machine_mode, machine_mode);
      26  rtx optab_libfunc (optab, machine_mode);
      27  
      28  void gen_int_libfunc (optab, const char *, char, machine_mode);
      29  void gen_fp_libfunc (optab, const char *, char, machine_mode);
      30  void gen_fixed_libfunc (optab, const char *, char, machine_mode);
      31  void gen_signed_fixed_libfunc (optab, const char *, char, machine_mode);
      32  void gen_unsigned_fixed_libfunc (optab, const char *, char, machine_mode);
      33  void gen_int_fp_libfunc (optab, const char *, char, machine_mode);
      34  void gen_intv_fp_libfunc (optab, const char *, char, machine_mode);
      35  void gen_int_fp_fixed_libfunc (optab, const char *, char, machine_mode);
      36  void gen_int_fp_signed_fixed_libfunc (optab, const char *, char, machine_mode);
      37  void gen_int_fixed_libfunc (optab, const char *, char, machine_mode);
      38  void gen_int_signed_fixed_libfunc (optab, const char *, char, machine_mode);
      39  void gen_int_unsigned_fixed_libfunc (optab, const char *, char, machine_mode);
      40  
      41  void gen_interclass_conv_libfunc (convert_optab, const char *,
      42  				  machine_mode, machine_mode);
      43  void gen_int_to_fp_conv_libfunc (convert_optab, const char *,
      44  				 machine_mode, machine_mode);
      45  void gen_ufloat_conv_libfunc (convert_optab, const char *,
      46  			      machine_mode, machine_mode);
      47  void gen_int_to_fp_nondecimal_conv_libfunc (convert_optab, const char *,
      48  					    machine_mode, machine_mode);
      49  void gen_fp_to_int_conv_libfunc (convert_optab, const char *,
      50  				 machine_mode, machine_mode);
      51  void gen_intraclass_conv_libfunc (convert_optab, const char *,
      52  				  machine_mode, machine_mode);
      53  void gen_trunc_conv_libfunc (convert_optab, const char *,
      54  			     machine_mode, machine_mode);
      55  void gen_extend_conv_libfunc (convert_optab, const char *,
      56  			      machine_mode, machine_mode);
      57  void gen_fract_conv_libfunc (convert_optab, const char *,
      58  			     machine_mode, machine_mode);
      59  void gen_fractuns_conv_libfunc (convert_optab, const char *,
      60  				machine_mode, machine_mode);
      61  void gen_satfract_conv_libfunc (convert_optab, const char *,
      62  				machine_mode, machine_mode);
      63  void gen_satfractuns_conv_libfunc (convert_optab, const char *,
      64  				   machine_mode, machine_mode);
      65  
      66  tree build_libfunc_function_visibility (const char *, symbol_visibility);
      67  tree build_libfunc_function (const char *);
      68  rtx init_one_libfunc_visibility (const char *, symbol_visibility);
      69  rtx init_one_libfunc (const char *);
      70  rtx set_user_assembler_libfunc (const char *, const char *);
      71  
      72  void set_optab_libfunc (optab, machine_mode, const char *);
      73  void set_conv_libfunc (convert_optab, machine_mode,
      74  		       machine_mode, const char *);
      75  
      76  void init_optabs (void);
      77  void init_sync_libfuncs (int max);
      78  
      79  #endif