Tables.hpp 1004 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef __TABLES_HPP__
  2. #define __TABLES_HPP__
  3. #include <stdint.h>
  4. #ifdef __AVX2__
  5. # include <immintrin.h>
  6. #endif
  7. #ifdef __SSE4_1__
  8. # include <smmintrin.h>
  9. #endif
  10. #ifdef __ARM_NEON
  11. # include <arm_neon.h>
  12. #endif
  13. extern const int32_t g_table[8][4];
  14. extern const int64_t g_table256[8][4];
  15. extern const uint32_t g_id[4][16];
  16. extern const uint32_t g_avg2[16];
  17. extern const uint32_t g_flags[64];
  18. extern const int32_t g_alpha[16][8];
  19. extern const int32_t g_alphaRange[16];
  20. #ifdef __SSE4_1__
  21. extern const __m128i g_table_SIMD[2];
  22. extern const __m128i g_table128_SIMD[2];
  23. extern const __m128i g_table256_SIMD[4];
  24. extern const __m128i g_alpha_SIMD[16];
  25. extern const __m128i g_alphaRange_SIMD;
  26. #endif
  27. #ifdef __AVX2__
  28. extern const __m256i g_alpha_AVX[8];
  29. extern const __m256i g_alphaRange_AVX;
  30. #endif
  31. #ifdef __ARM_NEON
  32. extern const int16x8_t g_table128_NEON[2];
  33. extern const int32x4_t g_table256_NEON[4];
  34. extern const int16x8_t g_alpha_NEON[16];
  35. extern const int16x8_t g_alphaRange_NEON;
  36. #endif
  37. #endif