aot_emit_conversion.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #ifndef _AOT_EMIT_CONVERSION_H_
  6. #define _AOT_EMIT_CONVERSION_H_
  7. #include "aot_compiler.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. bool
  12. aot_compile_op_i32_wrap_i64(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  13. bool
  14. aot_compile_op_i32_trunc_f32(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  15. bool sign, bool saturating);
  16. bool
  17. aot_compile_op_i32_trunc_f64(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  18. bool sign, bool saturating);
  19. bool
  20. aot_compile_op_i64_extend_i32(AOTCompContext *comp_ctx,
  21. AOTFuncContext *func_ctx, bool sign);
  22. bool
  23. aot_compile_op_i64_extend_i64(AOTCompContext *comp_ctx,
  24. AOTFuncContext *func_ctx, int8 bitwidth);
  25. bool
  26. aot_compile_op_i32_extend_i32(AOTCompContext *comp_ctx,
  27. AOTFuncContext *func_ctx, int8 bitwidth);
  28. bool
  29. aot_compile_op_i64_trunc_f32(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  30. bool sign, bool saturating);
  31. bool
  32. aot_compile_op_i64_trunc_f64(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  33. bool sign, bool saturating);
  34. bool
  35. aot_compile_op_f32_convert_i32(AOTCompContext *comp_ctx,
  36. AOTFuncContext *func_ctx, bool sign);
  37. bool
  38. aot_compile_op_f32_convert_i64(AOTCompContext *comp_ctx,
  39. AOTFuncContext *func_ctx, bool sign);
  40. bool
  41. aot_compile_op_f32_demote_f64(AOTCompContext *comp_ctx,
  42. AOTFuncContext *func_ctx);
  43. bool
  44. aot_compile_op_f64_convert_i32(AOTCompContext *comp_ctx,
  45. AOTFuncContext *func_ctx, bool sign);
  46. bool
  47. aot_compile_op_f64_convert_i64(AOTCompContext *comp_ctx,
  48. AOTFuncContext *func_ctx, bool sign);
  49. bool
  50. aot_compile_op_f64_promote_f32(AOTCompContext *comp_ctx,
  51. AOTFuncContext *func_ctx);
  52. bool
  53. aot_compile_op_i64_reinterpret_f64(AOTCompContext *comp_ctx,
  54. AOTFuncContext *func_ctx);
  55. bool
  56. aot_compile_op_i32_reinterpret_f32(AOTCompContext *comp_ctx,
  57. AOTFuncContext *func_ctx);
  58. bool
  59. aot_compile_op_f64_reinterpret_i64(AOTCompContext *comp_ctx,
  60. AOTFuncContext *func_ctx);
  61. bool
  62. aot_compile_op_f32_reinterpret_i32(AOTCompContext *comp_ctx,
  63. AOTFuncContext *func_ctx);
  64. #ifdef __cplusplus
  65. } /* end of extern "C" */
  66. #endif
  67. #endif /* end of _AOT_EMIT_CONVERSION_H_ */