12-arrch64.patch 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. --- contrib/python/numpy/py3/numpy/core/src/_simd/_simd.dispatch.h (index)
  2. +++ contrib/python/numpy/py3/numpy/core/src/_simd/_simd.dispatch.h (working tree)
  3. @@ -10,8 +10,13 @@
  4. #undef NPY__CPU_DISPATCH_CALL
  5. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  6. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  7. +#if defined(__x86_64__) || defined(_M_X64)
  8. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  9. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  10. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \
  11. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__)) \
  12. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)&&CHK(POPCNT)&&CHK(SSE42)), SSE42, __VA_ARGS__))
  13. +#elif defined(__aarch64__)
  14. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  15. +
  16. +#endif
  17. --- contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.h (index)
  18. +++ contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.h (working tree)
  19. @@ -10,6 +10,11 @@
  20. #undef NPY__CPU_DISPATCH_CALL
  21. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  22. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  23. +#if defined(__x86_64__) || defined(_M_X64)
  24. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  25. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \
  26. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__))
  27. +#elif defined(__aarch64__)
  28. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  29. + NPY__CPU_DISPATCH_EXPAND_(CB((CHK(ASIMD)&&CHK(ASIMDHP)), ASIMDHP, __VA_ARGS__))
  30. +#endif
  31. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_arithm_fp.dispatch.h (index)
  32. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_arithm_fp.dispatch.h (working tree)
  33. @@ -10,5 +10,10 @@
  34. #undef NPY__CPU_DISPATCH_CALL
  35. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  36. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  37. +#if defined(__x86_64__) || defined(_M_X64)
  38. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  39. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__))
  40. +#elif defined(__aarch64__)
  41. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  42. +
  43. +#endif
  44. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_arithmetic.dispatch.h (index)
  45. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_arithmetic.dispatch.h (working tree)
  46. @@ -10,8 +10,13 @@
  47. #undef NPY__CPU_DISPATCH_CALL
  48. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  49. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  50. +#if defined(__x86_64__) || defined(_M_X64)
  51. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  52. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  53. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \
  54. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \
  55. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__))
  56. +#elif defined(__aarch64__)
  57. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  58. +
  59. +#endif
  60. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_exponent_log.dispatch.h (index)
  61. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_exponent_log.dispatch.h (working tree)
  62. @@ -10,7 +10,12 @@
  63. #undef NPY__CPU_DISPATCH_CALL
  64. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  65. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  66. +#if defined(__x86_64__) || defined(_M_X64)
  67. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  68. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  69. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \
  70. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__))
  71. +#elif defined(__aarch64__)
  72. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  73. +
  74. +#endif
  75. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_trigonometric.dispatch.h (index)
  76. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_trigonometric.dispatch.h (working tree)
  77. @@ -10,6 +10,11 @@
  78. #undef NPY__CPU_DISPATCH_CALL
  79. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  80. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  81. +#if defined(__x86_64__) || defined(_M_X64)
  82. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  83. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \
  84. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__))
  85. +#elif defined(__aarch64__)
  86. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  87. +
  88. +#endif
  89. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_umath_fp.dispatch.h (index)
  90. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_umath_fp.dispatch.h (working tree)
  91. @@ -10,5 +10,10 @@
  92. #undef NPY__CPU_DISPATCH_CALL
  93. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  94. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  95. +#if defined(__x86_64__) || defined(_M_X64)
  96. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  97. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__))
  98. +#elif defined(__aarch64__)
  99. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  100. +
  101. +#endif
  102. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp.dispatch.h (index)
  103. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp.dispatch.h (working tree)
  104. @@ -10,5 +10,10 @@
  105. #undef NPY__CPU_DISPATCH_CALL
  106. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  107. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  108. +#if defined(__x86_64__) || defined(_M_X64)
  109. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  110. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__))
  111. +#elif defined(__aarch64__)
  112. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  113. +
  114. +#endif
  115. --- contrib/python/numpy/py3/numpy/core/src/multiarray/argfunc.dispatch.h (index)
  116. +++ contrib/python/numpy/py3/numpy/core/src/multiarray/argfunc.dispatch.h (working tree)
  117. @@ -10,7 +10,12 @@
  118. #undef NPY__CPU_DISPATCH_CALL
  119. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  120. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  121. +#if defined(__x86_64__) || defined(_M_X64)
  122. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  123. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  124. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \
  125. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)&&CHK(POPCNT)&&CHK(SSE42)), SSE42, __VA_ARGS__))
  126. +#elif defined(__aarch64__)
  127. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  128. +
  129. +#endif
  130. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_hyperbolic.dispatch.h (index)
  131. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_hyperbolic.dispatch.h (working tree)
  132. @@ -10,6 +10,11 @@
  133. #undef NPY__CPU_DISPATCH_CALL
  134. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  135. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  136. +#if defined(__x86_64__) || defined(_M_X64)
  137. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  138. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  139. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__))
  140. +#elif defined(__aarch64__)
  141. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  142. +
  143. +#endif
  144. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_minmax.dispatch.h (index)
  145. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_minmax.dispatch.h (working tree)
  146. @@ -10,6 +10,11 @@
  147. #undef NPY__CPU_DISPATCH_CALL
  148. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  149. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  150. +#if defined(__x86_64__) || defined(_M_X64)
  151. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  152. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  153. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__))
  154. +#elif defined(__aarch64__)
  155. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  156. +
  157. +#endif
  158. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_comparison.dispatch.h (index)
  159. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_comparison.dispatch.h (working tree)
  160. @@ -10,8 +10,13 @@
  161. #undef NPY__CPU_DISPATCH_CALL
  162. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  163. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  164. +#if defined(__x86_64__) || defined(_M_X64)
  165. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  166. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  167. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \
  168. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__)) \
  169. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)&&CHK(POPCNT)&&CHK(SSE42)), SSE42, __VA_ARGS__))
  170. +#elif defined(__aarch64__)
  171. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  172. +
  173. +#endif
  174. --- contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.c (index)
  175. +++ contrib/python/numpy/py3/numpy/core/src/umath/_umath_tests.dispatch.asimdhp.c (working tree)
  176. @@ -0,0 +1,12 @@
  177. +/**
  178. + * AUTOGENERATED DON'T EDIT
  179. + * Please make changes to the code generator (distutils/ccompiler_opt.py)
  180. + */
  181. +#define NPY__CPU_TARGET_MODE
  182. +#define NPY__CPU_TARGET_CURRENT ASIMDHP
  183. +#define NPY__CPU_TARGET_NEON
  184. +#define NPY__CPU_TARGET_NEON_FP16
  185. +#define NPY__CPU_TARGET_NEON_VFPV4
  186. +#define NPY__CPU_TARGET_ASIMD
  187. +#define NPY__CPU_TARGET_ASIMDHP
  188. +#include "_umath_tests.dispatch.c"
  189. --- contrib/python/numpy/py3/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h (index)
  190. +++ contrib/python/numpy/py3/numpy/distutils/include/npy_cpu_dispatch_config.aarch64.h (working tree)
  191. @@ -0,0 +1,42 @@
  192. +/*
  193. + * AUTOGENERATED DON'T EDIT
  194. + * Please make changes to the code generator (distutils/ccompiler_opt.py)
  195. +*/
  196. +#define NPY_WITH_CPU_BASELINE "NEON NEON_FP16 NEON_VFPV4 ASIMD"
  197. +#define NPY_WITH_CPU_DISPATCH "ASIMDHP ASIMDDP ASIMDFHM"
  198. +#define NPY_WITH_CPU_BASELINE_N 4
  199. +#define NPY_WITH_CPU_DISPATCH_N 3
  200. +#define NPY_WITH_CPU_EXPAND_(X) X
  201. +#define NPY_WITH_CPU_BASELINE_CALL(MACRO_TO_CALL, ...) \
  202. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(NEON, __VA_ARGS__)) \
  203. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(NEON_FP16, __VA_ARGS__)) \
  204. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(NEON_VFPV4, __VA_ARGS__)) \
  205. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMD, __VA_ARGS__))
  206. +#define NPY_WITH_CPU_DISPATCH_CALL(MACRO_TO_CALL, ...) \
  207. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMDHP, __VA_ARGS__)) \
  208. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMDDP, __VA_ARGS__)) \
  209. + NPY_WITH_CPU_EXPAND_(MACRO_TO_CALL(ASIMDFHM, __VA_ARGS__))
  210. +/******* baseline features *******/
  211. + /** NEON **/
  212. + #define NPY_HAVE_NEON 1
  213. + #include <arm_neon.h>
  214. + /** NEON_FP16 **/
  215. + #define NPY_HAVE_NEON_FP16 1
  216. + /** NEON_VFPV4 **/
  217. + #define NPY_HAVE_NEON_VFPV4 1
  218. + /** ASIMD **/
  219. + #define NPY_HAVE_ASIMD 1
  220. +
  221. +/******* dispatch features *******/
  222. +#ifdef NPY__CPU_TARGET_ASIMDHP
  223. + /** ASIMDHP **/
  224. + #define NPY_HAVE_ASIMDHP 1
  225. +#endif /*NPY__CPU_TARGET_ASIMDHP*/
  226. +#ifdef NPY__CPU_TARGET_ASIMDDP
  227. + /** ASIMDDP **/
  228. + #define NPY_HAVE_ASIMDDP 1
  229. +#endif /*NPY__CPU_TARGET_ASIMDDP*/
  230. +#ifdef NPY__CPU_TARGET_ASIMDFHM
  231. + /** ASIMDFHM **/
  232. + #define NPY_HAVE_ASIMDFHM 1
  233. +#endif /*NPY__CPU_TARGET_ASIMDFHM*/
  234. --- contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort.dispatch.h (index)
  235. +++ contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort.dispatch.h (working tree)
  236. @@ -10,5 +10,10 @@
  237. #undef NPY__CPU_DISPATCH_CALL
  238. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  239. +#if defined(__x86_64__) || defined(_M_X64)
  240. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  241. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__))
  242. +#elif defined(__aarch64__)
  243. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  244. +
  245. +#endif
  246. --- contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h (index)
  247. +++ contrib/python/numpy/py3/numpy/core/src/npysort/simd_qsort_16bit.dispatch.h (working tree)
  248. @@ -10,5 +10,10 @@
  249. #undef NPY__CPU_DISPATCH_CALL
  250. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  251. +#if defined(__x86_64__) || defined(_M_X64)
  252. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  253. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_ICL)), AVX512_ICL, __VA_ARGS__))
  254. +#elif defined(__aarch64__)
  255. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  256. +
  257. +#endif
  258. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_autovec.dispatch.h (index)
  259. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_autovec.dispatch.h (working tree)
  260. @@ -10,5 +10,10 @@
  261. #undef NPY__CPU_DISPATCH_CALL
  262. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  263. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  264. +#if defined(__x86_64__) || defined(_M_X64)
  265. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  266. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__))
  267. +#elif defined(__aarch64__)
  268. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  269. +
  270. +#endif
  271. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_logical.dispatch.h (index)
  272. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_logical.dispatch.h (working tree)
  273. @@ -10,6 +10,11 @@
  274. #undef NPY__CPU_DISPATCH_CALL
  275. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  276. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  277. +#if defined(__x86_64__) || defined(_M_X64)
  278. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  279. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  280. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__))
  281. +#elif defined(__aarch64__)
  282. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  283. +
  284. +#endif
  285. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary.dispatch.h (index)
  286. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary.dispatch.h (working tree)
  287. @@ -10,6 +10,11 @@
  288. #undef NPY__CPU_DISPATCH_CALL
  289. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  290. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  291. +#if defined(__x86_64__) || defined(_M_X64)
  292. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  293. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512_SKX)), AVX512_SKX, __VA_ARGS__)) \
  294. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(AVX2)), AVX2, __VA_ARGS__))
  295. +#elif defined(__aarch64__)
  296. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  297. +
  298. +#endif
  299. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_complex.dispatch.h (index)
  300. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_complex.dispatch.h (working tree)
  301. @@ -10,6 +10,11 @@
  302. #undef NPY__CPU_DISPATCH_CALL
  303. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  304. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  305. +#if defined(__x86_64__) || defined(_M_X64)
  306. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  307. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX512F)), AVX512F, __VA_ARGS__)) \
  308. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(AVX)&&CHK(F16C)&&CHK(FMA3)&&CHK(AVX2)), FMA3__AVX2, __VA_ARGS__))
  309. +#elif defined(__aarch64__)
  310. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  311. +
  312. +#endif
  313. --- contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp_le.dispatch.h (index)
  314. +++ contrib/python/numpy/py3/numpy/core/src/umath/loops_unary_fp_le.dispatch.h (working tree)
  315. @@ -10,5 +10,10 @@
  316. #undef NPY__CPU_DISPATCH_CALL
  317. #define NPY__CPU_DISPATCH_BASELINE_CALL(CB, ...) \
  318. NPY__CPU_DISPATCH_EXPAND_(CB(__VA_ARGS__))
  319. +#if defined(__x86_64__) || defined(_M_X64)
  320. #define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  321. NPY__CPU_DISPATCH_EXPAND_(CB((CHK(SSE)&&CHK(SSE2)&&CHK(SSE3)&&CHK(SSSE3)&&CHK(SSE41)), SSE41, __VA_ARGS__))
  322. +#elif defined(__aarch64__)
  323. +#define NPY__CPU_DISPATCH_CALL(CHK, CB, ...) \
  324. +
  325. +#endif