optabs-libfuncs.h 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* Mapping from optabs to underlying library functions
  2. Copyright (C) 2001-2019 Free Software Foundation, Inc.
  3. This file is part of GCC.
  4. GCC is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 3, or (at your option)
  7. any later version.
  8. GCC is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with GCC; see the file COPYING3. If not see
  14. <http://www.gnu.org/licenses/>. */
  15. #ifndef GCC_OPTABS_LIBFUNCS_H
  16. #define GCC_OPTABS_LIBFUNCS_H
  17. #include "insn-opinit.h"
  18. rtx convert_optab_libfunc (convert_optab, machine_mode, machine_mode);
  19. rtx optab_libfunc (optab, machine_mode);
  20. void gen_int_libfunc (optab, const char *, char, machine_mode);
  21. void gen_fp_libfunc (optab, const char *, char, machine_mode);
  22. void gen_fixed_libfunc (optab, const char *, char, machine_mode);
  23. void gen_signed_fixed_libfunc (optab, const char *, char, machine_mode);
  24. void gen_unsigned_fixed_libfunc (optab, const char *, char, machine_mode);
  25. void gen_int_fp_libfunc (optab, const char *, char, machine_mode);
  26. void gen_intv_fp_libfunc (optab, const char *, char, machine_mode);
  27. void gen_int_fp_fixed_libfunc (optab, const char *, char, machine_mode);
  28. void gen_int_fp_signed_fixed_libfunc (optab, const char *, char, machine_mode);
  29. void gen_int_fixed_libfunc (optab, const char *, char, machine_mode);
  30. void gen_int_signed_fixed_libfunc (optab, const char *, char, machine_mode);
  31. void gen_int_unsigned_fixed_libfunc (optab, const char *, char, machine_mode);
  32. void gen_interclass_conv_libfunc (convert_optab, const char *,
  33. machine_mode, machine_mode);
  34. void gen_int_to_fp_conv_libfunc (convert_optab, const char *,
  35. machine_mode, machine_mode);
  36. void gen_ufloat_conv_libfunc (convert_optab, const char *,
  37. machine_mode, machine_mode);
  38. void gen_int_to_fp_nondecimal_conv_libfunc (convert_optab, const char *,
  39. machine_mode, machine_mode);
  40. void gen_fp_to_int_conv_libfunc (convert_optab, const char *,
  41. machine_mode, machine_mode);
  42. void gen_intraclass_conv_libfunc (convert_optab, const char *,
  43. machine_mode, machine_mode);
  44. void gen_trunc_conv_libfunc (convert_optab, const char *,
  45. machine_mode, machine_mode);
  46. void gen_extend_conv_libfunc (convert_optab, const char *,
  47. machine_mode, machine_mode);
  48. void gen_fract_conv_libfunc (convert_optab, const char *,
  49. machine_mode, machine_mode);
  50. void gen_fractuns_conv_libfunc (convert_optab, const char *,
  51. machine_mode, machine_mode);
  52. void gen_satfract_conv_libfunc (convert_optab, const char *,
  53. machine_mode, machine_mode);
  54. void gen_satfractuns_conv_libfunc (convert_optab, const char *,
  55. machine_mode, machine_mode);
  56. tree build_libfunc_function_visibility (const char *, symbol_visibility);
  57. tree build_libfunc_function (const char *);
  58. rtx init_one_libfunc_visibility (const char *, symbol_visibility);
  59. rtx init_one_libfunc (const char *);
  60. rtx set_user_assembler_libfunc (const char *, const char *);
  61. void set_optab_libfunc (optab, machine_mode, const char *);
  62. void set_conv_libfunc (convert_optab, machine_mode,
  63. machine_mode, const char *);
  64. void init_optabs (void);
  65. void init_sync_libfuncs (int max);
  66. #endif