aot_emit_numberic.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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_NUMBERIC_H_
  6. #define _AOT_EMIT_NUMBERIC_H_
  7. #include "aot_compiler.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. bool
  12. aot_compile_op_i32_clz(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  13. bool
  14. aot_compile_op_i32_ctz(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  15. bool
  16. aot_compile_op_i32_popcnt(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  17. bool
  18. aot_compile_op_i64_clz(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  19. bool
  20. aot_compile_op_i64_ctz(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  21. bool
  22. aot_compile_op_i64_popcnt(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  23. bool
  24. aot_compile_op_i32_arithmetic(AOTCompContext *comp_ctx,
  25. AOTFuncContext *func_ctx, IntArithmetic arith_op,
  26. uint8 **p_frame_ip);
  27. bool
  28. aot_compile_op_i64_arithmetic(AOTCompContext *comp_ctx,
  29. AOTFuncContext *func_ctx, IntArithmetic arith_op,
  30. uint8 **p_frame_ip);
  31. bool
  32. aot_compile_op_i32_bitwise(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  33. IntBitwise bitwise_op);
  34. bool
  35. aot_compile_op_i64_bitwise(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  36. IntBitwise bitwise_op);
  37. bool
  38. aot_compile_op_i32_shift(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  39. IntShift shift_op);
  40. bool
  41. aot_compile_op_i64_shift(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  42. IntShift shift_op);
  43. bool
  44. aot_compile_op_f32_math(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  45. FloatMath math_op);
  46. bool
  47. aot_compile_op_f64_math(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  48. FloatMath math_op);
  49. bool
  50. aot_compile_op_f32_arithmetic(AOTCompContext *comp_ctx,
  51. AOTFuncContext *func_ctx,
  52. FloatArithmetic arith_op);
  53. bool
  54. aot_compile_op_f64_arithmetic(AOTCompContext *comp_ctx,
  55. AOTFuncContext *func_ctx,
  56. FloatArithmetic arith_op);
  57. bool
  58. aot_compile_op_f32_copysign(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  59. bool
  60. aot_compile_op_f64_copysign(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  61. #ifdef __cplusplus
  62. } /* end of extern "C" */
  63. #endif
  64. #endif /* end of _AOT_EMIT_NUMBERIC_H_ */