simd_conversions.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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_i16x8_extend_i8x16(AOTCompContext *comp_ctx,
  19. AOTFuncContext *func_ctx, bool is_low,
  20. bool is_signed);
  21. bool
  22. aot_compile_simd_i32x4_extend_i16x8(AOTCompContext *comp_ctx,
  23. AOTFuncContext *func_ctx, bool is_low,
  24. bool is_signed);
  25. bool
  26. aot_compile_simd_i64x2_extend_i32x4(AOTCompContext *comp_ctx,
  27. AOTFuncContext *func_ctx, bool lower_half,
  28. bool is_signed);
  29. bool
  30. aot_compile_simd_i32x4_trunc_sat_f32x4(AOTCompContext *comp_ctx,
  31. AOTFuncContext *func_ctx,
  32. bool is_signed);
  33. bool
  34. aot_compile_simd_i32x4_trunc_sat_f64x2(AOTCompContext *comp_ctx,
  35. AOTFuncContext *func_ctx,
  36. bool is_signed);
  37. bool
  38. aot_compile_simd_f32x4_convert_i32x4(AOTCompContext *comp_ctx,
  39. AOTFuncContext *func_ctx, bool is_signed);
  40. bool
  41. aot_compile_simd_f64x2_convert_i32x4(AOTCompContext *comp_ctx,
  42. AOTFuncContext *func_ctx, bool is_signed);
  43. bool
  44. aot_compile_simd_i16x8_extadd_pairwise_i8x16(AOTCompContext *comp_ctx,
  45. AOTFuncContext *func_ctx,
  46. bool is_signed);
  47. bool
  48. aot_compile_simd_i32x4_extadd_pairwise_i16x8(AOTCompContext *comp_ctx,
  49. AOTFuncContext *func_ctx,
  50. bool is_signed);
  51. bool
  52. aot_compile_simd_i16x8_q15mulr_sat(AOTCompContext *comp_ctx,
  53. AOTFuncContext *func_ctx);
  54. bool
  55. aot_compile_simd_i16x8_extmul_i8x16(AOTCompContext *comp_ctx,
  56. AOTFuncContext *func_ctx, bool is_low,
  57. bool is_signed);
  58. bool
  59. aot_compile_simd_i32x4_extmul_i16x8(AOTCompContext *comp_ctx,
  60. AOTFuncContext *func_ctx, bool is_low,
  61. bool is_signed);
  62. bool
  63. aot_compile_simd_i64x2_extmul_i32x4(AOTCompContext *comp_ctx,
  64. AOTFuncContext *func_ctx, bool lower_half,
  65. bool is_signed);
  66. #ifdef __cplusplus
  67. } /* end of extern "C" */
  68. #endif
  69. #endif /* end of _SIMD_CONVERSIONS_H_ */