simd_floating_point.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /*
  2. * Copyright (C) 2019 Intel Corporation. All rights reserved.
  3. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. */
  5. #ifndef _SIMD_FLOATING_POINT_H_
  6. #define _SIMD_FLOATING_POINT_H_
  7. #include "../aot_compiler.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. bool
  12. aot_compile_simd_f32x4_arith(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  13. FloatArithmetic arith_op);
  14. bool
  15. aot_compile_simd_f64x2_arith(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx,
  16. FloatArithmetic arith_op);
  17. bool
  18. aot_compile_simd_f32x4_neg(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  19. bool
  20. aot_compile_simd_f64x2_neg(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  21. bool
  22. aot_compile_simd_f32x4_abs(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  23. bool
  24. aot_compile_simd_f64x2_abs(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  25. bool
  26. aot_compile_simd_f32x4_round(AOTCompContext *comp_ctx,
  27. AOTFuncContext *func_ctx);
  28. bool
  29. aot_compile_simd_f64x2_round(AOTCompContext *comp_ctx,
  30. AOTFuncContext *func_ctx);
  31. bool
  32. aot_compile_simd_f32x4_sqrt(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  33. bool
  34. aot_compile_simd_f64x2_sqrt(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  35. bool
  36. aot_compile_simd_f32x4_ceil(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  37. bool
  38. aot_compile_simd_f64x2_ceil(AOTCompContext *comp_ctx, AOTFuncContext *func_ctx);
  39. bool
  40. aot_compile_simd_f32x4_floor(AOTCompContext *comp_ctx,
  41. AOTFuncContext *func_ctx);
  42. bool
  43. aot_compile_simd_f64x2_floor(AOTCompContext *comp_ctx,
  44. AOTFuncContext *func_ctx);
  45. bool
  46. aot_compile_simd_f32x4_trunc(AOTCompContext *comp_ctx,
  47. AOTFuncContext *func_ctx);
  48. bool
  49. aot_compile_simd_f64x2_trunc(AOTCompContext *comp_ctx,
  50. AOTFuncContext *func_ctx);
  51. bool
  52. aot_compile_simd_f32x4_nearest(AOTCompContext *comp_ctx,
  53. AOTFuncContext *func_ctx);
  54. bool
  55. aot_compile_simd_f64x2_nearest(AOTCompContext *comp_ctx,
  56. AOTFuncContext *func_ctx);
  57. bool
  58. aot_compile_simd_f32x4_min_max(AOTCompContext *comp_ctx,
  59. AOTFuncContext *func_ctx, bool run_min);
  60. bool
  61. aot_compile_simd_f64x2_min_max(AOTCompContext *comp_ctx,
  62. AOTFuncContext *func_ctx, bool run_min);
  63. bool
  64. aot_compile_simd_f32x4_pmin_pmax(AOTCompContext *comp_ctx,
  65. AOTFuncContext *func_ctx, bool run_min);
  66. bool
  67. aot_compile_simd_f64x2_pmin_pmax(AOTCompContext *comp_ctx,
  68. AOTFuncContext *func_ctx, bool run_min);
  69. bool
  70. aot_compile_simd_f64x2_demote(AOTCompContext *comp_ctx,
  71. AOTFuncContext *func_ctx);
  72. bool
  73. aot_compile_simd_f32x4_promote(AOTCompContext *comp_ctx,
  74. AOTFuncContext *func_ctx);
  75. #ifdef __cplusplus
  76. } /* end of extern "C" */
  77. #endif
  78. #endif /* end of _SIMD_FLOATING_POINT_H_ */