GCC Middle and Back End API Reference
optabs-libfuncs.h
Go to the documentation of this file.
1/* Mapping from optabs to underlying library functions
2 Copyright (C) 2001-2026 Free Software Foundation, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 3, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along 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
25rtx convert_optab_libfunc (convert_optab, machine_mode, machine_mode);
26rtx optab_libfunc (optab, machine_mode);
27
28void gen_int_libfunc (optab, const char *, char, machine_mode);
29void gen_fp_libfunc (optab, const char *, char, machine_mode);
30void gen_fixed_libfunc (optab, const char *, char, machine_mode);
31void gen_signed_fixed_libfunc (optab, const char *, char, machine_mode);
32void gen_unsigned_fixed_libfunc (optab, const char *, char, machine_mode);
33void gen_int_fp_libfunc (optab, const char *, char, machine_mode);
34void gen_intv_fp_libfunc (optab, const char *, char, machine_mode);
35void gen_int_fp_fixed_libfunc (optab, const char *, char, machine_mode);
36void gen_int_fp_signed_fixed_libfunc (optab, const char *, char, machine_mode);
37void gen_int_fixed_libfunc (optab, const char *, char, machine_mode);
38void gen_int_signed_fixed_libfunc (optab, const char *, char, machine_mode);
39void gen_int_unsigned_fixed_libfunc (optab, const char *, char, machine_mode);
40void gen_bitint_fp_libfunc (optab, const char *, char, machine_mode);
41
42void gen_interclass_conv_libfunc (convert_optab, const char *,
43 machine_mode, machine_mode);
44void gen_int_to_fp_conv_libfunc (convert_optab, const char *,
45 machine_mode, machine_mode);
46void gen_ufloat_conv_libfunc (convert_optab, const char *,
47 machine_mode, machine_mode);
48void gen_int_to_fp_nondecimal_conv_libfunc (convert_optab, const char *,
49 machine_mode, machine_mode);
50void gen_fp_to_int_conv_libfunc (convert_optab, const char *,
51 machine_mode, machine_mode);
52void gen_intraclass_conv_libfunc (convert_optab, const char *,
53 machine_mode, machine_mode);
54void gen_trunc_conv_libfunc (convert_optab, const char *,
55 machine_mode, machine_mode);
56void gen_extend_conv_libfunc (convert_optab, const char *,
57 machine_mode, machine_mode);
58void gen_fract_conv_libfunc (convert_optab, const char *,
59 machine_mode, machine_mode);
60void gen_fractuns_conv_libfunc (convert_optab, const char *,
61 machine_mode, machine_mode);
62void gen_satfract_conv_libfunc (convert_optab, const char *,
63 machine_mode, machine_mode);
64void gen_satfractuns_conv_libfunc (convert_optab, const char *,
65 machine_mode, machine_mode);
66
68tree build_libfunc_function (const char *);
70rtx init_one_libfunc (const char *);
71rtx set_user_assembler_libfunc (const char *, const char *);
72
73void set_optab_libfunc (optab, machine_mode, const char *);
74void set_conv_libfunc (convert_optab, machine_mode,
75 machine_mode, const char *);
76
77void init_optabs (void);
78void init_sync_libfuncs (int max);
79
80#endif
struct rtx_def * rtx
Definition coretypes.h:57
symbol_visibility
Definition coretypes.h:427
union tree_node * tree
Definition coretypes.h:97
enum optab_tag optab
void gen_int_to_fp_nondecimal_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:486
void gen_signed_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:244
void init_optabs(void)
Definition optabs-libfuncs.cc:897
rtx convert_optab_libfunc(convert_optab, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:70
void gen_fractuns_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:662
void gen_int_unsigned_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:356
rtx set_user_assembler_libfunc(const char *, const char *)
Definition optabs-libfuncs.cc:823
void gen_extend_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:618
rtx init_one_libfunc_visibility(const char *, symbol_visibility)
Definition optabs-libfuncs.cc:791
void gen_bitint_fp_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:720
void gen_ufloat_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:471
void gen_int_fp_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:267
void gen_interclass_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:437
tree build_libfunc_function_visibility(const char *, symbol_visibility)
Definition optabs-libfuncs.cc:763
void gen_satfractuns_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:703
void gen_fp_to_int_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:502
void gen_unsigned_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:256
void gen_int_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:187
void gen_fp_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:211
void set_optab_libfunc(optab, machine_mode, const char *)
Definition optabs-libfuncs.cc:841
void gen_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:232
void gen_fract_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:643
void gen_satfract_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:683
void gen_intraclass_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:519
rtx optab_libfunc(optab, machine_mode)
Definition optabs-libfuncs.cc:106
tree build_libfunc_function(const char *)
Definition optabs-libfuncs.cc:782
void gen_intv_fp_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:280
void gen_trunc_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:589
void init_sync_libfuncs(int max)
Definition optabs-libfuncs.cc:972
rtx init_one_libfunc(const char *)
Definition optabs-libfuncs.cc:815
void gen_int_fp_signed_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:315
void gen_int_to_fp_conv_libfunc(convert_optab, const char *, machine_mode, machine_mode)
Definition optabs-libfuncs.cc:455
void gen_int_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:330
void gen_int_signed_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:343
void gen_int_fp_fixed_libfunc(optab, const char *, char, machine_mode)
Definition optabs-libfuncs.cc:300
void set_conv_libfunc(convert_optab, machine_mode, machine_mode, const char *)
Definition optabs-libfuncs.cc:869