simd_conversions.h 3.1 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 _SIMD_CONVERSIONS_H_
  6. #define _SIMD_CONVERSIONS_H_
  7. #include "../aot_compiler.h"
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. bool
  12. aot_compile_simd_i8x16_narrow_i16x8(AOTCompContext *comp_ctx,
  13. AOTFuncContext *func_ctx, bool is_signed);
  14. bool
  15. aot_compile_simd_i16x8_narrow_i32x4(AOTCompContext *comp_ctx,
  16. AOTFuncContext *func_ctx, bool is_signed);
  17. bool
  18. aot_compile_simd_i32x4_narrow_i64x2(AOTCompContext *comp_ctx,
  19. AOTFuncContext *func_ctx, bool is_signed);
  20. bool
  21. aot_compile_simd_i16x8_extend_i8x16(AOTCompContext *comp_ctx,
  22. AOTFuncContext *func_ctx, bool is_low,
  23. bool is_signed);
  24. bool
  25. aot_compile_simd_i32x4_extend_i16x8(AOTCompContext *comp_ctx,
  26. AOTFuncContext *func_ctx, bool is_low,
  27. bool is_signed);
  28. bool
  29. aot_compile_simd_i64x2_extend_i32x4(AOTCompContext *comp_ctx,
  30. AOTFuncContext *func_ctx, bool lower_half,
  31. bool is_signed);
  32. bool
  33. aot_compile_simd_i32x4_trunc_sat_f32x4(AOTCompContext *comp_ctx,
  34. AOTFuncContext *func_ctx,
  35. bool is_signed);
  36. bool
  37. aot_compile_simd_i32x4_trunc_sat_f64x2(AOTCompContext *comp_ctx,
  38. AOTFuncContext *func_ctx,
  39. bool is_signed);
  40. bool
  41. aot_compile_simd_f32x4_convert_i32x4(AOTCompContext *comp_ctx,
  42. AOTFuncContext *func_ctx, bool is_signed);
  43. bool
  44. aot_compile_simd_f64x2_convert_i32x4(AOTCompContext *comp_ctx,
  45. AOTFuncContext *func_ctx, bool is_signed);
  46. bool
  47. aot_compile_simd_i16x8_extadd_pairwise_i8x16(AOTCompContext *comp_ctx,
  48. AOTFuncContext *func_ctx,
  49. bool is_signed);
  50. bool
  51. aot_compile_simd_i32x4_extadd_pairwise_i16x8(AOTCompContext *comp_ctx,
  52. AOTFuncContext *func_ctx,
  53. bool is_signed);
  54. bool
  55. aot_compile_simd_i16x8_q15mulr_sat(AOTCompContext *comp_ctx,
  56. AOTFuncContext *func_ctx);
  57. bool
  58. aot_compile_simd_i16x8_extmul_i8x16(AOTCompContext *comp_ctx,
  59. AOTFuncContext *func_ctx, bool is_low,
  60. bool is_signed);
  61. bool
  62. aot_compile_simd_i32x4_extmul_i16x8(AOTCompContext *comp_ctx,
  63. AOTFuncContext *func_ctx, bool is_low,
  64. bool is_signed);
  65. bool
  66. aot_compile_simd_i64x2_extmul_i32x4(AOTCompContext *comp_ctx,
  67. AOTFuncContext *func_ctx, bool lower_half,
  68. bool is_signed);
  69. #ifdef __cplusplus
  70. } /* end of extern "C" */
  71. #endif
  72. #endif /* end of _SIMD_CONVERSIONS_H_ */