jit_emit_numberic.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. * Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #ifndef _JIT_EMIT_NUMBERIC_H_
  6. #define _JIT_EMIT_NUMBERIC_H_
  7. #include "../jit_compiler.h"
  8. #include "../jit_frontend.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. bool
  13. jit_compile_op_i32_clz(JitCompContext *cc);
  14. bool
  15. jit_compile_op_i32_ctz(JitCompContext *cc);
  16. bool
  17. jit_compile_op_i32_popcnt(JitCompContext *cc);
  18. bool
  19. jit_compile_op_i64_clz(JitCompContext *cc);
  20. bool
  21. jit_compile_op_i64_ctz(JitCompContext *cc);
  22. bool
  23. jit_compile_op_i64_popcnt(JitCompContext *cc);
  24. bool
  25. jit_compile_op_i32_arithmetic(JitCompContext *cc, IntArithmetic arith_op,
  26. uint8 **p_frame_ip);
  27. bool
  28. jit_compile_op_i64_arithmetic(JitCompContext *cc, IntArithmetic arith_op,
  29. uint8 **p_frame_ip);
  30. bool
  31. jit_compile_op_i32_bitwise(JitCompContext *cc, IntBitwise bitwise_op);
  32. bool
  33. jit_compile_op_i64_bitwise(JitCompContext *cc, IntBitwise bitwise_op);
  34. bool
  35. jit_compile_op_i32_shift(JitCompContext *cc, IntShift shift_op);
  36. bool
  37. jit_compile_op_i64_shift(JitCompContext *cc, IntShift shift_op);
  38. bool
  39. jit_compile_op_f32_math(JitCompContext *cc, FloatMath math_op);
  40. bool
  41. jit_compile_op_f64_math(JitCompContext *cc, FloatMath math_op);
  42. bool
  43. jit_compile_op_f32_arithmetic(JitCompContext *cc, FloatArithmetic arith_op);
  44. bool
  45. jit_compile_op_f64_arithmetic(JitCompContext *cc, FloatArithmetic arith_op);
  46. bool
  47. jit_compile_op_f32_copysign(JitCompContext *cc);
  48. bool
  49. jit_compile_op_f64_copysign(JitCompContext *cc);
  50. #ifdef __cplusplus
  51. } /* end of extern "C" */
  52. #endif
  53. #endif /* end of _JIT_EMIT_NUMBERIC_H_ */