• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2# Copyright (c) Facebook, Inc. and its affiliates.
3# All rights reserved.
4#
5# Copyright 2019 Google LLC
6#
7# This source code is licensed under the BSD-style license found in the
8# LICENSE file in the root directory of this source tree.
9
10CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR)
11
12# ---[ Project and semantic versioning.
13PROJECT(XNNPACK C CXX ASM)
14
15# ---[ Options.
16SET(XNNPACK_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build")
17SET_PROPERTY(CACHE XNNPACK_LIBRARY_TYPE PROPERTY STRINGS default static shared)
18OPTION(XNNPACK_ENABLE_ASSEMBLY "Build XNNPACK with assembly micro-kernels" ON)
19OPTION(XNNPACK_ENABLE_JIT "Build XNNPACK with JIT micro-kernels" OFF)
20OPTION(XNNPACK_ENABLE_MEMOPT "Build XNNPACK with optimized memory allocation scheme" ON)
21OPTION(XNNPACK_ENABLE_SPARSE "Build XNNPACK with graph rewriting for sparse inference" ON)
22OPTION(XNNPACK_BUILD_TESTS "Build XNNPACK unit tests" ON)
23OPTION(XNNPACK_BUILD_BENCHMARKS "Build XNNPACK benchmarks" ON)
24OPTION(XNNPACK_USE_SYSTEM_LIBS "Use system-provided dependency libraries" OFF)
25
26# --- [ Determine target processor
27SET(XNNPACK_TARGET_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}")
28IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_ARCHITECTURES MATCHES "^(x86_64|arm64|arm64e)$")
29  SET(XNNPACK_TARGET_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}")
30ENDIF()
31
32# ---[ CMake options
33INCLUDE(GNUInstallDirs)
34
35IF(XNNPACK_BUILD_TESTS)
36  ENABLE_TESTING()
37ENDIF()
38
39IF(XNNPACK_ENABLE_ASSEMBLY)
40  ADD_DEFINITIONS(-DXNN_ENABLE_ASSEMBLY=1)
41ELSE()
42  ADD_DEFINITIONS(-DXNN_ENABLE_ASSEMBLY=0)
43ENDIF()
44
45IF(XNNPACK_ENABLE_JIT)
46  ADD_DEFINITIONS(-DXNN_ENABLE_JIT=1)
47ELSE()
48  ADD_DEFINITIONS(-DXNN_ENABLE_JIT=0)
49ENDIF()
50
51IF(XNNPACK_ENABLE_MEMOPT)
52  ADD_DEFINITIONS(-DXNN_ENABLE_MEMOPT=1)
53ELSE()
54  ADD_DEFINITIONS(-DXNN_ENABLE_MEMOPT=0)
55ENDIF()
56
57IF(XNNPACK_ENABLE_SPARSE)
58  ADD_DEFINITIONS(-DXNN_ENABLE_SPARSE=1)
59ELSE()
60  ADD_DEFINITIONS(-DXNN_ENABLE_SPARSE=0)
61ENDIF()
62
63IF(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
64  # Disable "unary minus operator applied to unsigned type, result still unsigned" warning
65  ADD_COMPILE_OPTIONS("/wd4146")
66ENDIF()
67
68IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
69  # Disable "note: parameter passing for argument of type ... changed/will change in ..."
70  ADD_COMPILE_OPTIONS("-Wno-psabi")
71ENDIF()
72
73# ---[ Build flags
74IF(NOT CMAKE_SYSTEM_PROCESSOR)
75  IF(IOS)
76    LIST(LENGTH IOS_ARCH IOS_ARCH_COUNT)
77    IF(IOS_ARCH_COUNT GREATER 1)
78      MESSAGE(FATAL_ERROR "Unsupported XNNPACK build with multiple iOS architectures (${IOS_ARCH}). "
79        "Specify a single architecture in IOS_ARCH and re-configure. ")
80    ENDIF()
81    IF(NOT IOS_ARCH MATCHES "^(i386|x86_64|AMD64|armv7.*|arm64.*)$")
82      MESSAGE(FATAL_ERROR "Unrecognized IOS_ARCH = ${IOS_ARCH}")
83    ENDIF()
84  ELSE()
85    MESSAGE(FATAL_ERROR "CMAKE_SYSTEM_PROCESSOR is not defined")
86  ENDIF()
87ELSEIF(NOT XNNPACK_TARGET_PROCESSOR MATCHES "^(i[3-6]86|x86|x86_64|AMD64|armv[5-8].*|aarch64|arm64.*|riscv(32|64|128))$")
88  MESSAGE(FATAL_ERROR "Unrecognized XNNPACK_TARGET_PROCESSOR = ${XNNPACK_TARGET_PROCESSOR}")
89ENDIF()
90
91IF(NOT CMAKE_SYSTEM_NAME)
92  MESSAGE(FATAL_ERROR "CMAKE_SYSTEM_NAME not defined")
93ELSEIF(NOT CMAKE_SYSTEM_NAME MATCHES "^(Darwin|Linux|Android|Windows|CYGWIN|MSYS)$")
94  MESSAGE(FATAL_ERROR "Unrecognized CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
95ENDIF()
96
97# ---[ Download deps
98IF(NOT XNNPACK_USE_SYSTEM_LIBS)
99  IF(NOT DEFINED CLOG_SOURCE_DIR)
100    MESSAGE(STATUS "Downloading clog to ${CMAKE_BINARY_DIR}/clog-source (define CLOG_SOURCE_DIR to avoid it)")
101    CONFIGURE_FILE(cmake/DownloadCLog.cmake "${CMAKE_BINARY_DIR}/clog-download/CMakeLists.txt")
102    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
103      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/clog-download")
104    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
105      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/clog-download")
106    SET(CLOG_SOURCE_DIR "${CMAKE_BINARY_DIR}/clog-source" CACHE STRING "clog source directory")
107  ENDIF()
108
109  IF(NOT DEFINED CPUINFO_SOURCE_DIR)
110    MESSAGE(STATUS "Downloading cpuinfo to ${CMAKE_BINARY_DIR}/cpuinfo-source (define CPUINFO_SOURCE_DIR to avoid it)")
111    CONFIGURE_FILE(cmake/DownloadCpuinfo.cmake "${CMAKE_BINARY_DIR}/cpuinfo-download/CMakeLists.txt")
112    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
113      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/cpuinfo-download")
114    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
115      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/cpuinfo-download")
116    SET(CPUINFO_SOURCE_DIR "${CMAKE_BINARY_DIR}/cpuinfo-source" CACHE STRING "cpuinfo source directory")
117  ENDIF()
118
119  IF(NOT DEFINED FP16_SOURCE_DIR)
120    MESSAGE(STATUS "Downloading FP16 to ${CMAKE_BINARY_DIR}/FP16-source (define FP16_SOURCE_DIR to avoid it)")
121    CONFIGURE_FILE(cmake/DownloadFP16.cmake "${CMAKE_BINARY_DIR}/FP16-download/CMakeLists.txt")
122    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
123      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/FP16-download")
124    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
125      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/FP16-download")
126    SET(FP16_SOURCE_DIR "${CMAKE_BINARY_DIR}/FP16-source" CACHE STRING "FP16 source directory")
127  ENDIF()
128
129  IF(NOT DEFINED FXDIV_SOURCE_DIR)
130    MESSAGE(STATUS "Downloading FXdiv to ${CMAKE_BINARY_DIR}/FXdiv-source (define FXDIV_SOURCE_DIR to avoid it)")
131    CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CMAKE_BINARY_DIR}/FXdiv-download/CMakeLists.txt")
132    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
133      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/FXdiv-download")
134    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
135      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/FXdiv-download")
136    SET(FXDIV_SOURCE_DIR "${CMAKE_BINARY_DIR}/FXdiv-source" CACHE STRING "FXdiv source directory")
137  ENDIF()
138
139  IF(NOT DEFINED PTHREADPOOL_SOURCE_DIR)
140    MESSAGE(STATUS "Downloading pthreadpool to ${CMAKE_BINARY_DIR}/pthreadpool-source (define PTHREADPOOL_SOURCE_DIR to avoid it)")
141    CONFIGURE_FILE(cmake/DownloadPThreadPool.cmake "${CMAKE_BINARY_DIR}/pthreadpool-download/CMakeLists.txt")
142    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
143      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/pthreadpool-download")
144    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
145      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/pthreadpool-download")
146    SET(PTHREADPOOL_SOURCE_DIR "${CMAKE_BINARY_DIR}/pthreadpool-source" CACHE STRING "pthreadpool source directory")
147  ENDIF()
148
149  IF(XNNPACK_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR)
150    MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)")
151    CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt")
152    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
153      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
154    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
155      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googletest-download")
156    SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory")
157  ENDIF()
158
159  IF(XNNPACK_BUILD_BENCHMARKS AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR)
160    MESSAGE(STATUS "Downloading Google Benchmark to ${CMAKE_BINARY_DIR}/googlebenchmark-source (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)")
161    CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CMAKE_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt")
162    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
163      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googlebenchmark-download")
164    EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
165      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/googlebenchmark-download")
166    SET(GOOGLEBENCHMARK_SOURCE_DIR "${CMAKE_BINARY_DIR}/googlebenchmark-source" CACHE STRING "Google Benchmark source directory")
167  ENDIF()
168ENDIF()
169
170# ---[ XNNPACK library
171SET(OPERATOR_SRCS
172  src/operators/argmax-pooling-nhwc.c
173  src/operators/average-pooling-nhwc.c
174  src/operators/binary-elementwise-nd.c
175  src/operators/channel-shuffle-nc.c
176  src/operators/constant-pad-nd.c
177  src/operators/convolution-nchw.c
178  src/operators/convolution-nhwc.c
179  src/operators/deconvolution-nhwc.c
180  src/operators/depth-to-space-nchw2nhwc.c
181  src/operators/depth-to-space-nhwc.c
182  src/operators/fully-connected-nc.c
183  src/operators/global-average-pooling-ncw.c
184  src/operators/global-average-pooling-nwc.c
185  src/operators/lut-elementwise-nc.c
186  src/operators/max-pooling-nhwc.c
187  src/operators/prelu-nc.c
188  src/operators/resize-bilinear-nchw.c
189  src/operators/resize-bilinear-nhwc.c
190  src/operators/softmax-nc.c
191  src/operators/unary-elementwise-nc.c
192  src/operators/unpooling-nhwc.c)
193
194SET(SUBGRAPH_SRCS
195  src/subgraph/abs.c
196  src/subgraph/add2.c
197  src/subgraph/argmax-pooling-2d.c
198  src/subgraph/average-pooling-2d.c
199  src/subgraph/bankers-rounding.c
200  src/subgraph/ceiling.c
201  src/subgraph/clamp.c
202  src/subgraph/convert.c
203  src/subgraph/convolution-2d.c
204  src/subgraph/deconvolution-2d.c
205  src/subgraph/depth-to-space.c
206  src/subgraph/depthwise-convolution-2d.c
207  src/subgraph/divide.c
208  src/subgraph/elu.c
209  src/subgraph/floor.c
210  src/subgraph/fully-connected.c
211  src/subgraph/global-average-pooling-2d.c
212  src/subgraph/hardswish.c
213  src/subgraph/leaky-relu.c
214  src/subgraph/max-pooling-2d.c
215  src/subgraph/maximum2.c
216  src/subgraph/minimum2.c
217  src/subgraph/multiply2.c
218  src/subgraph/negate.c
219  src/subgraph/prelu.c
220  src/subgraph/sigmoid.c
221  src/subgraph/softmax.c
222  src/subgraph/square-root.c
223  src/subgraph/square.c
224  src/subgraph/squared-difference.c
225  src/subgraph/static-constant-pad.c
226  src/subgraph/static-reshape.c
227  src/subgraph/static-resize-bilinear-2d.c
228  src/subgraph/subtract.c
229  src/subgraph/unpooling-2d.c)
230
231SET(LOGGING_SRCS
232  src/datatype-strings.c
233  src/operator-strings.c
234  src/subgraph-strings.c)
235
236SET(COLD_SRCS ${OPERATOR_SRCS} ${SUBGRAPH_SRCS} ${LOGGING_SRCS})
237LIST(APPEND COLD_SRCS
238  src/allocator.c
239  src/init.c
240  src/memory-planner.c
241  src/operator-delete.c
242  src/runtime.c
243  src/subgraph.c
244  src/tensor.c)
245
246SET(HOT_SRCS
247  src/indirection.c
248  src/operator-run.c
249  src/packing.c)
250
251SET(TABLE_SRCS
252  src/tables/exp2-k-over-64.c
253  src/tables/exp2-k-over-2048.c
254  src/tables/exp2minus-k-over-4.c
255  src/tables/exp2minus-k-over-8.c
256  src/tables/exp2minus-k-over-16.c
257  src/tables/exp2minus-k-over-64.c
258  src/tables/exp2minus-k-over-2048.c)
259
260SET(JIT_SRCS
261  src/jit/aarch32-assembler.cc
262  src/jit/aarch64-assembler.cc
263  src/jit/assembler.cc
264  src/jit/memory.c)
265
266SET(JIT_AARCH32_SRCS
267  src/f32-gemm/4x8-aarch32-neon-cortex-a7.cc
268  src/f32-gemm/4x8-aarch32-neon-cortex-a53.cc
269  src/f32-gemm/4x8-aarch32-neon-cortex-a55.cc
270  src/f32-gemm/4x8-aarch32-neon-cortex-a75.cc
271  src/f32-gemm/4x8-aarch32-neon-ld64.cc
272  src/f32-igemm/4x8-aarch32-neon-cortex-a7.cc
273  src/f32-igemm/4x8-aarch32-neon-cortex-a53.cc
274  src/f32-igemm/4x8-aarch32-neon-cortex-a55.cc
275  src/f32-igemm/4x8-aarch32-neon-cortex-a75.cc
276  src/f32-igemm/4x8-aarch32-neon-ld64.cc
277  src/qc8-gemm/4x8-fp32-aarch32-neonv8-mlal-lane-ld64.cc
278  src/qc8-gemm/4x8c4-fp32-aarch32-neondot-ld64.cc
279  src/qc8-igemm/4x8-fp32-aarch32-neonv8-mlal-lane-ld64.cc
280  src/qc8-igemm/4x8c4-fp32-aarch32-neondot-ld64.cc
281  src/qs8-gemm/4x8-rndnu-aarch32-neon-mlal-lane-ld64.cc
282  src/qs8-gemm/4x8c4-rndnu-aarch32-neondot-ld64.cc
283  src/qs8-igemm/4x8-rndnu-aarch32-neon-mlal-lane-ld64.cc
284  src/qs8-igemm/4x8c4-rndnu-aarch32-neondot-ld64.cc)
285
286SET(JIT_AARCH64_SRCS
287  src/f32-gemm/1x8-aarch64-neonfma-cortex-a75.cc
288  src/f32-gemm/6x8-aarch64-neonfma-cortex-a75.cc
289  src/f32-igemm/1x8-aarch64-neonfma-cortex-a75.cc
290  src/f32-igemm/6x8-aarch64-neonfma-cortex-a75.cc)
291
292SET(PROD_SCALAR_PORTABLE_MICROKERNEL_SRCS
293  src/params-init.c
294  src/u8-lut32norm/scalar.c
295  src/x8-lut/gen/lut-scalar-x4.c
296  src/x32-depthtospace2d-chw2hwc/scalar.c
297  src/xx-copy/memcpy.c)
298
299SET(PROD_SCALAR_AARCH32_MICROKERNEL_SRCS
300  src/f16-f32-vcvt/gen/vcvt-scalar-x4.c
301  src/f32-argmaxpool/4x-scalar-c1.c
302  src/f32-argmaxpool/9p8x-scalar-c1.c
303  src/f32-argmaxpool/9x-scalar-c1.c
304  src/f32-avgpool/9p8x-minmax-scalar-c1.c
305  src/f32-avgpool/9x-minmax-scalar-c1.c
306  src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c
307  src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c
308  src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c
309  src/f32-dwconv/gen/up1x3-minmax-scalar-acc2.c
310  src/f32-dwconv/gen/up1x3-scalar-acc2.c
311  src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c
312  src/f32-dwconv/gen/up1x4-scalar-acc2.c
313  src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c
314  src/f32-dwconv/gen/up1x9-scalar-acc2.c
315  src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c
316  src/f32-dwconv/gen/up1x25-scalar-acc2.c
317  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-4x1.c
318  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1-acc2.c
319  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc2.c
320  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc2.c
321  src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x2.c
322  src/f32-gavgpool-cw/scalar-x1.c
323  src/f32-gavgpool/7p7x-minmax-scalar-c1.c
324  src/f32-gavgpool/7x-minmax-scalar-c1.c
325  src/f32-gemm/gen/1x4-minmax-scalar.c
326  src/f32-gemm/gen/1x4-relu-scalar.c
327  src/f32-gemm/gen/1x4-scalar.c
328  src/f32-gemm/gen/4x2-minmax-scalar.c
329  src/f32-gemm/gen/4x2-scalar.c
330  src/f32-gemm/gen/4x4-minmax-scalar.c
331  src/f32-gemm/gen/4x4-relu-scalar.c
332  src/f32-gemm/gen/4x4-scalar.c
333  src/f32-ibilinear-chw/gen/scalar-p4.c
334  src/f32-ibilinear/gen/scalar-c2.c
335  src/f32-igemm/gen/1x4-minmax-scalar.c
336  src/f32-igemm/gen/1x4-relu-scalar.c
337  src/f32-igemm/gen/1x4-scalar.c
338  src/f32-igemm/gen/4x2-minmax-scalar.c
339  src/f32-igemm/gen/4x2-scalar.c
340  src/f32-igemm/gen/4x4-minmax-scalar.c
341  src/f32-igemm/gen/4x4-relu-scalar.c
342  src/f32-igemm/gen/4x4-scalar.c
343  src/f32-maxpool/9p8x-minmax-scalar-c1.c
344  src/f32-pavgpool/9p8x-minmax-scalar-c1.c
345  src/f32-pavgpool/9x-minmax-scalar-c1.c
346  src/f32-prelu/gen/scalar-2x4.c
347  src/f32-qs8-vcvt/gen/vcvt-scalar-imagic-x4.c
348  src/f32-qu8-vcvt/gen/vcvt-scalar-imagic-x4.c
349  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x4-acc2.c
350  src/f32-rmax/scalar.c
351  src/f32-spmm/gen/8x1-minmax-scalar.c
352  src/f32-spmm/gen/8x2-minmax-scalar.c
353  src/f32-spmm/gen/8x4-minmax-scalar.c
354  src/f32-vbinary/gen/vadd-minmax-scalar-x8.c
355  src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c
356  src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c
357  src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c
358  src/f32-vbinary/gen/vmax-scalar-x8.c
359  src/f32-vbinary/gen/vmaxc-scalar-x8.c
360  src/f32-vbinary/gen/vmin-scalar-x8.c
361  src/f32-vbinary/gen/vminc-scalar-x8.c
362  src/f32-vbinary/gen/vmul-minmax-scalar-x8.c
363  src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c
364  src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c
365  src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c
366  src/f32-vbinary/gen/vsqrdiff-scalar-x8.c
367  src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c
368  src/f32-vbinary/gen/vsub-minmax-scalar-x8.c
369  src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c
370  src/f32-vclamp/gen/vclamp-scalar-x4.c
371  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x4.c
372  src/f32-vhswish/gen/vhswish-scalar-x4.c
373  src/f32-vlrelu/gen/vlrelu-scalar-x4.c
374  src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c
375  src/f32-vrelu/gen/vrelu-scalar-x8.c
376  src/f32-vrnd/gen/vrndd-scalar-libm-x1.c
377  src/f32-vrnd/gen/vrndne-scalar-libm-x1.c
378  src/f32-vrnd/gen/vrndu-scalar-libm-x1.c
379  src/f32-vrnd/gen/vrndz-scalar-libm-x1.c
380  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut64-p2-div-x2.c
381  src/f32-vsqrt/gen/scalar-sqrt-x1.c
382  src/f32-vunary/gen/vabs-scalar-x4.c
383  src/f32-vunary/gen/vneg-scalar-x4.c
384  src/f32-vunary/gen/vsqr-scalar-x4.c
385  src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c
386  src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c
387  src/qc8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c
388  src/qc8-gemm/gen/1x8-minmax-fp32-neon-mlal-lane.c
389  src/qc8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c
390  src/qc8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c
391  src/qc8-igemm/gen/1x8-minmax-fp32-neon-mlal-lane.c
392  src/qc8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c
393  src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c
394  src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c
395  src/qs8-f32-vcvt/gen/vcvt-scalar-x4.c
396  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c
397  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c
398  src/qs8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c
399  src/qs8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c
400  src/qs8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c
401  src/qs8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c
402  src/qs8-vadd/gen/minmax-scalar-x1.c
403  src/qs8-vaddc/gen/minmax-scalar-x1.c
404  src/qs8-vmul/gen/minmax-fp32-scalar-x4.c
405  src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c
406  src/qu8-avgpool/9p8x-minmax-scalar-c1.c
407  src/qu8-avgpool/9x-minmax-scalar-c1.c
408  src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c
409  src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c
410  src/qu8-f32-vcvt/gen/vcvt-scalar-x4.c
411  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c
412  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c
413  src/qu8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c
414  src/qu8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c
415  src/qu8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c
416  src/qu8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c
417  src/qu8-vadd/gen/minmax-scalar-x1.c
418  src/qu8-vaddc/gen/minmax-scalar-x1.c
419  src/qu8-vmul/gen/minmax-fp32-scalar-x4.c
420  src/qu8-vmulc/gen/minmax-fp32-scalar-x4.c
421  src/s8-ibilinear/gen/scalar-c1.c
422  src/s8-maxpool/9p8x-minmax-scalar-c1.c
423  src/s8-vclamp/scalar-x4.c
424  src/u8-ibilinear/gen/scalar-c1.c
425  src/u8-maxpool/9p8x-minmax-scalar-c1.c
426  src/u8-rmax/scalar.c
427  src/u8-vclamp/scalar-x4.c
428  src/x8-zip/x2-scalar.c
429  src/x8-zip/x3-scalar.c
430  src/x8-zip/x4-scalar.c
431  src/x8-zip/xm-scalar.c
432  src/x32-packx/x2-scalar.c
433  src/x32-packx/x3-scalar.c
434  src/x32-packx/x4-scalar.c
435  src/x32-unpool/scalar.c
436  src/x32-zip/x2-scalar.c
437  src/x32-zip/x3-scalar.c
438  src/x32-zip/x4-scalar.c
439  src/x32-zip/xm-scalar.c
440  src/xx-fill/scalar-x16.c
441  src/xx-pad/scalar.c)
442
443SET(PROD_SCALAR_RISCV_MICROKERNEL_SRCS
444  src/f16-f32-vcvt/gen/vcvt-scalar-x4.c
445  src/f32-argmaxpool/4x-scalar-c1.c
446  src/f32-argmaxpool/9p8x-scalar-c1.c
447  src/f32-argmaxpool/9x-scalar-c1.c
448  src/f32-avgpool/9p8x-minmax-scalar-c1.c
449  src/f32-avgpool/9x-minmax-scalar-c1.c
450  src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c
451  src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c
452  src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c
453  src/f32-dwconv/gen/up1x3-minmax-scalar-acc2.c
454  src/f32-dwconv/gen/up1x3-scalar-acc2.c
455  src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c
456  src/f32-dwconv/gen/up1x4-scalar-acc2.c
457  src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c
458  src/f32-dwconv/gen/up1x9-scalar-acc2.c
459  src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c
460  src/f32-dwconv/gen/up1x25-scalar-acc2.c
461  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1-acc2.c
462  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc2.c
463  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc5.c
464  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc5.c
465  src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x2.c
466  src/f32-gavgpool-cw/scalar-x1.c
467  src/f32-gavgpool/7p7x-minmax-scalar-c1.c
468  src/f32-gavgpool/7x-minmax-scalar-c1.c
469  src/f32-gemm/gen/1x4-minmax-scalar.c
470  src/f32-gemm/gen/1x4-relu-scalar.c
471  src/f32-gemm/gen/1x4-scalar.c
472  src/f32-gemm/gen/4x2-minmax-scalar.c
473  src/f32-gemm/gen/4x2-scalar.c
474  src/f32-gemm/gen/4x4-minmax-scalar.c
475  src/f32-gemm/gen/4x4-relu-scalar.c
476  src/f32-gemm/gen/4x4-scalar.c
477  src/f32-ibilinear-chw/gen/scalar-p4.c
478  src/f32-ibilinear/gen/scalar-c2.c
479  src/f32-igemm/gen/1x4-minmax-scalar.c
480  src/f32-igemm/gen/1x4-relu-scalar.c
481  src/f32-igemm/gen/1x4-scalar.c
482  src/f32-igemm/gen/4x2-minmax-scalar.c
483  src/f32-igemm/gen/4x2-scalar.c
484  src/f32-igemm/gen/4x4-minmax-scalar.c
485  src/f32-igemm/gen/4x4-relu-scalar.c
486  src/f32-igemm/gen/4x4-scalar.c
487  src/f32-maxpool/9p8x-minmax-scalar-c1.c
488  src/f32-pavgpool/9p8x-minmax-scalar-c1.c
489  src/f32-pavgpool/9x-minmax-scalar-c1.c
490  src/f32-prelu/gen/scalar-2x4.c
491  src/f32-qs8-vcvt/gen/vcvt-scalar-lrintf-x4.c
492  src/f32-qu8-vcvt/gen/vcvt-scalar-lrintf-x4.c
493  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x4-acc2.c
494  src/f32-rmax/scalar.c
495  src/f32-spmm/gen/8x1-minmax-scalar.c
496  src/f32-spmm/gen/8x2-minmax-scalar.c
497  src/f32-spmm/gen/8x4-minmax-scalar.c
498  src/f32-vbinary/gen/vadd-minmax-scalar-x8.c
499  src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c
500  src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c
501  src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c
502  src/f32-vbinary/gen/vmax-scalar-x8.c
503  src/f32-vbinary/gen/vmaxc-scalar-x8.c
504  src/f32-vbinary/gen/vmin-scalar-x8.c
505  src/f32-vbinary/gen/vminc-scalar-x8.c
506  src/f32-vbinary/gen/vmul-minmax-scalar-x8.c
507  src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c
508  src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c
509  src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c
510  src/f32-vbinary/gen/vsqrdiff-scalar-x8.c
511  src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c
512  src/f32-vbinary/gen/vsub-minmax-scalar-x8.c
513  src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c
514  src/f32-vclamp/gen/vclamp-scalar-x4.c
515  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x4.c
516  src/f32-vhswish/gen/vhswish-scalar-x4.c
517  src/f32-vlrelu/gen/vlrelu-scalar-x4.c
518  src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c
519  src/f32-vrelu/gen/vrelu-scalar-x8.c
520  src/f32-vrnd/gen/vrndd-scalar-libm-x1.c
521  src/f32-vrnd/gen/vrndne-scalar-libm-x1.c
522  src/f32-vrnd/gen/vrndu-scalar-libm-x1.c
523  src/f32-vrnd/gen/vrndz-scalar-libm-x1.c
524  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut64-p2-div-x2.c
525  src/f32-vsqrt/gen/scalar-sqrt-x1.c
526  src/f32-vunary/gen/vabs-scalar-x4.c
527  src/f32-vunary/gen/vneg-scalar-x4.c
528  src/f32-vunary/gen/vsqr-scalar-x4.c
529  src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c
530  src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c
531  src/qc8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c
532  src/qc8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c
533  src/qc8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c
534  src/qc8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c
535  src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c
536  src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c
537  src/qs8-f32-vcvt/gen/vcvt-scalar-x4.c
538  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c
539  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c
540  src/qs8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c
541  src/qs8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c
542  src/qs8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c
543  src/qs8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c
544  src/qs8-vadd/gen/minmax-scalar-x4.c
545  src/qs8-vaddc/gen/minmax-scalar-x4.c
546  src/qs8-vmul/gen/minmax-fp32-scalar-x4.c
547  src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c
548  src/qu8-avgpool/9p8x-minmax-scalar-c1.c
549  src/qu8-avgpool/9x-minmax-scalar-c1.c
550  src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c
551  src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c
552  src/qu8-f32-vcvt/gen/vcvt-scalar-x4.c
553  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c
554  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c
555  src/qu8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c
556  src/qu8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c
557  src/qu8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c
558  src/qu8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c
559  src/qu8-vadd/gen/minmax-scalar-x4.c
560  src/qu8-vaddc/gen/minmax-scalar-x4.c
561  src/qu8-vmul/gen/minmax-fp32-scalar-x4.c
562  src/qu8-vmulc/gen/minmax-fp32-scalar-x4.c
563  src/s8-ibilinear/gen/scalar-c1.c
564  src/s8-maxpool/9p8x-minmax-scalar-c1.c
565  src/s8-vclamp/scalar-x4.c
566  src/u8-ibilinear/gen/scalar-c1.c
567  src/u8-maxpool/9p8x-minmax-scalar-c1.c
568  src/u8-rmax/scalar.c
569  src/u8-vclamp/scalar-x4.c
570  src/x8-zip/x2-scalar.c
571  src/x8-zip/x3-scalar.c
572  src/x8-zip/x4-scalar.c
573  src/x8-zip/xm-scalar.c
574  src/x32-packx/x2-scalar.c
575  src/x32-packx/x3-scalar.c
576  src/x32-packx/x4-scalar.c
577  src/x32-unpool/scalar.c
578  src/x32-zip/x2-scalar.c
579  src/x32-zip/x3-scalar.c
580  src/x32-zip/x4-scalar.c
581  src/x32-zip/xm-scalar.c
582  src/xx-fill/scalar-x16.c
583  src/xx-pad/scalar.c)
584
585SET(ALL_SCALAR_MICROKERNEL_SRCS
586  src/f16-f32-vcvt/gen/vcvt-scalar-x1.c
587  src/f16-f32-vcvt/gen/vcvt-scalar-x2.c
588  src/f16-f32-vcvt/gen/vcvt-scalar-x3.c
589  src/f16-f32-vcvt/gen/vcvt-scalar-x4.c
590  src/f32-argmaxpool/4x-scalar-c1.c
591  src/f32-argmaxpool/9p8x-scalar-c1.c
592  src/f32-argmaxpool/9x-scalar-c1.c
593  src/f32-avgpool/9p8x-minmax-scalar-c1.c
594  src/f32-avgpool/9x-minmax-scalar-c1.c
595  src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c
596  src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c
597  src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c
598  src/f32-dwconv/gen/up1x3-minmax-scalar-acc2.c
599  src/f32-dwconv/gen/up1x3-minmax-scalar.c
600  src/f32-dwconv/gen/up1x3-scalar-acc2.c
601  src/f32-dwconv/gen/up1x3-scalar.c
602  src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c
603  src/f32-dwconv/gen/up1x4-minmax-scalar.c
604  src/f32-dwconv/gen/up1x4-scalar-acc2.c
605  src/f32-dwconv/gen/up1x4-scalar.c
606  src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c
607  src/f32-dwconv/gen/up1x9-minmax-scalar.c
608  src/f32-dwconv/gen/up1x9-scalar-acc2.c
609  src/f32-dwconv/gen/up1x9-scalar.c
610  src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c
611  src/f32-dwconv/gen/up1x25-minmax-scalar.c
612  src/f32-dwconv/gen/up1x25-scalar-acc2.c
613  src/f32-dwconv/gen/up1x25-scalar.c
614  src/f32-dwconv/gen/up2x3-minmax-scalar-acc2.c
615  src/f32-dwconv/gen/up2x3-minmax-scalar.c
616  src/f32-dwconv/gen/up2x3-scalar-acc2.c
617  src/f32-dwconv/gen/up2x3-scalar.c
618  src/f32-dwconv/gen/up2x4-minmax-scalar-acc2.c
619  src/f32-dwconv/gen/up2x4-minmax-scalar.c
620  src/f32-dwconv/gen/up2x4-scalar-acc2.c
621  src/f32-dwconv/gen/up2x4-scalar.c
622  src/f32-dwconv/gen/up2x9-minmax-scalar-acc2.c
623  src/f32-dwconv/gen/up2x9-minmax-scalar.c
624  src/f32-dwconv/gen/up2x9-scalar-acc2.c
625  src/f32-dwconv/gen/up2x9-scalar.c
626  src/f32-dwconv/gen/up2x25-minmax-scalar-acc2.c
627  src/f32-dwconv/gen/up2x25-minmax-scalar.c
628  src/f32-dwconv/gen/up2x25-scalar-acc2.c
629  src/f32-dwconv/gen/up2x25-scalar.c
630  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc2.c
631  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc3.c
632  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc4.c
633  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1.c
634  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1-acc2.c
635  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1.c
636  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-3x1.c
637  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-4x1.c
638  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-5x1.c
639  src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-6x1.c
640  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc2.c
641  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc3.c
642  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc4.c
643  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1.c
644  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1-acc2.c
645  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1.c
646  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-3x1.c
647  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-4x1.c
648  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc2.c
649  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc3.c
650  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc4.c
651  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc5.c
652  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1.c
653  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc2.c
654  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc3.c
655  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1.c
656  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1-acc2.c
657  src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1.c
658  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc2.c
659  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc3.c
660  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc4.c
661  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc5.c
662  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1.c
663  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc2.c
664  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc3.c
665  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1.c
666  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1-acc2.c
667  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1.c
668  src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x1.c
669  src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x2.c
670  src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x3.c
671  src/f32-f16-vcvt/gen/vcvt-scalar-bitcast-x4.c
672  src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x1.c
673  src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x2.c
674  src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x3.c
675  src/f32-f16-vcvt/gen/vcvt-scalar-fabsf-x4.c
676  src/f32-gavgpool-cw/scalar-x1.c
677  src/f32-gavgpool/7p7x-minmax-scalar-c1.c
678  src/f32-gavgpool/7x-minmax-scalar-c1.c
679  src/f32-gemm/gen-inc/1x4inc-minmax-scalar.c
680  src/f32-gemm/gen-inc/2x4inc-minmax-scalar.c
681  src/f32-gemm/gen-inc/4x4inc-minmax-scalar.c
682  src/f32-gemm/gen/1x4-minmax-scalar.c
683  src/f32-gemm/gen/1x4-relu-scalar.c
684  src/f32-gemm/gen/1x4-scalar.c
685  src/f32-gemm/gen/2x4-minmax-scalar.c
686  src/f32-gemm/gen/2x4-relu-scalar.c
687  src/f32-gemm/gen/2x4-scalar.c
688  src/f32-gemm/gen/4x2-minmax-scalar.c
689  src/f32-gemm/gen/4x2-relu-scalar.c
690  src/f32-gemm/gen/4x2-scalar.c
691  src/f32-gemm/gen/4x4-minmax-scalar.c
692  src/f32-gemm/gen/4x4-relu-scalar.c
693  src/f32-gemm/gen/4x4-scalar.c
694  src/f32-ibilinear-chw/gen/scalar-p1.c
695  src/f32-ibilinear-chw/gen/scalar-p2.c
696  src/f32-ibilinear-chw/gen/scalar-p4.c
697  src/f32-ibilinear/gen/scalar-c1.c
698  src/f32-ibilinear/gen/scalar-c2.c
699  src/f32-ibilinear/gen/scalar-c4.c
700  src/f32-igemm/gen/1x4-minmax-scalar.c
701  src/f32-igemm/gen/1x4-relu-scalar.c
702  src/f32-igemm/gen/1x4-scalar.c
703  src/f32-igemm/gen/2x4-minmax-scalar.c
704  src/f32-igemm/gen/2x4-relu-scalar.c
705  src/f32-igemm/gen/2x4-scalar.c
706  src/f32-igemm/gen/4x2-minmax-scalar.c
707  src/f32-igemm/gen/4x2-relu-scalar.c
708  src/f32-igemm/gen/4x2-scalar.c
709  src/f32-igemm/gen/4x4-minmax-scalar.c
710  src/f32-igemm/gen/4x4-relu-scalar.c
711  src/f32-igemm/gen/4x4-scalar.c
712  src/f32-maxpool/9p8x-minmax-scalar-c1.c
713  src/f32-pavgpool/9p8x-minmax-scalar-c1.c
714  src/f32-pavgpool/9x-minmax-scalar-c1.c
715  src/f32-ppmm/gen/2x4-minmax-scalar.c
716  src/f32-ppmm/gen/3x3-minmax-scalar.c
717  src/f32-ppmm/gen/4x2-minmax-scalar.c
718  src/f32-ppmm/gen/4x4-minmax-scalar.c
719  src/f32-prelu/gen/scalar-2x1.c
720  src/f32-prelu/gen/scalar-2x4.c
721  src/f32-qs8-vcvt/gen/vcvt-scalar-fmagic-x1.c
722  src/f32-qs8-vcvt/gen/vcvt-scalar-fmagic-x2.c
723  src/f32-qs8-vcvt/gen/vcvt-scalar-fmagic-x3.c
724  src/f32-qs8-vcvt/gen/vcvt-scalar-fmagic-x4.c
725  src/f32-qs8-vcvt/gen/vcvt-scalar-imagic-x1.c
726  src/f32-qs8-vcvt/gen/vcvt-scalar-imagic-x2.c
727  src/f32-qs8-vcvt/gen/vcvt-scalar-imagic-x3.c
728  src/f32-qs8-vcvt/gen/vcvt-scalar-imagic-x4.c
729  src/f32-qs8-vcvt/gen/vcvt-scalar-lrintf-x1.c
730  src/f32-qs8-vcvt/gen/vcvt-scalar-lrintf-x2.c
731  src/f32-qs8-vcvt/gen/vcvt-scalar-lrintf-x3.c
732  src/f32-qs8-vcvt/gen/vcvt-scalar-lrintf-x4.c
733  src/f32-qu8-vcvt/gen/vcvt-scalar-fmagic-x1.c
734  src/f32-qu8-vcvt/gen/vcvt-scalar-fmagic-x2.c
735  src/f32-qu8-vcvt/gen/vcvt-scalar-fmagic-x3.c
736  src/f32-qu8-vcvt/gen/vcvt-scalar-fmagic-x4.c
737  src/f32-qu8-vcvt/gen/vcvt-scalar-imagic-x1.c
738  src/f32-qu8-vcvt/gen/vcvt-scalar-imagic-x2.c
739  src/f32-qu8-vcvt/gen/vcvt-scalar-imagic-x3.c
740  src/f32-qu8-vcvt/gen/vcvt-scalar-imagic-x4.c
741  src/f32-qu8-vcvt/gen/vcvt-scalar-lrintf-x1.c
742  src/f32-qu8-vcvt/gen/vcvt-scalar-lrintf-x2.c
743  src/f32-qu8-vcvt/gen/vcvt-scalar-lrintf-x3.c
744  src/f32-qu8-vcvt/gen/vcvt-scalar-lrintf-x4.c
745  src/f32-raddstoreexpminusmax/gen/scalar-rr2-lut64-p2-x1.c
746  src/f32-raddstoreexpminusmax/gen/scalar-rr2-lut64-p2-x2-acc2.c
747  src/f32-raddstoreexpminusmax/gen/scalar-rr2-lut64-p2-x2.c
748  src/f32-raddstoreexpminusmax/gen/scalar-rr2-lut64-p2-x4-acc2.c
749  src/f32-raddstoreexpminusmax/gen/scalar-rr2-lut64-p2-x4-acc4.c
750  src/f32-raddstoreexpminusmax/gen/scalar-rr2-lut64-p2-x4.c
751  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x1.c
752  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x2-acc2.c
753  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x2.c
754  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x4-acc2.c
755  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x4-acc4.c
756  src/f32-raddstoreexpminusmax/gen/scalar-rr2-p5-x4.c
757  src/f32-rmax/scalar.c
758  src/f32-spmm/gen/1x1-minmax-scalar-pipelined.c
759  src/f32-spmm/gen/1x1-minmax-scalar.c
760  src/f32-spmm/gen/2x1-minmax-scalar-pipelined.c
761  src/f32-spmm/gen/2x1-minmax-scalar.c
762  src/f32-spmm/gen/4x1-minmax-scalar-pipelined.c
763  src/f32-spmm/gen/4x1-minmax-scalar.c
764  src/f32-spmm/gen/8x1-minmax-scalar-pipelined.c
765  src/f32-spmm/gen/8x1-minmax-scalar.c
766  src/f32-spmm/gen/8x2-minmax-scalar.c
767  src/f32-spmm/gen/8x4-minmax-scalar.c
768  src/f32-vbinary/gen/vadd-minmax-scalar-x1.c
769  src/f32-vbinary/gen/vadd-minmax-scalar-x2.c
770  src/f32-vbinary/gen/vadd-minmax-scalar-x4.c
771  src/f32-vbinary/gen/vadd-minmax-scalar-x8.c
772  src/f32-vbinary/gen/vadd-relu-scalar-x1.c
773  src/f32-vbinary/gen/vadd-relu-scalar-x2.c
774  src/f32-vbinary/gen/vadd-relu-scalar-x4.c
775  src/f32-vbinary/gen/vadd-relu-scalar-x8.c
776  src/f32-vbinary/gen/vadd-scalar-x1.c
777  src/f32-vbinary/gen/vadd-scalar-x2.c
778  src/f32-vbinary/gen/vadd-scalar-x4.c
779  src/f32-vbinary/gen/vadd-scalar-x8.c
780  src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c
781  src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c
782  src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c
783  src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c
784  src/f32-vbinary/gen/vaddc-relu-scalar-x1.c
785  src/f32-vbinary/gen/vaddc-relu-scalar-x2.c
786  src/f32-vbinary/gen/vaddc-relu-scalar-x4.c
787  src/f32-vbinary/gen/vaddc-relu-scalar-x8.c
788  src/f32-vbinary/gen/vaddc-scalar-x1.c
789  src/f32-vbinary/gen/vaddc-scalar-x2.c
790  src/f32-vbinary/gen/vaddc-scalar-x4.c
791  src/f32-vbinary/gen/vaddc-scalar-x8.c
792  src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c
793  src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c
794  src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c
795  src/f32-vbinary/gen/vdiv-minmax-scalar-x8.c
796  src/f32-vbinary/gen/vdiv-relu-scalar-x1.c
797  src/f32-vbinary/gen/vdiv-relu-scalar-x2.c
798  src/f32-vbinary/gen/vdiv-relu-scalar-x4.c
799  src/f32-vbinary/gen/vdiv-relu-scalar-x8.c
800  src/f32-vbinary/gen/vdiv-scalar-x1.c
801  src/f32-vbinary/gen/vdiv-scalar-x2.c
802  src/f32-vbinary/gen/vdiv-scalar-x4.c
803  src/f32-vbinary/gen/vdiv-scalar-x8.c
804  src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c
805  src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c
806  src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c
807  src/f32-vbinary/gen/vdivc-minmax-scalar-x8.c
808  src/f32-vbinary/gen/vdivc-relu-scalar-x1.c
809  src/f32-vbinary/gen/vdivc-relu-scalar-x2.c
810  src/f32-vbinary/gen/vdivc-relu-scalar-x4.c
811  src/f32-vbinary/gen/vdivc-relu-scalar-x8.c
812  src/f32-vbinary/gen/vdivc-scalar-x1.c
813  src/f32-vbinary/gen/vdivc-scalar-x2.c
814  src/f32-vbinary/gen/vdivc-scalar-x4.c
815  src/f32-vbinary/gen/vdivc-scalar-x8.c
816  src/f32-vbinary/gen/vmax-scalar-x1.c
817  src/f32-vbinary/gen/vmax-scalar-x2.c
818  src/f32-vbinary/gen/vmax-scalar-x4.c
819  src/f32-vbinary/gen/vmax-scalar-x8.c
820  src/f32-vbinary/gen/vmaxc-scalar-x1.c
821  src/f32-vbinary/gen/vmaxc-scalar-x2.c
822  src/f32-vbinary/gen/vmaxc-scalar-x4.c
823  src/f32-vbinary/gen/vmaxc-scalar-x8.c
824  src/f32-vbinary/gen/vmin-scalar-x1.c
825  src/f32-vbinary/gen/vmin-scalar-x2.c
826  src/f32-vbinary/gen/vmin-scalar-x4.c
827  src/f32-vbinary/gen/vmin-scalar-x8.c
828  src/f32-vbinary/gen/vminc-scalar-x1.c
829  src/f32-vbinary/gen/vminc-scalar-x2.c
830  src/f32-vbinary/gen/vminc-scalar-x4.c
831  src/f32-vbinary/gen/vminc-scalar-x8.c
832  src/f32-vbinary/gen/vmul-minmax-scalar-x1.c
833  src/f32-vbinary/gen/vmul-minmax-scalar-x2.c
834  src/f32-vbinary/gen/vmul-minmax-scalar-x4.c
835  src/f32-vbinary/gen/vmul-minmax-scalar-x8.c
836  src/f32-vbinary/gen/vmul-relu-scalar-x1.c
837  src/f32-vbinary/gen/vmul-relu-scalar-x2.c
838  src/f32-vbinary/gen/vmul-relu-scalar-x4.c
839  src/f32-vbinary/gen/vmul-relu-scalar-x8.c
840  src/f32-vbinary/gen/vmul-scalar-x1.c
841  src/f32-vbinary/gen/vmul-scalar-x2.c
842  src/f32-vbinary/gen/vmul-scalar-x4.c
843  src/f32-vbinary/gen/vmul-scalar-x8.c
844  src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c
845  src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c
846  src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c
847  src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c
848  src/f32-vbinary/gen/vmulc-relu-scalar-x1.c
849  src/f32-vbinary/gen/vmulc-relu-scalar-x2.c
850  src/f32-vbinary/gen/vmulc-relu-scalar-x4.c
851  src/f32-vbinary/gen/vmulc-relu-scalar-x8.c
852  src/f32-vbinary/gen/vmulc-scalar-x1.c
853  src/f32-vbinary/gen/vmulc-scalar-x2.c
854  src/f32-vbinary/gen/vmulc-scalar-x4.c
855  src/f32-vbinary/gen/vmulc-scalar-x8.c
856  src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c
857  src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c
858  src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c
859  src/f32-vbinary/gen/vrdivc-minmax-scalar-x8.c
860  src/f32-vbinary/gen/vrdivc-relu-scalar-x1.c
861  src/f32-vbinary/gen/vrdivc-relu-scalar-x2.c
862  src/f32-vbinary/gen/vrdivc-relu-scalar-x4.c
863  src/f32-vbinary/gen/vrdivc-relu-scalar-x8.c
864  src/f32-vbinary/gen/vrdivc-scalar-x1.c
865  src/f32-vbinary/gen/vrdivc-scalar-x2.c
866  src/f32-vbinary/gen/vrdivc-scalar-x4.c
867  src/f32-vbinary/gen/vrdivc-scalar-x8.c
868  src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c
869  src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c
870  src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c
871  src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c
872  src/f32-vbinary/gen/vrsubc-relu-scalar-x1.c
873  src/f32-vbinary/gen/vrsubc-relu-scalar-x2.c
874  src/f32-vbinary/gen/vrsubc-relu-scalar-x4.c
875  src/f32-vbinary/gen/vrsubc-relu-scalar-x8.c
876  src/f32-vbinary/gen/vrsubc-scalar-x1.c
877  src/f32-vbinary/gen/vrsubc-scalar-x2.c
878  src/f32-vbinary/gen/vrsubc-scalar-x4.c
879  src/f32-vbinary/gen/vrsubc-scalar-x8.c
880  src/f32-vbinary/gen/vsqrdiff-scalar-x1.c
881  src/f32-vbinary/gen/vsqrdiff-scalar-x2.c
882  src/f32-vbinary/gen/vsqrdiff-scalar-x4.c
883  src/f32-vbinary/gen/vsqrdiff-scalar-x8.c
884  src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c
885  src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c
886  src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c
887  src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c
888  src/f32-vbinary/gen/vsub-minmax-scalar-x1.c
889  src/f32-vbinary/gen/vsub-minmax-scalar-x2.c
890  src/f32-vbinary/gen/vsub-minmax-scalar-x4.c
891  src/f32-vbinary/gen/vsub-minmax-scalar-x8.c
892  src/f32-vbinary/gen/vsub-relu-scalar-x1.c
893  src/f32-vbinary/gen/vsub-relu-scalar-x2.c
894  src/f32-vbinary/gen/vsub-relu-scalar-x4.c
895  src/f32-vbinary/gen/vsub-relu-scalar-x8.c
896  src/f32-vbinary/gen/vsub-scalar-x1.c
897  src/f32-vbinary/gen/vsub-scalar-x2.c
898  src/f32-vbinary/gen/vsub-scalar-x4.c
899  src/f32-vbinary/gen/vsub-scalar-x8.c
900  src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c
901  src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c
902  src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c
903  src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c
904  src/f32-vbinary/gen/vsubc-relu-scalar-x1.c
905  src/f32-vbinary/gen/vsubc-relu-scalar-x2.c
906  src/f32-vbinary/gen/vsubc-relu-scalar-x4.c
907  src/f32-vbinary/gen/vsubc-relu-scalar-x8.c
908  src/f32-vbinary/gen/vsubc-scalar-x1.c
909  src/f32-vbinary/gen/vsubc-scalar-x2.c
910  src/f32-vbinary/gen/vsubc-scalar-x4.c
911  src/f32-vbinary/gen/vsubc-scalar-x8.c
912  src/f32-vclamp/gen/vclamp-scalar-x1.c
913  src/f32-vclamp/gen/vclamp-scalar-x2.c
914  src/f32-vclamp/gen/vclamp-scalar-x4.c
915  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x1.c
916  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x2.c
917  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x3.c
918  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x4.c
919  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x5.c
920  src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x6.c
921  src/f32-velu/gen/velu-scalar-rr2-p6-x1.c
922  src/f32-velu/gen/velu-scalar-rr2-p6-x2.c
923  src/f32-velu/gen/velu-scalar-rr2-p6-x3.c
924  src/f32-velu/gen/velu-scalar-rr2-p6-x4.c
925  src/f32-velu/gen/velu-scalar-rr2-p6-x5.c
926  src/f32-velu/gen/velu-scalar-rr2-p6-x6.c
927  src/f32-vhswish/gen/vhswish-scalar-x1.c
928  src/f32-vhswish/gen/vhswish-scalar-x2.c
929  src/f32-vhswish/gen/vhswish-scalar-x4.c
930  src/f32-vlrelu/gen/vlrelu-scalar-x1.c
931  src/f32-vlrelu/gen/vlrelu-scalar-x2.c
932  src/f32-vlrelu/gen/vlrelu-scalar-x4.c
933  src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c
934  src/f32-vmulcaddc/gen/c2-minmax-scalar-2x.c
935  src/f32-vmulcaddc/gen/c4-minmax-scalar-2x.c
936  src/f32-vrelu/gen/vrelu-scalar-x1.c
937  src/f32-vrelu/gen/vrelu-scalar-x2.c
938  src/f32-vrelu/gen/vrelu-scalar-x4.c
939  src/f32-vrelu/gen/vrelu-scalar-x8.c
940  src/f32-vrnd/gen/vrndd-scalar-libm-x1.c
941  src/f32-vrnd/gen/vrndd-scalar-libm-x2.c
942  src/f32-vrnd/gen/vrndd-scalar-libm-x4.c
943  src/f32-vrnd/gen/vrndne-scalar-libm-x1.c
944  src/f32-vrnd/gen/vrndne-scalar-libm-x2.c
945  src/f32-vrnd/gen/vrndne-scalar-libm-x4.c
946  src/f32-vrnd/gen/vrndu-scalar-libm-x1.c
947  src/f32-vrnd/gen/vrndu-scalar-libm-x2.c
948  src/f32-vrnd/gen/vrndu-scalar-libm-x4.c
949  src/f32-vrnd/gen/vrndz-scalar-libm-x1.c
950  src/f32-vrnd/gen/vrndz-scalar-libm-x2.c
951  src/f32-vrnd/gen/vrndz-scalar-libm-x4.c
952  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut64-p2-div-x1.c
953  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut64-p2-div-x2.c
954  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut64-p2-div-x4.c
955  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut2048-p1-div-x1.c
956  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut2048-p1-div-x2.c
957  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-lut2048-p1-div-x4.c
958  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-p5-div-x1.c
959  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-p5-div-x2.c
960  src/f32-vsigmoid/gen/vsigmoid-scalar-rr2-p5-div-x4.c
961  src/f32-vsqrt/gen/scalar-sqrt-x1.c
962  src/f32-vsqrt/gen/scalar-sqrt-x2.c
963  src/f32-vsqrt/gen/scalar-sqrt-x4.c
964  src/f32-vunary/gen/vabs-scalar-x1.c
965  src/f32-vunary/gen/vabs-scalar-x2.c
966  src/f32-vunary/gen/vabs-scalar-x4.c
967  src/f32-vunary/gen/vneg-scalar-x1.c
968  src/f32-vunary/gen/vneg-scalar-x2.c
969  src/f32-vunary/gen/vneg-scalar-x4.c
970  src/f32-vunary/gen/vsqr-scalar-x1.c
971  src/f32-vunary/gen/vsqr-scalar-x2.c
972  src/f32-vunary/gen/vsqr-scalar-x4.c
973  src/math/cvt-f32-f16-scalar-bitcast.c
974  src/math/cvt-f32-f16-scalar-fabsf.c
975  src/math/expm1minus-scalar-rr2-lut4-p4.c
976  src/math/expm1minus-scalar-rr2-lut8-p3.c
977  src/math/expm1minus-scalar-rr2-lut8-p4.c
978  src/math/expm1minus-scalar-rr2-lut16-p3.c
979  src/math/expm1minus-scalar-rr2-lut16-p4.c
980  src/math/expm1minus-scalar-rr2-p5.c
981  src/math/expm1minus-scalar-rr2-p6.c
982  src/math/expminus-scalar-rr2-lut64-p2.c
983  src/math/expminus-scalar-rr2-lut2048-p1.c
984  src/math/expminus-scalar-rr2-p5.c
985  src/math/roundd-scalar-addsub.c
986  src/math/roundd-scalar-cvt.c
987  src/math/roundd-scalar-floor.c
988  src/math/roundne-scalar-addsub.c
989  src/math/roundne-scalar-nearbyint.c
990  src/math/roundne-scalar-rint.c
991  src/math/roundu-scalar-addsub.c
992  src/math/roundu-scalar-ceil.c
993  src/math/roundu-scalar-cvt.c
994  src/math/roundz-scalar-addsub.c
995  src/math/roundz-scalar-cvt.c
996  src/math/roundz-scalar-trunc.c
997  src/math/sigmoid-scalar-rr2-lut64-p2-div.c
998  src/math/sigmoid-scalar-rr2-lut2048-p1-div.c
999  src/math/sigmoid-scalar-rr2-p5-div.c
1000  src/params-init.c
1001  src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c
1002  src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-imagic.c
1003  src/qc8-dwconv/gen/up1x9-minmax-fp32-scalar-lrintf.c
1004  src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c
1005  src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-imagic.c
1006  src/qc8-dwconv/gen/up1x25-minmax-fp32-scalar-lrintf.c
1007  src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c
1008  src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-imagic.c
1009  src/qc8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c
1010  src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c
1011  src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-imagic.c
1012  src/qc8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c
1013  src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-fmagic.c
1014  src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-imagic.c
1015  src/qc8-dwconv/gen/up4x9-minmax-fp32-scalar-lrintf.c
1016  src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-fmagic.c
1017  src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-imagic.c
1018  src/qc8-dwconv/gen/up4x25-minmax-fp32-scalar-lrintf.c
1019  src/qc8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c
1020  src/qc8-gemm/gen/1x2-minmax-fp32-scalar-imagic.c
1021  src/qc8-gemm/gen/1x2-minmax-fp32-scalar-lrintf.c
1022  src/qc8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c
1023  src/qc8-gemm/gen/1x4-minmax-fp32-scalar-imagic.c
1024  src/qc8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c
1025  src/qc8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c
1026  src/qc8-gemm/gen/2x2-minmax-fp32-scalar-imagic.c
1027  src/qc8-gemm/gen/2x2-minmax-fp32-scalar-lrintf.c
1028  src/qc8-gemm/gen/2x4-minmax-fp32-scalar-fmagic.c
1029  src/qc8-gemm/gen/2x4-minmax-fp32-scalar-imagic.c
1030  src/qc8-gemm/gen/2x4-minmax-fp32-scalar-lrintf.c
1031  src/qc8-gemm/gen/3x2-minmax-fp32-scalar-fmagic.c
1032  src/qc8-gemm/gen/3x2-minmax-fp32-scalar-imagic.c
1033  src/qc8-gemm/gen/3x2-minmax-fp32-scalar-lrintf.c
1034  src/qc8-gemm/gen/3x4-minmax-fp32-scalar-fmagic.c
1035  src/qc8-gemm/gen/3x4-minmax-fp32-scalar-imagic.c
1036  src/qc8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c
1037  src/qc8-gemm/gen/4x2-minmax-fp32-scalar-fmagic.c
1038  src/qc8-gemm/gen/4x2-minmax-fp32-scalar-imagic.c
1039  src/qc8-gemm/gen/4x2-minmax-fp32-scalar-lrintf.c
1040  src/qc8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c
1041  src/qc8-gemm/gen/4x4-minmax-fp32-scalar-imagic.c
1042  src/qc8-gemm/gen/4x4-minmax-fp32-scalar-lrintf.c
1043  src/qc8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c
1044  src/qc8-igemm/gen/1x2-minmax-fp32-scalar-imagic.c
1045  src/qc8-igemm/gen/1x2-minmax-fp32-scalar-lrintf.c
1046  src/qc8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c
1047  src/qc8-igemm/gen/1x4-minmax-fp32-scalar-imagic.c
1048  src/qc8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c
1049  src/qc8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c
1050  src/qc8-igemm/gen/2x2-minmax-fp32-scalar-imagic.c
1051  src/qc8-igemm/gen/2x2-minmax-fp32-scalar-lrintf.c
1052  src/qc8-igemm/gen/2x4-minmax-fp32-scalar-fmagic.c
1053  src/qc8-igemm/gen/2x4-minmax-fp32-scalar-imagic.c
1054  src/qc8-igemm/gen/2x4-minmax-fp32-scalar-lrintf.c
1055  src/qc8-igemm/gen/3x2-minmax-fp32-scalar-fmagic.c
1056  src/qc8-igemm/gen/3x2-minmax-fp32-scalar-imagic.c
1057  src/qc8-igemm/gen/3x2-minmax-fp32-scalar-lrintf.c
1058  src/qc8-igemm/gen/3x4-minmax-fp32-scalar-fmagic.c
1059  src/qc8-igemm/gen/3x4-minmax-fp32-scalar-imagic.c
1060  src/qc8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c
1061  src/qc8-igemm/gen/4x2-minmax-fp32-scalar-fmagic.c
1062  src/qc8-igemm/gen/4x2-minmax-fp32-scalar-imagic.c
1063  src/qc8-igemm/gen/4x2-minmax-fp32-scalar-lrintf.c
1064  src/qc8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c
1065  src/qc8-igemm/gen/4x4-minmax-fp32-scalar-imagic.c
1066  src/qc8-igemm/gen/4x4-minmax-fp32-scalar-lrintf.c
1067  src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c
1068  src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-imagic.c
1069  src/qs8-dwconv/gen/up1x9-minmax-fp32-scalar-lrintf.c
1070  src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c
1071  src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-imagic.c
1072  src/qs8-dwconv/gen/up1x25-minmax-fp32-scalar-lrintf.c
1073  src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c
1074  src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-imagic.c
1075  src/qs8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c
1076  src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c
1077  src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-imagic.c
1078  src/qs8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c
1079  src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-fmagic.c
1080  src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-imagic.c
1081  src/qs8-dwconv/gen/up4x9-minmax-fp32-scalar-lrintf.c
1082  src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-fmagic.c
1083  src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-imagic.c
1084  src/qs8-dwconv/gen/up4x25-minmax-fp32-scalar-lrintf.c
1085  src/qs8-f32-vcvt/gen/vcvt-scalar-x1.c
1086  src/qs8-f32-vcvt/gen/vcvt-scalar-x2.c
1087  src/qs8-f32-vcvt/gen/vcvt-scalar-x3.c
1088  src/qs8-f32-vcvt/gen/vcvt-scalar-x4.c
1089  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c1.c
1090  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c2.c
1091  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c4.c
1092  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c
1093  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c2.c
1094  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c4.c
1095  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c1.c
1096  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c2.c
1097  src/qs8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c4.c
1098  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c1.c
1099  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c2.c
1100  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c4.c
1101  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c
1102  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c2.c
1103  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c4.c
1104  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c1.c
1105  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c2.c
1106  src/qs8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c4.c
1107  src/qs8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c
1108  src/qs8-gemm/gen/1x2-minmax-fp32-scalar-imagic.c
1109  src/qs8-gemm/gen/1x2-minmax-fp32-scalar-lrintf.c
1110  src/qs8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c
1111  src/qs8-gemm/gen/1x4-minmax-fp32-scalar-imagic.c
1112  src/qs8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c
1113  src/qs8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c
1114  src/qs8-gemm/gen/2x2-minmax-fp32-scalar-imagic.c
1115  src/qs8-gemm/gen/2x2-minmax-fp32-scalar-lrintf.c
1116  src/qs8-gemm/gen/2x4-minmax-fp32-scalar-fmagic.c
1117  src/qs8-gemm/gen/2x4-minmax-fp32-scalar-imagic.c
1118  src/qs8-gemm/gen/2x4-minmax-fp32-scalar-lrintf.c
1119  src/qs8-gemm/gen/3x2-minmax-fp32-scalar-fmagic.c
1120  src/qs8-gemm/gen/3x2-minmax-fp32-scalar-imagic.c
1121  src/qs8-gemm/gen/3x2-minmax-fp32-scalar-lrintf.c
1122  src/qs8-gemm/gen/3x4-minmax-fp32-scalar-fmagic.c
1123  src/qs8-gemm/gen/3x4-minmax-fp32-scalar-imagic.c
1124  src/qs8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c
1125  src/qs8-gemm/gen/4x2-minmax-fp32-scalar-fmagic.c
1126  src/qs8-gemm/gen/4x2-minmax-fp32-scalar-imagic.c
1127  src/qs8-gemm/gen/4x2-minmax-fp32-scalar-lrintf.c
1128  src/qs8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c
1129  src/qs8-gemm/gen/4x4-minmax-fp32-scalar-imagic.c
1130  src/qs8-gemm/gen/4x4-minmax-fp32-scalar-lrintf.c
1131  src/qs8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c
1132  src/qs8-igemm/gen/1x2-minmax-fp32-scalar-imagic.c
1133  src/qs8-igemm/gen/1x2-minmax-fp32-scalar-lrintf.c
1134  src/qs8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c
1135  src/qs8-igemm/gen/1x4-minmax-fp32-scalar-imagic.c
1136  src/qs8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c
1137  src/qs8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c
1138  src/qs8-igemm/gen/2x2-minmax-fp32-scalar-imagic.c
1139  src/qs8-igemm/gen/2x2-minmax-fp32-scalar-lrintf.c
1140  src/qs8-igemm/gen/2x4-minmax-fp32-scalar-fmagic.c
1141  src/qs8-igemm/gen/2x4-minmax-fp32-scalar-imagic.c
1142  src/qs8-igemm/gen/2x4-minmax-fp32-scalar-lrintf.c
1143  src/qs8-igemm/gen/3x2-minmax-fp32-scalar-fmagic.c
1144  src/qs8-igemm/gen/3x2-minmax-fp32-scalar-imagic.c
1145  src/qs8-igemm/gen/3x2-minmax-fp32-scalar-lrintf.c
1146  src/qs8-igemm/gen/3x4-minmax-fp32-scalar-fmagic.c
1147  src/qs8-igemm/gen/3x4-minmax-fp32-scalar-imagic.c
1148  src/qs8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c
1149  src/qs8-igemm/gen/4x2-minmax-fp32-scalar-fmagic.c
1150  src/qs8-igemm/gen/4x2-minmax-fp32-scalar-imagic.c
1151  src/qs8-igemm/gen/4x2-minmax-fp32-scalar-lrintf.c
1152  src/qs8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c
1153  src/qs8-igemm/gen/4x4-minmax-fp32-scalar-imagic.c
1154  src/qs8-igemm/gen/4x4-minmax-fp32-scalar-lrintf.c
1155  src/qs8-requantization/fp32-scalar-fmagic.c
1156  src/qs8-requantization/fp32-scalar-lrintf.c
1157  src/qs8-requantization/gemmlowp-scalar.c
1158  src/qs8-requantization/rndna-scalar-signed64.c
1159  src/qs8-requantization/rndna-scalar-unsigned32.c
1160  src/qs8-requantization/rndna-scalar-unsigned64.c
1161  src/qs8-requantization/rndnu-scalar.c
1162  src/qs8-vadd/gen/minmax-scalar-x1.c
1163  src/qs8-vadd/gen/minmax-scalar-x2.c
1164  src/qs8-vadd/gen/minmax-scalar-x4.c
1165  src/qs8-vaddc/gen/minmax-scalar-x1.c
1166  src/qs8-vaddc/gen/minmax-scalar-x2.c
1167  src/qs8-vaddc/gen/minmax-scalar-x4.c
1168  src/qs8-vmul/gen/minmax-fp32-scalar-x1.c
1169  src/qs8-vmul/gen/minmax-fp32-scalar-x2.c
1170  src/qs8-vmul/gen/minmax-fp32-scalar-x4.c
1171  src/qs8-vmulc/gen/minmax-fp32-scalar-x1.c
1172  src/qs8-vmulc/gen/minmax-fp32-scalar-x2.c
1173  src/qs8-vmulc/gen/minmax-fp32-scalar-x4.c
1174  src/qu8-avgpool/9p8x-minmax-scalar-c1.c
1175  src/qu8-avgpool/9x-minmax-scalar-c1.c
1176  src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-fmagic.c
1177  src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-imagic.c
1178  src/qu8-dwconv/gen/up1x9-minmax-fp32-scalar-lrintf.c
1179  src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-fmagic.c
1180  src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-imagic.c
1181  src/qu8-dwconv/gen/up1x25-minmax-fp32-scalar-lrintf.c
1182  src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-fmagic.c
1183  src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-imagic.c
1184  src/qu8-dwconv/gen/up2x9-minmax-fp32-scalar-lrintf.c
1185  src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-fmagic.c
1186  src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-imagic.c
1187  src/qu8-dwconv/gen/up2x25-minmax-fp32-scalar-lrintf.c
1188  src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-fmagic.c
1189  src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-imagic.c
1190  src/qu8-dwconv/gen/up4x9-minmax-fp32-scalar-lrintf.c
1191  src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-fmagic.c
1192  src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-imagic.c
1193  src/qu8-dwconv/gen/up4x25-minmax-fp32-scalar-lrintf.c
1194  src/qu8-f32-vcvt/gen/vcvt-scalar-x1.c
1195  src/qu8-f32-vcvt/gen/vcvt-scalar-x2.c
1196  src/qu8-f32-vcvt/gen/vcvt-scalar-x3.c
1197  src/qu8-f32-vcvt/gen/vcvt-scalar-x4.c
1198  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c1.c
1199  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c2.c
1200  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-fmagic-c4.c
1201  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c1.c
1202  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c2.c
1203  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-imagic-c4.c
1204  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c1.c
1205  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c2.c
1206  src/qu8-gavgpool/gen/7p7x-minmax-fp32-scalar-lrintf-c4.c
1207  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c1.c
1208  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c2.c
1209  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-fmagic-c4.c
1210  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c1.c
1211  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c2.c
1212  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-imagic-c4.c
1213  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c1.c
1214  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c2.c
1215  src/qu8-gavgpool/gen/7x-minmax-fp32-scalar-lrintf-c4.c
1216  src/qu8-gemm/gen/1x2-minmax-fp32-scalar-fmagic.c
1217  src/qu8-gemm/gen/1x2-minmax-fp32-scalar-imagic.c
1218  src/qu8-gemm/gen/1x2-minmax-fp32-scalar-lrintf.c
1219  src/qu8-gemm/gen/1x4-minmax-fp32-scalar-fmagic.c
1220  src/qu8-gemm/gen/1x4-minmax-fp32-scalar-imagic.c
1221  src/qu8-gemm/gen/1x4-minmax-fp32-scalar-lrintf.c
1222  src/qu8-gemm/gen/2x2-minmax-fp32-scalar-fmagic.c
1223  src/qu8-gemm/gen/2x2-minmax-fp32-scalar-imagic.c
1224  src/qu8-gemm/gen/2x2-minmax-fp32-scalar-lrintf.c
1225  src/qu8-gemm/gen/2x4-minmax-fp32-scalar-fmagic.c
1226  src/qu8-gemm/gen/2x4-minmax-fp32-scalar-imagic.c
1227  src/qu8-gemm/gen/2x4-minmax-fp32-scalar-lrintf.c
1228  src/qu8-gemm/gen/3x2-minmax-fp32-scalar-fmagic.c
1229  src/qu8-gemm/gen/3x2-minmax-fp32-scalar-imagic.c
1230  src/qu8-gemm/gen/3x2-minmax-fp32-scalar-lrintf.c
1231  src/qu8-gemm/gen/3x4-minmax-fp32-scalar-fmagic.c
1232  src/qu8-gemm/gen/3x4-minmax-fp32-scalar-imagic.c
1233  src/qu8-gemm/gen/3x4-minmax-fp32-scalar-lrintf.c
1234  src/qu8-gemm/gen/4x2-minmax-fp32-scalar-fmagic.c
1235  src/qu8-gemm/gen/4x2-minmax-fp32-scalar-imagic.c
1236  src/qu8-gemm/gen/4x2-minmax-fp32-scalar-lrintf.c
1237  src/qu8-gemm/gen/4x4-minmax-fp32-scalar-fmagic.c
1238  src/qu8-gemm/gen/4x4-minmax-fp32-scalar-imagic.c
1239  src/qu8-gemm/gen/4x4-minmax-fp32-scalar-lrintf.c
1240  src/qu8-igemm/gen/1x2-minmax-fp32-scalar-fmagic.c
1241  src/qu8-igemm/gen/1x2-minmax-fp32-scalar-imagic.c
1242  src/qu8-igemm/gen/1x2-minmax-fp32-scalar-lrintf.c
1243  src/qu8-igemm/gen/1x4-minmax-fp32-scalar-fmagic.c
1244  src/qu8-igemm/gen/1x4-minmax-fp32-scalar-imagic.c
1245  src/qu8-igemm/gen/1x4-minmax-fp32-scalar-lrintf.c
1246  src/qu8-igemm/gen/2x2-minmax-fp32-scalar-fmagic.c
1247  src/qu8-igemm/gen/2x2-minmax-fp32-scalar-imagic.c
1248  src/qu8-igemm/gen/2x2-minmax-fp32-scalar-lrintf.c
1249  src/qu8-igemm/gen/2x4-minmax-fp32-scalar-fmagic.c
1250  src/qu8-igemm/gen/2x4-minmax-fp32-scalar-imagic.c
1251  src/qu8-igemm/gen/2x4-minmax-fp32-scalar-lrintf.c
1252  src/qu8-igemm/gen/3x2-minmax-fp32-scalar-fmagic.c
1253  src/qu8-igemm/gen/3x2-minmax-fp32-scalar-imagic.c
1254  src/qu8-igemm/gen/3x2-minmax-fp32-scalar-lrintf.c
1255  src/qu8-igemm/gen/3x4-minmax-fp32-scalar-fmagic.c
1256  src/qu8-igemm/gen/3x4-minmax-fp32-scalar-imagic.c
1257  src/qu8-igemm/gen/3x4-minmax-fp32-scalar-lrintf.c
1258  src/qu8-igemm/gen/4x2-minmax-fp32-scalar-fmagic.c
1259  src/qu8-igemm/gen/4x2-minmax-fp32-scalar-imagic.c
1260  src/qu8-igemm/gen/4x2-minmax-fp32-scalar-lrintf.c
1261  src/qu8-igemm/gen/4x4-minmax-fp32-scalar-fmagic.c
1262  src/qu8-igemm/gen/4x4-minmax-fp32-scalar-imagic.c
1263  src/qu8-igemm/gen/4x4-minmax-fp32-scalar-lrintf.c
1264  src/qu8-requantization/fp32-scalar-fmagic.c
1265  src/qu8-requantization/fp32-scalar-lrintf.c
1266  src/qu8-requantization/gemmlowp-scalar.c
1267  src/qu8-requantization/rndna-scalar-signed64.c
1268  src/qu8-requantization/rndna-scalar-unsigned32.c
1269  src/qu8-requantization/rndna-scalar-unsigned64.c
1270  src/qu8-vadd/gen/minmax-scalar-x1.c
1271  src/qu8-vadd/gen/minmax-scalar-x2.c
1272  src/qu8-vadd/gen/minmax-scalar-x4.c
1273  src/qu8-vaddc/gen/minmax-scalar-x1.c
1274  src/qu8-vaddc/gen/minmax-scalar-x2.c
1275  src/qu8-vaddc/gen/minmax-scalar-x4.c
1276  src/qu8-vmul/gen/minmax-fp32-scalar-x1.c
1277  src/qu8-vmul/gen/minmax-fp32-scalar-x2.c
1278  src/qu8-vmul/gen/minmax-fp32-scalar-x4.c
1279  src/qu8-vmulc/gen/minmax-fp32-scalar-x1.c
1280  src/qu8-vmulc/gen/minmax-fp32-scalar-x2.c
1281  src/qu8-vmulc/gen/minmax-fp32-scalar-x4.c
1282  src/s8-ibilinear/gen/scalar-c1.c
1283  src/s8-ibilinear/gen/scalar-c2.c
1284  src/s8-ibilinear/gen/scalar-c4.c
1285  src/s8-maxpool/9p8x-minmax-scalar-c1.c
1286  src/s8-vclamp/scalar-x4.c
1287  src/u8-ibilinear/gen/scalar-c1.c
1288  src/u8-ibilinear/gen/scalar-c2.c
1289  src/u8-ibilinear/gen/scalar-c4.c
1290  src/u8-lut32norm/scalar.c
1291  src/u8-maxpool/9p8x-minmax-scalar-c1.c
1292  src/u8-rmax/scalar.c
1293  src/u8-vclamp/scalar-x4.c
1294  src/x8-lut/gen/lut-scalar-x1.c
1295  src/x8-lut/gen/lut-scalar-x2.c
1296  src/x8-lut/gen/lut-scalar-x4.c
1297  src/x8-lut/gen/lut-scalar-x8.c
1298  src/x8-lut/gen/lut-scalar-x16.c
1299  src/x8-transpose/gen/1x2-scalar-int.c
1300  src/x8-transpose/gen/1x4-scalar-int.c
1301  src/x8-transpose/gen/2x1-scalar-int.c
1302  src/x8-transpose/gen/2x2-scalar-int.c
1303  src/x8-transpose/gen/2x4-scalar-int.c
1304  src/x8-transpose/gen/4x1-scalar-int.c
1305  src/x8-transpose/gen/4x2-scalar-int.c
1306  src/x8-transpose/gen/4x4-scalar-int.c
1307  src/x8-zip/x2-scalar.c
1308  src/x8-zip/x3-scalar.c
1309  src/x8-zip/x4-scalar.c
1310  src/x8-zip/xm-scalar.c
1311  src/x16-transpose/gen/1x2-scalar-int.c
1312  src/x16-transpose/gen/1x4-scalar-int.c
1313  src/x16-transpose/gen/2x1-scalar-int.c
1314  src/x16-transpose/gen/2x2-scalar-int.c
1315  src/x16-transpose/gen/2x4-scalar-int.c
1316  src/x16-transpose/gen/4x1-scalar-int.c
1317  src/x16-transpose/gen/4x2-scalar-int.c
1318  src/x16-transpose/gen/4x4-scalar-int.c
1319  src/x32-depthtospace2d-chw2hwc/scalar.c
1320  src/x32-packx/x2-scalar.c
1321  src/x32-packx/x3-scalar.c
1322  src/x32-packx/x4-scalar.c
1323  src/x32-transpose/gen/1x2-scalar-float.c
1324  src/x32-transpose/gen/1x2-scalar-int.c
1325  src/x32-transpose/gen/1x4-scalar-float.c
1326  src/x32-transpose/gen/1x4-scalar-int.c
1327  src/x32-transpose/gen/2x1-scalar-float.c
1328  src/x32-transpose/gen/2x1-scalar-int.c
1329  src/x32-transpose/gen/2x2-scalar-float.c
1330  src/x32-transpose/gen/2x2-scalar-int.c
1331  src/x32-transpose/gen/2x4-scalar-float.c
1332  src/x32-transpose/gen/2x4-scalar-int.c
1333  src/x32-transpose/gen/4x1-scalar-float.c
1334  src/x32-transpose/gen/4x1-scalar-int.c
1335  src/x32-transpose/gen/4x2-scalar-float.c
1336  src/x32-transpose/gen/4x2-scalar-int.c
1337  src/x32-transpose/gen/4x4-scalar-float.c
1338  src/x32-transpose/gen/4x4-scalar-int.c
1339  src/x32-unpool/scalar.c
1340  src/x32-zip/x2-scalar.c
1341  src/x32-zip/x3-scalar.c
1342  src/x32-zip/x4-scalar.c
1343  src/x32-zip/xm-scalar.c
1344  src/x64-transpose/gen/1x2-scalar-float.c
1345  src/x64-transpose/gen/1x2-scalar-int.c
1346  src/x64-transpose/gen/2x1-scalar-float.c
1347  src/x64-transpose/gen/2x1-scalar-int.c
1348  src/x64-transpose/gen/2x2-scalar-float.c
1349  src/x64-transpose/gen/2x2-scalar-int.c
1350  src/x64-transpose/gen/4x1-scalar-float.c
1351  src/x64-transpose/gen/4x1-scalar-int.c
1352  src/x64-transpose/gen/4x2-scalar-float.c
1353  src/x64-transpose/gen/4x2-scalar-int.c
1354  src/xx-copy/memcpy.c
1355  src/xx-fill/scalar-x16.c
1356  src/xx-pad/scalar.c)
1357
1358SET(PROD_NEON_MICROKERNEL_SRCS
1359  src/f16-f32-vcvt/gen/vcvt-neon-int16-x16.c
1360  src/f32-argmaxpool/4x-neon-c4.c
1361  src/f32-argmaxpool/9p8x-neon-c4.c
1362  src/f32-argmaxpool/9x-neon-c4.c
1363  src/f32-avgpool/9p8x-minmax-neon-c4.c
1364  src/f32-avgpool/9x-minmax-neon-c4.c
1365  src/f32-conv-hwc2chw/3x3s2p1c3x4-neon-2x2.c
1366  src/f32-dwconv/gen/up8x3-minmax-neon.c
1367  src/f32-dwconv/gen/up8x4-minmax-neon.c
1368  src/f32-dwconv/gen/up8x9-minmax-neon.c
1369  src/f32-dwconv/gen/up8x25-minmax-neon-acc2.c
1370  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4.c
1371  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4.c
1372  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4.c
1373  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4.c
1374  src/f32-f16-vcvt/gen/vcvt-neon-x8.c
1375  src/f32-gavgpool-cw/neon-x4.c
1376  src/f32-gavgpool/7p7x-minmax-neon-c4.c
1377  src/f32-gavgpool/7x-minmax-neon-c4.c
1378  src/f32-gemm/gen/1x8-minmax-neon-lane-ld64.c
1379  src/f32-gemm/gen/4x2-minmax-neon-lane-ld64.c
1380  src/f32-gemm/gen/4x8-minmax-neon-lane-ld64.c
1381  src/f32-ibilinear-chw/gen/neon-p8.c
1382  src/f32-ibilinear/gen/neon-c8.c
1383  src/f32-igemm/gen/1x8-minmax-neon-lane-ld64.c
1384  src/f32-igemm/gen/4x2-minmax-neon-lane-ld64.c
1385  src/f32-igemm/gen/4x8-minmax-neon-lane-ld64.c
1386  src/f32-maxpool/9p8x-minmax-neon-c4.c
1387  src/f32-pavgpool/9p8x-minmax-neon-c4.c
1388  src/f32-pavgpool/9x-minmax-neon-c4.c
1389  src/f32-prelu/gen/neon-2x8.c
1390  src/f32-qs8-vcvt/gen/vcvt-neon-x32.c
1391  src/f32-qu8-vcvt/gen/vcvt-neon-x32.c
1392  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x8.c
1393  src/f32-rmax/neon.c
1394  src/f32-spmm/gen/32x1-minmax-neon.c
1395  src/f32-vbinary/gen/vadd-minmax-neon-x8.c
1396  src/f32-vbinary/gen/vaddc-minmax-neon-x8.c
1397  src/f32-vbinary/gen/vmax-neon-x8.c
1398  src/f32-vbinary/gen/vmaxc-neon-x8.c
1399  src/f32-vbinary/gen/vmin-neon-x8.c
1400  src/f32-vbinary/gen/vminc-neon-x8.c
1401  src/f32-vbinary/gen/vmul-minmax-neon-x8.c
1402  src/f32-vbinary/gen/vmulc-minmax-neon-x8.c
1403  src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c
1404  src/f32-vbinary/gen/vsqrdiff-neon-x8.c
1405  src/f32-vbinary/gen/vsqrdiffc-neon-x8.c
1406  src/f32-vbinary/gen/vsub-minmax-neon-x8.c
1407  src/f32-vbinary/gen/vsubc-minmax-neon-x8.c
1408  src/f32-vclamp/gen/vclamp-neon-x8.c
1409  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x8.c
1410  src/f32-vhswish/gen/vhswish-neon-x16.c
1411  src/f32-vlrelu/gen/vlrelu-neon-x8.c
1412  src/f32-vmulcaddc/gen/c4-minmax-neon-2x.c
1413  src/f32-vrnd/gen/vrndd-neon-x8.c
1414  src/f32-vrnd/gen/vrndne-neon-x8.c
1415  src/f32-vrnd/gen/vrndu-neon-x8.c
1416  src/f32-vrnd/gen/vrndz-neon-x8.c
1417  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x8.c
1418  src/f32-vunary/gen/vabs-neon-x8.c
1419  src/f32-vunary/gen/vneg-neon-x8.c
1420  src/f32-vunary/gen/vsqr-neon-x8.c
1421  src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mla8-ld64.c
1422  src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mla8-ld64.c
1423  src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mla8-ld64.c
1424  src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c
1425  src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c
1426  src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c
1427  src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c
1428  src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mla8-ld64.c
1429  src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mla8-ld64.c
1430  src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mla8-ld64.c
1431  src/qs8-f32-vcvt/gen/vcvt-neon-x32.c
1432  src/qs8-gavgpool/gen/7p7x-minmax-rndnu-neon-c8.c
1433  src/qs8-gavgpool/gen/7x-minmax-rndnu-neon-c8.c
1434  src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
1435  src/qs8-gemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c
1436  src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
1437  src/qs8-gemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c
1438  src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
1439  src/qs8-igemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c
1440  src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
1441  src/qs8-igemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c
1442  src/qs8-vadd/gen/minmax-neon-ld64-x16.c
1443  src/qs8-vadd/gen/minmax-neon-ld64-x32.c
1444  src/qs8-vaddc/gen/minmax-neon-ld64-x16.c
1445  src/qs8-vaddc/gen/minmax-neon-ld64-x32.c
1446  src/qs8-vmul/gen/minmax-rndnu-neon-ld64-x16.c
1447  src/qs8-vmulc/gen/minmax-rndnu-neon-ld64-x16.c
1448  src/qu8-avgpool/9p8x-minmax-neon-c8.c
1449  src/qu8-avgpool/9x-minmax-neon-c8.c
1450  src/qu8-dwconv/gen/up8x25-minmax-rndnu-neon-mul8.c
1451  src/qu8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8.c
1452  src/qu8-f32-vcvt/gen/vcvt-neon-x32.c
1453  src/qu8-gavgpool/gen/7p7x-minmax-rndnu-neon-c8.c
1454  src/qu8-gavgpool/gen/7x-minmax-rndnu-neon-c8.c
1455  src/qu8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
1456  src/qu8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
1457  src/qu8-gemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c
1458  src/qu8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c
1459  src/qu8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
1460  src/qu8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
1461  src/qu8-igemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c
1462  src/qu8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c
1463  src/qu8-vadd/gen/minmax-neon-ld64-x16.c
1464  src/qu8-vadd/gen/minmax-neon-ld64-x32.c
1465  src/qu8-vaddc/gen/minmax-neon-ld64-x16.c
1466  src/qu8-vaddc/gen/minmax-neon-ld64-x32.c
1467  src/qu8-vmul/gen/minmax-rndnu-neon-ld64-x16.c
1468  src/qu8-vmulc/gen/minmax-rndnu-neon-ld64-x16.c
1469  src/s8-ibilinear/gen/neon-c8.c
1470  src/s8-ibilinear/gen/neon-c16.c
1471  src/s8-maxpool/9p8x-minmax-neon-c16.c
1472  src/s8-vclamp/neon-x64.c
1473  src/u8-ibilinear/gen/neon-c8.c
1474  src/u8-ibilinear/gen/neon-c16.c
1475  src/u8-maxpool/9p8x-minmax-neon-c16.c
1476  src/u8-rmax/neon.c
1477  src/u8-vclamp/neon-x64.c
1478  src/x8-zip/x2-neon.c
1479  src/x8-zip/x3-neon.c
1480  src/x8-zip/x4-neon.c
1481  src/x8-zip/xm-neon.c
1482  src/x32-packx/x4-neon-st4.c
1483  src/x32-unpool/neon.c
1484  src/x32-zip/x2-neon.c
1485  src/x32-zip/x3-neon.c
1486  src/x32-zip/x4-neon.c
1487  src/x32-zip/xm-neon.c
1488  src/xx-fill/neon-x64.c
1489  src/xx-pad/neon.c)
1490
1491SET(ALL_NEON_MICROKERNEL_SRCS
1492  src/f16-f32-vcvt/gen/vcvt-neon-int16-x8.c
1493  src/f16-f32-vcvt/gen/vcvt-neon-int16-x16.c
1494  src/f16-f32-vcvt/gen/vcvt-neon-int16-x24.c
1495  src/f16-f32-vcvt/gen/vcvt-neon-int16-x32.c
1496  src/f16-f32-vcvt/gen/vcvt-neon-int32-x8.c
1497  src/f16-f32-vcvt/gen/vcvt-neon-int32-x16.c
1498  src/f16-f32-vcvt/gen/vcvt-neon-int32-x24.c
1499  src/f16-f32-vcvt/gen/vcvt-neon-int32-x32.c
1500  src/f32-argmaxpool/4x-neon-c4.c
1501  src/f32-argmaxpool/9p8x-neon-c4.c
1502  src/f32-argmaxpool/9x-neon-c4.c
1503  src/f32-avgpool/9p8x-minmax-neon-c4.c
1504  src/f32-avgpool/9x-minmax-neon-c4.c
1505  src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x1.c
1506  src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x2.c
1507  src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x1.c
1508  src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x2.c
1509  src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x1.c
1510  src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x2.c
1511  src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x1.c
1512  src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x2.c
1513  src/f32-conv-hwc2chw/3x3s2p1c3x4-neon-2x2.c
1514  src/f32-dwconv/gen/up4x3-minmax-neon-acc2.c
1515  src/f32-dwconv/gen/up4x3-minmax-neon.c
1516  src/f32-dwconv/gen/up4x4-minmax-neon-acc2.c
1517  src/f32-dwconv/gen/up4x4-minmax-neon.c
1518  src/f32-dwconv/gen/up4x9-minmax-neon-acc2.c
1519  src/f32-dwconv/gen/up4x9-minmax-neon.c
1520  src/f32-dwconv/gen/up4x25-minmax-neon-acc2.c
1521  src/f32-dwconv/gen/up4x25-minmax-neon.c
1522  src/f32-dwconv/gen/up8x3-minmax-neon-acc2.c
1523  src/f32-dwconv/gen/up8x3-minmax-neon.c
1524  src/f32-dwconv/gen/up8x4-minmax-neon-acc2.c
1525  src/f32-dwconv/gen/up8x4-minmax-neon.c
1526  src/f32-dwconv/gen/up8x9-minmax-neon-acc2.c
1527  src/f32-dwconv/gen/up8x9-minmax-neon.c
1528  src/f32-dwconv/gen/up8x25-minmax-neon-acc2.c
1529  src/f32-dwconv/gen/up8x25-minmax-neon.c
1530  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc2.c
1531  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc3.c
1532  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc4.c
1533  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4.c
1534  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4-acc2.c
1535  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4.c
1536  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-3x4.c
1537  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-4x4.c
1538  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-5x4.c
1539  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-6x4.c
1540  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc2.c
1541  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc3.c
1542  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc4.c
1543  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4.c
1544  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4-acc2.c
1545  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4.c
1546  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-3x4.c
1547  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-4x4.c
1548  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc2.c
1549  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc3.c
1550  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc4.c
1551  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc5.c
1552  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4.c
1553  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc2.c
1554  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc3.c
1555  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4.c
1556  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4-acc2.c
1557  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4.c
1558  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4-acc2.c
1559  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4.c
1560  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-5x4.c
1561  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc2.c
1562  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc3.c
1563  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc4.c
1564  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc5.c
1565  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4.c
1566  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc2.c
1567  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc3.c
1568  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4.c
1569  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4-acc2.c
1570  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4.c
1571  src/f32-f16-vcvt/gen/vcvt-neon-x8.c
1572  src/f32-f16-vcvt/gen/vcvt-neon-x16.c
1573  src/f32-f16-vcvt/gen/vcvt-neon-x24.c
1574  src/f32-f16-vcvt/gen/vcvt-neon-x32.c
1575  src/f32-gavgpool-cw/neon-x4.c
1576  src/f32-gavgpool/7p7x-minmax-neon-c4.c
1577  src/f32-gavgpool/7x-minmax-neon-c4.c
1578  src/f32-gemm/gen-inc/1x8inc-minmax-neon-dup-ld64.c
1579  src/f32-gemm/gen-inc/1x8inc-minmax-neon-lane-ld64.c
1580  src/f32-gemm/gen-inc/1x8s4inc-minmax-neon.c
1581  src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld64.c
1582  src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld128.c
1583  src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld64.c
1584  src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld128.c
1585  src/f32-gemm/gen-inc/4x8s4inc-minmax-neon.c
1586  src/f32-gemm/gen-inc/5x8inc-minmax-neon-lane-ld64.c
1587  src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld64.c
1588  src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld128.c
1589  src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld64.c
1590  src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld128.c
1591  src/f32-gemm/gen-inc/6x8s4inc-minmax-neon.c
1592  src/f32-gemm/gen-inc/8x8s4inc-minmax-neon.c
1593  src/f32-gemm/gen/1x8-minmax-neon-dup-ld64.c
1594  src/f32-gemm/gen/1x8-minmax-neon-lane-ld64.c
1595  src/f32-gemm/gen/1x8s4-minmax-neon.c
1596  src/f32-gemm/gen/4x2-minmax-neon-lane-ld64.c
1597  src/f32-gemm/gen/4x8-minmax-neon-dup-ld64.c
1598  src/f32-gemm/gen/4x8-minmax-neon-dup-ld128.c
1599  src/f32-gemm/gen/4x8-minmax-neon-lane-ld64.c
1600  src/f32-gemm/gen/4x8-minmax-neon-lane-ld128.c
1601  src/f32-gemm/gen/4x8s4-minmax-neon.c
1602  src/f32-gemm/gen/5x8-minmax-neon-lane-ld64.c
1603  src/f32-gemm/gen/6x8-minmax-neon-dup-ld64.c
1604  src/f32-gemm/gen/6x8-minmax-neon-dup-ld128.c
1605  src/f32-gemm/gen/6x8-minmax-neon-lane-ld64.c
1606  src/f32-gemm/gen/6x8-minmax-neon-lane-ld128.c
1607  src/f32-gemm/gen/6x8s4-minmax-neon.c
1608  src/f32-gemm/gen/8x8s4-minmax-neon.c
1609  src/f32-ibilinear-chw/gen/neon-p4.c
1610  src/f32-ibilinear-chw/gen/neon-p8.c
1611  src/f32-ibilinear/gen/neon-c4.c
1612  src/f32-ibilinear/gen/neon-c8.c
1613  src/f32-igemm/gen/1x8-minmax-neon-dup-ld64.c
1614  src/f32-igemm/gen/1x8-minmax-neon-lane-ld64.c
1615  src/f32-igemm/gen/1x8s4-minmax-neon.c
1616  src/f32-igemm/gen/4x2-minmax-neon-lane-ld64.c
1617  src/f32-igemm/gen/4x4-minmax-neon-lane-ld64.c
1618  src/f32-igemm/gen/4x8-minmax-neon-dup-ld64.c
1619  src/f32-igemm/gen/4x8-minmax-neon-dup-ld128.c
1620  src/f32-igemm/gen/4x8-minmax-neon-lane-ld64.c
1621  src/f32-igemm/gen/4x8-minmax-neon-lane-ld128.c
1622  src/f32-igemm/gen/4x8s4-minmax-neon.c
1623  src/f32-igemm/gen/6x8-minmax-neon-dup-ld64.c
1624  src/f32-igemm/gen/6x8-minmax-neon-dup-ld128.c
1625  src/f32-igemm/gen/6x8-minmax-neon-lane-ld64.c
1626  src/f32-igemm/gen/6x8-minmax-neon-lane-ld128.c
1627  src/f32-igemm/gen/6x8s4-minmax-neon.c
1628  src/f32-igemm/gen/8x8s4-minmax-neon.c
1629  src/f32-maxpool/9p8x-minmax-neon-c4.c
1630  src/f32-pavgpool/9p8x-minmax-neon-c4.c
1631  src/f32-pavgpool/9x-minmax-neon-c4.c
1632  src/f32-ppmm/gen/4x8-minmax-neon.c
1633  src/f32-ppmm/gen/8x8-minmax-neon.c
1634  src/f32-prelu/gen/neon-1x4.c
1635  src/f32-prelu/gen/neon-1x8.c
1636  src/f32-prelu/gen/neon-1x16.c
1637  src/f32-prelu/gen/neon-2x4.c
1638  src/f32-prelu/gen/neon-2x8.c
1639  src/f32-prelu/gen/neon-2x16.c
1640  src/f32-prelu/gen/neon-4x4.c
1641  src/f32-prelu/gen/neon-4x8.c
1642  src/f32-prelu/gen/neon-4x16.c
1643  src/f32-qs8-vcvt/gen/vcvt-neon-x8.c
1644  src/f32-qs8-vcvt/gen/vcvt-neon-x16.c
1645  src/f32-qs8-vcvt/gen/vcvt-neon-x24.c
1646  src/f32-qs8-vcvt/gen/vcvt-neon-x32.c
1647  src/f32-qu8-vcvt/gen/vcvt-neon-x8.c
1648  src/f32-qu8-vcvt/gen/vcvt-neon-x16.c
1649  src/f32-qu8-vcvt/gen/vcvt-neon-x24.c
1650  src/f32-qu8-vcvt/gen/vcvt-neon-x32.c
1651  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x4.c
1652  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x8-acc2.c
1653  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x8.c
1654  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x12-acc2.c
1655  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x12-acc3.c
1656  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x12.c
1657  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x16-acc2.c
1658  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x16-acc4.c
1659  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x16.c
1660  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x20-acc2.c
1661  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x20-acc5.c
1662  src/f32-raddstoreexpminusmax/gen/neon-rr2-lut64-p2-x20.c
1663  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x4.c
1664  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x8-acc2.c
1665  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x8.c
1666  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x12-acc2.c
1667  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x12-acc3.c
1668  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x12.c
1669  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x16-acc2.c
1670  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x16-acc4.c
1671  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x16.c
1672  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x20-acc2.c
1673  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x20-acc5.c
1674  src/f32-raddstoreexpminusmax/gen/neon-rr2-p5-x20.c
1675  src/f32-rmax/neon.c
1676  src/f32-spmm/gen/4x1-minmax-neon-pipelined.c
1677  src/f32-spmm/gen/4x1-minmax-neon-x2.c
1678  src/f32-spmm/gen/4x1-minmax-neon.c
1679  src/f32-spmm/gen/8x1-minmax-neon-pipelined.c
1680  src/f32-spmm/gen/8x1-minmax-neon-x2.c
1681  src/f32-spmm/gen/8x1-minmax-neon.c
1682  src/f32-spmm/gen/12x1-minmax-neon.c
1683  src/f32-spmm/gen/16x1-minmax-neon-pipelined.c
1684  src/f32-spmm/gen/16x1-minmax-neon-x2.c
1685  src/f32-spmm/gen/16x1-minmax-neon.c
1686  src/f32-spmm/gen/32x1-minmax-neon-pipelined.c
1687  src/f32-spmm/gen/32x1-minmax-neon-x2.c
1688  src/f32-spmm/gen/32x1-minmax-neon.c
1689  src/f32-vbinary/gen/vadd-minmax-neon-x4.c
1690  src/f32-vbinary/gen/vadd-minmax-neon-x8.c
1691  src/f32-vbinary/gen/vaddc-minmax-neon-x4.c
1692  src/f32-vbinary/gen/vaddc-minmax-neon-x8.c
1693  src/f32-vbinary/gen/vmax-neon-x4.c
1694  src/f32-vbinary/gen/vmax-neon-x8.c
1695  src/f32-vbinary/gen/vmaxc-neon-x4.c
1696  src/f32-vbinary/gen/vmaxc-neon-x8.c
1697  src/f32-vbinary/gen/vmin-neon-x4.c
1698  src/f32-vbinary/gen/vmin-neon-x8.c
1699  src/f32-vbinary/gen/vminc-neon-x4.c
1700  src/f32-vbinary/gen/vminc-neon-x8.c
1701  src/f32-vbinary/gen/vmul-minmax-neon-x4.c
1702  src/f32-vbinary/gen/vmul-minmax-neon-x8.c
1703  src/f32-vbinary/gen/vmulc-minmax-neon-x4.c
1704  src/f32-vbinary/gen/vmulc-minmax-neon-x8.c
1705  src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c
1706  src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c
1707  src/f32-vbinary/gen/vsqrdiff-neon-x4.c
1708  src/f32-vbinary/gen/vsqrdiff-neon-x8.c
1709  src/f32-vbinary/gen/vsqrdiffc-neon-x4.c
1710  src/f32-vbinary/gen/vsqrdiffc-neon-x8.c
1711  src/f32-vbinary/gen/vsub-minmax-neon-x4.c
1712  src/f32-vbinary/gen/vsub-minmax-neon-x8.c
1713  src/f32-vbinary/gen/vsubc-minmax-neon-x4.c
1714  src/f32-vbinary/gen/vsubc-minmax-neon-x8.c
1715  src/f32-vclamp/gen/vclamp-neon-x4.c
1716  src/f32-vclamp/gen/vclamp-neon-x8.c
1717  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x4.c
1718  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x8.c
1719  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x12.c
1720  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x16.c
1721  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x20.c
1722  src/f32-velu/gen/velu-neon-rr2-lut16-p3-x24.c
1723  src/f32-velu/gen/velu-neon-rr2-p6-x4.c
1724  src/f32-velu/gen/velu-neon-rr2-p6-x8.c
1725  src/f32-velu/gen/velu-neon-rr2-p6-x12.c
1726  src/f32-velu/gen/velu-neon-rr2-p6-x16.c
1727  src/f32-velu/gen/velu-neon-rr2-p6-x20.c
1728  src/f32-velu/gen/velu-neon-rr2-p6-x24.c
1729  src/f32-vhswish/gen/vhswish-neon-x4.c
1730  src/f32-vhswish/gen/vhswish-neon-x8.c
1731  src/f32-vhswish/gen/vhswish-neon-x16.c
1732  src/f32-vlrelu/gen/vlrelu-neon-x4.c
1733  src/f32-vlrelu/gen/vlrelu-neon-x8.c
1734  src/f32-vmulcaddc/gen/c4-minmax-neon-2x.c
1735  src/f32-vmulcaddc/gen/c8-minmax-neon-2x.c
1736  src/f32-vrelu/gen/vrelu-neon-x4.c
1737  src/f32-vrelu/gen/vrelu-neon-x8.c
1738  src/f32-vrnd/gen/vrndd-neon-x4.c
1739  src/f32-vrnd/gen/vrndd-neon-x8.c
1740  src/f32-vrnd/gen/vrndne-neon-x4.c
1741  src/f32-vrnd/gen/vrndne-neon-x8.c
1742  src/f32-vrnd/gen/vrndu-neon-x4.c
1743  src/f32-vrnd/gen/vrndu-neon-x8.c
1744  src/f32-vrnd/gen/vrndz-neon-x4.c
1745  src/f32-vrnd/gen/vrndz-neon-x8.c
1746  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x4.c
1747  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x8.c
1748  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x12.c
1749  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x16.c
1750  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x20.c
1751  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut64-p2-nr2recps-x24.c
1752  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x4.c
1753  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x8.c
1754  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x12.c
1755  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x16.c
1756  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x20.c
1757  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-lut2048-p1-nr2recps-x24.c
1758  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x4.c
1759  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x8.c
1760  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x12.c
1761  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x16.c
1762  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x20.c
1763  src/f32-vsigmoid/gen/vsigmoid-neon-rr2-p5-nr2recps-x24.c
1764  src/f32-vunary/gen/vabs-neon-x4.c
1765  src/f32-vunary/gen/vabs-neon-x8.c
1766  src/f32-vunary/gen/vneg-neon-x4.c
1767  src/f32-vunary/gen/vneg-neon-x8.c
1768  src/f32-vunary/gen/vsqr-neon-x4.c
1769  src/f32-vunary/gen/vsqr-neon-x8.c
1770  src/math/cvt-f16-f32-neon-int16.c
1771  src/math/cvt-f16-f32-neon-int32.c
1772  src/math/cvt-f32-f16-neon.c
1773  src/math/cvt-f32-qs8-neon.c
1774  src/math/cvt-f32-qu8-neon.c
1775  src/math/expm1minus-neon-rr2-lut16-p3.c
1776  src/math/expm1minus-neon-rr2-p6.c
1777  src/math/roundd-neon-addsub.c
1778  src/math/roundd-neon-cvt.c
1779  src/math/roundne-neon-addsub.c
1780  src/math/roundu-neon-addsub.c
1781  src/math/roundu-neon-cvt.c
1782  src/math/roundz-neon-addsub.c
1783  src/math/roundz-neon-cvt.c
1784  src/math/sigmoid-neon-rr2-lut64-p2-nr2recps.c
1785  src/math/sigmoid-neon-rr2-lut2048-p1-nr2recps.c
1786  src/math/sigmoid-neon-rr2-p5-nr2recps.c
1787  src/math/sqrt-neon-nr1rsqrts.c
1788  src/math/sqrt-neon-nr2rsqrts.c
1789  src/math/sqrt-neon-nr3rsqrts.c
1790  src/qc8-dwconv/gen/up8x9-minmax-fp32-neon-mla8-ld64.c
1791  src/qc8-dwconv/gen/up8x9-minmax-fp32-neon-mul8-ld64.c
1792  src/qc8-dwconv/gen/up8x9-minmax-fp32-neon-mul16.c
1793  src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mla8-ld64.c
1794  src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mul8-ld64.c
1795  src/qc8-dwconv/gen/up8x25-minmax-fp32-neon-mul16.c
1796  src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mla8-ld64.c
1797  src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mla8-ld128.c
1798  src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mul8-ld64.c
1799  src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mul8-ld128.c
1800  src/qc8-dwconv/gen/up16x9-minmax-fp32-neon-mul16.c
1801  src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mla8-ld64.c
1802  src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mla8-ld128.c
1803  src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mul8-ld64.c
1804  src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mul8-ld128.c
1805  src/qc8-dwconv/gen/up16x25-minmax-fp32-neon-mul16.c
1806  src/qc8-dwconv/gen/up24x9-minmax-fp32-neon-mul16.c
1807  src/qc8-dwconv/gen/up24x25-minmax-fp32-neon-mul16.c
1808  src/qc8-dwconv/gen/up32x9-minmax-fp32-neon-mul16.c
1809  src/qc8-dwconv/gen/up32x25-minmax-fp32-neon-mul16.c
1810  src/qc8-gemm/gen/1x8-minmax-fp32-neon-mlal-lane-prfm.c
1811  src/qc8-gemm/gen/1x8-minmax-fp32-neon-mlal-lane.c
1812  src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c
1813  src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c
1814  src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c
1815  src/qc8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c
1816  src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c
1817  src/qc8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c
1818  src/qc8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c
1819  src/qc8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c
1820  src/qc8-gemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c
1821  src/qc8-gemm/gen/1x8c8-minmax-fp32-neon-mlal.c
1822  src/qc8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane-prfm.c
1823  src/qc8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane.c
1824  src/qc8-gemm/gen/2x8-minmax-fp32-neon-mlal-lane-prfm.c
1825  src/qc8-gemm/gen/2x8-minmax-fp32-neon-mlal-lane.c
1826  src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c
1827  src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c
1828  src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c
1829  src/qc8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c
1830  src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c
1831  src/qc8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c
1832  src/qc8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c
1833  src/qc8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c
1834  src/qc8-gemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c
1835  src/qc8-gemm/gen/2x8c8-minmax-fp32-neon-mlal.c
1836  src/qc8-gemm/gen/2x16-minmax-fp32-neon-mlal-lane-prfm.c
1837  src/qc8-gemm/gen/2x16-minmax-fp32-neon-mlal-lane.c
1838  src/qc8-gemm/gen/3x8-minmax-fp32-neon-mlal-lane-prfm.c
1839  src/qc8-gemm/gen/3x8-minmax-fp32-neon-mlal-lane.c
1840  src/qc8-gemm/gen/3x16-minmax-fp32-neon-mlal-lane-prfm.c
1841  src/qc8-gemm/gen/3x16-minmax-fp32-neon-mlal-lane.c
1842  src/qc8-gemm/gen/4x8-minmax-fp32-neon-mlal-lane-prfm.c
1843  src/qc8-gemm/gen/4x8-minmax-fp32-neon-mlal-lane.c
1844  src/qc8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane-prfm.c
1845  src/qc8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane.c
1846  src/qc8-gemm/gen/6x8-minmax-fp32-neon-mlal-lane-prfm.c
1847  src/qc8-gemm/gen/6x8-minmax-fp32-neon-mlal-lane.c
1848  src/qc8-gemm/gen/6x16-minmax-fp32-neon-mlal-lane-prfm.c
1849  src/qc8-gemm/gen/6x16-minmax-fp32-neon-mlal-lane.c
1850  src/qc8-igemm/gen/1x8-minmax-fp32-neon-mlal-lane-prfm.c
1851  src/qc8-igemm/gen/1x8-minmax-fp32-neon-mlal-lane.c
1852  src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c
1853  src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c
1854  src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c
1855  src/qc8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c
1856  src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c
1857  src/qc8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c
1858  src/qc8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c
1859  src/qc8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c
1860  src/qc8-igemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c
1861  src/qc8-igemm/gen/1x8c8-minmax-fp32-neon-mlal.c
1862  src/qc8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane-prfm.c
1863  src/qc8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane.c
1864  src/qc8-igemm/gen/2x8-minmax-fp32-neon-mlal-lane-prfm.c
1865  src/qc8-igemm/gen/2x8-minmax-fp32-neon-mlal-lane.c
1866  src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c
1867  src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c
1868  src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c
1869  src/qc8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c
1870  src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c
1871  src/qc8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c
1872  src/qc8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c
1873  src/qc8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c
1874  src/qc8-igemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c
1875  src/qc8-igemm/gen/2x8c8-minmax-fp32-neon-mlal.c
1876  src/qc8-igemm/gen/2x16-minmax-fp32-neon-mlal-lane-prfm.c
1877  src/qc8-igemm/gen/2x16-minmax-fp32-neon-mlal-lane.c
1878  src/qc8-igemm/gen/3x8-minmax-fp32-neon-mlal-lane-prfm.c
1879  src/qc8-igemm/gen/3x8-minmax-fp32-neon-mlal-lane.c
1880  src/qc8-igemm/gen/3x16-minmax-fp32-neon-mlal-lane-prfm.c
1881  src/qc8-igemm/gen/3x16-minmax-fp32-neon-mlal-lane.c
1882  src/qc8-igemm/gen/4x8-minmax-fp32-neon-mlal-lane-prfm.c
1883  src/qc8-igemm/gen/4x8-minmax-fp32-neon-mlal-lane.c
1884  src/qc8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane-prfm.c
1885  src/qc8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane.c
1886  src/qc8-igemm/gen/6x8-minmax-fp32-neon-mlal-lane-prfm.c
1887  src/qc8-igemm/gen/6x8-minmax-fp32-neon-mlal-lane.c
1888  src/qc8-igemm/gen/6x16-minmax-fp32-neon-mlal-lane-prfm.c
1889  src/qc8-igemm/gen/6x16-minmax-fp32-neon-mlal-lane.c
1890  src/qs8-dwconv/gen/up8x9-minmax-fp32-neon-mul16.c
1891  src/qs8-dwconv/gen/up8x9-minmax-rndnu-neon-mla8-ld64.c
1892  src/qs8-dwconv/gen/up8x9-minmax-rndnu-neon-mul8-ld64.c
1893  src/qs8-dwconv/gen/up8x9-minmax-rndnu-neon-mul16.c
1894  src/qs8-dwconv/gen/up8x25-minmax-fp32-neon-mul16.c
1895  src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mla8-ld64.c
1896  src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mul8-ld64.c
1897  src/qs8-dwconv/gen/up8x25-minmax-rndnu-neon-mul16.c
1898  src/qs8-dwconv/gen/up16x9-minmax-fp32-neon-mul16.c
1899  src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mla8-ld64.c
1900  src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mla8-ld128.c
1901  src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8-ld64.c
1902  src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8-ld128.c
1903  src/qs8-dwconv/gen/up16x9-minmax-rndnu-neon-mul16.c
1904  src/qs8-dwconv/gen/up16x25-minmax-fp32-neon-mul16.c
1905  src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mla8-ld64.c
1906  src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mla8-ld128.c
1907  src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mul8-ld64.c
1908  src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mul8-ld128.c
1909  src/qs8-dwconv/gen/up16x25-minmax-rndnu-neon-mul16.c
1910  src/qs8-dwconv/gen/up24x9-minmax-fp32-neon-mul16.c
1911  src/qs8-dwconv/gen/up24x9-minmax-rndnu-neon-mul16.c
1912  src/qs8-dwconv/gen/up24x25-minmax-fp32-neon-mul16.c
1913  src/qs8-dwconv/gen/up24x25-minmax-rndnu-neon-mul16.c
1914  src/qs8-dwconv/gen/up32x9-minmax-fp32-neon-mul16.c
1915  src/qs8-dwconv/gen/up32x9-minmax-rndnu-neon-mul16.c
1916  src/qs8-dwconv/gen/up32x25-minmax-fp32-neon-mul16.c
1917  src/qs8-dwconv/gen/up32x25-minmax-rndnu-neon-mul16.c
1918  src/qs8-f32-vcvt/gen/vcvt-neon-x8.c
1919  src/qs8-f32-vcvt/gen/vcvt-neon-x16.c
1920  src/qs8-f32-vcvt/gen/vcvt-neon-x24.c
1921  src/qs8-f32-vcvt/gen/vcvt-neon-x32.c
1922  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c8.c
1923  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c16.c
1924  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c24.c
1925  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neon-c32.c
1926  src/qs8-gavgpool/gen/7p7x-minmax-rndnu-neon-c8.c
1927  src/qs8-gavgpool/gen/7p7x-minmax-rndnu-neon-c16.c
1928  src/qs8-gavgpool/gen/7p7x-minmax-rndnu-neon-c24.c
1929  src/qs8-gavgpool/gen/7p7x-minmax-rndnu-neon-c32.c
1930  src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c8.c
1931  src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c16.c
1932  src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c24.c
1933  src/qs8-gavgpool/gen/7x-minmax-fp32-neon-c32.c
1934  src/qs8-gavgpool/gen/7x-minmax-rndnu-neon-c8.c
1935  src/qs8-gavgpool/gen/7x-minmax-rndnu-neon-c16.c
1936  src/qs8-gavgpool/gen/7x-minmax-rndnu-neon-c24.c
1937  src/qs8-gavgpool/gen/7x-minmax-rndnu-neon-c32.c
1938  src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane-prfm.c
1939  src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
1940  src/qs8-gemm/gen/1x8-minmax-rndnu-neon-mull-addw-dup.c
1941  src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c
1942  src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c
1943  src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c
1944  src/qs8-gemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c
1945  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-dup.c
1946  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld1r.c
1947  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld2r.c
1948  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld4r.c
1949  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-dup.c
1950  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-ld1r.c
1951  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-ld2r.c
1952  src/qs8-gemm/gen/1x8c2-minmax-rndnu-neon-mull-ld4r.c
1953  src/qs8-gemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c
1954  src/qs8-gemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c
1955  src/qs8-gemm/gen/1x8c2s4-minmax-rndnu-neon-mull.c
1956  src/qs8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c
1957  src/qs8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c
1958  src/qs8-gemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c
1959  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mlal-dup.c
1960  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld1r.c
1961  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld2r.c
1962  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mull-dup.c
1963  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mull-ld1r.c
1964  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neon-mull-ld2r.c
1965  src/qs8-gemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c
1966  src/qs8-gemm/gen/1x8c4s2-minmax-rndnu-neon-mlal.c
1967  src/qs8-gemm/gen/1x8c4s2-minmax-rndnu-neon-mull.c
1968  src/qs8-gemm/gen/1x8c8-minmax-fp32-neon-mlal.c
1969  src/qs8-gemm/gen/1x8c8-minmax-rndnu-neon-mlal.c
1970  src/qs8-gemm/gen/1x8c8-minmax-rndnu-neon-mull.c
1971  src/qs8-gemm/gen/1x8c16-minmax-rndnu-neon-mlal.c
1972  src/qs8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane.c
1973  src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane-prfm.c
1974  src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
1975  src/qs8-gemm/gen/1x16-minmax-rndnu-neon-mull-addw-dup.c
1976  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-dup.c
1977  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld1r.c
1978  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld2r.c
1979  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld4r.c
1980  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-dup.c
1981  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-ld1r.c
1982  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-ld2r.c
1983  src/qs8-gemm/gen/1x16c2-minmax-rndnu-neon-mull-ld4r.c
1984  src/qs8-gemm/gen/1x16c2s4-minmax-rndnu-neon-mlal.c
1985  src/qs8-gemm/gen/1x16c2s4-minmax-rndnu-neon-mull.c
1986  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mlal-dup.c
1987  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld1r.c
1988  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld2r.c
1989  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mull-dup.c
1990  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mull-ld1r.c
1991  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neon-mull-ld2r.c
1992  src/qs8-gemm/gen/1x16c4s2-minmax-rndnu-neon-mlal.c
1993  src/qs8-gemm/gen/1x16c4s2-minmax-rndnu-neon-mull.c
1994  src/qs8-gemm/gen/1x16c8-minmax-rndnu-neon-mlal.c
1995  src/qs8-gemm/gen/1x16c8-minmax-rndnu-neon-mull.c
1996  src/qs8-gemm/gen/1x16c16-minmax-rndnu-neon-mlal.c
1997  src/qs8-gemm/gen/2x8-minmax-rndnu-neon-mlal-lane-prfm.c
1998  src/qs8-gemm/gen/2x8-minmax-rndnu-neon-mlal-lane.c
1999  src/qs8-gemm/gen/2x8-minmax-rndnu-neon-mull-addw-dup.c
2000  src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c
2001  src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c
2002  src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c
2003  src/qs8-gemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c
2004  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-dup.c
2005  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld1r.c
2006  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld2r.c
2007  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld4r.c
2008  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-dup.c
2009  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-ld1r.c
2010  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-ld2r.c
2011  src/qs8-gemm/gen/2x8c2-minmax-rndnu-neon-mull-ld4r.c
2012  src/qs8-gemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c
2013  src/qs8-gemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c
2014  src/qs8-gemm/gen/2x8c2s4-minmax-rndnu-neon-mull.c
2015  src/qs8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c
2016  src/qs8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c
2017  src/qs8-gemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c
2018  src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mlal-dup.c
2019  src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld1r.c
2020  src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld2r.c
2021  src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mull-dup.c
2022  src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mull-ld1r.c
2023  src/qs8-gemm/gen/2x8c4-minmax-rndnu-neon-mull-ld2r.c
2024  src/qs8-gemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c
2025  src/qs8-gemm/gen/2x8c4s2-minmax-rndnu-neon-mlal.c
2026  src/qs8-gemm/gen/2x8c4s2-minmax-rndnu-neon-mull.c
2027  src/qs8-gemm/gen/2x8c8-minmax-fp32-neon-mlal.c
2028  src/qs8-gemm/gen/2x8c8-minmax-rndnu-neon-mlal.c
2029  src/qs8-gemm/gen/2x8c8-minmax-rndnu-neon-mull.c
2030  src/qs8-gemm/gen/2x8c16-minmax-rndnu-neon-mlal.c
2031  src/qs8-gemm/gen/2x16-minmax-rndnu-neon-mlal-lane-prfm.c
2032  src/qs8-gemm/gen/2x16-minmax-rndnu-neon-mlal-lane.c
2033  src/qs8-gemm/gen/2x16-minmax-rndnu-neon-mull-addw-dup.c
2034  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-dup.c
2035  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld1r.c
2036  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld2r.c
2037  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld4r.c
2038  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-dup.c
2039  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-ld1r.c
2040  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-ld2r.c
2041  src/qs8-gemm/gen/2x16c2-minmax-rndnu-neon-mull-ld4r.c
2042  src/qs8-gemm/gen/2x16c2s4-minmax-rndnu-neon-mlal.c
2043  src/qs8-gemm/gen/2x16c2s4-minmax-rndnu-neon-mull.c
2044  src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mlal-dup.c
2045  src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld1r.c
2046  src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld2r.c
2047  src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mull-dup.c
2048  src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mull-ld1r.c
2049  src/qs8-gemm/gen/2x16c4-minmax-rndnu-neon-mull-ld2r.c
2050  src/qs8-gemm/gen/2x16c4s2-minmax-rndnu-neon-mlal.c
2051  src/qs8-gemm/gen/2x16c4s2-minmax-rndnu-neon-mull.c
2052  src/qs8-gemm/gen/2x16c8-minmax-rndnu-neon-mlal.c
2053  src/qs8-gemm/gen/2x16c8-minmax-rndnu-neon-mull.c
2054  src/qs8-gemm/gen/2x16c16-minmax-rndnu-neon-mlal.c
2055  src/qs8-gemm/gen/3x8-minmax-rndnu-neon-mlal-lane-prfm.c
2056  src/qs8-gemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c
2057  src/qs8-gemm/gen/3x8-minmax-rndnu-neon-mull-addw-dup.c
2058  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-dup.c
2059  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld1r.c
2060  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld2r.c
2061  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld4r.c
2062  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-dup.c
2063  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-ld1r.c
2064  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-ld2r.c
2065  src/qs8-gemm/gen/3x8c2-minmax-rndnu-neon-mull-ld4r.c
2066  src/qs8-gemm/gen/3x8c2s4-minmax-rndnu-neon-mlal.c
2067  src/qs8-gemm/gen/3x8c2s4-minmax-rndnu-neon-mull.c
2068  src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mlal-dup.c
2069  src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld1r.c
2070  src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld2r.c
2071  src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mull-dup.c
2072  src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mull-ld1r.c
2073  src/qs8-gemm/gen/3x8c4-minmax-rndnu-neon-mull-ld2r.c
2074  src/qs8-gemm/gen/3x8c4s2-minmax-rndnu-neon-mlal.c
2075  src/qs8-gemm/gen/3x8c4s2-minmax-rndnu-neon-mull.c
2076  src/qs8-gemm/gen/3x8c8-minmax-rndnu-neon-mlal.c
2077  src/qs8-gemm/gen/3x8c8-minmax-rndnu-neon-mull.c
2078  src/qs8-gemm/gen/3x8c16-minmax-rndnu-neon-mlal.c
2079  src/qs8-gemm/gen/3x16-minmax-rndnu-neon-mlal-lane-prfm.c
2080  src/qs8-gemm/gen/3x16-minmax-rndnu-neon-mlal-lane.c
2081  src/qs8-gemm/gen/3x16-minmax-rndnu-neon-mull-addw-dup.c
2082  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-dup.c
2083  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld1r.c
2084  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld2r.c
2085  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld4r.c
2086  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-dup.c
2087  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-ld1r.c
2088  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-ld2r.c
2089  src/qs8-gemm/gen/3x16c2-minmax-rndnu-neon-mull-ld4r.c
2090  src/qs8-gemm/gen/3x16c2s4-minmax-rndnu-neon-mlal.c
2091  src/qs8-gemm/gen/3x16c2s4-minmax-rndnu-neon-mull.c
2092  src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mlal-dup.c
2093  src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld1r.c
2094  src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld2r.c
2095  src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mull-dup.c
2096  src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mull-ld1r.c
2097  src/qs8-gemm/gen/3x16c4-minmax-rndnu-neon-mull-ld2r.c
2098  src/qs8-gemm/gen/3x16c4s2-minmax-rndnu-neon-mlal.c
2099  src/qs8-gemm/gen/3x16c4s2-minmax-rndnu-neon-mull.c
2100  src/qs8-gemm/gen/3x16c8-minmax-rndnu-neon-mlal.c
2101  src/qs8-gemm/gen/3x16c8-minmax-rndnu-neon-mull.c
2102  src/qs8-gemm/gen/3x16c16-minmax-rndnu-neon-mlal.c
2103  src/qs8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane-prfm.c
2104  src/qs8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c
2105  src/qs8-gemm/gen/4x8-minmax-rndnu-neon-mull-addw-dup.c
2106  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-dup.c
2107  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld1r.c
2108  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld2r.c
2109  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld4r.c
2110  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-dup.c
2111  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-ld1r.c
2112  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-ld2r.c
2113  src/qs8-gemm/gen/4x8c2-minmax-rndnu-neon-mull-ld4r.c
2114  src/qs8-gemm/gen/4x8c2s4-minmax-rndnu-neon-mlal.c
2115  src/qs8-gemm/gen/4x8c2s4-minmax-rndnu-neon-mull.c
2116  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mlal-dup.c
2117  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld1r.c
2118  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld2r.c
2119  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mull-dup.c
2120  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mull-ld1r.c
2121  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neon-mull-ld2r.c
2122  src/qs8-gemm/gen/4x8c4s2-minmax-rndnu-neon-mlal.c
2123  src/qs8-gemm/gen/4x8c4s2-minmax-rndnu-neon-mull.c
2124  src/qs8-gemm/gen/4x8c8-minmax-rndnu-neon-mlal.c
2125  src/qs8-gemm/gen/4x8c8-minmax-rndnu-neon-mull.c
2126  src/qs8-gemm/gen/4x8c16-minmax-rndnu-neon-mlal.c
2127  src/qs8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane.c
2128  src/qs8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane-prfm.c
2129  src/qs8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c
2130  src/qs8-gemm/gen/4x16-minmax-rndnu-neon-mull-addw-dup.c
2131  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-dup.c
2132  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld1r.c
2133  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld2r.c
2134  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld4r.c
2135  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-dup.c
2136  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-ld1r.c
2137  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-ld2r.c
2138  src/qs8-gemm/gen/4x16c2-minmax-rndnu-neon-mull-ld4r.c
2139  src/qs8-gemm/gen/4x16c2s4-minmax-rndnu-neon-mlal.c
2140  src/qs8-gemm/gen/4x16c2s4-minmax-rndnu-neon-mull.c
2141  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mlal-dup.c
2142  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld1r.c
2143  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld2r.c
2144  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mull-dup.c
2145  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mull-ld1r.c
2146  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neon-mull-ld2r.c
2147  src/qs8-gemm/gen/4x16c4s2-minmax-rndnu-neon-mlal.c
2148  src/qs8-gemm/gen/4x16c4s2-minmax-rndnu-neon-mull.c
2149  src/qs8-gemm/gen/4x16c8-minmax-rndnu-neon-mlal.c
2150  src/qs8-gemm/gen/4x16c8-minmax-rndnu-neon-mull.c
2151  src/qs8-gemm/gen/4x16c16-minmax-rndnu-neon-mlal.c
2152  src/qs8-gemm/gen/6x8-minmax-rndnu-neon-mlal-lane-prfm.c
2153  src/qs8-gemm/gen/6x8-minmax-rndnu-neon-mlal-lane.c
2154  src/qs8-gemm/gen/6x16-minmax-rndnu-neon-mlal-lane-prfm.c
2155  src/qs8-gemm/gen/6x16-minmax-rndnu-neon-mlal-lane.c
2156  src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane-prfm.c
2157  src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
2158  src/qs8-igemm/gen/1x8-minmax-rndnu-neon-mull-addw-dup.c
2159  src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-dup.c
2160  src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld1r.c
2161  src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld2r.c
2162  src/qs8-igemm/gen/1x8c2-minmax-fp32-neon-mlal-ld4r.c
2163  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-dup.c
2164  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld1r.c
2165  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld2r.c
2166  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mlal-ld4r.c
2167  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-dup.c
2168  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-ld1r.c
2169  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-ld2r.c
2170  src/qs8-igemm/gen/1x8c2-minmax-rndnu-neon-mull-ld4r.c
2171  src/qs8-igemm/gen/1x8c2s4-minmax-fp32-neon-mlal.c
2172  src/qs8-igemm/gen/1x8c2s4-minmax-rndnu-neon-mlal.c
2173  src/qs8-igemm/gen/1x8c2s4-minmax-rndnu-neon-mull.c
2174  src/qs8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-dup.c
2175  src/qs8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld1r.c
2176  src/qs8-igemm/gen/1x8c4-minmax-fp32-neon-mlal-ld2r.c
2177  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mlal-dup.c
2178  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld1r.c
2179  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mlal-ld2r.c
2180  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mull-dup.c
2181  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mull-ld1r.c
2182  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neon-mull-ld2r.c
2183  src/qs8-igemm/gen/1x8c4s2-minmax-fp32-neon-mlal.c
2184  src/qs8-igemm/gen/1x8c4s2-minmax-rndnu-neon-mlal.c
2185  src/qs8-igemm/gen/1x8c4s2-minmax-rndnu-neon-mull.c
2186  src/qs8-igemm/gen/1x8c8-minmax-fp32-neon-mlal.c
2187  src/qs8-igemm/gen/1x8c8-minmax-rndnu-neon-mlal.c
2188  src/qs8-igemm/gen/1x8c8-minmax-rndnu-neon-mull.c
2189  src/qs8-igemm/gen/1x8c16-minmax-rndnu-neon-mlal.c
2190  src/qs8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane.c
2191  src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane-prfm.c
2192  src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
2193  src/qs8-igemm/gen/1x16-minmax-rndnu-neon-mull-addw-dup.c
2194  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-dup.c
2195  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld1r.c
2196  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld2r.c
2197  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mlal-ld4r.c
2198  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-dup.c
2199  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-ld1r.c
2200  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-ld2r.c
2201  src/qs8-igemm/gen/1x16c2-minmax-rndnu-neon-mull-ld4r.c
2202  src/qs8-igemm/gen/1x16c2s4-minmax-rndnu-neon-mlal.c
2203  src/qs8-igemm/gen/1x16c2s4-minmax-rndnu-neon-mull.c
2204  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mlal-dup.c
2205  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld1r.c
2206  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mlal-ld2r.c
2207  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mull-dup.c
2208  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mull-ld1r.c
2209  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neon-mull-ld2r.c
2210  src/qs8-igemm/gen/1x16c4s2-minmax-rndnu-neon-mlal.c
2211  src/qs8-igemm/gen/1x16c4s2-minmax-rndnu-neon-mull.c
2212  src/qs8-igemm/gen/1x16c8-minmax-rndnu-neon-mlal.c
2213  src/qs8-igemm/gen/1x16c8-minmax-rndnu-neon-mull.c
2214  src/qs8-igemm/gen/1x16c16-minmax-rndnu-neon-mlal.c
2215  src/qs8-igemm/gen/2x8-minmax-rndnu-neon-mlal-lane-prfm.c
2216  src/qs8-igemm/gen/2x8-minmax-rndnu-neon-mlal-lane.c
2217  src/qs8-igemm/gen/2x8-minmax-rndnu-neon-mull-addw-dup.c
2218  src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-dup.c
2219  src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld1r.c
2220  src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld2r.c
2221  src/qs8-igemm/gen/2x8c2-minmax-fp32-neon-mlal-ld4r.c
2222  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-dup.c
2223  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld1r.c
2224  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld2r.c
2225  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mlal-ld4r.c
2226  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-dup.c
2227  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-ld1r.c
2228  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-ld2r.c
2229  src/qs8-igemm/gen/2x8c2-minmax-rndnu-neon-mull-ld4r.c
2230  src/qs8-igemm/gen/2x8c2s4-minmax-fp32-neon-mlal.c
2231  src/qs8-igemm/gen/2x8c2s4-minmax-rndnu-neon-mlal.c
2232  src/qs8-igemm/gen/2x8c2s4-minmax-rndnu-neon-mull.c
2233  src/qs8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-dup.c
2234  src/qs8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld1r.c
2235  src/qs8-igemm/gen/2x8c4-minmax-fp32-neon-mlal-ld2r.c
2236  src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mlal-dup.c
2237  src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld1r.c
2238  src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mlal-ld2r.c
2239  src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mull-dup.c
2240  src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mull-ld1r.c
2241  src/qs8-igemm/gen/2x8c4-minmax-rndnu-neon-mull-ld2r.c
2242  src/qs8-igemm/gen/2x8c4s2-minmax-fp32-neon-mlal.c
2243  src/qs8-igemm/gen/2x8c4s2-minmax-rndnu-neon-mlal.c
2244  src/qs8-igemm/gen/2x8c4s2-minmax-rndnu-neon-mull.c
2245  src/qs8-igemm/gen/2x8c8-minmax-fp32-neon-mlal.c
2246  src/qs8-igemm/gen/2x8c8-minmax-rndnu-neon-mlal.c
2247  src/qs8-igemm/gen/2x8c8-minmax-rndnu-neon-mull.c
2248  src/qs8-igemm/gen/2x8c16-minmax-rndnu-neon-mlal.c
2249  src/qs8-igemm/gen/2x16-minmax-rndnu-neon-mlal-lane-prfm.c
2250  src/qs8-igemm/gen/2x16-minmax-rndnu-neon-mlal-lane.c
2251  src/qs8-igemm/gen/2x16-minmax-rndnu-neon-mull-addw-dup.c
2252  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-dup.c
2253  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld1r.c
2254  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld2r.c
2255  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mlal-ld4r.c
2256  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-dup.c
2257  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-ld1r.c
2258  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-ld2r.c
2259  src/qs8-igemm/gen/2x16c2-minmax-rndnu-neon-mull-ld4r.c
2260  src/qs8-igemm/gen/2x16c2s4-minmax-rndnu-neon-mlal.c
2261  src/qs8-igemm/gen/2x16c2s4-minmax-rndnu-neon-mull.c
2262  src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mlal-dup.c
2263  src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld1r.c
2264  src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mlal-ld2r.c
2265  src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mull-dup.c
2266  src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mull-ld1r.c
2267  src/qs8-igemm/gen/2x16c4-minmax-rndnu-neon-mull-ld2r.c
2268  src/qs8-igemm/gen/2x16c4s2-minmax-rndnu-neon-mlal.c
2269  src/qs8-igemm/gen/2x16c4s2-minmax-rndnu-neon-mull.c
2270  src/qs8-igemm/gen/2x16c8-minmax-rndnu-neon-mlal.c
2271  src/qs8-igemm/gen/2x16c8-minmax-rndnu-neon-mull.c
2272  src/qs8-igemm/gen/2x16c16-minmax-rndnu-neon-mlal.c
2273  src/qs8-igemm/gen/3x8-minmax-rndnu-neon-mlal-lane-prfm.c
2274  src/qs8-igemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c
2275  src/qs8-igemm/gen/3x8-minmax-rndnu-neon-mull-addw-dup.c
2276  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-dup.c
2277  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld1r.c
2278  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld2r.c
2279  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mlal-ld4r.c
2280  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-dup.c
2281  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-ld1r.c
2282  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-ld2r.c
2283  src/qs8-igemm/gen/3x8c2-minmax-rndnu-neon-mull-ld4r.c
2284  src/qs8-igemm/gen/3x8c2s4-minmax-rndnu-neon-mlal.c
2285  src/qs8-igemm/gen/3x8c2s4-minmax-rndnu-neon-mull.c
2286  src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mlal-dup.c
2287  src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld1r.c
2288  src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mlal-ld2r.c
2289  src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mull-dup.c
2290  src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mull-ld1r.c
2291  src/qs8-igemm/gen/3x8c4-minmax-rndnu-neon-mull-ld2r.c
2292  src/qs8-igemm/gen/3x8c4s2-minmax-rndnu-neon-mlal.c
2293  src/qs8-igemm/gen/3x8c4s2-minmax-rndnu-neon-mull.c
2294  src/qs8-igemm/gen/3x8c8-minmax-rndnu-neon-mlal.c
2295  src/qs8-igemm/gen/3x8c8-minmax-rndnu-neon-mull.c
2296  src/qs8-igemm/gen/3x8c16-minmax-rndnu-neon-mlal.c
2297  src/qs8-igemm/gen/3x16-minmax-rndnu-neon-mlal-lane-prfm.c
2298  src/qs8-igemm/gen/3x16-minmax-rndnu-neon-mlal-lane.c
2299  src/qs8-igemm/gen/3x16-minmax-rndnu-neon-mull-addw-dup.c
2300  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-dup.c
2301  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld1r.c
2302  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld2r.c
2303  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mlal-ld4r.c
2304  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-dup.c
2305  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-ld1r.c
2306  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-ld2r.c
2307  src/qs8-igemm/gen/3x16c2-minmax-rndnu-neon-mull-ld4r.c
2308  src/qs8-igemm/gen/3x16c2s4-minmax-rndnu-neon-mlal.c
2309  src/qs8-igemm/gen/3x16c2s4-minmax-rndnu-neon-mull.c
2310  src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mlal-dup.c
2311  src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld1r.c
2312  src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mlal-ld2r.c
2313  src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mull-dup.c
2314  src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mull-ld1r.c
2315  src/qs8-igemm/gen/3x16c4-minmax-rndnu-neon-mull-ld2r.c
2316  src/qs8-igemm/gen/3x16c4s2-minmax-rndnu-neon-mlal.c
2317  src/qs8-igemm/gen/3x16c4s2-minmax-rndnu-neon-mull.c
2318  src/qs8-igemm/gen/3x16c8-minmax-rndnu-neon-mlal.c
2319  src/qs8-igemm/gen/3x16c8-minmax-rndnu-neon-mull.c
2320  src/qs8-igemm/gen/3x16c16-minmax-rndnu-neon-mlal.c
2321  src/qs8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane-prfm.c
2322  src/qs8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c
2323  src/qs8-igemm/gen/4x8-minmax-rndnu-neon-mull-addw-dup.c
2324  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-dup.c
2325  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld1r.c
2326  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld2r.c
2327  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mlal-ld4r.c
2328  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-dup.c
2329  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-ld1r.c
2330  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-ld2r.c
2331  src/qs8-igemm/gen/4x8c2-minmax-rndnu-neon-mull-ld4r.c
2332  src/qs8-igemm/gen/4x8c2s4-minmax-rndnu-neon-mlal.c
2333  src/qs8-igemm/gen/4x8c2s4-minmax-rndnu-neon-mull.c
2334  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mlal-dup.c
2335  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld1r.c
2336  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mlal-ld2r.c
2337  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mull-dup.c
2338  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mull-ld1r.c
2339  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neon-mull-ld2r.c
2340  src/qs8-igemm/gen/4x8c4s2-minmax-rndnu-neon-mlal.c
2341  src/qs8-igemm/gen/4x8c4s2-minmax-rndnu-neon-mull.c
2342  src/qs8-igemm/gen/4x8c8-minmax-rndnu-neon-mlal.c
2343  src/qs8-igemm/gen/4x8c8-minmax-rndnu-neon-mull.c
2344  src/qs8-igemm/gen/4x8c16-minmax-rndnu-neon-mlal.c
2345  src/qs8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane.c
2346  src/qs8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane-prfm.c
2347  src/qs8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c
2348  src/qs8-igemm/gen/4x16-minmax-rndnu-neon-mull-addw-dup.c
2349  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-dup.c
2350  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld1r.c
2351  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld2r.c
2352  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mlal-ld4r.c
2353  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-dup.c
2354  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-ld1r.c
2355  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-ld2r.c
2356  src/qs8-igemm/gen/4x16c2-minmax-rndnu-neon-mull-ld4r.c
2357  src/qs8-igemm/gen/4x16c2s4-minmax-rndnu-neon-mlal.c
2358  src/qs8-igemm/gen/4x16c2s4-minmax-rndnu-neon-mull.c
2359  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mlal-dup.c
2360  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld1r.c
2361  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mlal-ld2r.c
2362  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mull-dup.c
2363  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mull-ld1r.c
2364  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neon-mull-ld2r.c
2365  src/qs8-igemm/gen/4x16c4s2-minmax-rndnu-neon-mlal.c
2366  src/qs8-igemm/gen/4x16c4s2-minmax-rndnu-neon-mull.c
2367  src/qs8-igemm/gen/4x16c8-minmax-rndnu-neon-mlal.c
2368  src/qs8-igemm/gen/4x16c8-minmax-rndnu-neon-mull.c
2369  src/qs8-igemm/gen/4x16c16-minmax-rndnu-neon-mlal.c
2370  src/qs8-igemm/gen/6x8-minmax-rndnu-neon-mlal-lane-prfm.c
2371  src/qs8-igemm/gen/6x8-minmax-rndnu-neon-mlal-lane.c
2372  src/qs8-igemm/gen/6x16-minmax-rndnu-neon-mlal-lane-prfm.c
2373  src/qs8-igemm/gen/6x16-minmax-rndnu-neon-mlal-lane.c
2374  src/qs8-requantization/fp32-neon.c
2375  src/qs8-requantization/gemmlowp-neon.c
2376  src/qs8-requantization/rndna-neon.c
2377  src/qs8-requantization/rndnu-neon-mull.c
2378  src/qs8-requantization/rndnu-neon-qdmulh.c
2379  src/qs8-vadd/gen/minmax-neon-ld64-x8.c
2380  src/qs8-vadd/gen/minmax-neon-ld64-x16.c
2381  src/qs8-vadd/gen/minmax-neon-ld64-x24.c
2382  src/qs8-vadd/gen/minmax-neon-ld64-x32.c
2383  src/qs8-vadd/gen/minmax-neon-ld128-x16.c
2384  src/qs8-vadd/gen/minmax-neon-ld128-x32.c
2385  src/qs8-vaddc/gen/minmax-neon-ld64-x8.c
2386  src/qs8-vaddc/gen/minmax-neon-ld64-x16.c
2387  src/qs8-vaddc/gen/minmax-neon-ld64-x24.c
2388  src/qs8-vaddc/gen/minmax-neon-ld64-x32.c
2389  src/qs8-vaddc/gen/minmax-neon-ld128-x16.c
2390  src/qs8-vaddc/gen/minmax-neon-ld128-x32.c
2391  src/qs8-vmul/gen/minmax-fp32-neon-ld64-x8.c
2392  src/qs8-vmul/gen/minmax-fp32-neon-ld64-x16.c
2393  src/qs8-vmul/gen/minmax-fp32-neon-ld128-x16.c
2394  src/qs8-vmul/gen/minmax-rndnu-neon-ld64-x8.c
2395  src/qs8-vmul/gen/minmax-rndnu-neon-ld64-x16.c
2396  src/qs8-vmul/gen/minmax-rndnu-neon-ld128-x16.c
2397  src/qs8-vmulc/gen/minmax-fp32-neon-ld64-x8.c
2398  src/qs8-vmulc/gen/minmax-fp32-neon-ld64-x16.c
2399  src/qs8-vmulc/gen/minmax-fp32-neon-ld128-x16.c
2400  src/qs8-vmulc/gen/minmax-rndnu-neon-ld64-x8.c
2401  src/qs8-vmulc/gen/minmax-rndnu-neon-ld64-x16.c
2402  src/qs8-vmulc/gen/minmax-rndnu-neon-ld128-x16.c
2403  src/qu8-avgpool/9p8x-minmax-neon-c8.c
2404  src/qu8-avgpool/9x-minmax-neon-c8.c
2405  src/qu8-dwconv/gen/up8x9-minmax-fp32-neon-mul16.c
2406  src/qu8-dwconv/gen/up8x9-minmax-rndnu-neon-mul8.c
2407  src/qu8-dwconv/gen/up8x9-minmax-rndnu-neon-mul16.c
2408  src/qu8-dwconv/gen/up8x25-minmax-fp32-neon-mul16.c
2409  src/qu8-dwconv/gen/up8x25-minmax-rndnu-neon-mul8.c
2410  src/qu8-dwconv/gen/up8x25-minmax-rndnu-neon-mul16.c
2411  src/qu8-dwconv/gen/up16x9-minmax-fp32-neon-mul16.c
2412  src/qu8-dwconv/gen/up16x9-minmax-rndnu-neon-mul8.c
2413  src/qu8-dwconv/gen/up16x9-minmax-rndnu-neon-mul16.c
2414  src/qu8-dwconv/gen/up16x25-minmax-fp32-neon-mul16.c
2415  src/qu8-dwconv/gen/up16x25-minmax-rndnu-neon-mul8.c
2416  src/qu8-dwconv/gen/up16x25-minmax-rndnu-neon-mul16.c
2417  src/qu8-dwconv/gen/up24x9-minmax-fp32-neon-mul16.c
2418  src/qu8-dwconv/gen/up24x9-minmax-rndnu-neon-mul8.c
2419  src/qu8-dwconv/gen/up24x9-minmax-rndnu-neon-mul16.c
2420  src/qu8-dwconv/gen/up24x25-minmax-fp32-neon-mul16.c
2421  src/qu8-dwconv/gen/up24x25-minmax-rndnu-neon-mul8.c
2422  src/qu8-dwconv/gen/up24x25-minmax-rndnu-neon-mul16.c
2423  src/qu8-dwconv/gen/up32x9-minmax-fp32-neon-mul16.c
2424  src/qu8-dwconv/gen/up32x9-minmax-rndnu-neon-mul8.c
2425  src/qu8-dwconv/gen/up32x9-minmax-rndnu-neon-mul16.c
2426  src/qu8-dwconv/gen/up32x25-minmax-fp32-neon-mul16.c
2427  src/qu8-dwconv/gen/up32x25-minmax-rndnu-neon-mul8.c
2428  src/qu8-dwconv/gen/up32x25-minmax-rndnu-neon-mul16.c
2429  src/qu8-f32-vcvt/gen/vcvt-neon-x8.c
2430  src/qu8-f32-vcvt/gen/vcvt-neon-x16.c
2431  src/qu8-f32-vcvt/gen/vcvt-neon-x24.c
2432  src/qu8-f32-vcvt/gen/vcvt-neon-x32.c
2433  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neon-c8.c
2434  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neon-c16.c
2435  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neon-c24.c
2436  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neon-c32.c
2437  src/qu8-gavgpool/gen/7p7x-minmax-rndnu-neon-c8.c
2438  src/qu8-gavgpool/gen/7p7x-minmax-rndnu-neon-c16.c
2439  src/qu8-gavgpool/gen/7p7x-minmax-rndnu-neon-c24.c
2440  src/qu8-gavgpool/gen/7p7x-minmax-rndnu-neon-c32.c
2441  src/qu8-gavgpool/gen/7x-minmax-fp32-neon-c8.c
2442  src/qu8-gavgpool/gen/7x-minmax-fp32-neon-c16.c
2443  src/qu8-gavgpool/gen/7x-minmax-fp32-neon-c24.c
2444  src/qu8-gavgpool/gen/7x-minmax-fp32-neon-c32.c
2445  src/qu8-gavgpool/gen/7x-minmax-rndnu-neon-c8.c
2446  src/qu8-gavgpool/gen/7x-minmax-rndnu-neon-c16.c
2447  src/qu8-gavgpool/gen/7x-minmax-rndnu-neon-c24.c
2448  src/qu8-gavgpool/gen/7x-minmax-rndnu-neon-c32.c
2449  src/qu8-gemm/gen/1x8-minmax-fp32-neon-mlal-lane.c
2450  src/qu8-gemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
2451  src/qu8-gemm/gen/1x16-minmax-fp32-neon-mlal-lane.c
2452  src/qu8-gemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
2453  src/qu8-gemm/gen/2x8-minmax-rndnu-neon-mlal-lane.c
2454  src/qu8-gemm/gen/2x16-minmax-rndnu-neon-mlal-lane.c
2455  src/qu8-gemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c
2456  src/qu8-gemm/gen/3x16-minmax-rndnu-neon-mlal-lane.c
2457  src/qu8-gemm/gen/4x8-minmax-fp32-neon-mlal-lane.c
2458  src/qu8-gemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c
2459  src/qu8-gemm/gen/4x16-minmax-fp32-neon-mlal-lane.c
2460  src/qu8-gemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c
2461  src/qu8-gemm/gen/6x8-minmax-rndnu-neon-mlal-lane.c
2462  src/qu8-gemm/gen/6x16-minmax-rndnu-neon-mlal-lane.c
2463  src/qu8-igemm/gen/1x8-minmax-fp32-neon-mlal-lane.c
2464  src/qu8-igemm/gen/1x8-minmax-rndnu-neon-mlal-lane.c
2465  src/qu8-igemm/gen/1x16-minmax-fp32-neon-mlal-lane.c
2466  src/qu8-igemm/gen/1x16-minmax-rndnu-neon-mlal-lane.c
2467  src/qu8-igemm/gen/2x8-minmax-rndnu-neon-mlal-lane.c
2468  src/qu8-igemm/gen/2x16-minmax-rndnu-neon-mlal-lane.c
2469  src/qu8-igemm/gen/3x8-minmax-rndnu-neon-mlal-lane.c
2470  src/qu8-igemm/gen/3x16-minmax-rndnu-neon-mlal-lane.c
2471  src/qu8-igemm/gen/4x8-minmax-fp32-neon-mlal-lane.c
2472  src/qu8-igemm/gen/4x8-minmax-rndnu-neon-mlal-lane.c
2473  src/qu8-igemm/gen/4x16-minmax-fp32-neon-mlal-lane.c
2474  src/qu8-igemm/gen/4x16-minmax-rndnu-neon-mlal-lane.c
2475  src/qu8-igemm/gen/6x8-minmax-rndnu-neon-mlal-lane.c
2476  src/qu8-igemm/gen/6x16-minmax-rndnu-neon-mlal-lane.c
2477  src/qu8-requantization/fp32-neon.c
2478  src/qu8-requantization/gemmlowp-neon.c
2479  src/qu8-requantization/rndna-neon.c
2480  src/qu8-vadd/gen/minmax-neon-ld64-x8.c
2481  src/qu8-vadd/gen/minmax-neon-ld64-x16.c
2482  src/qu8-vadd/gen/minmax-neon-ld64-x32.c
2483  src/qu8-vadd/gen/minmax-neon-ld128-x16.c
2484  src/qu8-vaddc/gen/minmax-neon-ld64-x8.c
2485  src/qu8-vaddc/gen/minmax-neon-ld64-x16.c
2486  src/qu8-vaddc/gen/minmax-neon-ld64-x32.c
2487  src/qu8-vaddc/gen/minmax-neon-ld128-x16.c
2488  src/qu8-vmul/gen/minmax-fp32-neon-ld64-x8.c
2489  src/qu8-vmul/gen/minmax-fp32-neon-ld64-x16.c
2490  src/qu8-vmul/gen/minmax-fp32-neon-ld128-x16.c
2491  src/qu8-vmul/gen/minmax-rndnu-neon-ld64-x8.c
2492  src/qu8-vmul/gen/minmax-rndnu-neon-ld64-x16.c
2493  src/qu8-vmul/gen/minmax-rndnu-neon-ld128-x16.c
2494  src/qu8-vmulc/gen/minmax-fp32-neon-ld64-x8.c
2495  src/qu8-vmulc/gen/minmax-fp32-neon-ld64-x16.c
2496  src/qu8-vmulc/gen/minmax-fp32-neon-ld128-x16.c
2497  src/qu8-vmulc/gen/minmax-rndnu-neon-ld64-x8.c
2498  src/qu8-vmulc/gen/minmax-rndnu-neon-ld64-x16.c
2499  src/qu8-vmulc/gen/minmax-rndnu-neon-ld128-x16.c
2500  src/s8-ibilinear/gen/neon-c8.c
2501  src/s8-ibilinear/gen/neon-c16.c
2502  src/s8-maxpool/9p8x-minmax-neon-c16.c
2503  src/s8-vclamp/neon-x64.c
2504  src/u8-ibilinear/gen/neon-c8.c
2505  src/u8-ibilinear/gen/neon-c16.c
2506  src/u8-maxpool/9p8x-minmax-neon-c16.c
2507  src/u8-rmax/neon.c
2508  src/u8-vclamp/neon-x64.c
2509  src/x8-transpose/gen/16x16-reuse-dec-zip-neon.c
2510  src/x8-transpose/gen/16x16-reuse-mov-zip-neon.c
2511  src/x8-transpose/gen/16x16-reuse-switch-zip-neon.c
2512  src/x8-zip/x2-neon.c
2513  src/x8-zip/x3-neon.c
2514  src/x8-zip/x4-neon.c
2515  src/x8-zip/xm-neon.c
2516  src/x16-transpose/gen/8x8-multi-dec-zip-neon.c
2517  src/x16-transpose/gen/8x8-multi-mov-zip-neon.c
2518  src/x16-transpose/gen/8x8-multi-switch-zip-neon.c
2519  src/x16-transpose/gen/8x8-reuse-dec-zip-neon.c
2520  src/x16-transpose/gen/8x8-reuse-mov-zip-neon.c
2521  src/x16-transpose/gen/8x8-reuse-multi-zip-neon.c
2522  src/x16-transpose/gen/8x8-reuse-switch-zip-neon.c
2523  src/x32-packx/x4-neon-st4.c
2524  src/x32-transpose/gen/4x4-multi-dec-zip-neon.c
2525  src/x32-transpose/gen/4x4-multi-mov-zip-neon.c
2526  src/x32-transpose/gen/4x4-multi-multi-zip-neon.c
2527  src/x32-transpose/gen/4x4-multi-switch-zip-neon.c
2528  src/x32-transpose/gen/4x4-reuse-dec-zip-neon.c
2529  src/x32-transpose/gen/4x4-reuse-mov-zip-neon.c
2530  src/x32-transpose/gen/4x4-reuse-multi-zip-neon.c
2531  src/x32-transpose/gen/4x4-reuse-switch-zip-neon.c
2532  src/x32-unpool/neon.c
2533  src/x32-zip/x2-neon.c
2534  src/x32-zip/x3-neon.c
2535  src/x32-zip/x4-neon.c
2536  src/x32-zip/xm-neon.c
2537  src/xx-fill/neon-x64.c
2538  src/xx-pad/neon.c)
2539
2540SET(PROD_NEONFP16_MICROKERNEL_SRCS
2541  src/f16-f32-vcvt/gen/vcvt-neonfp16-x16.c
2542  src/f32-f16-vcvt/gen/vcvt-neonfp16-x16.c)
2543
2544SET(ALL_NEONFP16_MICROKERNEL_SRCS
2545  src/f16-f32-vcvt/gen/vcvt-neonfp16-x8.c
2546  src/f16-f32-vcvt/gen/vcvt-neonfp16-x16.c
2547  src/f32-f16-vcvt/gen/vcvt-neonfp16-x8.c
2548  src/f32-f16-vcvt/gen/vcvt-neonfp16-x16.c
2549  src/math/cvt-f16-f32-neonfp16.c
2550  src/math/cvt-f32-f16-neonfp16.c)
2551
2552SET(PROD_NEONFMA_MICROKERNEL_SRCS
2553  src/f32-dwconv/gen/up8x3-minmax-neonfma.c
2554  src/f32-dwconv/gen/up8x4-minmax-neonfma.c
2555  src/f32-dwconv/gen/up8x9-minmax-neonfma.c
2556  src/f32-dwconv/gen/up8x25-minmax-neonfma-acc2.c
2557  src/f32-gemm/gen/1x8s4-minmax-neonfma.c
2558  src/f32-gemm/gen/6x8s4-minmax-neonfma.c
2559  src/f32-ibilinear-chw/gen/neonfma-p8.c
2560  src/f32-ibilinear/gen/neonfma-c8.c
2561  src/f32-igemm/gen/1x8s4-minmax-neonfma.c
2562  src/f32-igemm/gen/6x8s4-minmax-neonfma.c
2563  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x16.c
2564  src/f32-spmm/gen/32x1-minmax-neonfma-pipelined.c
2565  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x16.c
2566  src/f32-velu/gen/velu-neonfma-rr1-p6-x8.c
2567  src/f32-vmulcaddc/gen/c4-minmax-neonfma-2x.c
2568  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x16.c)
2569
2570SET(ALL_NEONFMA_MICROKERNEL_SRCS
2571  src/f32-dwconv/gen/up4x3-minmax-neonfma-acc2.c
2572  src/f32-dwconv/gen/up4x3-minmax-neonfma.c
2573  src/f32-dwconv/gen/up4x4-minmax-neonfma-acc2.c
2574  src/f32-dwconv/gen/up4x4-minmax-neonfma.c
2575  src/f32-dwconv/gen/up4x9-minmax-neonfma-acc2.c
2576  src/f32-dwconv/gen/up4x9-minmax-neonfma.c
2577  src/f32-dwconv/gen/up4x25-minmax-neonfma-acc2.c
2578  src/f32-dwconv/gen/up4x25-minmax-neonfma.c
2579  src/f32-dwconv/gen/up8x3-minmax-neonfma-acc2.c
2580  src/f32-dwconv/gen/up8x3-minmax-neonfma.c
2581  src/f32-dwconv/gen/up8x4-minmax-neonfma-acc2.c
2582  src/f32-dwconv/gen/up8x4-minmax-neonfma.c
2583  src/f32-dwconv/gen/up8x9-minmax-neonfma-acc2.c
2584  src/f32-dwconv/gen/up8x9-minmax-neonfma.c
2585  src/f32-dwconv/gen/up8x25-minmax-neonfma-acc2.c
2586  src/f32-dwconv/gen/up8x25-minmax-neonfma.c
2587  src/f32-dwconv/gen/up16x3-minmax-neon-acc2.c
2588  src/f32-dwconv/gen/up16x3-minmax-neon.c
2589  src/f32-dwconv/gen/up16x3-minmax-neonfma-acc2.c
2590  src/f32-dwconv/gen/up16x3-minmax-neonfma.c
2591  src/f32-dwconv/gen/up16x4-minmax-neon-acc2.c
2592  src/f32-dwconv/gen/up16x4-minmax-neon.c
2593  src/f32-dwconv/gen/up16x4-minmax-neonfma-acc2.c
2594  src/f32-dwconv/gen/up16x4-minmax-neonfma.c
2595  src/f32-dwconv/gen/up16x9-minmax-neon-acc2.c
2596  src/f32-dwconv/gen/up16x9-minmax-neon.c
2597  src/f32-dwconv/gen/up16x9-minmax-neonfma-acc2.c
2598  src/f32-dwconv/gen/up16x9-minmax-neonfma.c
2599  src/f32-dwconv/gen/up16x25-minmax-neon-acc2.c
2600  src/f32-dwconv/gen/up16x25-minmax-neon.c
2601  src/f32-dwconv/gen/up16x25-minmax-neonfma-acc2.c
2602  src/f32-dwconv/gen/up16x25-minmax-neonfma.c
2603  src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-dup-ld64.c
2604  src/f32-gemm/gen-inc/1x8s4inc-minmax-neonfma.c
2605  src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld64.c
2606  src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld128.c
2607  src/f32-gemm/gen-inc/4x8s4inc-minmax-neonfma.c
2608  src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld64.c
2609  src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld128.c
2610  src/f32-gemm/gen-inc/6x8s4inc-minmax-neonfma.c
2611  src/f32-gemm/gen-inc/8x8s4inc-minmax-neonfma.c
2612  src/f32-gemm/gen/1x8-minmax-neonfma-dup-ld64.c
2613  src/f32-gemm/gen/1x8s4-minmax-neonfma.c
2614  src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld64.c
2615  src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld128.c
2616  src/f32-gemm/gen/4x8s4-minmax-neonfma.c
2617  src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld64.c
2618  src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld128.c
2619  src/f32-gemm/gen/6x8s4-minmax-neonfma.c
2620  src/f32-gemm/gen/8x8s4-minmax-neonfma.c
2621  src/f32-ibilinear-chw/gen/neonfma-p4.c
2622  src/f32-ibilinear-chw/gen/neonfma-p8.c
2623  src/f32-ibilinear/gen/neonfma-c4.c
2624  src/f32-ibilinear/gen/neonfma-c8.c
2625  src/f32-igemm/gen/1x8-minmax-neonfma-dup-ld64.c
2626  src/f32-igemm/gen/1x8s4-minmax-neonfma.c
2627  src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld64.c
2628  src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld128.c
2629  src/f32-igemm/gen/4x8s4-minmax-neonfma.c
2630  src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld64.c
2631  src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld128.c
2632  src/f32-igemm/gen/6x8s4-minmax-neonfma.c
2633  src/f32-igemm/gen/8x8s4-minmax-neonfma.c
2634  src/f32-ppmm/gen/4x8-minmax-neonfma.c
2635  src/f32-ppmm/gen/8x8-minmax-neonfma.c
2636  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x4.c
2637  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x8-acc2.c
2638  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x8.c
2639  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x12-acc2.c
2640  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x12-acc3.c
2641  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x12.c
2642  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x16-acc2.c
2643  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x16-acc4.c
2644  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x16.c
2645  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x20-acc2.c
2646  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x20-acc5.c
2647  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-lut64-p2-x20.c
2648  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x4.c
2649  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x8-acc2.c
2650  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x8.c
2651  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x12-acc2.c
2652  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x12-acc3.c
2653  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x12.c
2654  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x16-acc2.c
2655  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x16-acc4.c
2656  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x16.c
2657  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x20-acc2.c
2658  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x20-acc5.c
2659  src/f32-raddstoreexpminusmax/gen/neonfma-rr1-p5-x20.c
2660  src/f32-spmm/gen/4x1-minmax-neonfma-pipelined.c
2661  src/f32-spmm/gen/4x1-minmax-neonfma-x2.c
2662  src/f32-spmm/gen/4x1-minmax-neonfma.c
2663  src/f32-spmm/gen/8x1-minmax-neonfma-pipelined.c
2664  src/f32-spmm/gen/8x1-minmax-neonfma-x2.c
2665  src/f32-spmm/gen/8x1-minmax-neonfma.c
2666  src/f32-spmm/gen/12x1-minmax-neonfma.c
2667  src/f32-spmm/gen/16x1-minmax-neonfma-pipelined.c
2668  src/f32-spmm/gen/16x1-minmax-neonfma-x2.c
2669  src/f32-spmm/gen/16x1-minmax-neonfma.c
2670  src/f32-spmm/gen/32x1-minmax-neonfma-pipelined.c
2671  src/f32-spmm/gen/32x1-minmax-neonfma-x2.c
2672  src/f32-spmm/gen/32x1-minmax-neonfma.c
2673  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x4.c
2674  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x8.c
2675  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x12.c
2676  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x16.c
2677  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x20.c
2678  src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x24.c
2679  src/f32-velu/gen/velu-neonfma-rr1-p6-x4.c
2680  src/f32-velu/gen/velu-neonfma-rr1-p6-x8.c
2681  src/f32-velu/gen/velu-neonfma-rr1-p6-x12.c
2682  src/f32-velu/gen/velu-neonfma-rr1-p6-x16.c
2683  src/f32-velu/gen/velu-neonfma-rr1-p6-x20.c
2684  src/f32-velu/gen/velu-neonfma-rr1-p6-x24.c
2685  src/f32-vmulcaddc/gen/c4-minmax-neonfma-2x.c
2686  src/f32-vmulcaddc/gen/c8-minmax-neonfma-2x.c
2687  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x4.c
2688  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x8.c
2689  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x12.c
2690  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x16.c
2691  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x20.c
2692  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr1recps1fma-x24.c
2693  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x4.c
2694  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x8.c
2695  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x12.c
2696  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x16.c
2697  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x20.c
2698  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2fma-x24.c
2699  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x4.c
2700  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x8.c
2701  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x12.c
2702  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x16.c
2703  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x20.c
2704  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-nr2recps-x24.c
2705  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x4.c
2706  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x8.c
2707  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x12.c
2708  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x16.c
2709  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x20.c
2710  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma-x24.c
2711  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x4.c
2712  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x8.c
2713  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x12.c
2714  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x16.c
2715  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x20.c
2716  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2fma-x24.c
2717  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x4.c
2718  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x8.c
2719  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x12.c
2720  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x16.c
2721  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x20.c
2722  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-nr2recps-x24.c
2723  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x4.c
2724  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x8.c
2725  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x12.c
2726  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x16.c
2727  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x20.c
2728  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr1recps1fma-x24.c
2729  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x4.c
2730  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x8.c
2731  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x12.c
2732  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x16.c
2733  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x20.c
2734  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2fma-x24.c
2735  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x4.c
2736  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x8.c
2737  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x12.c
2738  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x16.c
2739  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x20.c
2740  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-nr2recps-x24.c
2741  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x4.c
2742  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x8.c
2743  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x12.c
2744  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x16.c
2745  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x20.c
2746  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x24.c
2747  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x28.c
2748  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x32.c
2749  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x36.c
2750  src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x40.c
2751  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x4.c
2752  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x8.c
2753  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x12.c
2754  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x16.c
2755  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x20.c
2756  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x24.c
2757  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x28.c
2758  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x32.c
2759  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x36.c
2760  src/f32-vsqrt/gen/neonfma-nr2fma1adj-x40.c
2761  src/math/exp-neonfma-rr2-lut64-p2.c
2762  src/math/exp-neonfma-rr2-p5.c
2763  src/math/expm1minus-neonfma-rr1-lut16-p3.c
2764  src/math/expm1minus-neonfma-rr1-p6.c
2765  src/math/expminus-neonfma-rr2-lut64-p2.c
2766  src/math/expminus-neonfma-rr2-lut2048-p1.c
2767  src/math/expminus-neonfma-rr2-p5.c
2768  src/math/sigmoid-neonfma-rr1-lut64-p2-nr1recps1fma.c
2769  src/math/sigmoid-neonfma-rr1-lut64-p2-nr2fma.c
2770  src/math/sigmoid-neonfma-rr1-lut64-p2-nr2recps.c
2771  src/math/sigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma.c
2772  src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2fma.c
2773  src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2recps.c
2774  src/math/sigmoid-neonfma-rr1-p5-nr1recps1fma.c
2775  src/math/sigmoid-neonfma-rr1-p5-nr2fma.c
2776  src/math/sigmoid-neonfma-rr1-p5-nr2recps.c
2777  src/math/sigmoid-neonfma-rr2-lut64-p2-nr1recps1fma.c
2778  src/math/sigmoid-neonfma-rr2-lut64-p2-nr2fma.c
2779  src/math/sigmoid-neonfma-rr2-lut64-p2-nr2recps.c
2780  src/math/sigmoid-neonfma-rr2-lut2048-p1-nr1recps1fma.c
2781  src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2fma.c
2782  src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2recps.c
2783  src/math/sigmoid-neonfma-rr2-p5-nr1recps1fma.c
2784  src/math/sigmoid-neonfma-rr2-p5-nr2fma.c
2785  src/math/sigmoid-neonfma-rr2-p5-nr2recps.c
2786  src/math/sqrt-neonfma-nr1fma.c
2787  src/math/sqrt-neonfma-nr1rsqrts1fma1adj.c
2788  src/math/sqrt-neonfma-nr2fma.c
2789  src/math/sqrt-neonfma-nr2fma1adj.c
2790  src/math/sqrt-neonfma-nr3fma.c)
2791
2792SET(PROD_AARCH64_NEON_MICROKERNEL_SRCS
2793  src/f32-conv-hwc2chw/3x3s2p1c3x4-neonfma-2x2.c
2794  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-3x4.c
2795  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4-acc2.c
2796  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4.c
2797  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc2.c
2798  src/f32-gemm/gen/1x8-minmax-neonfma-lane-ld64.c
2799  src/f32-gemm/gen/4x2-minmax-neonfma-lane-ld64.c
2800  src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld64.c
2801  src/f32-igemm/gen/1x8-minmax-neonfma-lane-ld64.c
2802  src/f32-igemm/gen/4x2-minmax-neonfma-lane-ld64.c
2803  src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld64.c
2804  src/f32-spmm/gen/32x2-minmax-neonfma.c
2805  src/f32-spmm/gen/32x4-minmax-neonfma.c
2806  src/f32-vbinary/gen/vdiv-minmax-neon-x8.c
2807  src/f32-vbinary/gen/vdivc-minmax-neon-x8.c
2808  src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c
2809  src/f32-vsqrt/gen/neon-sqrt-x4.c
2810  src/x8-lut/gen/lut-neon-tbx128x4-x64.c)
2811
2812SET(ALL_AARCH64_NEON_MICROKERNEL_SRCS
2813  src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x1.c
2814  src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x2.c
2815  src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x1.c
2816  src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x2.c
2817  src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x1.c
2818  src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x2.c
2819  src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x1.c
2820  src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x2.c
2821  src/f32-conv-hwc2chw/3x3s2p1c3x4-neonfma-2x2.c
2822  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc2.c
2823  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc3.c
2824  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc4.c
2825  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4.c
2826  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4-acc2.c
2827  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4.c
2828  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-3x4.c
2829  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-4x4.c
2830  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-5x4.c
2831  src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-6x4.c
2832  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc2.c
2833  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc3.c
2834  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc4.c
2835  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4.c
2836  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4-acc2.c
2837  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4.c
2838  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-3x4.c
2839  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-4x4.c
2840  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc2.c
2841  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc3.c
2842  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc4.c
2843  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc5.c
2844  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4.c
2845  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc2.c
2846  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc3.c
2847  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4.c
2848  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4-acc2.c
2849  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4.c
2850  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4-acc2.c
2851  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4.c
2852  src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-5x4.c
2853  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc2.c
2854  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc3.c
2855  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc4.c
2856  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc5.c
2857  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4.c
2858  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc2.c
2859  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc3.c
2860  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4.c
2861  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4-acc2.c
2862  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4.c
2863  src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-lane-ld64.c
2864  src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld64.c
2865  src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld128.c
2866  src/f32-gemm/gen-inc/5x8inc-minmax-neonfma-lane-ld64.c
2867  src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld64.c
2868  src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld128.c
2869  src/f32-gemm/gen/1x8-minmax-neonfma-lane-ld64.c
2870  src/f32-gemm/gen/4x2-minmax-neonfma-lane-ld64.c
2871  src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld64.c
2872  src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld128.c
2873  src/f32-gemm/gen/5x8-minmax-neonfma-lane-ld64.c
2874  src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld64.c
2875  src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld128.c
2876  src/f32-igemm/gen/1x8-minmax-neonfma-lane-ld64.c
2877  src/f32-igemm/gen/4x2-minmax-neonfma-lane-ld64.c
2878  src/f32-igemm/gen/4x4-minmax-neonfma-lane-ld64.c
2879  src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld64.c
2880  src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld128.c
2881  src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld64.c
2882  src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld128.c
2883  src/f32-spmm/gen/4x2-minmax-neonfma.c
2884  src/f32-spmm/gen/4x4-minmax-neonfma.c
2885  src/f32-spmm/gen/8x2-minmax-neonfma.c
2886  src/f32-spmm/gen/8x4-minmax-neonfma.c
2887  src/f32-spmm/gen/12x2-minmax-neonfma.c
2888  src/f32-spmm/gen/12x4-minmax-neonfma.c
2889  src/f32-spmm/gen/16x2-minmax-neonfma.c
2890  src/f32-spmm/gen/16x4-minmax-neonfma.c
2891  src/f32-spmm/gen/32x2-minmax-neonfma.c
2892  src/f32-spmm/gen/32x4-minmax-neonfma.c
2893  src/f32-vbinary/gen/vdiv-minmax-neon-x4.c
2894  src/f32-vbinary/gen/vdiv-minmax-neon-x8.c
2895  src/f32-vbinary/gen/vdivc-minmax-neon-x4.c
2896  src/f32-vbinary/gen/vdivc-minmax-neon-x8.c
2897  src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c
2898  src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c
2899  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x4.c
2900  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x8.c
2901  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x12.c
2902  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x16.c
2903  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x20.c
2904  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut64-p2-div-x24.c
2905  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x4.c
2906  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x8.c
2907  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x12.c
2908  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x16.c
2909  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x20.c
2910  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-lut2048-p1-div-x24.c
2911  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x4.c
2912  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x8.c
2913  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x12.c
2914  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x16.c
2915  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x20.c
2916  src/f32-vsigmoid/gen/vsigmoid-neonfma-rr1-p5-div-x24.c
2917  src/f32-vsqrt/gen/neon-sqrt-x4.c
2918  src/f32-vsqrt/gen/neon-sqrt-x8.c
2919  src/math/sigmoid-neonfma-rr1-lut64-p2-div.c
2920  src/math/sigmoid-neonfma-rr1-lut2048-p1-div.c
2921  src/math/sigmoid-neonfma-rr1-p5-div.c
2922  src/math/sigmoid-neonfma-rr2-lut64-p2-div.c
2923  src/math/sigmoid-neonfma-rr2-lut2048-p1-div.c
2924  src/math/sigmoid-neonfma-rr2-p5-div.c
2925  src/x8-lut/gen/lut-neon-tbx128x4-x16.c
2926  src/x8-lut/gen/lut-neon-tbx128x4-x32.c
2927  src/x8-lut/gen/lut-neon-tbx128x4-x48.c
2928  src/x8-lut/gen/lut-neon-tbx128x4-x64.c
2929  src/x32-transpose/4x4-aarch64-tbl.c)
2930
2931SET(PROD_NEONV8_MICROKERNEL_SRCS
2932  src/f32-qs8-vcvt/gen/vcvt-neonv8-x32.c
2933  src/f32-qu8-vcvt/gen/vcvt-neonv8-x32.c
2934  src/f32-vrnd/gen/vrndd-neonv8-x8.c
2935  src/f32-vrnd/gen/vrndne-neonv8-x8.c
2936  src/f32-vrnd/gen/vrndu-neonv8-x8.c
2937  src/f32-vrnd/gen/vrndz-neonv8-x8.c
2938  src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mla8-ld64.c
2939  src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mla8-ld64.c
2940  src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mla8-ld64.c
2941  src/qc8-gemm/gen/1x8-minmax-fp32-neonv8-mlal-lane-prfm.c
2942  src/qc8-gemm/gen/1x8-minmax-fp32-neonv8-mlal-lane.c
2943  src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c
2944  src/qc8-gemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c
2945  src/qc8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
2946  src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c
2947  src/qc8-gemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c
2948  src/qc8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
2949  src/qc8-igemm/gen/1x8-minmax-fp32-neonv8-mlal-lane-prfm.c
2950  src/qc8-igemm/gen/1x8-minmax-fp32-neonv8-mlal-lane.c
2951  src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c
2952  src/qc8-igemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c
2953  src/qc8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
2954  src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c
2955  src/qc8-igemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c
2956  src/qc8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c)
2957
2958SET(ALL_NEONV8_MICROKERNEL_SRCS
2959  src/f32-qs8-vcvt/gen/vcvt-neonv8-x8.c
2960  src/f32-qs8-vcvt/gen/vcvt-neonv8-x16.c
2961  src/f32-qs8-vcvt/gen/vcvt-neonv8-x24.c
2962  src/f32-qs8-vcvt/gen/vcvt-neonv8-x32.c
2963  src/f32-qu8-vcvt/gen/vcvt-neonv8-x8.c
2964  src/f32-qu8-vcvt/gen/vcvt-neonv8-x16.c
2965  src/f32-qu8-vcvt/gen/vcvt-neonv8-x24.c
2966  src/f32-qu8-vcvt/gen/vcvt-neonv8-x32.c
2967  src/f32-vrnd/gen/vrndd-neonv8-x4.c
2968  src/f32-vrnd/gen/vrndd-neonv8-x8.c
2969  src/f32-vrnd/gen/vrndne-neonv8-x4.c
2970  src/f32-vrnd/gen/vrndne-neonv8-x8.c
2971  src/f32-vrnd/gen/vrndu-neonv8-x4.c
2972  src/f32-vrnd/gen/vrndu-neonv8-x8.c
2973  src/f32-vrnd/gen/vrndz-neonv8-x4.c
2974  src/f32-vrnd/gen/vrndz-neonv8-x8.c
2975  src/math/cvt-f32-qs8-neonv8.c
2976  src/math/cvt-f32-qu8-neonv8.c
2977  src/math/roundd-neonv8.c
2978  src/math/roundne-neonv8.c
2979  src/math/roundu-neonv8.c
2980  src/math/roundz-neonv8.c
2981  src/qc8-dwconv/gen/up8x9-minmax-fp32-neonv8-mla8-ld64.c
2982  src/qc8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul8-ld64.c
2983  src/qc8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul16.c
2984  src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mla8-ld64.c
2985  src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul8-ld64.c
2986  src/qc8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul16.c
2987  src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mla8-ld64.c
2988  src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mla8-ld128.c
2989  src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul8-ld64.c
2990  src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul8-ld128.c
2991  src/qc8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul16.c
2992  src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mla8-ld64.c
2993  src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mla8-ld128.c
2994  src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul8-ld64.c
2995  src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul8-ld128.c
2996  src/qc8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul16.c
2997  src/qc8-dwconv/gen/up24x9-minmax-fp32-neonv8-mul16.c
2998  src/qc8-dwconv/gen/up24x25-minmax-fp32-neonv8-mul16.c
2999  src/qc8-dwconv/gen/up32x9-minmax-fp32-neonv8-mul16.c
3000  src/qc8-dwconv/gen/up32x25-minmax-fp32-neonv8-mul16.c
3001  src/qc8-gemm/gen/1x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3002  src/qc8-gemm/gen/1x8-minmax-fp32-neonv8-mlal-lane.c
3003  src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c
3004  src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3005  src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3006  src/qc8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3007  src/qc8-gemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c
3008  src/qc8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c
3009  src/qc8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3010  src/qc8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3011  src/qc8-gemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c
3012  src/qc8-gemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c
3013  src/qc8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3014  src/qc8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
3015  src/qc8-gemm/gen/2x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3016  src/qc8-gemm/gen/2x8-minmax-fp32-neonv8-mlal-lane.c
3017  src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c
3018  src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3019  src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3020  src/qc8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3021  src/qc8-gemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c
3022  src/qc8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c
3023  src/qc8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3024  src/qc8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3025  src/qc8-gemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c
3026  src/qc8-gemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c
3027  src/qc8-gemm/gen/2x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3028  src/qc8-gemm/gen/2x16-minmax-fp32-neonv8-mlal-lane.c
3029  src/qc8-gemm/gen/3x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3030  src/qc8-gemm/gen/3x8-minmax-fp32-neonv8-mlal-lane.c
3031  src/qc8-gemm/gen/3x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3032  src/qc8-gemm/gen/3x16-minmax-fp32-neonv8-mlal-lane.c
3033  src/qc8-gemm/gen/4x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3034  src/qc8-gemm/gen/4x8-minmax-fp32-neonv8-mlal-lane.c
3035  src/qc8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3036  src/qc8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
3037  src/qc8-gemm/gen/6x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3038  src/qc8-gemm/gen/6x8-minmax-fp32-neonv8-mlal-lane.c
3039  src/qc8-gemm/gen/6x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3040  src/qc8-gemm/gen/6x16-minmax-fp32-neonv8-mlal-lane.c
3041  src/qc8-igemm/gen/1x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3042  src/qc8-igemm/gen/1x8-minmax-fp32-neonv8-mlal-lane.c
3043  src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c
3044  src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3045  src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3046  src/qc8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3047  src/qc8-igemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c
3048  src/qc8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c
3049  src/qc8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3050  src/qc8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3051  src/qc8-igemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c
3052  src/qc8-igemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c
3053  src/qc8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3054  src/qc8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
3055  src/qc8-igemm/gen/2x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3056  src/qc8-igemm/gen/2x8-minmax-fp32-neonv8-mlal-lane.c
3057  src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c
3058  src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3059  src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3060  src/qc8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3061  src/qc8-igemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c
3062  src/qc8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c
3063  src/qc8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3064  src/qc8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3065  src/qc8-igemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c
3066  src/qc8-igemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c
3067  src/qc8-igemm/gen/2x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3068  src/qc8-igemm/gen/2x16-minmax-fp32-neonv8-mlal-lane.c
3069  src/qc8-igemm/gen/3x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3070  src/qc8-igemm/gen/3x8-minmax-fp32-neonv8-mlal-lane.c
3071  src/qc8-igemm/gen/3x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3072  src/qc8-igemm/gen/3x16-minmax-fp32-neonv8-mlal-lane.c
3073  src/qc8-igemm/gen/4x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3074  src/qc8-igemm/gen/4x8-minmax-fp32-neonv8-mlal-lane.c
3075  src/qc8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3076  src/qc8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
3077  src/qc8-igemm/gen/6x8-minmax-fp32-neonv8-mlal-lane-prfm.c
3078  src/qc8-igemm/gen/6x8-minmax-fp32-neonv8-mlal-lane.c
3079  src/qc8-igemm/gen/6x16-minmax-fp32-neonv8-mlal-lane-prfm.c
3080  src/qc8-igemm/gen/6x16-minmax-fp32-neonv8-mlal-lane.c
3081  src/qs8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul16.c
3082  src/qs8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul16.c
3083  src/qs8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul16.c
3084  src/qs8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul16.c
3085  src/qs8-dwconv/gen/up24x9-minmax-fp32-neonv8-mul16.c
3086  src/qs8-dwconv/gen/up24x25-minmax-fp32-neonv8-mul16.c
3087  src/qs8-dwconv/gen/up32x9-minmax-fp32-neonv8-mul16.c
3088  src/qs8-dwconv/gen/up32x25-minmax-fp32-neonv8-mul16.c
3089  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c8.c
3090  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c16.c
3091  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c24.c
3092  src/qs8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c32.c
3093  src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c8.c
3094  src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c16.c
3095  src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c24.c
3096  src/qs8-gavgpool/gen/7x-minmax-fp32-neonv8-c32.c
3097  src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c
3098  src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3099  src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3100  src/qs8-gemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3101  src/qs8-gemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c
3102  src/qs8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c
3103  src/qs8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3104  src/qs8-gemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3105  src/qs8-gemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c
3106  src/qs8-gemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c
3107  src/qs8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
3108  src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c
3109  src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3110  src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3111  src/qs8-gemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3112  src/qs8-gemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c
3113  src/qs8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c
3114  src/qs8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3115  src/qs8-gemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3116  src/qs8-gemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c
3117  src/qs8-gemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c
3118  src/qs8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
3119  src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-dup.c
3120  src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3121  src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3122  src/qs8-igemm/gen/1x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3123  src/qs8-igemm/gen/1x8c2s4-minmax-fp32-neonv8-mlal.c
3124  src/qs8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-dup.c
3125  src/qs8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3126  src/qs8-igemm/gen/1x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3127  src/qs8-igemm/gen/1x8c4s2-minmax-fp32-neonv8-mlal.c
3128  src/qs8-igemm/gen/1x8c8-minmax-fp32-neonv8-mlal.c
3129  src/qs8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
3130  src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-dup.c
3131  src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld1r.c
3132  src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld2r.c
3133  src/qs8-igemm/gen/2x8c2-minmax-fp32-neonv8-mlal-ld4r.c
3134  src/qs8-igemm/gen/2x8c2s4-minmax-fp32-neonv8-mlal.c
3135  src/qs8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-dup.c
3136  src/qs8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld1r.c
3137  src/qs8-igemm/gen/2x8c4-minmax-fp32-neonv8-mlal-ld2r.c
3138  src/qs8-igemm/gen/2x8c4s2-minmax-fp32-neonv8-mlal.c
3139  src/qs8-igemm/gen/2x8c8-minmax-fp32-neonv8-mlal.c
3140  src/qs8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
3141  src/qs8-vmul/gen/minmax-fp32-neonv8-ld64-x8.c
3142  src/qs8-vmul/gen/minmax-fp32-neonv8-ld64-x16.c
3143  src/qs8-vmul/gen/minmax-fp32-neonv8-ld128-x16.c
3144  src/qs8-vmulc/gen/minmax-fp32-neonv8-ld64-x8.c
3145  src/qs8-vmulc/gen/minmax-fp32-neonv8-ld64-x16.c
3146  src/qs8-vmulc/gen/minmax-fp32-neonv8-ld128-x16.c
3147  src/qu8-dwconv/gen/up8x9-minmax-fp32-neonv8-mul16.c
3148  src/qu8-dwconv/gen/up8x25-minmax-fp32-neonv8-mul16.c
3149  src/qu8-dwconv/gen/up16x9-minmax-fp32-neonv8-mul16.c
3150  src/qu8-dwconv/gen/up16x25-minmax-fp32-neonv8-mul16.c
3151  src/qu8-dwconv/gen/up24x9-minmax-fp32-neonv8-mul16.c
3152  src/qu8-dwconv/gen/up24x25-minmax-fp32-neonv8-mul16.c
3153  src/qu8-dwconv/gen/up32x9-minmax-fp32-neonv8-mul16.c
3154  src/qu8-dwconv/gen/up32x25-minmax-fp32-neonv8-mul16.c
3155  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c8.c
3156  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c16.c
3157  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c24.c
3158  src/qu8-gavgpool/gen/7p7x-minmax-fp32-neonv8-c32.c
3159  src/qu8-gavgpool/gen/7x-minmax-fp32-neonv8-c8.c
3160  src/qu8-gavgpool/gen/7x-minmax-fp32-neonv8-c16.c
3161  src/qu8-gavgpool/gen/7x-minmax-fp32-neonv8-c24.c
3162  src/qu8-gavgpool/gen/7x-minmax-fp32-neonv8-c32.c
3163  src/qu8-gemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
3164  src/qu8-gemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
3165  src/qu8-igemm/gen/1x16-minmax-fp32-neonv8-mlal-lane.c
3166  src/qu8-igemm/gen/4x16-minmax-fp32-neonv8-mlal-lane.c
3167  src/qu8-vmul/gen/minmax-fp32-neonv8-ld64-x8.c
3168  src/qu8-vmul/gen/minmax-fp32-neonv8-ld64-x16.c
3169  src/qu8-vmul/gen/minmax-fp32-neonv8-ld128-x16.c
3170  src/qu8-vmulc/gen/minmax-fp32-neonv8-ld64-x8.c
3171  src/qu8-vmulc/gen/minmax-fp32-neonv8-ld64-x16.c
3172  src/qu8-vmulc/gen/minmax-fp32-neonv8-ld128-x16.c)
3173
3174SET(PROD_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS
3175  src/f16-dwconv/gen/up8x25-minmax-neonfp16arith-acc2.c
3176  src/f16-dwconv/gen/up16x4-minmax-neonfp16arith.c
3177  src/f16-dwconv/gen/up16x9-minmax-neonfp16arith.c
3178  src/f16-gavgpool/gen/7p7x-minmax-neonfp16arith-c8.c
3179  src/f16-gavgpool/gen/7x-minmax-neonfp16arith-c8.c
3180  src/f16-gemm/gen/1x16-minmax-neonfp16arith-ld64.c
3181  src/f16-gemm/gen/6x16-minmax-neonfp16arith-ld64.c
3182  src/f16-igemm/gen/1x16-minmax-neonfp16arith-ld64.c
3183  src/f16-igemm/gen/6x16-minmax-neonfp16arith-ld64.c
3184  src/f16-maxpool/9p8x-minmax-neonfp16arith-c8.c
3185  src/f16-prelu/gen/neonfp16arith-2x16.c
3186  src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c
3187  src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c
3188  src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c
3189  src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c
3190  src/f16-vhswish/gen/vhswish-neonfp16arith-x16.c
3191  src/f16-vmulcaddc/gen/c8-minmax-neonfp16arith-2x.c)
3192
3193SET(ALL_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS
3194  src/f16-dwconv/gen/up8x4-minmax-neonfp16arith-acc2.c
3195  src/f16-dwconv/gen/up8x4-minmax-neonfp16arith.c
3196  src/f16-dwconv/gen/up8x9-minmax-neonfp16arith-acc2.c
3197  src/f16-dwconv/gen/up8x9-minmax-neonfp16arith.c
3198  src/f16-dwconv/gen/up8x25-minmax-neonfp16arith-acc2.c
3199  src/f16-dwconv/gen/up8x25-minmax-neonfp16arith.c
3200  src/f16-dwconv/gen/up16x4-minmax-neonfp16arith-acc2.c
3201  src/f16-dwconv/gen/up16x4-minmax-neonfp16arith.c
3202  src/f16-dwconv/gen/up16x9-minmax-neonfp16arith-acc2.c
3203  src/f16-dwconv/gen/up16x9-minmax-neonfp16arith.c
3204  src/f16-dwconv/gen/up16x25-minmax-neonfp16arith-acc2.c
3205  src/f16-dwconv/gen/up16x25-minmax-neonfp16arith.c
3206  src/f16-dwconv/gen/up32x4-minmax-neonfp16arith-acc2.c
3207  src/f16-dwconv/gen/up32x4-minmax-neonfp16arith.c
3208  src/f16-dwconv/gen/up32x9-minmax-neonfp16arith-acc2.c
3209  src/f16-dwconv/gen/up32x9-minmax-neonfp16arith.c
3210  src/f16-dwconv/gen/up32x25-minmax-neonfp16arith-acc2.c
3211  src/f16-dwconv/gen/up32x25-minmax-neonfp16arith.c
3212  src/f16-gavgpool/gen/7p7x-minmax-neonfp16arith-c8.c
3213  src/f16-gavgpool/gen/7p7x-minmax-neonfp16arith-c16.c
3214  src/f16-gavgpool/gen/7p7x-minmax-neonfp16arith-c24.c
3215  src/f16-gavgpool/gen/7p7x-minmax-neonfp16arith-c32.c
3216  src/f16-gavgpool/gen/7x-minmax-neonfp16arith-c8.c
3217  src/f16-gavgpool/gen/7x-minmax-neonfp16arith-c16.c
3218  src/f16-gavgpool/gen/7x-minmax-neonfp16arith-c24.c
3219  src/f16-gavgpool/gen/7x-minmax-neonfp16arith-c32.c
3220  src/f16-gemm/gen-inc/1x8inc-minmax-neonfp16arith-ld64.c
3221  src/f16-gemm/gen-inc/1x16inc-minmax-neonfp16arith-ld64.c
3222  src/f16-gemm/gen-inc/4x8inc-minmax-neonfp16arith-ld64.c
3223  src/f16-gemm/gen-inc/4x16inc-minmax-neonfp16arith-ld64.c
3224  src/f16-gemm/gen-inc/6x8inc-minmax-neonfp16arith-ld64.c
3225  src/f16-gemm/gen-inc/6x16inc-minmax-neonfp16arith-ld64.c
3226  src/f16-gemm/gen-inc/8x8inc-minmax-neonfp16arith-ld64.c
3227  src/f16-gemm/gen-inc/8x16inc-minmax-neonfp16arith-ld64.c
3228  src/f16-gemm/gen/1x8-minmax-neonfp16arith-ld64.c
3229  src/f16-gemm/gen/1x16-minmax-neonfp16arith-ld64.c
3230  src/f16-gemm/gen/4x8-minmax-neonfp16arith-ld64.c
3231  src/f16-gemm/gen/4x16-minmax-neonfp16arith-ld64.c
3232  src/f16-gemm/gen/6x8-minmax-neonfp16arith-ld64.c
3233  src/f16-gemm/gen/6x16-minmax-neonfp16arith-ld64.c
3234  src/f16-gemm/gen/8x8-minmax-neonfp16arith-ld64.c
3235  src/f16-gemm/gen/8x16-minmax-neonfp16arith-ld64.c
3236  src/f16-igemm/gen/1x8-minmax-neonfp16arith-ld64.c
3237  src/f16-igemm/gen/1x16-minmax-neonfp16arith-ld64.c
3238  src/f16-igemm/gen/4x8-minmax-neonfp16arith-ld64.c
3239  src/f16-igemm/gen/4x16-minmax-neonfp16arith-ld64.c
3240  src/f16-igemm/gen/6x8-minmax-neonfp16arith-ld64.c
3241  src/f16-igemm/gen/6x16-minmax-neonfp16arith-ld64.c
3242  src/f16-igemm/gen/8x8-minmax-neonfp16arith-ld64.c
3243  src/f16-igemm/gen/8x16-minmax-neonfp16arith-ld64.c
3244  src/f16-maxpool/9p8x-minmax-neonfp16arith-c8.c
3245  src/f16-prelu/gen/neonfp16arith-2x8.c
3246  src/f16-prelu/gen/neonfp16arith-2x16.c
3247  src/f16-spmm/gen/8x1-minmax-neonfp16arith-x2.c
3248  src/f16-spmm/gen/8x1-minmax-neonfp16arith.c
3249  src/f16-spmm/gen/16x1-minmax-neonfp16arith-x2.c
3250  src/f16-spmm/gen/16x1-minmax-neonfp16arith.c
3251  src/f16-spmm/gen/24x1-minmax-neonfp16arith-x2.c
3252  src/f16-spmm/gen/24x1-minmax-neonfp16arith.c
3253  src/f16-spmm/gen/32x1-minmax-neonfp16arith-x2.c
3254  src/f16-spmm/gen/32x1-minmax-neonfp16arith.c
3255  src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c
3256  src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c
3257  src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c
3258  src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c
3259  src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c
3260  src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c
3261  src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c
3262  src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c
3263  src/f16-vbinary/gen/vmax-neonfp16arith-x8.c
3264  src/f16-vbinary/gen/vmax-neonfp16arith-x16.c
3265  src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c
3266  src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c
3267  src/f16-vbinary/gen/vmin-neonfp16arith-x8.c
3268  src/f16-vbinary/gen/vmin-neonfp16arith-x16.c
3269  src/f16-vbinary/gen/vminc-neonfp16arith-x8.c
3270  src/f16-vbinary/gen/vminc-neonfp16arith-x16.c
3271  src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c
3272  src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c
3273  src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c
3274  src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c
3275  src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c
3276  src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c
3277  src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c
3278  src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c
3279  src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c
3280  src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c
3281  src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c
3282  src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c
3283  src/f16-vclamp/gen/vclamp-neonfp16arith-x8.c
3284  src/f16-vclamp/gen/vclamp-neonfp16arith-x16.c
3285  src/f16-vhswish/gen/vhswish-neonfp16arith-x8.c
3286  src/f16-vhswish/gen/vhswish-neonfp16arith-x16.c
3287  src/f16-vmulcaddc/gen/c8-minmax-neonfp16arith-2x.c
3288  src/f16-vmulcaddc/gen/c16-minmax-neonfp16arith-2x.c)
3289
3290SET(PROD_NEONDOT_MICROKERNEL_SRCS
3291   src/qc8-gemm/gen/1x8c4-minmax-fp32-neondot.c
3292   src/qc8-gemm/gen/1x16c4-minmax-fp32-neondot.c
3293   src/qc8-gemm/gen/4x8c4-minmax-fp32-neondot.c
3294   src/qc8-gemm/gen/4x16c4-minmax-fp32-neondot.c
3295   src/qc8-igemm/gen/1x8c4-minmax-fp32-neondot.c
3296   src/qc8-igemm/gen/1x16c4-minmax-fp32-neondot.c
3297   src/qc8-igemm/gen/4x8c4-minmax-fp32-neondot.c
3298   src/qc8-igemm/gen/4x16c4-minmax-fp32-neondot.c
3299   src/qs8-gemm/gen/1x8c4-minmax-rndnu-neondot.c
3300   src/qs8-gemm/gen/1x16c4-minmax-rndnu-neondot.c
3301   src/qs8-gemm/gen/4x8c4-minmax-rndnu-neondot.c
3302   src/qs8-gemm/gen/4x16c4-minmax-rndnu-neondot.c
3303   src/qs8-igemm/gen/1x8c4-minmax-rndnu-neondot.c
3304   src/qs8-igemm/gen/1x16c4-minmax-rndnu-neondot.c
3305   src/qs8-igemm/gen/4x8c4-minmax-rndnu-neondot.c
3306   src/qs8-igemm/gen/4x16c4-minmax-rndnu-neondot.c
3307   src/qu8-gemm/gen/1x8c4-minmax-rndnu-neondot.c
3308   src/qu8-gemm/gen/1x16c4-minmax-rndnu-neondot.c
3309   src/qu8-gemm/gen/4x8c4-minmax-rndnu-neondot.c
3310   src/qu8-gemm/gen/4x16c4-minmax-rndnu-neondot.c
3311   src/qu8-igemm/gen/1x8c4-minmax-rndnu-neondot.c
3312   src/qu8-igemm/gen/1x16c4-minmax-rndnu-neondot.c
3313   src/qu8-igemm/gen/4x8c4-minmax-rndnu-neondot.c
3314   src/qu8-igemm/gen/4x16c4-minmax-rndnu-neondot.c)
3315
3316SET(ALL_NEONDOT_MICROKERNEL_SRCS
3317  src/qc8-gemm/gen/1x8c4-minmax-fp32-neondot.c
3318  src/qc8-gemm/gen/1x16c4-minmax-fp32-neondot.c
3319  src/qc8-gemm/gen/4x8c4-minmax-fp32-neondot.c
3320  src/qc8-gemm/gen/4x16c4-minmax-fp32-neondot.c
3321  src/qc8-gemm/gen/6x8c4-minmax-fp32-neondot.c
3322  src/qc8-gemm/gen/6x16c4-minmax-fp32-neondot.c
3323  src/qc8-gemm/gen/8x8c4-minmax-fp32-neondot.c
3324  src/qc8-gemm/gen/8x16c4-minmax-fp32-neondot.c
3325  src/qc8-igemm/gen/1x8c4-minmax-fp32-neondot.c
3326  src/qc8-igemm/gen/1x16c4-minmax-fp32-neondot.c
3327  src/qc8-igemm/gen/4x8c4-minmax-fp32-neondot.c
3328  src/qc8-igemm/gen/4x16c4-minmax-fp32-neondot.c
3329  src/qc8-igemm/gen/6x8c4-minmax-fp32-neondot.c
3330  src/qc8-igemm/gen/6x16c4-minmax-fp32-neondot.c
3331  src/qc8-igemm/gen/8x8c4-minmax-fp32-neondot.c
3332  src/qc8-igemm/gen/8x16c4-minmax-fp32-neondot.c
3333  src/qs8-gemm/gen/1x8c4-minmax-fp32-neondot.c
3334  src/qs8-gemm/gen/1x8c4-minmax-rndnu-neondot.c
3335  src/qs8-gemm/gen/1x16c4-minmax-rndnu-neondot.c
3336  src/qs8-gemm/gen/4x8c4-minmax-rndnu-neondot.c
3337  src/qs8-gemm/gen/4x16c4-minmax-rndnu-neondot.c
3338  src/qs8-gemm/gen/6x8c4-minmax-rndnu-neondot.c
3339  src/qs8-gemm/gen/6x16c4-minmax-rndnu-neondot.c
3340  src/qs8-gemm/gen/8x8c4-minmax-rndnu-neondot.c
3341  src/qs8-gemm/gen/8x16c4-minmax-rndnu-neondot.c
3342  src/qs8-igemm/gen/1x8c4-minmax-fp32-neondot.c
3343  src/qs8-igemm/gen/1x8c4-minmax-rndnu-neondot.c
3344  src/qs8-igemm/gen/1x16c4-minmax-rndnu-neondot.c
3345  src/qs8-igemm/gen/4x8c4-minmax-rndnu-neondot.c
3346  src/qs8-igemm/gen/4x16c4-minmax-rndnu-neondot.c
3347  src/qs8-igemm/gen/6x8c4-minmax-rndnu-neondot.c
3348  src/qs8-igemm/gen/6x16c4-minmax-rndnu-neondot.c
3349  src/qs8-igemm/gen/8x8c4-minmax-rndnu-neondot.c
3350  src/qs8-igemm/gen/8x16c4-minmax-rndnu-neondot.c
3351  src/qu8-gemm/gen/1x8c4-minmax-rndnu-neondot.c
3352  src/qu8-gemm/gen/1x16c4-minmax-fp32-neondot.c
3353  src/qu8-gemm/gen/1x16c4-minmax-rndnu-neondot.c
3354  src/qu8-gemm/gen/1x32c4-minmax-rndnu-neondot.c
3355  src/qu8-gemm/gen/2x8c4-minmax-rndnu-neondot.c
3356  src/qu8-gemm/gen/2x16c4-minmax-fp32-neondot.c
3357  src/qu8-gemm/gen/2x16c4-minmax-rndnu-neondot.c
3358  src/qu8-gemm/gen/2x32c4-minmax-rndnu-neondot.c
3359  src/qu8-gemm/gen/3x8c4-minmax-rndnu-neondot.c
3360  src/qu8-gemm/gen/3x16c4-minmax-rndnu-neondot.c
3361  src/qu8-gemm/gen/3x32c4-minmax-rndnu-neondot.c
3362  src/qu8-gemm/gen/4x8c4-minmax-rndnu-neondot.c
3363  src/qu8-gemm/gen/4x16c4-minmax-fp32-neondot.c
3364  src/qu8-gemm/gen/4x16c4-minmax-rndnu-neondot.c
3365  src/qu8-gemm/gen/5x8c4-minmax-rndnu-neondot.c
3366  src/qu8-gemm/gen/5x16c4-minmax-rndnu-neondot.c
3367  src/qu8-gemm/gen/6x8c4-minmax-rndnu-neondot.c
3368  src/qu8-gemm/gen/6x16c4-minmax-rndnu-neondot.c
3369  src/qu8-gemm/gen/8x8c4-minmax-rndnu-neondot.c
3370  src/qu8-gemm/gen/8x16c4-minmax-rndnu-neondot.c
3371  src/qu8-igemm/gen/1x8c4-minmax-rndnu-neondot.c
3372  src/qu8-igemm/gen/1x16c4-minmax-fp32-neondot.c
3373  src/qu8-igemm/gen/1x16c4-minmax-rndnu-neondot.c
3374  src/qu8-igemm/gen/1x32c4-minmax-rndnu-neondot.c
3375  src/qu8-igemm/gen/2x8c4-minmax-rndnu-neondot.c
3376  src/qu8-igemm/gen/2x16c4-minmax-fp32-neondot.c
3377  src/qu8-igemm/gen/2x16c4-minmax-rndnu-neondot.c
3378  src/qu8-igemm/gen/2x32c4-minmax-rndnu-neondot.c
3379  src/qu8-igemm/gen/3x8c4-minmax-rndnu-neondot.c
3380  src/qu8-igemm/gen/3x16c4-minmax-rndnu-neondot.c
3381  src/qu8-igemm/gen/3x32c4-minmax-rndnu-neondot.c
3382  src/qu8-igemm/gen/4x8c4-minmax-rndnu-neondot.c
3383  src/qu8-igemm/gen/4x16c4-minmax-fp32-neondot.c
3384  src/qu8-igemm/gen/4x16c4-minmax-rndnu-neondot.c
3385  src/qu8-igemm/gen/5x8c4-minmax-rndnu-neondot.c
3386  src/qu8-igemm/gen/5x16c4-minmax-rndnu-neondot.c
3387  src/qu8-igemm/gen/6x8c4-minmax-rndnu-neondot.c
3388  src/qu8-igemm/gen/6x16c4-minmax-rndnu-neondot.c
3389  src/qu8-igemm/gen/8x8c4-minmax-rndnu-neondot.c
3390  src/qu8-igemm/gen/8x16c4-minmax-rndnu-neondot.c)
3391
3392SET(PROD_SSE_MICROKERNEL_SRCS
3393  src/f32-avgpool/9p8x-minmax-sse-c4.c
3394  src/f32-avgpool/9x-minmax-sse-c4.c
3395  src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-2x2.c
3396  src/f32-dwconv/gen/up8x3-minmax-sse.c
3397  src/f32-dwconv/gen/up8x4-minmax-sse.c
3398  src/f32-dwconv/gen/up8x9-minmax-sse.c
3399  src/f32-dwconv/gen/up8x25-minmax-sse.c
3400  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4-acc2.c
3401  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc3.c
3402  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4.c
3403  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4.c
3404  src/f32-gavgpool-cw/sse-x4.c
3405  src/f32-gavgpool/7p7x-minmax-sse-c4.c
3406  src/f32-gavgpool/7x-minmax-sse-c4.c
3407  src/f32-gemm/gen/1x8-minmax-sse-load1.c
3408  src/f32-gemm/gen/4x2c4-minmax-sse.c
3409  src/f32-gemm/gen/4x8-minmax-sse-load1.c
3410  src/f32-ibilinear-chw/gen/sse-p8.c
3411  src/f32-ibilinear/gen/sse-c8.c
3412  src/f32-igemm/gen/1x8-minmax-sse-load1.c
3413  src/f32-igemm/gen/4x2c4-minmax-sse.c
3414  src/f32-igemm/gen/4x8-minmax-sse-load1.c
3415  src/f32-maxpool/9p8x-minmax-sse-c4.c
3416  src/f32-pavgpool/9p8x-minmax-sse-c4.c
3417  src/f32-pavgpool/9x-minmax-sse-c4.c
3418  src/f32-rmax/sse.c
3419  src/f32-spmm/gen/32x1-minmax-sse.c
3420  src/f32-vbinary/gen/vadd-minmax-sse-x8.c
3421  src/f32-vbinary/gen/vaddc-minmax-sse-x8.c
3422  src/f32-vbinary/gen/vdiv-minmax-sse-x8.c
3423  src/f32-vbinary/gen/vdivc-minmax-sse-x8.c
3424  src/f32-vbinary/gen/vmax-sse-x8.c
3425  src/f32-vbinary/gen/vmaxc-sse-x8.c
3426  src/f32-vbinary/gen/vmin-sse-x8.c
3427  src/f32-vbinary/gen/vminc-sse-x8.c
3428  src/f32-vbinary/gen/vmul-minmax-sse-x8.c
3429  src/f32-vbinary/gen/vmulc-minmax-sse-x8.c
3430  src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c
3431  src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c
3432  src/f32-vbinary/gen/vsqrdiff-sse-x8.c
3433  src/f32-vbinary/gen/vsqrdiffc-sse-x8.c
3434  src/f32-vbinary/gen/vsub-minmax-sse-x8.c
3435  src/f32-vbinary/gen/vsubc-minmax-sse-x8.c
3436  src/f32-vclamp/gen/vclamp-sse-x8.c
3437  src/f32-vhswish/gen/vhswish-sse-x8.c
3438  src/f32-vlrelu/gen/vlrelu-sse-x8.c
3439  src/f32-vmulcaddc/gen/c4-minmax-sse-2x.c
3440  src/f32-vsqrt/gen/sse-sqrt-x4.c
3441  src/f32-vunary/gen/vabs-sse-x8.c
3442  src/f32-vunary/gen/vneg-sse-x8.c
3443  src/f32-vunary/gen/vsqr-sse-x8.c
3444  src/x32-packx/x4-sse.c)
3445
3446SET(ALL_SSE_MICROKERNEL_SRCS
3447  src/f32-avgpool/9p8x-minmax-sse-c4.c
3448  src/f32-avgpool/9x-minmax-sse-c4.c
3449  src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-1x1.c
3450  src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-2x2.c
3451  src/f32-dwconv/gen/up4x3-minmax-sse-acc2.c
3452  src/f32-dwconv/gen/up4x3-minmax-sse.c
3453  src/f32-dwconv/gen/up4x4-minmax-sse-acc2.c
3454  src/f32-dwconv/gen/up4x4-minmax-sse.c
3455  src/f32-dwconv/gen/up4x9-minmax-sse-acc2.c
3456  src/f32-dwconv/gen/up4x9-minmax-sse.c
3457  src/f32-dwconv/gen/up4x25-minmax-sse-acc2.c
3458  src/f32-dwconv/gen/up4x25-minmax-sse.c
3459  src/f32-dwconv/gen/up8x3-minmax-sse-acc2.c
3460  src/f32-dwconv/gen/up8x3-minmax-sse.c
3461  src/f32-dwconv/gen/up8x4-minmax-sse-acc2.c
3462  src/f32-dwconv/gen/up8x4-minmax-sse.c
3463  src/f32-dwconv/gen/up8x9-minmax-sse-acc2.c
3464  src/f32-dwconv/gen/up8x9-minmax-sse.c
3465  src/f32-dwconv/gen/up8x25-minmax-sse-acc2.c
3466  src/f32-dwconv/gen/up8x25-minmax-sse.c
3467  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc2.c
3468  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc3.c
3469  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc4.c
3470  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4.c
3471  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4-acc2.c
3472  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4.c
3473  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-3x4.c
3474  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-4x4.c
3475  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-5x4.c
3476  src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-6x4.c
3477  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc2.c
3478  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc3.c
3479  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc4.c
3480  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4.c
3481  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4-acc2.c
3482  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4.c
3483  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-3x4.c
3484  src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-4x4.c
3485  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc2.c
3486  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc3.c
3487  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc4.c
3488  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc5.c
3489  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4.c
3490  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc2.c
3491  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc3.c
3492  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4.c
3493  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4-acc2.c
3494  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4.c
3495  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4-acc2.c
3496  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4.c
3497  src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-5x4.c
3498  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc2.c
3499  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc3.c
3500  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc4.c
3501  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc5.c
3502  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4.c
3503  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc2.c
3504  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc3.c
3505  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4.c
3506  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4-acc2.c
3507  src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4.c
3508  src/f32-gavgpool-cw/sse-x4.c
3509  src/f32-gavgpool/7p7x-minmax-sse-c4.c
3510  src/f32-gavgpool/7x-minmax-sse-c4.c
3511  src/f32-gemm/gen-inc/1x8inc-minmax-sse-dup.c
3512  src/f32-gemm/gen-inc/1x8inc-minmax-sse-load1.c
3513  src/f32-gemm/gen-inc/1x8s4inc-minmax-sse.c
3514  src/f32-gemm/gen-inc/3x8inc-minmax-sse-dup.c
3515  src/f32-gemm/gen-inc/3x8inc-minmax-sse-load1.c
3516  src/f32-gemm/gen-inc/3x8s4inc-minmax-sse.c
3517  src/f32-gemm/gen-inc/4x8inc-minmax-sse-dup.c
3518  src/f32-gemm/gen-inc/4x8inc-minmax-sse-load1.c
3519  src/f32-gemm/gen-inc/4x8s4inc-minmax-sse.c
3520  src/f32-gemm/gen-inc/5x8inc-minmax-sse-dup.c
3521  src/f32-gemm/gen-inc/5x8inc-minmax-sse-load1.c
3522  src/f32-gemm/gen-inc/5x8s4inc-minmax-sse.c
3523  src/f32-gemm/gen/1x8-minmax-sse-dup.c
3524  src/f32-gemm/gen/1x8-minmax-sse-load1.c
3525  src/f32-gemm/gen/1x8s4-minmax-sse.c
3526  src/f32-gemm/gen/3x8-minmax-sse-dup.c
3527  src/f32-gemm/gen/3x8-minmax-sse-load1.c
3528  src/f32-gemm/gen/3x8s4-minmax-sse.c
3529  src/f32-gemm/gen/4x2c4-minmax-sse.c
3530  src/f32-gemm/gen/4x8-minmax-sse-dup.c
3531  src/f32-gemm/gen/4x8-minmax-sse-load1.c
3532  src/f32-gemm/gen/4x8s4-minmax-sse.c
3533  src/f32-gemm/gen/5x8-minmax-sse-dup.c
3534  src/f32-gemm/gen/5x8-minmax-sse-load1.c
3535  src/f32-gemm/gen/5x8s4-minmax-sse.c
3536  src/f32-ibilinear-chw/gen/sse-p4.c
3537  src/f32-ibilinear-chw/gen/sse-p8.c
3538  src/f32-ibilinear/gen/sse-c4.c
3539  src/f32-ibilinear/gen/sse-c8.c
3540  src/f32-igemm/gen/1x8-minmax-sse-dup.c
3541  src/f32-igemm/gen/1x8-minmax-sse-load1.c
3542  src/f32-igemm/gen/1x8s4-minmax-sse.c
3543  src/f32-igemm/gen/3x8-minmax-sse-dup.c
3544  src/f32-igemm/gen/3x8-minmax-sse-load1.c
3545  src/f32-igemm/gen/3x8s4-minmax-sse.c
3546  src/f32-igemm/gen/4x2c4-minmax-sse.c
3547  src/f32-igemm/gen/4x8-minmax-sse-dup.c
3548  src/f32-igemm/gen/4x8-minmax-sse-load1.c
3549  src/f32-igemm/gen/4x8s4-minmax-sse.c
3550  src/f32-igemm/gen/5x8-minmax-sse-dup.c
3551  src/f32-igemm/gen/5x8-minmax-sse-load1.c
3552  src/f32-igemm/gen/5x8s4-minmax-sse.c
3553  src/f32-maxpool/9p8x-minmax-sse-c4.c
3554  src/f32-pavgpool/9p8x-minmax-sse-c4.c
3555  src/f32-pavgpool/9x-minmax-sse-c4.c
3556  src/f32-ppmm/gen/4x8-minmax-sse.c
3557  src/f32-prelu/gen/sse-2x4.c
3558  src/f32-prelu/gen/sse-2x8.c
3559  src/f32-rmax/sse.c
3560  src/f32-spmm/gen/4x1-minmax-sse.c
3561  src/f32-spmm/gen/8x1-minmax-sse.c
3562  src/f32-spmm/gen/16x1-minmax-sse.c
3563  src/f32-spmm/gen/32x1-minmax-sse.c
3564  src/f32-vbinary/gen/vadd-minmax-sse-x4.c
3565  src/f32-vbinary/gen/vadd-minmax-sse-x8.c
3566  src/f32-vbinary/gen/vaddc-minmax-sse-x4.c
3567  src/f32-vbinary/gen/vaddc-minmax-sse-x8.c
3568  src/f32-vbinary/gen/vdiv-minmax-sse-x4.c
3569  src/f32-vbinary/gen/vdiv-minmax-sse-x8.c
3570  src/f32-vbinary/gen/vdivc-minmax-sse-x4.c
3571  src/f32-vbinary/gen/vdivc-minmax-sse-x8.c
3572  src/f32-vbinary/gen/vmax-sse-x4.c
3573  src/f32-vbinary/gen/vmax-sse-x8.c
3574  src/f32-vbinary/gen/vmaxc-sse-x4.c
3575  src/f32-vbinary/gen/vmaxc-sse-x8.c
3576  src/f32-vbinary/gen/vmin-sse-x4.c
3577  src/f32-vbinary/gen/vmin-sse-x8.c
3578  src/f32-vbinary/gen/vminc-sse-x4.c
3579  src/f32-vbinary/gen/vminc-sse-x8.c
3580  src/f32-vbinary/gen/vmul-minmax-sse-x4.c
3581  src/f32-vbinary/gen/vmul-minmax-sse-x8.c
3582  src/f32-vbinary/gen/vmulc-minmax-sse-x4.c
3583  src/f32-vbinary/gen/vmulc-minmax-sse-x8.c
3584  src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c
3585  src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c
3586  src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c
3587  src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c
3588  src/f32-vbinary/gen/vsqrdiff-sse-x4.c
3589  src/f32-vbinary/gen/vsqrdiff-sse-x8.c
3590  src/f32-vbinary/gen/vsqrdiffc-sse-x4.c
3591  src/f32-vbinary/gen/vsqrdiffc-sse-x8.c
3592  src/f32-vbinary/gen/vsub-minmax-sse-x4.c
3593  src/f32-vbinary/gen/vsub-minmax-sse-x8.c
3594  src/f32-vbinary/gen/vsubc-minmax-sse-x4.c
3595  src/f32-vbinary/gen/vsubc-minmax-sse-x8.c
3596  src/f32-vclamp/gen/vclamp-sse-x4.c
3597  src/f32-vclamp/gen/vclamp-sse-x8.c
3598  src/f32-vhswish/gen/vhswish-sse-x4.c
3599  src/f32-vhswish/gen/vhswish-sse-x8.c
3600  src/f32-vlrelu/gen/vlrelu-sse-x4.c
3601  src/f32-vlrelu/gen/vlrelu-sse-x8.c
3602  src/f32-vmulcaddc/gen/c4-minmax-sse-2x.c
3603  src/f32-vmulcaddc/gen/c8-minmax-sse-2x.c
3604  src/f32-vrelu/gen/vrelu-sse-x4.c
3605  src/f32-vrelu/gen/vrelu-sse-x8.c
3606  src/f32-vsqrt/gen/sse-sqrt-x4.c
3607  src/f32-vsqrt/gen/sse-sqrt-x8.c
3608  src/f32-vunary/gen/vabs-sse-x4.c
3609  src/f32-vunary/gen/vabs-sse-x8.c
3610  src/f32-vunary/gen/vneg-sse-x4.c
3611  src/f32-vunary/gen/vneg-sse-x8.c
3612  src/f32-vunary/gen/vsqr-sse-x4.c
3613  src/f32-vunary/gen/vsqr-sse-x8.c
3614  src/math/roundd-sse-addsub.c
3615  src/math/roundne-sse-addsub.c
3616  src/math/roundu-sse-addsub.c
3617  src/math/roundz-sse-addsub.c
3618  src/math/sqrt-sse-hh1mac.c
3619  src/math/sqrt-sse-nr1mac.c
3620  src/math/sqrt-sse-nr2mac.c
3621  src/x32-packx/x4-sse.c
3622  src/x32-transpose/4x4-sse.c)
3623
3624SET(PROD_SSE2_MICROKERNEL_SRCS
3625  src/f16-f32-vcvt/gen/vcvt-sse2-int16-x32.c
3626  src/f32-argmaxpool/4x-sse2-c4.c
3627  src/f32-argmaxpool/9p8x-sse2-c4.c
3628  src/f32-argmaxpool/9x-sse2-c4.c
3629  src/f32-f16-vcvt/gen/vcvt-sse2-x16.c
3630  src/f32-prelu/gen/sse2-2x8.c
3631  src/f32-qs8-vcvt/gen/vcvt-sse2-x32.c
3632  src/f32-qu8-vcvt/gen/vcvt-sse2-x32.c
3633  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x20-acc2.c
3634  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x12.c
3635  src/f32-vlrelu/gen/vlrelu-sse2-x8.c
3636  src/f32-vrnd/gen/vrndd-sse2-x8.c
3637  src/f32-vrnd/gen/vrndne-sse2-x8.c
3638  src/f32-vrnd/gen/vrndu-sse2-x8.c
3639  src/f32-vrnd/gen/vrndz-sse2-x8.c
3640  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x8.c
3641  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c
3642  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c
3643  src/qc8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3644  src/qc8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3645  src/qc8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3646  src/qc8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3647  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16-add16.c
3648  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16-add16.c
3649  src/qs8-f32-vcvt/gen/vcvt-sse2-x32.c
3650  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c8.c
3651  src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c8.c
3652  src/qs8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3653  src/qs8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3654  src/qs8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3655  src/qs8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3656  src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x8.c
3657  src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c
3658  src/qs8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3659  src/qs8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3660  src/qu8-avgpool/9p8x-minmax-sse2-c8.c
3661  src/qu8-avgpool/9x-minmax-sse2-c8.c
3662  src/qu8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c
3663  src/qu8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c
3664  src/qu8-f32-vcvt/gen/vcvt-sse2-x32.c
3665  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse2-c8.c
3666  src/qu8-gavgpool/gen/7x-minmax-fp32-sse2-c8.c
3667  src/qu8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3668  src/qu8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3669  src/qu8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3670  src/qu8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3671  src/qu8-vadd/gen/minmax-sse2-mul16-ld64-x8.c
3672  src/qu8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c
3673  src/qu8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3674  src/qu8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3675  src/s8-ibilinear/gen/sse2-c8.c
3676  src/s8-maxpool/9p8x-minmax-sse2-c16.c
3677  src/s8-vclamp/sse2-x64.c
3678  src/u8-ibilinear/gen/sse2-c8.c
3679  src/u8-maxpool/9p8x-minmax-sse2-c16.c
3680  src/u8-rmax/sse2.c
3681  src/u8-vclamp/sse2-x64.c
3682  src/x8-zip/x2-sse2.c
3683  src/x8-zip/x3-sse2.c
3684  src/x8-zip/x4-sse2.c
3685  src/x8-zip/xm-sse2.c
3686  src/x32-unpool/sse2.c
3687  src/x32-zip/x2-sse2.c
3688  src/x32-zip/x3-sse2.c
3689  src/x32-zip/x4-sse2.c
3690  src/x32-zip/xm-sse2.c
3691  src/xx-fill/sse2-x64.c
3692  src/xx-pad/sse2.c)
3693
3694SET(ALL_SSE2_MICROKERNEL_SRCS
3695  src/f16-f32-vcvt/gen/vcvt-sse2-int16-x8.c
3696  src/f16-f32-vcvt/gen/vcvt-sse2-int16-x16.c
3697  src/f16-f32-vcvt/gen/vcvt-sse2-int16-x24.c
3698  src/f16-f32-vcvt/gen/vcvt-sse2-int16-x32.c
3699  src/f16-f32-vcvt/gen/vcvt-sse2-int32-x8.c
3700  src/f16-f32-vcvt/gen/vcvt-sse2-int32-x16.c
3701  src/f16-f32-vcvt/gen/vcvt-sse2-int32-x24.c
3702  src/f16-f32-vcvt/gen/vcvt-sse2-int32-x32.c
3703  src/f32-argmaxpool/4x-sse2-c4.c
3704  src/f32-argmaxpool/9p8x-sse2-c4.c
3705  src/f32-argmaxpool/9x-sse2-c4.c
3706  src/f32-f16-vcvt/gen/vcvt-sse2-x8.c
3707  src/f32-f16-vcvt/gen/vcvt-sse2-x16.c
3708  src/f32-f16-vcvt/gen/vcvt-sse2-x24.c
3709  src/f32-f16-vcvt/gen/vcvt-sse2-x32.c
3710  src/f32-gemm/gen-inc/1x8inc-minmax-sse2-dup.c
3711  src/f32-gemm/gen-inc/3x8inc-minmax-sse2-dup.c
3712  src/f32-gemm/gen-inc/4x8inc-minmax-sse2-dup.c
3713  src/f32-gemm/gen-inc/5x8inc-minmax-sse2-dup.c
3714  src/f32-gemm/gen/1x8-minmax-sse2-dup.c
3715  src/f32-gemm/gen/3x8-minmax-sse2-dup.c
3716  src/f32-gemm/gen/4x8-minmax-sse2-dup.c
3717  src/f32-gemm/gen/5x8-minmax-sse2-dup.c
3718  src/f32-igemm/gen/1x8-minmax-sse2-dup.c
3719  src/f32-igemm/gen/3x8-minmax-sse2-dup.c
3720  src/f32-igemm/gen/4x8-minmax-sse2-dup.c
3721  src/f32-igemm/gen/5x8-minmax-sse2-dup.c
3722  src/f32-prelu/gen/sse2-2x4.c
3723  src/f32-prelu/gen/sse2-2x8.c
3724  src/f32-qs8-vcvt/gen/vcvt-sse2-x8.c
3725  src/f32-qs8-vcvt/gen/vcvt-sse2-x16.c
3726  src/f32-qs8-vcvt/gen/vcvt-sse2-x24.c
3727  src/f32-qs8-vcvt/gen/vcvt-sse2-x32.c
3728  src/f32-qu8-vcvt/gen/vcvt-sse2-x8.c
3729  src/f32-qu8-vcvt/gen/vcvt-sse2-x16.c
3730  src/f32-qu8-vcvt/gen/vcvt-sse2-x24.c
3731  src/f32-qu8-vcvt/gen/vcvt-sse2-x32.c
3732  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x4.c
3733  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x8-acc2.c
3734  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x8.c
3735  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x12-acc2.c
3736  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x12-acc3.c
3737  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x12.c
3738  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x16-acc2.c
3739  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x16-acc4.c
3740  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x16.c
3741  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x20-acc2.c
3742  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x20-acc5.c
3743  src/f32-raddstoreexpminusmax/gen/sse2-rr2-p5-x20.c
3744  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x4.c
3745  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x8.c
3746  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x12.c
3747  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x16.c
3748  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x20.c
3749  src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x24.c
3750  src/f32-velu/gen/velu-sse2-rr2-p6-x4.c
3751  src/f32-velu/gen/velu-sse2-rr2-p6-x8.c
3752  src/f32-velu/gen/velu-sse2-rr2-p6-x12.c
3753  src/f32-velu/gen/velu-sse2-rr2-p6-x16.c
3754  src/f32-velu/gen/velu-sse2-rr2-p6-x20.c
3755  src/f32-velu/gen/velu-sse2-rr2-p6-x24.c
3756  src/f32-vlrelu/gen/vlrelu-sse2-x4.c
3757  src/f32-vlrelu/gen/vlrelu-sse2-x8.c
3758  src/f32-vrnd/gen/vrndd-sse2-x4.c
3759  src/f32-vrnd/gen/vrndd-sse2-x8.c
3760  src/f32-vrnd/gen/vrndne-sse2-x4.c
3761  src/f32-vrnd/gen/vrndne-sse2-x8.c
3762  src/f32-vrnd/gen/vrndu-sse2-x4.c
3763  src/f32-vrnd/gen/vrndu-sse2-x8.c
3764  src/f32-vrnd/gen/vrndz-sse2-x4.c
3765  src/f32-vrnd/gen/vrndz-sse2-x8.c
3766  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x4.c
3767  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x8.c
3768  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x12.c
3769  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x16.c
3770  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x20.c
3771  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-lut64-p2-div-x24.c
3772  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-p5-div-x4.c
3773  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-p5-div-x8.c
3774  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-p5-div-x12.c
3775  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-p5-div-x16.c
3776  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-p5-div-x20.c
3777  src/f32-vsigmoid/gen/vsigmoid-sse2-rr2-p5-div-x24.c
3778  src/math/cvt-f16-f32-sse2-int16.c
3779  src/math/cvt-f16-f32-sse2-int32.c
3780  src/math/cvt-f32-f16-sse2.c
3781  src/math/exp-sse2-rr2-lut64-p2.c
3782  src/math/exp-sse2-rr2-p5.c
3783  src/math/expm1minus-sse2-rr2-lut16-p3.c
3784  src/math/expm1minus-sse2-rr2-p6.c
3785  src/math/expminus-sse2-rr2-p5.c
3786  src/math/roundd-sse2-cvt.c
3787  src/math/roundne-sse2-cvt.c
3788  src/math/roundu-sse2-cvt.c
3789  src/math/roundz-sse2-cvt.c
3790  src/math/sigmoid-sse2-rr2-lut64-p2-div.c
3791  src/math/sigmoid-sse2-rr2-lut64-p2-nr1.c
3792  src/math/sigmoid-sse2-rr2-lut64-p2-nr2.c
3793  src/math/sigmoid-sse2-rr2-p5-div.c
3794  src/math/sigmoid-sse2-rr2-p5-nr1.c
3795  src/math/sigmoid-sse2-rr2-p5-nr2.c
3796  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16-add16.c
3797  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c
3798  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16-add16.c
3799  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c
3800  src/qc8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16-add16.c
3801  src/qc8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16.c
3802  src/qc8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16-add16.c
3803  src/qc8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16.c
3804  src/qc8-dwconv/gen/up24x9-minmax-fp32-sse2-mul16.c
3805  src/qc8-dwconv/gen/up24x25-minmax-fp32-sse2-mul16.c
3806  src/qc8-gemm/gen/1x4c2-minmax-fp32-sse2-ld64.c
3807  src/qc8-gemm/gen/1x4c2-minmax-fp32-sse2-ld128.c
3808  src/qc8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3809  src/qc8-gemm/gen/1x4c8-minmax-fp32-sse2-ld128.c
3810  src/qc8-gemm/gen/2x4c2-minmax-fp32-sse2-ld64.c
3811  src/qc8-gemm/gen/2x4c2-minmax-fp32-sse2-ld128.c
3812  src/qc8-gemm/gen/2x4c8-minmax-fp32-sse2-ld64.c
3813  src/qc8-gemm/gen/2x4c8-minmax-fp32-sse2-ld128.c
3814  src/qc8-gemm/gen/3x4c2-minmax-fp32-sse2-ld64.c
3815  src/qc8-gemm/gen/3x4c2-minmax-fp32-sse2-ld128.c
3816  src/qc8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3817  src/qc8-gemm/gen/3x4c8-minmax-fp32-sse2-ld128.c
3818  src/qc8-gemm/gen/4x4c2-minmax-fp32-sse2-ld64.c
3819  src/qc8-gemm/gen/4x4c2-minmax-fp32-sse2-ld128.c
3820  src/qc8-igemm/gen/1x4c2-minmax-fp32-sse2-ld64.c
3821  src/qc8-igemm/gen/1x4c2-minmax-fp32-sse2-ld128.c
3822  src/qc8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3823  src/qc8-igemm/gen/1x4c8-minmax-fp32-sse2-ld128.c
3824  src/qc8-igemm/gen/2x4c2-minmax-fp32-sse2-ld64.c
3825  src/qc8-igemm/gen/2x4c2-minmax-fp32-sse2-ld128.c
3826  src/qc8-igemm/gen/2x4c8-minmax-fp32-sse2-ld64.c
3827  src/qc8-igemm/gen/2x4c8-minmax-fp32-sse2-ld128.c
3828  src/qc8-igemm/gen/3x4c2-minmax-fp32-sse2-ld64.c
3829  src/qc8-igemm/gen/3x4c2-minmax-fp32-sse2-ld128.c
3830  src/qc8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3831  src/qc8-igemm/gen/3x4c8-minmax-fp32-sse2-ld128.c
3832  src/qc8-igemm/gen/4x4c2-minmax-fp32-sse2-ld64.c
3833  src/qc8-igemm/gen/4x4c2-minmax-fp32-sse2-ld128.c
3834  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16-add16.c
3835  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c
3836  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16-add16.c
3837  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c
3838  src/qs8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16-add16.c
3839  src/qs8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16.c
3840  src/qs8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16-add16.c
3841  src/qs8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16.c
3842  src/qs8-dwconv/gen/up24x9-minmax-fp32-sse2-mul16.c
3843  src/qs8-dwconv/gen/up24x25-minmax-fp32-sse2-mul16.c
3844  src/qs8-f32-vcvt/gen/vcvt-sse2-x8.c
3845  src/qs8-f32-vcvt/gen/vcvt-sse2-x16.c
3846  src/qs8-f32-vcvt/gen/vcvt-sse2-x24.c
3847  src/qs8-f32-vcvt/gen/vcvt-sse2-x32.c
3848  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c8.c
3849  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c16.c
3850  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse2-c24.c
3851  src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c8.c
3852  src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c16.c
3853  src/qs8-gavgpool/gen/7x-minmax-fp32-sse2-c24.c
3854  src/qs8-gemm/gen/1x4c2-minmax-fp32-sse2-ld64.c
3855  src/qs8-gemm/gen/1x4c2-minmax-fp32-sse2-ld128.c
3856  src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-sse2.c
3857  src/qs8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3858  src/qs8-gemm/gen/1x4c8-minmax-fp32-sse2-ld128.c
3859  src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-sse2.c
3860  src/qs8-gemm/gen/2x4c2-minmax-fp32-sse2-ld64.c
3861  src/qs8-gemm/gen/2x4c2-minmax-fp32-sse2-ld128.c
3862  src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-sse2.c
3863  src/qs8-gemm/gen/2x4c8-minmax-fp32-sse2-ld64.c
3864  src/qs8-gemm/gen/2x4c8-minmax-fp32-sse2-ld128.c
3865  src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-sse2.c
3866  src/qs8-gemm/gen/3x4c2-minmax-fp32-sse2-ld64.c
3867  src/qs8-gemm/gen/3x4c2-minmax-fp32-sse2-ld128.c
3868  src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-sse2.c
3869  src/qs8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3870  src/qs8-gemm/gen/3x4c8-minmax-fp32-sse2-ld128.c
3871  src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-sse2.c
3872  src/qs8-gemm/gen/4x4c2-minmax-fp32-sse2-ld64.c
3873  src/qs8-gemm/gen/4x4c2-minmax-fp32-sse2-ld128.c
3874  src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-sse2.c
3875  src/qs8-igemm/gen/1x4c2-minmax-fp32-sse2-ld64.c
3876  src/qs8-igemm/gen/1x4c2-minmax-fp32-sse2-ld128.c
3877  src/qs8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3878  src/qs8-igemm/gen/1x4c8-minmax-fp32-sse2-ld128.c
3879  src/qs8-igemm/gen/2x4c2-minmax-fp32-sse2-ld64.c
3880  src/qs8-igemm/gen/2x4c2-minmax-fp32-sse2-ld128.c
3881  src/qs8-igemm/gen/2x4c8-minmax-fp32-sse2-ld64.c
3882  src/qs8-igemm/gen/2x4c8-minmax-fp32-sse2-ld128.c
3883  src/qs8-igemm/gen/3x4c2-minmax-fp32-sse2-ld64.c
3884  src/qs8-igemm/gen/3x4c2-minmax-fp32-sse2-ld128.c
3885  src/qs8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3886  src/qs8-igemm/gen/3x4c8-minmax-fp32-sse2-ld128.c
3887  src/qs8-igemm/gen/4x4c2-minmax-fp32-sse2-ld64.c
3888  src/qs8-igemm/gen/4x4c2-minmax-fp32-sse2-ld128.c
3889  src/qs8-requantization/fp32-sse2.c
3890  src/qs8-requantization/gemmlowp-sse2.c
3891  src/qs8-requantization/rndna-sse2.c
3892  src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x8.c
3893  src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x16.c
3894  src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x24.c
3895  src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x32.c
3896  src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c
3897  src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x16.c
3898  src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x24.c
3899  src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x32.c
3900  src/qs8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3901  src/qs8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x16.c
3902  src/qs8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3903  src/qs8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x16.c
3904  src/qu8-avgpool/9p8x-minmax-sse2-c8.c
3905  src/qu8-avgpool/9x-minmax-sse2-c8.c
3906  src/qu8-dwconv/gen/up8x9-minmax-fp32-sse2-mul16.c
3907  src/qu8-dwconv/gen/up8x25-minmax-fp32-sse2-mul16.c
3908  src/qu8-dwconv/gen/up16x9-minmax-fp32-sse2-mul16.c
3909  src/qu8-dwconv/gen/up16x25-minmax-fp32-sse2-mul16.c
3910  src/qu8-f32-vcvt/gen/vcvt-sse2-x8.c
3911  src/qu8-f32-vcvt/gen/vcvt-sse2-x16.c
3912  src/qu8-f32-vcvt/gen/vcvt-sse2-x24.c
3913  src/qu8-f32-vcvt/gen/vcvt-sse2-x32.c
3914  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse2-c8.c
3915  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse2-c16.c
3916  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse2-c24.c
3917  src/qu8-gavgpool/gen/7x-minmax-fp32-sse2-c8.c
3918  src/qu8-gavgpool/gen/7x-minmax-fp32-sse2-c16.c
3919  src/qu8-gavgpool/gen/7x-minmax-fp32-sse2-c24.c
3920  src/qu8-gemm/gen/1x4c2-minmax-fp32-sse2-ld64.c
3921  src/qu8-gemm/gen/1x4c2-minmax-fp32-sse2-ld128.c
3922  src/qu8-gemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3923  src/qu8-gemm/gen/1x4c8-minmax-fp32-sse2-ld128.c
3924  src/qu8-gemm/gen/2x4c2-minmax-fp32-sse2-ld64.c
3925  src/qu8-gemm/gen/2x4c2-minmax-fp32-sse2-ld128.c
3926  src/qu8-gemm/gen/2x4c8-minmax-fp32-sse2-ld64.c
3927  src/qu8-gemm/gen/2x4c8-minmax-fp32-sse2-ld128.c
3928  src/qu8-gemm/gen/3x4c2-minmax-fp32-sse2-ld64.c
3929  src/qu8-gemm/gen/3x4c2-minmax-fp32-sse2-ld128.c
3930  src/qu8-gemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3931  src/qu8-gemm/gen/3x4c8-minmax-fp32-sse2-ld128.c
3932  src/qu8-gemm/gen/4x4c2-minmax-fp32-sse2-ld64.c
3933  src/qu8-gemm/gen/4x4c2-minmax-fp32-sse2-ld128.c
3934  src/qu8-igemm/gen/1x4c2-minmax-fp32-sse2-ld64.c
3935  src/qu8-igemm/gen/1x4c2-minmax-fp32-sse2-ld128.c
3936  src/qu8-igemm/gen/1x4c8-minmax-fp32-sse2-ld64.c
3937  src/qu8-igemm/gen/1x4c8-minmax-fp32-sse2-ld128.c
3938  src/qu8-igemm/gen/2x4c2-minmax-fp32-sse2-ld64.c
3939  src/qu8-igemm/gen/2x4c2-minmax-fp32-sse2-ld128.c
3940  src/qu8-igemm/gen/2x4c8-minmax-fp32-sse2-ld64.c
3941  src/qu8-igemm/gen/2x4c8-minmax-fp32-sse2-ld128.c
3942  src/qu8-igemm/gen/3x4c2-minmax-fp32-sse2-ld64.c
3943  src/qu8-igemm/gen/3x4c2-minmax-fp32-sse2-ld128.c
3944  src/qu8-igemm/gen/3x4c8-minmax-fp32-sse2-ld64.c
3945  src/qu8-igemm/gen/3x4c8-minmax-fp32-sse2-ld128.c
3946  src/qu8-igemm/gen/4x4c2-minmax-fp32-sse2-ld64.c
3947  src/qu8-igemm/gen/4x4c2-minmax-fp32-sse2-ld128.c
3948  src/qu8-requantization/fp32-sse2.c
3949  src/qu8-requantization/gemmlowp-sse2.c
3950  src/qu8-requantization/rndna-sse2.c
3951  src/qu8-vadd/gen/minmax-sse2-mul16-ld64-x8.c
3952  src/qu8-vadd/gen/minmax-sse2-mul16-ld64-x16.c
3953  src/qu8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c
3954  src/qu8-vaddc/gen/minmax-sse2-mul16-ld64-x16.c
3955  src/qu8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3956  src/qu8-vmul/gen/minmax-fp32-sse2-mul16-ld64-x16.c
3957  src/qu8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x8.c
3958  src/qu8-vmulc/gen/minmax-fp32-sse2-mul16-ld64-x16.c
3959  src/s8-ibilinear/gen/sse2-c8.c
3960  src/s8-ibilinear/gen/sse2-c16.c
3961  src/s8-maxpool/9p8x-minmax-sse2-c16.c
3962  src/s8-vclamp/sse2-x64.c
3963  src/u8-ibilinear/gen/sse2-c8.c
3964  src/u8-ibilinear/gen/sse2-c16.c
3965  src/u8-maxpool/9p8x-minmax-sse2-c16.c
3966  src/u8-rmax/sse2.c
3967  src/u8-vclamp/sse2-x64.c
3968  src/x8-transpose/gen/16x16-reuse-mov-sse2.c
3969  src/x8-transpose/gen/16x16-reuse-switch-sse2.c
3970  src/x8-zip/x2-sse2.c
3971  src/x8-zip/x3-sse2.c
3972  src/x8-zip/x4-sse2.c
3973  src/x8-zip/xm-sse2.c
3974  src/x16-transpose/4x8-sse2.c
3975  src/x16-transpose/gen/8x8-multi-mov-sse2.c
3976  src/x16-transpose/gen/8x8-multi-switch-sse2.c
3977  src/x16-transpose/gen/8x8-reuse-mov-sse2.c
3978  src/x16-transpose/gen/8x8-reuse-multi-sse2.c
3979  src/x16-transpose/gen/8x8-reuse-switch-sse2.c
3980  src/x32-transpose/gen/4x4-multi-mov-sse2.c
3981  src/x32-transpose/gen/4x4-multi-multi-sse2.c
3982  src/x32-transpose/gen/4x4-multi-switch-sse2.c
3983  src/x32-transpose/gen/4x4-reuse-mov-sse2.c
3984  src/x32-transpose/gen/4x4-reuse-multi-sse2.c
3985  src/x32-transpose/gen/4x4-reuse-switch-sse2.c
3986  src/x32-unpool/sse2.c
3987  src/x32-zip/x2-sse2.c
3988  src/x32-zip/x3-sse2.c
3989  src/x32-zip/x4-sse2.c
3990  src/x32-zip/xm-sse2.c
3991  src/x64-transpose/gen/2x2-multi-mov-sse2.c
3992  src/x64-transpose/gen/2x2-multi-multi-sse2.c
3993  src/x64-transpose/gen/2x2-multi-switch-sse2.c
3994  src/x64-transpose/gen/2x2-reuse-mov-sse2.c
3995  src/x64-transpose/gen/2x2-reuse-multi-sse2.c
3996  src/x64-transpose/gen/2x2-reuse-switch-sse2.c
3997  src/xx-fill/sse2-x64.c
3998  src/xx-pad/sse2.c)
3999
4000SET(PROD_SSSE3_MICROKERNEL_SRCS
4001  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4-acc2.c)
4002
4003SET(ALL_SSSE3_MICROKERNEL_SRCS
4004  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc2.c
4005  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc3.c
4006  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc4.c
4007  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4.c
4008  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4-acc2.c
4009  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4.c
4010  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-3x4.c
4011  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-4x4.c
4012  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-5x4.c
4013  src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-6x4.c
4014  src/qs8-gemm/gen/1x4c8-minmax-fp32-ssse3-ld64.c
4015  src/qs8-gemm/gen/1x4c8-minmax-fp32-ssse3-ld128.c
4016  src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-ssse3.c
4017  src/qs8-gemm/gen/2x4c8-minmax-fp32-ssse3-ld64.c
4018  src/qs8-gemm/gen/2x4c8-minmax-fp32-ssse3-ld128.c
4019  src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-ssse3.c
4020  src/qs8-gemm/gen/3x4c8-minmax-fp32-ssse3-ld64.c
4021  src/qs8-gemm/gen/3x4c8-minmax-fp32-ssse3-ld128.c
4022  src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-ssse3.c
4023  src/qs8-igemm/gen/1x4c8-minmax-fp32-ssse3-ld64.c
4024  src/qs8-igemm/gen/1x4c8-minmax-fp32-ssse3-ld128.c
4025  src/qs8-igemm/gen/2x4c8-minmax-fp32-ssse3-ld64.c
4026  src/qs8-igemm/gen/2x4c8-minmax-fp32-ssse3-ld128.c
4027  src/qs8-igemm/gen/3x4c8-minmax-fp32-ssse3-ld64.c
4028  src/qs8-igemm/gen/3x4c8-minmax-fp32-ssse3-ld128.c
4029  src/qs8-requantization/gemmlowp-ssse3.c
4030  src/qs8-requantization/rndna-ssse3.c
4031  src/qu8-requantization/gemmlowp-ssse3.c
4032  src/qu8-requantization/rndna-ssse3.c
4033  src/x8-lut/gen/lut-ssse3-x16.c
4034  src/x8-lut/gen/lut-ssse3-x32.c)
4035
4036SET(PROD_SSE41_MICROKERNEL_SRCS
4037  src/f16-f32-vcvt/gen/vcvt-sse41-int16-x16.c
4038  src/f32-f16-vcvt/gen/vcvt-sse41-x8.c
4039  src/f32-prelu/gen/sse41-2x8.c
4040  src/f32-qs8-vcvt/gen/vcvt-sse41-x32.c
4041  src/f32-vlrelu/gen/vlrelu-sse41-x8.c
4042  src/f32-vrnd/gen/vrndd-sse41-x8.c
4043  src/f32-vrnd/gen/vrndne-sse41-x8.c
4044  src/f32-vrnd/gen/vrndu-sse41-x8.c
4045  src/f32-vrnd/gen/vrndz-sse41-x8.c
4046  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x8.c
4047  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c
4048  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c
4049  src/qc8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4050  src/qc8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4051  src/qc8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4052  src/qc8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4053  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16-add16.c
4054  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16-add16.c
4055  src/qs8-f32-vcvt/gen/vcvt-sse41-x16.c
4056  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c8.c
4057  src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c8.c
4058  src/qs8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4059  src/qs8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4060  src/qs8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4061  src/qs8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4062  src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x8.c
4063  src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c
4064  src/qs8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4065  src/qs8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4066  src/qu8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c
4067  src/qu8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c
4068  src/qu8-f32-vcvt/gen/vcvt-sse41-x16.c
4069  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse41-c8.c
4070  src/qu8-gavgpool/gen/7x-minmax-fp32-sse41-c8.c
4071  src/qu8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4072  src/qu8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4073  src/qu8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4074  src/qu8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4075  src/qu8-vadd/gen/minmax-sse41-mul16-ld64-x8.c
4076  src/qu8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c
4077  src/qu8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4078  src/qu8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4079  src/s8-ibilinear/gen/sse41-c16.c
4080  src/s8-maxpool/9p8x-minmax-sse41-c16.c
4081  src/s8-vclamp/sse41-x64.c
4082  src/u8-ibilinear/gen/sse41-c16.c)
4083
4084SET(ALL_SSE41_MICROKERNEL_SRCS
4085  src/f16-f32-vcvt/gen/vcvt-sse41-int16-x8.c
4086  src/f16-f32-vcvt/gen/vcvt-sse41-int16-x16.c
4087  src/f16-f32-vcvt/gen/vcvt-sse41-int16-x24.c
4088  src/f16-f32-vcvt/gen/vcvt-sse41-int16-x32.c
4089  src/f16-f32-vcvt/gen/vcvt-sse41-int32-x8.c
4090  src/f16-f32-vcvt/gen/vcvt-sse41-int32-x16.c
4091  src/f16-f32-vcvt/gen/vcvt-sse41-int32-x24.c
4092  src/f16-f32-vcvt/gen/vcvt-sse41-int32-x32.c
4093  src/f32-f16-vcvt/gen/vcvt-sse41-x8.c
4094  src/f32-f16-vcvt/gen/vcvt-sse41-x16.c
4095  src/f32-f16-vcvt/gen/vcvt-sse41-x24.c
4096  src/f32-f16-vcvt/gen/vcvt-sse41-x32.c
4097  src/f32-prelu/gen/sse41-2x4.c
4098  src/f32-prelu/gen/sse41-2x8.c
4099  src/f32-qs8-vcvt/gen/vcvt-sse41-x8.c
4100  src/f32-qs8-vcvt/gen/vcvt-sse41-x16.c
4101  src/f32-qs8-vcvt/gen/vcvt-sse41-x24.c
4102  src/f32-qs8-vcvt/gen/vcvt-sse41-x32.c
4103  src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x4.c
4104  src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x8.c
4105  src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x12.c
4106  src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x16.c
4107  src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x20.c
4108  src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x24.c
4109  src/f32-velu/gen/velu-sse41-rr2-p6-x4.c
4110  src/f32-velu/gen/velu-sse41-rr2-p6-x8.c
4111  src/f32-velu/gen/velu-sse41-rr2-p6-x12.c
4112  src/f32-velu/gen/velu-sse41-rr2-p6-x16.c
4113  src/f32-velu/gen/velu-sse41-rr2-p6-x20.c
4114  src/f32-velu/gen/velu-sse41-rr2-p6-x24.c
4115  src/f32-vlrelu/gen/vlrelu-sse41-x4.c
4116  src/f32-vlrelu/gen/vlrelu-sse41-x8.c
4117  src/f32-vrnd/gen/vrndd-sse41-x4.c
4118  src/f32-vrnd/gen/vrndd-sse41-x8.c
4119  src/f32-vrnd/gen/vrndne-sse41-x4.c
4120  src/f32-vrnd/gen/vrndne-sse41-x8.c
4121  src/f32-vrnd/gen/vrndu-sse41-x4.c
4122  src/f32-vrnd/gen/vrndu-sse41-x8.c
4123  src/f32-vrnd/gen/vrndz-sse41-x4.c
4124  src/f32-vrnd/gen/vrndz-sse41-x8.c
4125  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x4.c
4126  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x8.c
4127  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x12.c
4128  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x16.c
4129  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x20.c
4130  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-lut64-p2-div-x24.c
4131  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-p5-div-x4.c
4132  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-p5-div-x8.c
4133  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-p5-div-x12.c
4134  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-p5-div-x16.c
4135  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-p5-div-x20.c
4136  src/f32-vsigmoid/gen/vsigmoid-sse41-rr2-p5-div-x24.c
4137  src/math/cvt-f16-f32-sse41-int16.c
4138  src/math/cvt-f16-f32-sse41-int32.c
4139  src/math/cvt-f32-f16-sse41.c
4140  src/math/roundd-sse41.c
4141  src/math/roundne-sse41.c
4142  src/math/roundu-sse41.c
4143  src/math/roundz-sse41.c
4144  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16-add16.c
4145  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c
4146  src/qc8-dwconv/gen/up8x9-minmax-fp32-sse41-mul32.c
4147  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16-add16.c
4148  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c
4149  src/qc8-dwconv/gen/up8x25-minmax-fp32-sse41-mul32.c
4150  src/qc8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16-add16.c
4151  src/qc8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16.c
4152  src/qc8-dwconv/gen/up16x9-minmax-fp32-sse41-mul32.c
4153  src/qc8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16-add16.c
4154  src/qc8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16.c
4155  src/qc8-dwconv/gen/up16x25-minmax-fp32-sse41-mul32.c
4156  src/qc8-dwconv/gen/up24x9-minmax-fp32-sse41-mul16.c
4157  src/qc8-dwconv/gen/up24x9-minmax-fp32-sse41-mul32.c
4158  src/qc8-dwconv/gen/up24x25-minmax-fp32-sse41-mul16.c
4159  src/qc8-dwconv/gen/up24x25-minmax-fp32-sse41-mul32.c
4160  src/qc8-gemm/gen/1x4c2-minmax-fp32-sse41-ld64.c
4161  src/qc8-gemm/gen/1x4c2-minmax-fp32-sse41-ld128.c
4162  src/qc8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4163  src/qc8-gemm/gen/1x4c8-minmax-fp32-sse41-ld128.c
4164  src/qc8-gemm/gen/2x4c2-minmax-fp32-sse41-ld64.c
4165  src/qc8-gemm/gen/2x4c2-minmax-fp32-sse41-ld128.c
4166  src/qc8-gemm/gen/2x4c8-minmax-fp32-sse41-ld64.c
4167  src/qc8-gemm/gen/2x4c8-minmax-fp32-sse41-ld128.c
4168  src/qc8-gemm/gen/3x4c2-minmax-fp32-sse41-ld64.c
4169  src/qc8-gemm/gen/3x4c2-minmax-fp32-sse41-ld128.c
4170  src/qc8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4171  src/qc8-gemm/gen/3x4c8-minmax-fp32-sse41-ld128.c
4172  src/qc8-gemm/gen/4x4c2-minmax-fp32-sse41-ld64.c
4173  src/qc8-gemm/gen/4x4c2-minmax-fp32-sse41-ld128.c
4174  src/qc8-igemm/gen/1x4c2-minmax-fp32-sse41-ld64.c
4175  src/qc8-igemm/gen/1x4c2-minmax-fp32-sse41-ld128.c
4176  src/qc8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4177  src/qc8-igemm/gen/1x4c8-minmax-fp32-sse41-ld128.c
4178  src/qc8-igemm/gen/2x4c2-minmax-fp32-sse41-ld64.c
4179  src/qc8-igemm/gen/2x4c2-minmax-fp32-sse41-ld128.c
4180  src/qc8-igemm/gen/2x4c8-minmax-fp32-sse41-ld64.c
4181  src/qc8-igemm/gen/2x4c8-minmax-fp32-sse41-ld128.c
4182  src/qc8-igemm/gen/3x4c2-minmax-fp32-sse41-ld64.c
4183  src/qc8-igemm/gen/3x4c2-minmax-fp32-sse41-ld128.c
4184  src/qc8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4185  src/qc8-igemm/gen/3x4c8-minmax-fp32-sse41-ld128.c
4186  src/qc8-igemm/gen/4x4c2-minmax-fp32-sse41-ld64.c
4187  src/qc8-igemm/gen/4x4c2-minmax-fp32-sse41-ld128.c
4188  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16-add16.c
4189  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c
4190  src/qs8-dwconv/gen/up8x9-minmax-fp32-sse41-mul32.c
4191  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16-add16.c
4192  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c
4193  src/qs8-dwconv/gen/up8x25-minmax-fp32-sse41-mul32.c
4194  src/qs8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16-add16.c
4195  src/qs8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16.c
4196  src/qs8-dwconv/gen/up16x9-minmax-fp32-sse41-mul32.c
4197  src/qs8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16-add16.c
4198  src/qs8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16.c
4199  src/qs8-dwconv/gen/up16x25-minmax-fp32-sse41-mul32.c
4200  src/qs8-dwconv/gen/up24x9-minmax-fp32-sse41-mul16.c
4201  src/qs8-dwconv/gen/up24x9-minmax-fp32-sse41-mul32.c
4202  src/qs8-dwconv/gen/up24x25-minmax-fp32-sse41-mul16.c
4203  src/qs8-dwconv/gen/up24x25-minmax-fp32-sse41-mul32.c
4204  src/qs8-f32-vcvt/gen/vcvt-sse41-x8.c
4205  src/qs8-f32-vcvt/gen/vcvt-sse41-x16.c
4206  src/qs8-f32-vcvt/gen/vcvt-sse41-x24.c
4207  src/qs8-f32-vcvt/gen/vcvt-sse41-x32.c
4208  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c8.c
4209  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c16.c
4210  src/qs8-gavgpool/gen/7p7x-minmax-fp32-sse41-c24.c
4211  src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c8.c
4212  src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c16.c
4213  src/qs8-gavgpool/gen/7x-minmax-fp32-sse41-c24.c
4214  src/qs8-gemm/gen/1x4c2-minmax-fp32-sse41-ld64.c
4215  src/qs8-gemm/gen/1x4c2-minmax-fp32-sse41-ld128.c
4216  src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-sse41.c
4217  src/qs8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4218  src/qs8-gemm/gen/1x4c8-minmax-fp32-sse41-ld128.c
4219  src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-sse41.c
4220  src/qs8-gemm/gen/2x4c2-minmax-fp32-sse41-ld64.c
4221  src/qs8-gemm/gen/2x4c2-minmax-fp32-sse41-ld128.c
4222  src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-sse41.c
4223  src/qs8-gemm/gen/2x4c8-minmax-fp32-sse41-ld64.c
4224  src/qs8-gemm/gen/2x4c8-minmax-fp32-sse41-ld128.c
4225  src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-sse41.c
4226  src/qs8-gemm/gen/3x4c2-minmax-fp32-sse41-ld64.c
4227  src/qs8-gemm/gen/3x4c2-minmax-fp32-sse41-ld128.c
4228  src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-sse41.c
4229  src/qs8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4230  src/qs8-gemm/gen/3x4c8-minmax-fp32-sse41-ld128.c
4231  src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-sse41.c
4232  src/qs8-gemm/gen/4x4c2-minmax-fp32-sse41-ld64.c
4233  src/qs8-gemm/gen/4x4c2-minmax-fp32-sse41-ld128.c
4234  src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-sse41.c
4235  src/qs8-igemm/gen/1x4c2-minmax-fp32-sse41-ld64.c
4236  src/qs8-igemm/gen/1x4c2-minmax-fp32-sse41-ld128.c
4237  src/qs8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4238  src/qs8-igemm/gen/1x4c8-minmax-fp32-sse41-ld128.c
4239  src/qs8-igemm/gen/2x4c2-minmax-fp32-sse41-ld64.c
4240  src/qs8-igemm/gen/2x4c2-minmax-fp32-sse41-ld128.c
4241  src/qs8-igemm/gen/2x4c8-minmax-fp32-sse41-ld64.c
4242  src/qs8-igemm/gen/2x4c8-minmax-fp32-sse41-ld128.c
4243  src/qs8-igemm/gen/3x4c2-minmax-fp32-sse41-ld64.c
4244  src/qs8-igemm/gen/3x4c2-minmax-fp32-sse41-ld128.c
4245  src/qs8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4246  src/qs8-igemm/gen/3x4c8-minmax-fp32-sse41-ld128.c
4247  src/qs8-igemm/gen/4x4c2-minmax-fp32-sse41-ld64.c
4248  src/qs8-igemm/gen/4x4c2-minmax-fp32-sse41-ld128.c
4249  src/qs8-requantization/fp32-sse4.c
4250  src/qs8-requantization/gemmlowp-sse4.c
4251  src/qs8-requantization/rndna-sse4.c
4252  src/qs8-requantization/rndnu-sse4-sra.c
4253  src/qs8-requantization/rndnu-sse4-srl.c
4254  src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x8.c
4255  src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x16.c
4256  src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x24.c
4257  src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x32.c
4258  src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x8.c
4259  src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x16.c
4260  src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x24.c
4261  src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x32.c
4262  src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c
4263  src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x16.c
4264  src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x24.c
4265  src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x32.c
4266  src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x8.c
4267  src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x16.c
4268  src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x24.c
4269  src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x32.c
4270  src/qs8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x8.c
4271  src/qs8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4272  src/qs8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x8.c
4273  src/qs8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4274  src/qu8-dwconv/gen/up8x9-minmax-fp32-sse41-mul16.c
4275  src/qu8-dwconv/gen/up8x9-minmax-fp32-sse41-mul32.c
4276  src/qu8-dwconv/gen/up8x25-minmax-fp32-sse41-mul16.c
4277  src/qu8-dwconv/gen/up8x25-minmax-fp32-sse41-mul32.c
4278  src/qu8-dwconv/gen/up16x9-minmax-fp32-sse41-mul16.c
4279  src/qu8-dwconv/gen/up16x9-minmax-fp32-sse41-mul32.c
4280  src/qu8-dwconv/gen/up16x25-minmax-fp32-sse41-mul16.c
4281  src/qu8-dwconv/gen/up16x25-minmax-fp32-sse41-mul32.c
4282  src/qu8-f32-vcvt/gen/vcvt-sse41-x8.c
4283  src/qu8-f32-vcvt/gen/vcvt-sse41-x16.c
4284  src/qu8-f32-vcvt/gen/vcvt-sse41-x24.c
4285  src/qu8-f32-vcvt/gen/vcvt-sse41-x32.c
4286  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse41-c8.c
4287  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse41-c16.c
4288  src/qu8-gavgpool/gen/7p7x-minmax-fp32-sse41-c24.c
4289  src/qu8-gavgpool/gen/7x-minmax-fp32-sse41-c8.c
4290  src/qu8-gavgpool/gen/7x-minmax-fp32-sse41-c16.c
4291  src/qu8-gavgpool/gen/7x-minmax-fp32-sse41-c24.c
4292  src/qu8-gemm/gen/1x4c2-minmax-fp32-sse41-ld64.c
4293  src/qu8-gemm/gen/1x4c2-minmax-fp32-sse41-ld128.c
4294  src/qu8-gemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4295  src/qu8-gemm/gen/1x4c8-minmax-fp32-sse41-ld128.c
4296  src/qu8-gemm/gen/2x4c2-minmax-fp32-sse41-ld64.c
4297  src/qu8-gemm/gen/2x4c2-minmax-fp32-sse41-ld128.c
4298  src/qu8-gemm/gen/2x4c8-minmax-fp32-sse41-ld64.c
4299  src/qu8-gemm/gen/2x4c8-minmax-fp32-sse41-ld128.c
4300  src/qu8-gemm/gen/3x4c2-minmax-fp32-sse41-ld64.c
4301  src/qu8-gemm/gen/3x4c2-minmax-fp32-sse41-ld128.c
4302  src/qu8-gemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4303  src/qu8-gemm/gen/3x4c8-minmax-fp32-sse41-ld128.c
4304  src/qu8-gemm/gen/4x4c2-minmax-fp32-sse41-ld64.c
4305  src/qu8-gemm/gen/4x4c2-minmax-fp32-sse41-ld128.c
4306  src/qu8-igemm/gen/1x4c2-minmax-fp32-sse41-ld64.c
4307  src/qu8-igemm/gen/1x4c2-minmax-fp32-sse41-ld128.c
4308  src/qu8-igemm/gen/1x4c8-minmax-fp32-sse41-ld64.c
4309  src/qu8-igemm/gen/1x4c8-minmax-fp32-sse41-ld128.c
4310  src/qu8-igemm/gen/2x4c2-minmax-fp32-sse41-ld64.c
4311  src/qu8-igemm/gen/2x4c2-minmax-fp32-sse41-ld128.c
4312  src/qu8-igemm/gen/2x4c8-minmax-fp32-sse41-ld64.c
4313  src/qu8-igemm/gen/2x4c8-minmax-fp32-sse41-ld128.c
4314  src/qu8-igemm/gen/3x4c2-minmax-fp32-sse41-ld64.c
4315  src/qu8-igemm/gen/3x4c2-minmax-fp32-sse41-ld128.c
4316  src/qu8-igemm/gen/3x4c8-minmax-fp32-sse41-ld64.c
4317  src/qu8-igemm/gen/3x4c8-minmax-fp32-sse41-ld128.c
4318  src/qu8-igemm/gen/4x4c2-minmax-fp32-sse41-ld64.c
4319  src/qu8-igemm/gen/4x4c2-minmax-fp32-sse41-ld128.c
4320  src/qu8-requantization/gemmlowp-sse4.c
4321  src/qu8-requantization/rndna-sse4.c
4322  src/qu8-vadd/gen/minmax-sse41-mul16-ld64-x8.c
4323  src/qu8-vadd/gen/minmax-sse41-mul16-ld64-x16.c
4324  src/qu8-vadd/gen/minmax-sse41-mul32-ld32-x8.c
4325  src/qu8-vadd/gen/minmax-sse41-mul32-ld32-x16.c
4326  src/qu8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c
4327  src/qu8-vaddc/gen/minmax-sse41-mul16-ld64-x16.c
4328  src/qu8-vaddc/gen/minmax-sse41-mul32-ld32-x8.c
4329  src/qu8-vaddc/gen/minmax-sse41-mul32-ld32-x16.c
4330  src/qu8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x8.c
4331  src/qu8-vmul/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4332  src/qu8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x8.c
4333  src/qu8-vmulc/gen/minmax-fp32-sse41-mul16-ld64-x16.c
4334  src/s8-ibilinear/gen/sse41-c8.c
4335  src/s8-ibilinear/gen/sse41-c16.c
4336  src/s8-maxpool/9p8x-minmax-sse41-c16.c
4337  src/s8-vclamp/sse41-x64.c
4338  src/u8-ibilinear/gen/sse41-c8.c
4339  src/u8-ibilinear/gen/sse41-c16.c)
4340
4341SET(PROD_AVX_MICROKERNEL_SRCS
4342  src/f16-f32-vcvt/gen/vcvt-avx-int16-x16.c
4343  src/f32-dwconv/gen/up8x25-minmax-avx.c
4344  src/f32-dwconv/gen/up16x3-minmax-avx.c
4345  src/f32-dwconv/gen/up16x4-minmax-avx.c
4346  src/f32-dwconv/gen/up16x9-minmax-avx.c
4347  src/f32-f16-vcvt/gen/vcvt-avx-x24.c
4348  src/f32-gemm/gen/1x16-minmax-avx-broadcast.c
4349  src/f32-gemm/gen/5x16-minmax-avx-broadcast.c
4350  src/f32-igemm/gen/1x16-minmax-avx-broadcast.c
4351  src/f32-igemm/gen/5x16-minmax-avx-broadcast.c
4352  src/f32-prelu/gen/avx-2x16.c
4353  src/f32-qs8-vcvt/gen/vcvt-avx-x32.c
4354  src/f32-qu8-vcvt/gen/vcvt-avx-x32.c
4355  src/f32-vbinary/gen/vadd-minmax-avx-x16.c
4356  src/f32-vbinary/gen/vaddc-minmax-avx-x16.c
4357  src/f32-vbinary/gen/vdiv-minmax-avx-x16.c
4358  src/f32-vbinary/gen/vdivc-minmax-avx-x16.c
4359  src/f32-vbinary/gen/vmax-avx-x16.c
4360  src/f32-vbinary/gen/vmaxc-avx-x16.c
4361  src/f32-vbinary/gen/vmin-avx-x16.c
4362  src/f32-vbinary/gen/vminc-avx-x16.c
4363  src/f32-vbinary/gen/vmul-minmax-avx-x16.c
4364  src/f32-vbinary/gen/vmulc-minmax-avx-x16.c
4365  src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c
4366  src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c
4367  src/f32-vbinary/gen/vsqrdiff-avx-x16.c
4368  src/f32-vbinary/gen/vsqrdiffc-avx-x16.c
4369  src/f32-vbinary/gen/vsub-minmax-avx-x16.c
4370  src/f32-vbinary/gen/vsubc-minmax-avx-x16.c
4371  src/f32-vclamp/gen/vclamp-avx-x16.c
4372  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x32.c
4373  src/f32-vhswish/gen/vhswish-avx-x16.c
4374  src/f32-vlrelu/gen/vlrelu-avx-x16.c
4375  src/f32-vrnd/gen/vrndd-avx-x16.c
4376  src/f32-vrnd/gen/vrndne-avx-x16.c
4377  src/f32-vrnd/gen/vrndu-avx-x16.c
4378  src/f32-vrnd/gen/vrndz-avx-x16.c
4379  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x40.c
4380  src/f32-vsqrt/gen/avx-sqrt-x8.c
4381  src/f32-vunary/gen/vabs-avx-x16.c
4382  src/f32-vunary/gen/vneg-avx-x16.c
4383  src/f32-vunary/gen/vsqr-avx-x16.c
4384  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c
4385  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c
4386  src/qc8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4387  src/qc8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4388  src/qc8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4389  src/qc8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4390  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c
4391  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c
4392  src/qs8-f32-vcvt/gen/vcvt-avx-x32.c
4393  src/qs8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4394  src/qs8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4395  src/qs8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4396  src/qs8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4397  src/qs8-vadd/gen/minmax-avx-mul32-ld32-x8.c
4398  src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x8.c
4399  src/qs8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c
4400  src/qs8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c
4401  src/qu8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c
4402  src/qu8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c
4403  src/qu8-f32-vcvt/gen/vcvt-avx-x32.c
4404  src/qu8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4405  src/qu8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4406  src/qu8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4407  src/qu8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4408  src/qu8-vadd/gen/minmax-avx-mul32-ld32-x8.c
4409  src/qu8-vaddc/gen/minmax-avx-mul32-ld32-x8.c
4410  src/qu8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c
4411  src/qu8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c
4412  src/x8-lut/gen/lut-avx-x64.c)
4413
4414SET(ALL_AVX_MICROKERNEL_SRCS
4415  src/f16-f32-vcvt/gen/vcvt-avx-int16-x8.c
4416  src/f16-f32-vcvt/gen/vcvt-avx-int16-x16.c
4417  src/f16-f32-vcvt/gen/vcvt-avx-int16-x24.c
4418  src/f16-f32-vcvt/gen/vcvt-avx-int16-x32.c
4419  src/f16-f32-vcvt/gen/vcvt-avx-int32-x8.c
4420  src/f16-f32-vcvt/gen/vcvt-avx-int32-x16.c
4421  src/f16-f32-vcvt/gen/vcvt-avx-int32-x24.c
4422  src/f16-f32-vcvt/gen/vcvt-avx-int32-x32.c
4423  src/f32-dwconv/gen/up8x3-minmax-avx-acc2.c
4424  src/f32-dwconv/gen/up8x3-minmax-avx.c
4425  src/f32-dwconv/gen/up8x4-minmax-avx-acc2.c
4426  src/f32-dwconv/gen/up8x4-minmax-avx.c
4427  src/f32-dwconv/gen/up8x9-minmax-avx-acc2.c
4428  src/f32-dwconv/gen/up8x9-minmax-avx.c
4429  src/f32-dwconv/gen/up8x25-minmax-avx-acc2.c
4430  src/f32-dwconv/gen/up8x25-minmax-avx.c
4431  src/f32-dwconv/gen/up16x3-minmax-avx-acc2.c
4432  src/f32-dwconv/gen/up16x3-minmax-avx.c
4433  src/f32-dwconv/gen/up16x4-minmax-avx-acc2.c
4434  src/f32-dwconv/gen/up16x4-minmax-avx.c
4435  src/f32-dwconv/gen/up16x9-minmax-avx-acc2.c
4436  src/f32-dwconv/gen/up16x9-minmax-avx.c
4437  src/f32-dwconv/gen/up16x25-minmax-avx-acc2.c
4438  src/f32-dwconv/gen/up16x25-minmax-avx.c
4439  src/f32-f16-vcvt/gen/vcvt-avx-x8.c
4440  src/f32-f16-vcvt/gen/vcvt-avx-x16.c
4441  src/f32-f16-vcvt/gen/vcvt-avx-x24.c
4442  src/f32-f16-vcvt/gen/vcvt-avx-x32.c
4443  src/f32-gemm/gen-inc/1x8inc-minmax-avx-broadcast.c
4444  src/f32-gemm/gen-inc/1x16inc-minmax-avx-broadcast.c
4445  src/f32-gemm/gen-inc/3x16inc-minmax-avx-broadcast.c
4446  src/f32-gemm/gen-inc/4x8inc-minmax-avx-broadcast.c
4447  src/f32-gemm/gen-inc/4x16inc-minmax-avx-broadcast.c
4448  src/f32-gemm/gen-inc/5x8inc-minmax-avx-broadcast.c
4449  src/f32-gemm/gen-inc/5x16inc-minmax-avx-broadcast.c
4450  src/f32-gemm/gen-inc/6x8inc-minmax-avx-broadcast.c
4451  src/f32-gemm/gen-inc/7x8inc-minmax-avx-broadcast.c
4452  src/f32-gemm/gen/1x8-minmax-avx-broadcast.c
4453  src/f32-gemm/gen/1x16-minmax-avx-broadcast.c
4454  src/f32-gemm/gen/3x16-minmax-avx-broadcast.c
4455  src/f32-gemm/gen/4x8-minmax-avx-broadcast.c
4456  src/f32-gemm/gen/4x16-minmax-avx-broadcast.c
4457  src/f32-gemm/gen/5x8-minmax-avx-broadcast.c
4458  src/f32-gemm/gen/5x16-minmax-avx-broadcast.c
4459  src/f32-gemm/gen/6x8-minmax-avx-broadcast.c
4460  src/f32-gemm/gen/7x8-minmax-avx-broadcast.c
4461  src/f32-igemm/gen/1x8-minmax-avx-broadcast.c
4462  src/f32-igemm/gen/1x16-minmax-avx-broadcast.c
4463  src/f32-igemm/gen/3x16-minmax-avx-broadcast.c
4464  src/f32-igemm/gen/4x8-minmax-avx-broadcast.c
4465  src/f32-igemm/gen/4x16-minmax-avx-broadcast.c
4466  src/f32-igemm/gen/5x8-minmax-avx-broadcast.c
4467  src/f32-igemm/gen/5x16-minmax-avx-broadcast.c
4468  src/f32-igemm/gen/6x8-minmax-avx-broadcast.c
4469  src/f32-igemm/gen/7x8-minmax-avx-broadcast.c
4470  src/f32-prelu/gen/avx-2x8.c
4471  src/f32-prelu/gen/avx-2x16.c
4472  src/f32-qs8-vcvt/gen/vcvt-avx-x8.c
4473  src/f32-qs8-vcvt/gen/vcvt-avx-x16.c
4474  src/f32-qs8-vcvt/gen/vcvt-avx-x24.c
4475  src/f32-qs8-vcvt/gen/vcvt-avx-x32.c
4476  src/f32-qu8-vcvt/gen/vcvt-avx-x8.c
4477  src/f32-qu8-vcvt/gen/vcvt-avx-x16.c
4478  src/f32-qu8-vcvt/gen/vcvt-avx-x24.c
4479  src/f32-qu8-vcvt/gen/vcvt-avx-x32.c
4480  src/f32-rmax/avx.c
4481  src/f32-vbinary/gen/vadd-minmax-avx-x8.c
4482  src/f32-vbinary/gen/vadd-minmax-avx-x16.c
4483  src/f32-vbinary/gen/vaddc-minmax-avx-x8.c
4484  src/f32-vbinary/gen/vaddc-minmax-avx-x16.c
4485  src/f32-vbinary/gen/vdiv-minmax-avx-x8.c
4486  src/f32-vbinary/gen/vdiv-minmax-avx-x16.c
4487  src/f32-vbinary/gen/vdivc-minmax-avx-x8.c
4488  src/f32-vbinary/gen/vdivc-minmax-avx-x16.c
4489  src/f32-vbinary/gen/vmax-avx-x8.c
4490  src/f32-vbinary/gen/vmax-avx-x16.c
4491  src/f32-vbinary/gen/vmaxc-avx-x8.c
4492  src/f32-vbinary/gen/vmaxc-avx-x16.c
4493  src/f32-vbinary/gen/vmin-avx-x8.c
4494  src/f32-vbinary/gen/vmin-avx-x16.c
4495  src/f32-vbinary/gen/vminc-avx-x8.c
4496  src/f32-vbinary/gen/vminc-avx-x16.c
4497  src/f32-vbinary/gen/vmul-minmax-avx-x8.c
4498  src/f32-vbinary/gen/vmul-minmax-avx-x16.c
4499  src/f32-vbinary/gen/vmulc-minmax-avx-x8.c
4500  src/f32-vbinary/gen/vmulc-minmax-avx-x16.c
4501  src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c
4502  src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c
4503  src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c
4504  src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c
4505  src/f32-vbinary/gen/vsqrdiff-avx-x8.c
4506  src/f32-vbinary/gen/vsqrdiff-avx-x16.c
4507  src/f32-vbinary/gen/vsqrdiffc-avx-x8.c
4508  src/f32-vbinary/gen/vsqrdiffc-avx-x16.c
4509  src/f32-vbinary/gen/vsub-minmax-avx-x8.c
4510  src/f32-vbinary/gen/vsub-minmax-avx-x16.c
4511  src/f32-vbinary/gen/vsubc-minmax-avx-x8.c
4512  src/f32-vbinary/gen/vsubc-minmax-avx-x16.c
4513  src/f32-vclamp/gen/vclamp-avx-x8.c
4514  src/f32-vclamp/gen/vclamp-avx-x16.c
4515  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x8.c
4516  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x16.c
4517  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x24.c
4518  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x32.c
4519  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x40.c
4520  src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x48.c
4521  src/f32-velu/gen/velu-avx-rr2-lut16-p3-x8.c
4522  src/f32-velu/gen/velu-avx-rr2-lut16-p3-x16.c
4523  src/f32-velu/gen/velu-avx-rr2-lut16-p3-x24.c
4524  src/f32-velu/gen/velu-avx-rr2-lut16-p3-x32.c
4525  src/f32-velu/gen/velu-avx-rr2-lut16-p3-x40.c
4526  src/f32-velu/gen/velu-avx-rr2-lut16-p3-x48.c
4527  src/f32-velu/gen/velu-avx-rr2-p6-x8.c
4528  src/f32-velu/gen/velu-avx-rr2-p6-x16.c
4529  src/f32-velu/gen/velu-avx-rr2-p6-x24.c
4530  src/f32-velu/gen/velu-avx-rr2-p6-x32.c
4531  src/f32-velu/gen/velu-avx-rr2-p6-x40.c
4532  src/f32-velu/gen/velu-avx-rr2-p6-x48.c
4533  src/f32-vhswish/gen/vhswish-avx-x8.c
4534  src/f32-vhswish/gen/vhswish-avx-x16.c
4535  src/f32-vlrelu/gen/vlrelu-avx-x8.c
4536  src/f32-vlrelu/gen/vlrelu-avx-x16.c
4537  src/f32-vrnd/gen/vrndd-avx-x8.c
4538  src/f32-vrnd/gen/vrndd-avx-x16.c
4539  src/f32-vrnd/gen/vrndne-avx-x8.c
4540  src/f32-vrnd/gen/vrndne-avx-x16.c
4541  src/f32-vrnd/gen/vrndu-avx-x8.c
4542  src/f32-vrnd/gen/vrndu-avx-x16.c
4543  src/f32-vrnd/gen/vrndz-avx-x8.c
4544  src/f32-vrnd/gen/vrndz-avx-x16.c
4545  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x8.c
4546  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x16.c
4547  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x24.c
4548  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x32.c
4549  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x40.c
4550  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x48.c
4551  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x56.c
4552  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x64.c
4553  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x72.c
4554  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-div-x80.c
4555  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x8.c
4556  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x16.c
4557  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x24.c
4558  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x32.c
4559  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x40.c
4560  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x48.c
4561  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x56.c
4562  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x64.c
4563  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x72.c
4564  src/f32-vsigmoid/gen/vsigmoid-avx-rr2-p5-nr2-x80.c
4565  src/f32-vsqrt/gen/avx-sqrt-x8.c
4566  src/f32-vsqrt/gen/avx-sqrt-x16.c
4567  src/f32-vunary/gen/vabs-avx-x8.c
4568  src/f32-vunary/gen/vabs-avx-x16.c
4569  src/f32-vunary/gen/vneg-avx-x8.c
4570  src/f32-vunary/gen/vneg-avx-x16.c
4571  src/f32-vunary/gen/vsqr-avx-x8.c
4572  src/f32-vunary/gen/vsqr-avx-x16.c
4573  src/math/exp-avx-rr2-p5.c
4574  src/math/expm1minus-avx-rr2-lut4-p4-perm.c
4575  src/math/expm1minus-avx-rr2-lut16-p3.c
4576  src/math/expm1minus-avx-rr2-p6.c
4577  src/math/sigmoid-avx-rr2-lut64-p2-div.c
4578  src/math/sigmoid-avx-rr2-p5-div.c
4579  src/math/sigmoid-avx-rr2-p5-nr1.c
4580  src/math/sigmoid-avx-rr2-p5-nr2.c
4581  src/qc8-dwconv/gen/up8x9-minmax-fp32-avx-mul16-add16.c
4582  src/qc8-dwconv/gen/up8x9-minmax-fp32-avx-mul16.c
4583  src/qc8-dwconv/gen/up8x9-minmax-fp32-avx-mul32.c
4584  src/qc8-dwconv/gen/up8x25-minmax-fp32-avx-mul16-add16.c
4585  src/qc8-dwconv/gen/up8x25-minmax-fp32-avx-mul16.c
4586  src/qc8-dwconv/gen/up8x25-minmax-fp32-avx-mul32.c
4587  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c
4588  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c
4589  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx-mul32.c
4590  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c
4591  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c
4592  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx-mul32.c
4593  src/qc8-dwconv/gen/up24x9-minmax-fp32-avx-mul16.c
4594  src/qc8-dwconv/gen/up24x9-minmax-fp32-avx-mul32.c
4595  src/qc8-dwconv/gen/up24x25-minmax-fp32-avx-mul16.c
4596  src/qc8-dwconv/gen/up24x25-minmax-fp32-avx-mul32.c
4597  src/qc8-gemm/gen/1x4c2-minmax-fp32-avx-ld64.c
4598  src/qc8-gemm/gen/1x4c2-minmax-fp32-avx-ld128.c
4599  src/qc8-gemm/gen/1x4c8-minmax-fp32-avx-ld64.c
4600  src/qc8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4601  src/qc8-gemm/gen/2x4c2-minmax-fp32-avx-ld64.c
4602  src/qc8-gemm/gen/2x4c2-minmax-fp32-avx-ld128.c
4603  src/qc8-gemm/gen/2x4c8-minmax-fp32-avx-ld64.c
4604  src/qc8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4605  src/qc8-gemm/gen/3x4c2-minmax-fp32-avx-ld64.c
4606  src/qc8-gemm/gen/3x4c2-minmax-fp32-avx-ld128.c
4607  src/qc8-gemm/gen/3x4c8-minmax-fp32-avx-ld64.c
4608  src/qc8-gemm/gen/3x4c8-minmax-fp32-avx-ld128.c
4609  src/qc8-gemm/gen/4x4c2-minmax-fp32-avx-ld64.c
4610  src/qc8-gemm/gen/4x4c2-minmax-fp32-avx-ld128.c
4611  src/qc8-igemm/gen/1x4c2-minmax-fp32-avx-ld64.c
4612  src/qc8-igemm/gen/1x4c2-minmax-fp32-avx-ld128.c
4613  src/qc8-igemm/gen/1x4c8-minmax-fp32-avx-ld64.c
4614  src/qc8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4615  src/qc8-igemm/gen/2x4c2-minmax-fp32-avx-ld64.c
4616  src/qc8-igemm/gen/2x4c2-minmax-fp32-avx-ld128.c
4617  src/qc8-igemm/gen/2x4c8-minmax-fp32-avx-ld64.c
4618  src/qc8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4619  src/qc8-igemm/gen/3x4c2-minmax-fp32-avx-ld64.c
4620  src/qc8-igemm/gen/3x4c2-minmax-fp32-avx-ld128.c
4621  src/qc8-igemm/gen/3x4c8-minmax-fp32-avx-ld64.c
4622  src/qc8-igemm/gen/3x4c8-minmax-fp32-avx-ld128.c
4623  src/qc8-igemm/gen/4x4c2-minmax-fp32-avx-ld64.c
4624  src/qc8-igemm/gen/4x4c2-minmax-fp32-avx-ld128.c
4625  src/qs8-dwconv/gen/up8x9-minmax-fp32-avx-mul16-add16.c
4626  src/qs8-dwconv/gen/up8x9-minmax-fp32-avx-mul16.c
4627  src/qs8-dwconv/gen/up8x9-minmax-fp32-avx-mul32.c
4628  src/qs8-dwconv/gen/up8x25-minmax-fp32-avx-mul16-add16.c
4629  src/qs8-dwconv/gen/up8x25-minmax-fp32-avx-mul16.c
4630  src/qs8-dwconv/gen/up8x25-minmax-fp32-avx-mul32.c
4631  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul16-add16.c
4632  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c
4633  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx-mul32.c
4634  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul16-add16.c
4635  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c
4636  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx-mul32.c
4637  src/qs8-dwconv/gen/up24x9-minmax-fp32-avx-mul16.c
4638  src/qs8-dwconv/gen/up24x9-minmax-fp32-avx-mul32.c
4639  src/qs8-dwconv/gen/up24x25-minmax-fp32-avx-mul16.c
4640  src/qs8-dwconv/gen/up24x25-minmax-fp32-avx-mul32.c
4641  src/qs8-f32-vcvt/gen/vcvt-avx-x8.c
4642  src/qs8-f32-vcvt/gen/vcvt-avx-x16.c
4643  src/qs8-f32-vcvt/gen/vcvt-avx-x24.c
4644  src/qs8-f32-vcvt/gen/vcvt-avx-x32.c
4645  src/qs8-gemm/gen/1x4c2-minmax-fp32-avx-ld64.c
4646  src/qs8-gemm/gen/1x4c2-minmax-fp32-avx-ld128.c
4647  src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-avx.c
4648  src/qs8-gemm/gen/1x4c8-minmax-fp32-avx-ld64.c
4649  src/qs8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4650  src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-avx.c
4651  src/qs8-gemm/gen/2x4c2-minmax-fp32-avx-ld64.c
4652  src/qs8-gemm/gen/2x4c2-minmax-fp32-avx-ld128.c
4653  src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-avx.c
4654  src/qs8-gemm/gen/2x4c8-minmax-fp32-avx-ld64.c
4655  src/qs8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4656  src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-avx.c
4657  src/qs8-gemm/gen/3x4c2-minmax-fp32-avx-ld64.c
4658  src/qs8-gemm/gen/3x4c2-minmax-fp32-avx-ld128.c
4659  src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-avx.c
4660  src/qs8-gemm/gen/3x4c8-minmax-fp32-avx-ld64.c
4661  src/qs8-gemm/gen/3x4c8-minmax-fp32-avx-ld128.c
4662  src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-avx.c
4663  src/qs8-gemm/gen/4x4c2-minmax-fp32-avx-ld64.c
4664  src/qs8-gemm/gen/4x4c2-minmax-fp32-avx-ld128.c
4665  src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-avx.c
4666  src/qs8-igemm/gen/1x4c2-minmax-fp32-avx-ld64.c
4667  src/qs8-igemm/gen/1x4c2-minmax-fp32-avx-ld128.c
4668  src/qs8-igemm/gen/1x4c8-minmax-fp32-avx-ld64.c
4669  src/qs8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4670  src/qs8-igemm/gen/2x4c2-minmax-fp32-avx-ld64.c
4671  src/qs8-igemm/gen/2x4c2-minmax-fp32-avx-ld128.c
4672  src/qs8-igemm/gen/2x4c8-minmax-fp32-avx-ld64.c
4673  src/qs8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4674  src/qs8-igemm/gen/3x4c2-minmax-fp32-avx-ld64.c
4675  src/qs8-igemm/gen/3x4c2-minmax-fp32-avx-ld128.c
4676  src/qs8-igemm/gen/3x4c8-minmax-fp32-avx-ld64.c
4677  src/qs8-igemm/gen/3x4c8-minmax-fp32-avx-ld128.c
4678  src/qs8-igemm/gen/4x4c2-minmax-fp32-avx-ld64.c
4679  src/qs8-igemm/gen/4x4c2-minmax-fp32-avx-ld128.c
4680  src/qs8-vadd/gen/minmax-avx-mul16-ld64-x8.c
4681  src/qs8-vadd/gen/minmax-avx-mul16-ld64-x16.c
4682  src/qs8-vadd/gen/minmax-avx-mul16-ld64-x24.c
4683  src/qs8-vadd/gen/minmax-avx-mul16-ld64-x32.c
4684  src/qs8-vadd/gen/minmax-avx-mul32-ld32-x8.c
4685  src/qs8-vadd/gen/minmax-avx-mul32-ld32-x16.c
4686  src/qs8-vadd/gen/minmax-avx-mul32-ld32-x24.c
4687  src/qs8-vadd/gen/minmax-avx-mul32-ld32-x32.c
4688  src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x8.c
4689  src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x16.c
4690  src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x24.c
4691  src/qs8-vaddc/gen/minmax-avx-mul16-ld64-x32.c
4692  src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x8.c
4693  src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x16.c
4694  src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x24.c
4695  src/qs8-vaddc/gen/minmax-avx-mul32-ld32-x32.c
4696  src/qs8-vmul/gen/minmax-fp32-avx-mul16-ld64-x8.c
4697  src/qs8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c
4698  src/qs8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x8.c
4699  src/qs8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c
4700  src/qu8-dwconv/gen/up8x9-minmax-fp32-avx-mul16.c
4701  src/qu8-dwconv/gen/up8x9-minmax-fp32-avx-mul32.c
4702  src/qu8-dwconv/gen/up8x25-minmax-fp32-avx-mul16.c
4703  src/qu8-dwconv/gen/up8x25-minmax-fp32-avx-mul32.c
4704  src/qu8-dwconv/gen/up16x9-minmax-fp32-avx-mul16.c
4705  src/qu8-dwconv/gen/up16x9-minmax-fp32-avx-mul32.c
4706  src/qu8-dwconv/gen/up16x25-minmax-fp32-avx-mul16.c
4707  src/qu8-dwconv/gen/up16x25-minmax-fp32-avx-mul32.c
4708  src/qu8-f32-vcvt/gen/vcvt-avx-x8.c
4709  src/qu8-f32-vcvt/gen/vcvt-avx-x16.c
4710  src/qu8-f32-vcvt/gen/vcvt-avx-x24.c
4711  src/qu8-f32-vcvt/gen/vcvt-avx-x32.c
4712  src/qu8-gemm/gen/1x4c2-minmax-fp32-avx-ld64.c
4713  src/qu8-gemm/gen/1x4c2-minmax-fp32-avx-ld128.c
4714  src/qu8-gemm/gen/1x4c8-minmax-fp32-avx-ld64.c
4715  src/qu8-gemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4716  src/qu8-gemm/gen/2x4c2-minmax-fp32-avx-ld64.c
4717  src/qu8-gemm/gen/2x4c2-minmax-fp32-avx-ld128.c
4718  src/qu8-gemm/gen/2x4c8-minmax-fp32-avx-ld64.c
4719  src/qu8-gemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4720  src/qu8-gemm/gen/3x4c2-minmax-fp32-avx-ld64.c
4721  src/qu8-gemm/gen/3x4c2-minmax-fp32-avx-ld128.c
4722  src/qu8-gemm/gen/3x4c8-minmax-fp32-avx-ld64.c
4723  src/qu8-gemm/gen/3x4c8-minmax-fp32-avx-ld128.c
4724  src/qu8-gemm/gen/4x4c2-minmax-fp32-avx-ld64.c
4725  src/qu8-gemm/gen/4x4c2-minmax-fp32-avx-ld128.c
4726  src/qu8-igemm/gen/1x4c2-minmax-fp32-avx-ld64.c
4727  src/qu8-igemm/gen/1x4c2-minmax-fp32-avx-ld128.c
4728  src/qu8-igemm/gen/1x4c8-minmax-fp32-avx-ld64.c
4729  src/qu8-igemm/gen/1x4c8-minmax-fp32-avx-ld128.c
4730  src/qu8-igemm/gen/2x4c2-minmax-fp32-avx-ld64.c
4731  src/qu8-igemm/gen/2x4c2-minmax-fp32-avx-ld128.c
4732  src/qu8-igemm/gen/2x4c8-minmax-fp32-avx-ld64.c
4733  src/qu8-igemm/gen/2x4c8-minmax-fp32-avx-ld128.c
4734  src/qu8-igemm/gen/3x4c2-minmax-fp32-avx-ld64.c
4735  src/qu8-igemm/gen/3x4c2-minmax-fp32-avx-ld128.c
4736  src/qu8-igemm/gen/3x4c8-minmax-fp32-avx-ld64.c
4737  src/qu8-igemm/gen/3x4c8-minmax-fp32-avx-ld128.c
4738  src/qu8-igemm/gen/4x4c2-minmax-fp32-avx-ld64.c
4739  src/qu8-igemm/gen/4x4c2-minmax-fp32-avx-ld128.c
4740  src/qu8-vadd/gen/minmax-avx-mul16-ld64-x8.c
4741  src/qu8-vadd/gen/minmax-avx-mul16-ld64-x16.c
4742  src/qu8-vadd/gen/minmax-avx-mul32-ld32-x8.c
4743  src/qu8-vadd/gen/minmax-avx-mul32-ld32-x16.c
4744  src/qu8-vaddc/gen/minmax-avx-mul16-ld64-x8.c
4745  src/qu8-vaddc/gen/minmax-avx-mul16-ld64-x16.c
4746  src/qu8-vaddc/gen/minmax-avx-mul32-ld32-x8.c
4747  src/qu8-vaddc/gen/minmax-avx-mul32-ld32-x16.c
4748  src/qu8-vmul/gen/minmax-fp32-avx-mul16-ld64-x8.c
4749  src/qu8-vmul/gen/minmax-fp32-avx-mul16-ld64-x16.c
4750  src/qu8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x8.c
4751  src/qu8-vmulc/gen/minmax-fp32-avx-mul16-ld64-x16.c
4752  src/x8-lut/gen/lut-avx-x16.c
4753  src/x8-lut/gen/lut-avx-x32.c
4754  src/x8-lut/gen/lut-avx-x48.c
4755  src/x8-lut/gen/lut-avx-x64.c)
4756
4757SET(PROD_F16C_MICROKERNEL_SRCS
4758  src/f16-f32-vcvt/gen/vcvt-f16c-x16.c
4759  src/f16-gavgpool/gen/7p7x-minmax-f16c-c8.c
4760  src/f16-gavgpool/gen/7x-minmax-f16c-c8.c
4761  src/f16-maxpool/9p8x-minmax-f16c-c8.c
4762  src/f16-prelu/gen/neonfp16arith-2x16.c
4763  src/f16-vbinary/gen/vadd-minmax-f16c-x16.c
4764  src/f16-vbinary/gen/vaddc-minmax-f16c-x16.c
4765  src/f16-vbinary/gen/vmul-minmax-f16c-x16.c
4766  src/f16-vbinary/gen/vmulc-minmax-f16c-x16.c
4767  src/f16-vhswish/gen/vhswish-f16c-x16.c
4768  src/f32-f16-vcvt/gen/vcvt-f16c-x16.c)
4769
4770SET(ALL_F16C_MICROKERNEL_SRCS
4771  src/f16-f32-vcvt/gen/vcvt-f16c-x8.c
4772  src/f16-f32-vcvt/gen/vcvt-f16c-x16.c
4773  src/f16-gavgpool/gen/7p7x-minmax-f16c-c8.c
4774  src/f16-gavgpool/gen/7p7x-minmax-f16c-c16.c
4775  src/f16-gavgpool/gen/7p7x-minmax-f16c-c24.c
4776  src/f16-gavgpool/gen/7p7x-minmax-f16c-c32.c
4777  src/f16-gavgpool/gen/7x-minmax-f16c-c8.c
4778  src/f16-gavgpool/gen/7x-minmax-f16c-c16.c
4779  src/f16-gavgpool/gen/7x-minmax-f16c-c24.c
4780  src/f16-gavgpool/gen/7x-minmax-f16c-c32.c
4781  src/f16-maxpool/9p8x-minmax-f16c-c8.c
4782  src/f16-prelu/gen/f16c-2x8.c
4783  src/f16-prelu/gen/f16c-2x16.c
4784  src/f16-vbinary/gen/vadd-minmax-f16c-x8.c
4785  src/f16-vbinary/gen/vadd-minmax-f16c-x16.c
4786  src/f16-vbinary/gen/vaddc-minmax-f16c-x8.c
4787  src/f16-vbinary/gen/vaddc-minmax-f16c-x16.c
4788  src/f16-vbinary/gen/vdiv-minmax-f16c-x8.c
4789  src/f16-vbinary/gen/vdiv-minmax-f16c-x16.c
4790  src/f16-vbinary/gen/vdivc-minmax-f16c-x8.c
4791  src/f16-vbinary/gen/vdivc-minmax-f16c-x16.c
4792  src/f16-vbinary/gen/vmax-f16c-x8.c
4793  src/f16-vbinary/gen/vmax-f16c-x16.c
4794  src/f16-vbinary/gen/vmaxc-f16c-x8.c
4795  src/f16-vbinary/gen/vmaxc-f16c-x16.c
4796  src/f16-vbinary/gen/vmin-f16c-x8.c
4797  src/f16-vbinary/gen/vmin-f16c-x16.c
4798  src/f16-vbinary/gen/vminc-f16c-x8.c
4799  src/f16-vbinary/gen/vminc-f16c-x16.c
4800  src/f16-vbinary/gen/vmul-minmax-f16c-x8.c
4801  src/f16-vbinary/gen/vmul-minmax-f16c-x16.c
4802  src/f16-vbinary/gen/vmulc-minmax-f16c-x8.c
4803  src/f16-vbinary/gen/vmulc-minmax-f16c-x16.c
4804  src/f16-vbinary/gen/vrdivc-minmax-f16c-x8.c
4805  src/f16-vbinary/gen/vrdivc-minmax-f16c-x16.c
4806  src/f16-vbinary/gen/vrsubc-minmax-f16c-x8.c
4807  src/f16-vbinary/gen/vrsubc-minmax-f16c-x16.c
4808  src/f16-vbinary/gen/vsub-minmax-f16c-x8.c
4809  src/f16-vbinary/gen/vsub-minmax-f16c-x16.c
4810  src/f16-vbinary/gen/vsubc-minmax-f16c-x8.c
4811  src/f16-vbinary/gen/vsubc-minmax-f16c-x16.c
4812  src/f16-vclamp/gen/vclamp-f16c-x8.c
4813  src/f16-vclamp/gen/vclamp-f16c-x16.c
4814  src/f16-vhswish/gen/vhswish-f16c-x8.c
4815  src/f16-vhswish/gen/vhswish-f16c-x16.c
4816  src/f32-f16-vcvt/gen/vcvt-f16c-x8.c
4817  src/f32-f16-vcvt/gen/vcvt-f16c-x16.c
4818  src/math/cvt-f16-f32-f16c.c
4819  src/math/cvt-f32-f16-f16c.c)
4820
4821SET(PROD_XOP_MICROKERNEL_SRCS
4822  src/qc8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c
4823  src/qc8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c
4824  src/qc8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4825  src/qc8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4826  src/qc8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4827  src/qc8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4828  src/qs8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c
4829  src/qs8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c
4830  src/qs8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4831  src/qs8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4832  src/qs8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4833  src/qs8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4834  src/qs8-vadd/gen/minmax-xop-mul32-ld32-x8.c
4835  src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x8.c
4836  src/qu8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c
4837  src/qu8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c
4838  src/qu8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4839  src/qu8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4840  src/qu8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4841  src/qu8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4842  src/qu8-vadd/gen/minmax-xop-mul32-ld32-x8.c
4843  src/qu8-vaddc/gen/minmax-xop-mul32-ld32-x8.c)
4844
4845SET(ALL_XOP_MICROKERNEL_SRCS
4846  src/qc8-dwconv/gen/up8x9-minmax-fp32-xop-mul16-add16.c
4847  src/qc8-dwconv/gen/up8x9-minmax-fp32-xop-mul32.c
4848  src/qc8-dwconv/gen/up8x25-minmax-fp32-xop-mul16-add16.c
4849  src/qc8-dwconv/gen/up8x25-minmax-fp32-xop-mul32.c
4850  src/qc8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c
4851  src/qc8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c
4852  src/qc8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c
4853  src/qc8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c
4854  src/qc8-dwconv/gen/up24x9-minmax-fp32-xop-mul32.c
4855  src/qc8-dwconv/gen/up24x25-minmax-fp32-xop-mul32.c
4856  src/qc8-gemm/gen/1x4c2-minmax-fp32-xop-ld64.c
4857  src/qc8-gemm/gen/1x4c2-minmax-fp32-xop-ld128.c
4858  src/qc8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4859  src/qc8-gemm/gen/1x4c8-minmax-fp32-xop-ld128.c
4860  src/qc8-gemm/gen/2x4c2-minmax-fp32-xop-ld64.c
4861  src/qc8-gemm/gen/2x4c2-minmax-fp32-xop-ld128.c
4862  src/qc8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4863  src/qc8-gemm/gen/2x4c8-minmax-fp32-xop-ld128.c
4864  src/qc8-gemm/gen/3x4c2-minmax-fp32-xop-ld64.c
4865  src/qc8-gemm/gen/3x4c2-minmax-fp32-xop-ld128.c
4866  src/qc8-gemm/gen/3x4c8-minmax-fp32-xop-ld64.c
4867  src/qc8-gemm/gen/3x4c8-minmax-fp32-xop-ld128.c
4868  src/qc8-gemm/gen/4x4c2-minmax-fp32-xop-ld64.c
4869  src/qc8-gemm/gen/4x4c2-minmax-fp32-xop-ld128.c
4870  src/qc8-igemm/gen/1x4c2-minmax-fp32-xop-ld64.c
4871  src/qc8-igemm/gen/1x4c2-minmax-fp32-xop-ld128.c
4872  src/qc8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4873  src/qc8-igemm/gen/1x4c8-minmax-fp32-xop-ld128.c
4874  src/qc8-igemm/gen/2x4c2-minmax-fp32-xop-ld64.c
4875  src/qc8-igemm/gen/2x4c2-minmax-fp32-xop-ld128.c
4876  src/qc8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4877  src/qc8-igemm/gen/2x4c8-minmax-fp32-xop-ld128.c
4878  src/qc8-igemm/gen/3x4c2-minmax-fp32-xop-ld64.c
4879  src/qc8-igemm/gen/3x4c2-minmax-fp32-xop-ld128.c
4880  src/qc8-igemm/gen/3x4c8-minmax-fp32-xop-ld64.c
4881  src/qc8-igemm/gen/3x4c8-minmax-fp32-xop-ld128.c
4882  src/qc8-igemm/gen/4x4c2-minmax-fp32-xop-ld64.c
4883  src/qc8-igemm/gen/4x4c2-minmax-fp32-xop-ld128.c
4884  src/qs8-dwconv/gen/up8x9-minmax-fp32-xop-mul16-add16.c
4885  src/qs8-dwconv/gen/up8x9-minmax-fp32-xop-mul32.c
4886  src/qs8-dwconv/gen/up8x25-minmax-fp32-xop-mul16-add16.c
4887  src/qs8-dwconv/gen/up8x25-minmax-fp32-xop-mul32.c
4888  src/qs8-dwconv/gen/up16x9-minmax-fp32-xop-mul16-add16.c
4889  src/qs8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c
4890  src/qs8-dwconv/gen/up16x25-minmax-fp32-xop-mul16-add16.c
4891  src/qs8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c
4892  src/qs8-dwconv/gen/up24x9-minmax-fp32-xop-mul32.c
4893  src/qs8-dwconv/gen/up24x25-minmax-fp32-xop-mul32.c
4894  src/qs8-gemm/gen/1x4c2-minmax-fp32-xop-ld64.c
4895  src/qs8-gemm/gen/1x4c2-minmax-fp32-xop-ld128.c
4896  src/qs8-gemm/gen/1x4c2-xw-minmax-fp32-xop.c
4897  src/qs8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4898  src/qs8-gemm/gen/1x4c8-minmax-fp32-xop-ld128.c
4899  src/qs8-gemm/gen/1x4c8-xw-minmax-fp32-xop.c
4900  src/qs8-gemm/gen/2x4c2-minmax-fp32-xop-ld64.c
4901  src/qs8-gemm/gen/2x4c2-minmax-fp32-xop-ld128.c
4902  src/qs8-gemm/gen/2x4c2-xw-minmax-fp32-xop.c
4903  src/qs8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4904  src/qs8-gemm/gen/2x4c8-minmax-fp32-xop-ld128.c
4905  src/qs8-gemm/gen/2x4c8-xw-minmax-fp32-xop.c
4906  src/qs8-gemm/gen/3x4c2-minmax-fp32-xop-ld64.c
4907  src/qs8-gemm/gen/3x4c2-minmax-fp32-xop-ld128.c
4908  src/qs8-gemm/gen/3x4c2-xw-minmax-fp32-xop.c
4909  src/qs8-gemm/gen/3x4c8-minmax-fp32-xop-ld64.c
4910  src/qs8-gemm/gen/3x4c8-minmax-fp32-xop-ld128.c
4911  src/qs8-gemm/gen/3x4c8-xw-minmax-fp32-xop.c
4912  src/qs8-gemm/gen/4x4c2-minmax-fp32-xop-ld64.c
4913  src/qs8-gemm/gen/4x4c2-minmax-fp32-xop-ld128.c
4914  src/qs8-gemm/gen/4x4c2-xw-minmax-fp32-xop.c
4915  src/qs8-igemm/gen/1x4c2-minmax-fp32-xop-ld64.c
4916  src/qs8-igemm/gen/1x4c2-minmax-fp32-xop-ld128.c
4917  src/qs8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4918  src/qs8-igemm/gen/1x4c8-minmax-fp32-xop-ld128.c
4919  src/qs8-igemm/gen/2x4c2-minmax-fp32-xop-ld64.c
4920  src/qs8-igemm/gen/2x4c2-minmax-fp32-xop-ld128.c
4921  src/qs8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4922  src/qs8-igemm/gen/2x4c8-minmax-fp32-xop-ld128.c
4923  src/qs8-igemm/gen/3x4c2-minmax-fp32-xop-ld64.c
4924  src/qs8-igemm/gen/3x4c2-minmax-fp32-xop-ld128.c
4925  src/qs8-igemm/gen/3x4c8-minmax-fp32-xop-ld64.c
4926  src/qs8-igemm/gen/3x4c8-minmax-fp32-xop-ld128.c
4927  src/qs8-igemm/gen/4x4c2-minmax-fp32-xop-ld64.c
4928  src/qs8-igemm/gen/4x4c2-minmax-fp32-xop-ld128.c
4929  src/qs8-vadd/gen/minmax-xop-mul32-ld32-x8.c
4930  src/qs8-vadd/gen/minmax-xop-mul32-ld32-x16.c
4931  src/qs8-vadd/gen/minmax-xop-mul32-ld32-x24.c
4932  src/qs8-vadd/gen/minmax-xop-mul32-ld32-x32.c
4933  src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x8.c
4934  src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x16.c
4935  src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x24.c
4936  src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x32.c
4937  src/qu8-dwconv/gen/up8x9-minmax-fp32-xop-mul32.c
4938  src/qu8-dwconv/gen/up8x25-minmax-fp32-xop-mul32.c
4939  src/qu8-dwconv/gen/up16x9-minmax-fp32-xop-mul32.c
4940  src/qu8-dwconv/gen/up16x25-minmax-fp32-xop-mul32.c
4941  src/qu8-gemm/gen/1x4c2-minmax-fp32-xop-ld64.c
4942  src/qu8-gemm/gen/1x4c2-minmax-fp32-xop-ld128.c
4943  src/qu8-gemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4944  src/qu8-gemm/gen/1x4c8-minmax-fp32-xop-ld128.c
4945  src/qu8-gemm/gen/2x4c2-minmax-fp32-xop-ld64.c
4946  src/qu8-gemm/gen/2x4c2-minmax-fp32-xop-ld128.c
4947  src/qu8-gemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4948  src/qu8-gemm/gen/2x4c8-minmax-fp32-xop-ld128.c
4949  src/qu8-gemm/gen/3x4c2-minmax-fp32-xop-ld64.c
4950  src/qu8-gemm/gen/3x4c2-minmax-fp32-xop-ld128.c
4951  src/qu8-gemm/gen/3x4c8-minmax-fp32-xop-ld64.c
4952  src/qu8-gemm/gen/3x4c8-minmax-fp32-xop-ld128.c
4953  src/qu8-gemm/gen/4x4c2-minmax-fp32-xop-ld64.c
4954  src/qu8-gemm/gen/4x4c2-minmax-fp32-xop-ld128.c
4955  src/qu8-igemm/gen/1x4c2-minmax-fp32-xop-ld64.c
4956  src/qu8-igemm/gen/1x4c2-minmax-fp32-xop-ld128.c
4957  src/qu8-igemm/gen/1x4c8-minmax-fp32-xop-ld64.c
4958  src/qu8-igemm/gen/1x4c8-minmax-fp32-xop-ld128.c
4959  src/qu8-igemm/gen/2x4c2-minmax-fp32-xop-ld64.c
4960  src/qu8-igemm/gen/2x4c2-minmax-fp32-xop-ld128.c
4961  src/qu8-igemm/gen/2x4c8-minmax-fp32-xop-ld64.c
4962  src/qu8-igemm/gen/2x4c8-minmax-fp32-xop-ld128.c
4963  src/qu8-igemm/gen/3x4c2-minmax-fp32-xop-ld64.c
4964  src/qu8-igemm/gen/3x4c2-minmax-fp32-xop-ld128.c
4965  src/qu8-igemm/gen/3x4c8-minmax-fp32-xop-ld64.c
4966  src/qu8-igemm/gen/3x4c8-minmax-fp32-xop-ld128.c
4967  src/qu8-igemm/gen/4x4c2-minmax-fp32-xop-ld64.c
4968  src/qu8-igemm/gen/4x4c2-minmax-fp32-xop-ld128.c
4969  src/qu8-vadd/gen/minmax-xop-mul32-ld32-x8.c
4970  src/qu8-vadd/gen/minmax-xop-mul32-ld32-x16.c
4971  src/qu8-vaddc/gen/minmax-xop-mul32-ld32-x8.c
4972  src/qu8-vaddc/gen/minmax-xop-mul32-ld32-x16.c)
4973
4974SET(PROD_FMA3_MICROKERNEL_SRCS
4975  src/f16-dwconv/gen/up8x25-minmax-fma3-acc2.c
4976  src/f16-dwconv/gen/up16x4-minmax-fma3.c
4977  src/f16-dwconv/gen/up16x9-minmax-fma3.c
4978  src/f16-vmulcaddc/gen/c8-minmax-fma3-2x.c
4979  src/f32-dwconv/gen/up8x25-minmax-fma3.c
4980  src/f32-dwconv/gen/up16x3-minmax-fma3.c
4981  src/f32-dwconv/gen/up16x4-minmax-fma3.c
4982  src/f32-dwconv/gen/up16x9-minmax-fma3.c
4983  src/f32-gemm/gen/1x16-minmax-fma3-broadcast.c
4984  src/f32-gemm/gen/1x16s4-minmax-fma3-broadcast.c
4985  src/f32-gemm/gen/4x16s4-minmax-fma3-broadcast.c
4986  src/f32-gemm/gen/5x16-minmax-fma3-broadcast.c
4987  src/f32-igemm/gen/1x16-minmax-fma3-broadcast.c
4988  src/f32-igemm/gen/1x16s4-minmax-fma3-broadcast.c
4989  src/f32-igemm/gen/4x16s4-minmax-fma3-broadcast.c
4990  src/f32-igemm/gen/5x16-minmax-fma3-broadcast.c
4991  src/f32-vhswish/gen/vhswish-fma3-x16.c)
4992
4993SET(ALL_FMA3_MICROKERNEL_SRCS
4994  src/f16-dwconv/gen/up8x4-minmax-fma3-acc2.c
4995  src/f16-dwconv/gen/up8x4-minmax-fma3.c
4996  src/f16-dwconv/gen/up8x9-minmax-fma3-acc2.c
4997  src/f16-dwconv/gen/up8x9-minmax-fma3.c
4998  src/f16-dwconv/gen/up8x25-minmax-fma3-acc2.c
4999  src/f16-dwconv/gen/up8x25-minmax-fma3.c
5000  src/f16-dwconv/gen/up16x4-minmax-fma3-acc2.c
5001  src/f16-dwconv/gen/up16x4-minmax-fma3.c
5002  src/f16-dwconv/gen/up16x9-minmax-fma3-acc2.c
5003  src/f16-dwconv/gen/up16x9-minmax-fma3.c
5004  src/f16-dwconv/gen/up16x25-minmax-fma3-acc2.c
5005  src/f16-dwconv/gen/up16x25-minmax-fma3.c
5006  src/f16-dwconv/gen/up32x4-minmax-fma3-acc2.c
5007  src/f16-dwconv/gen/up32x4-minmax-fma3.c
5008  src/f16-dwconv/gen/up32x9-minmax-fma3-acc2.c
5009  src/f16-dwconv/gen/up32x9-minmax-fma3.c
5010  src/f16-dwconv/gen/up32x25-minmax-fma3-acc2.c
5011  src/f16-dwconv/gen/up32x25-minmax-fma3.c
5012  src/f16-vmulcaddc/gen/c8-minmax-fma3-2x.c
5013  src/f16-vmulcaddc/gen/c16-minmax-fma3-2x.c
5014  src/f32-dwconv/gen/up8x3-minmax-fma3-acc2.c
5015  src/f32-dwconv/gen/up8x3-minmax-fma3.c
5016  src/f32-dwconv/gen/up8x4-minmax-fma3-acc2.c
5017  src/f32-dwconv/gen/up8x4-minmax-fma3.c
5018  src/f32-dwconv/gen/up8x9-minmax-fma3-acc2.c
5019  src/f32-dwconv/gen/up8x9-minmax-fma3.c
5020  src/f32-dwconv/gen/up8x25-minmax-fma3-acc2.c
5021  src/f32-dwconv/gen/up8x25-minmax-fma3.c
5022  src/f32-dwconv/gen/up16x3-minmax-fma3-acc2.c
5023  src/f32-dwconv/gen/up16x3-minmax-fma3.c
5024  src/f32-dwconv/gen/up16x4-minmax-fma3-acc2.c
5025  src/f32-dwconv/gen/up16x4-minmax-fma3.c
5026  src/f32-dwconv/gen/up16x9-minmax-fma3-acc2.c
5027  src/f32-dwconv/gen/up16x9-minmax-fma3.c
5028  src/f32-dwconv/gen/up16x25-minmax-fma3-acc2.c
5029  src/f32-dwconv/gen/up16x25-minmax-fma3.c
5030  src/f32-gemm/gen-inc/1x8inc-minmax-fma3-broadcast.c
5031  src/f32-gemm/gen-inc/1x16inc-minmax-fma3-broadcast.c
5032  src/f32-gemm/gen-inc/1x16s4inc-minmax-fma3-broadcast.c
5033  src/f32-gemm/gen-inc/3x16inc-minmax-fma3-broadcast.c
5034  src/f32-gemm/gen-inc/3x16s4inc-minmax-fma3-broadcast.c
5035  src/f32-gemm/gen-inc/4x8inc-minmax-fma3-broadcast.c
5036  src/f32-gemm/gen-inc/4x16inc-minmax-fma3-broadcast.c
5037  src/f32-gemm/gen-inc/4x16s4inc-minmax-fma3-broadcast.c
5038  src/f32-gemm/gen-inc/5x8inc-minmax-fma3-broadcast.c
5039  src/f32-gemm/gen-inc/5x16inc-minmax-fma3-broadcast.c
5040  src/f32-gemm/gen-inc/5x16s4inc-minmax-fma3-broadcast.c
5041  src/f32-gemm/gen-inc/6x8inc-minmax-fma3-broadcast.c
5042  src/f32-gemm/gen-inc/7x8inc-minmax-fma3-broadcast.c
5043  src/f32-gemm/gen-inc/8x8inc-minmax-fma3-broadcast.c
5044  src/f32-gemm/gen/1x8-minmax-fma3-broadcast.c
5045  src/f32-gemm/gen/1x16-minmax-fma3-broadcast.c
5046  src/f32-gemm/gen/1x16s4-minmax-fma3-broadcast.c
5047  src/f32-gemm/gen/3x16-minmax-fma3-broadcast.c
5048  src/f32-gemm/gen/3x16s4-minmax-fma3-broadcast.c
5049  src/f32-gemm/gen/4x8-minmax-fma3-broadcast.c
5050  src/f32-gemm/gen/4x16-minmax-fma3-broadcast.c
5051  src/f32-gemm/gen/4x16s4-minmax-fma3-broadcast.c
5052  src/f32-gemm/gen/5x8-minmax-fma3-broadcast.c
5053  src/f32-gemm/gen/5x16-minmax-fma3-broadcast.c
5054  src/f32-gemm/gen/5x16s4-minmax-fma3-broadcast.c
5055  src/f32-gemm/gen/6x8-minmax-fma3-broadcast.c
5056  src/f32-gemm/gen/7x8-minmax-fma3-broadcast.c
5057  src/f32-gemm/gen/8x8-minmax-fma3-broadcast.c
5058  src/f32-igemm/gen/1x8-minmax-fma3-broadcast.c
5059  src/f32-igemm/gen/1x16-minmax-fma3-broadcast.c
5060  src/f32-igemm/gen/1x16s4-minmax-fma3-broadcast.c
5061  src/f32-igemm/gen/3x16-minmax-fma3-broadcast.c
5062  src/f32-igemm/gen/3x16s4-minmax-fma3-broadcast.c
5063  src/f32-igemm/gen/4x8-minmax-fma3-broadcast.c
5064  src/f32-igemm/gen/4x16-minmax-fma3-broadcast.c
5065  src/f32-igemm/gen/4x16s4-minmax-fma3-broadcast.c
5066  src/f32-igemm/gen/5x8-minmax-fma3-broadcast.c
5067  src/f32-igemm/gen/5x16-minmax-fma3-broadcast.c
5068  src/f32-igemm/gen/5x16s4-minmax-fma3-broadcast.c
5069  src/f32-igemm/gen/6x8-minmax-fma3-broadcast.c
5070  src/f32-igemm/gen/7x8-minmax-fma3-broadcast.c
5071  src/f32-igemm/gen/8x8-minmax-fma3-broadcast.c
5072  src/f32-vhswish/gen/vhswish-fma3-x8.c
5073  src/f32-vhswish/gen/vhswish-fma3-x16.c
5074  src/f32-vsqrt/gen/fma3-nr1fma1adj-x8.c
5075  src/f32-vsqrt/gen/fma3-nr1fma1adj-x16.c
5076  src/f32-vsqrt/gen/fma3-nr1fma1adj-x24.c
5077  src/f32-vsqrt/gen/fma3-nr1fma1adj-x32.c
5078  src/f32-vsqrt/gen/fma3-nr1fma1adj-x40.c
5079  src/f32-vsqrt/gen/fma3-nr1fma1adj-x48.c
5080  src/f32-vsqrt/gen/fma3-nr1fma1adj-x56.c
5081  src/f32-vsqrt/gen/fma3-nr1fma1adj-x64.c
5082  src/math/sqrt-fma3-nr1fma.c
5083  src/math/sqrt-fma3-nr1fma1adj.c
5084  src/math/sqrt-fma3-nr2fma.c)
5085
5086SET(PROD_AVX2_MICROKERNEL_SRCS
5087  src/f16-gemm/gen/1x16-minmax-avx2-broadcast.c
5088  src/f16-gemm/gen/4x16-minmax-avx2-broadcast.c
5089  src/f16-igemm/gen/1x16-minmax-avx2-broadcast.c
5090  src/f16-igemm/gen/4x16-minmax-avx2-broadcast.c
5091  src/f32-qs8-vcvt/gen/vcvt-avx2-x64.c
5092  src/f32-qu8-vcvt/gen/vcvt-avx2-x64.c
5093  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x56.c
5094  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x40.c
5095  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c
5096  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c
5097  src/qc8-gemm/gen/1x8c8-minmax-fp32-avx2.c
5098  src/qc8-gemm/gen/3x8c8-minmax-fp32-avx2.c
5099  src/qc8-igemm/gen/1x8c8-minmax-fp32-avx2.c
5100  src/qc8-igemm/gen/3x8c8-minmax-fp32-avx2.c
5101  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c
5102  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c
5103  src/qs8-f32-vcvt/gen/vcvt-avx2-x16.c
5104  src/qs8-gemm/gen/1x8c8-minmax-fp32-avx2.c
5105  src/qs8-gemm/gen/3x8c8-minmax-fp32-avx2.c
5106  src/qs8-igemm/gen/1x8c8-minmax-fp32-avx2.c
5107  src/qs8-igemm/gen/3x8c8-minmax-fp32-avx2.c
5108  src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x16.c
5109  src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c
5110  src/qu8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c
5111  src/qu8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c
5112  src/qu8-f32-vcvt/gen/vcvt-avx2-x16.c
5113  src/qu8-gemm/gen/1x8c8-minmax-fp32-avx2.c
5114  src/qu8-gemm/gen/3x8c8-minmax-fp32-avx2.c
5115  src/qu8-igemm/gen/1x8c8-minmax-fp32-avx2.c
5116  src/qu8-igemm/gen/3x8c8-minmax-fp32-avx2.c
5117  src/qu8-vadd/gen/minmax-avx2-mul32-ld64-x16.c
5118  src/qu8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c
5119  src/x8-lut/gen/lut-avx2-x128.c)
5120
5121SET(ALL_AVX2_MICROKERNEL_SRCS
5122  src/f16-gemm/gen/1x8-minmax-avx2-broadcast.c
5123  src/f16-gemm/gen/1x16-minmax-avx2-broadcast.c
5124  src/f16-gemm/gen/3x16-minmax-avx2-broadcast.c
5125  src/f16-gemm/gen/4x8-minmax-avx2-broadcast.c
5126  src/f16-gemm/gen/4x16-minmax-avx2-broadcast.c
5127  src/f16-gemm/gen/5x8-minmax-avx2-broadcast.c
5128  src/f16-gemm/gen/5x16-minmax-avx2-broadcast.c
5129  src/f16-gemm/gen/6x8-minmax-avx2-broadcast.c
5130  src/f16-gemm/gen/7x8-minmax-avx2-broadcast.c
5131  src/f16-igemm/gen/1x8-minmax-avx2-broadcast.c
5132  src/f16-igemm/gen/1x16-minmax-avx2-broadcast.c
5133  src/f16-igemm/gen/3x16-minmax-avx2-broadcast.c
5134  src/f16-igemm/gen/4x8-minmax-avx2-broadcast.c
5135  src/f16-igemm/gen/4x16-minmax-avx2-broadcast.c
5136  src/f16-igemm/gen/5x8-minmax-avx2-broadcast.c
5137  src/f16-igemm/gen/5x16-minmax-avx2-broadcast.c
5138  src/f16-igemm/gen/6x8-minmax-avx2-broadcast.c
5139  src/f16-igemm/gen/7x8-minmax-avx2-broadcast.c
5140  src/f32-qs8-vcvt/gen/vcvt-avx2-x16.c
5141  src/f32-qs8-vcvt/gen/vcvt-avx2-x32.c
5142  src/f32-qs8-vcvt/gen/vcvt-avx2-x48.c
5143  src/f32-qs8-vcvt/gen/vcvt-avx2-x64.c
5144  src/f32-qu8-vcvt/gen/vcvt-avx2-x16.c
5145  src/f32-qu8-vcvt/gen/vcvt-avx2-x32.c
5146  src/f32-qu8-vcvt/gen/vcvt-avx2-x48.c
5147  src/f32-qu8-vcvt/gen/vcvt-avx2-x64.c
5148  src/f32-raddexpminusmax/gen/avx2-p5-x64-acc2.c
5149  src/f32-raddexpminusmax/gen/avx2-p5-x64-acc4.c
5150  src/f32-raddexpminusmax/gen/avx2-p5-x64.c
5151  src/f32-raddexpminusmax/gen/avx2-p5-x72-acc3.c
5152  src/f32-raddexpminusmax/gen/avx2-p5-x72.c
5153  src/f32-raddexpminusmax/gen/avx2-p5-x80-acc2.c
5154  src/f32-raddexpminusmax/gen/avx2-p5-x80-acc5.c
5155  src/f32-raddexpminusmax/gen/avx2-p5-x80.c
5156  src/f32-raddexpminusmax/gen/avx2-p5-x96-acc2.c
5157  src/f32-raddexpminusmax/gen/avx2-p5-x96-acc3.c
5158  src/f32-raddexpminusmax/gen/avx2-p5-x96-acc6.c
5159  src/f32-raddexpminusmax/gen/avx2-p5-x96.c
5160  src/f32-raddextexp/gen/avx2-p5-x64-acc2.c
5161  src/f32-raddextexp/gen/avx2-p5-x64-acc4.c
5162  src/f32-raddextexp/gen/avx2-p5-x64.c
5163  src/f32-raddextexp/gen/avx2-p5-x72-acc3.c
5164  src/f32-raddextexp/gen/avx2-p5-x72.c
5165  src/f32-raddextexp/gen/avx2-p5-x80-acc2.c
5166  src/f32-raddextexp/gen/avx2-p5-x80-acc5.c
5167  src/f32-raddextexp/gen/avx2-p5-x80.c
5168  src/f32-raddextexp/gen/avx2-p5-x96-acc2.c
5169  src/f32-raddextexp/gen/avx2-p5-x96-acc3.c
5170  src/f32-raddextexp/gen/avx2-p5-x96-acc6.c
5171  src/f32-raddextexp/gen/avx2-p5-x96.c
5172  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x64-acc2.c
5173  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x64-acc4.c
5174  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x64.c
5175  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x72-acc3.c
5176  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x72.c
5177  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x80-acc2.c
5178  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x80-acc5.c
5179  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x80.c
5180  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x96-acc2.c
5181  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x96-acc3.c
5182  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x96-acc6.c
5183  src/f32-raddstoreexpminusmax/gen/avx2-rr1-p5-x96.c
5184  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x8.c
5185  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x16.c
5186  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x24.c
5187  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x32.c
5188  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x40.c
5189  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x48.c
5190  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x56.c
5191  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x64.c
5192  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x72.c
5193  src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x80.c
5194  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x8.c
5195  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x16.c
5196  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x24.c
5197  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x32.c
5198  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x40.c
5199  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x48.c
5200  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x56.c
5201  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x64.c
5202  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x72.c
5203  src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x80.c
5204  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x8.c
5205  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x16.c
5206  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x24.c
5207  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x32.c
5208  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x40.c
5209  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x48.c
5210  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x56.c
5211  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x64.c
5212  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x72.c
5213  src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x80.c
5214  src/f32-velu/gen/velu-avx2-rr1-p6-x8.c
5215  src/f32-velu/gen/velu-avx2-rr1-p6-x16.c
5216  src/f32-velu/gen/velu-avx2-rr1-p6-x24.c
5217  src/f32-velu/gen/velu-avx2-rr1-p6-x32.c
5218  src/f32-velu/gen/velu-avx2-rr1-p6-x40.c
5219  src/f32-velu/gen/velu-avx2-rr1-p6-x48.c
5220  src/f32-velu/gen/velu-avx2-rr1-p6-x56.c
5221  src/f32-velu/gen/velu-avx2-rr1-p6-x64.c
5222  src/f32-velu/gen/velu-avx2-rr1-p6-x72.c
5223  src/f32-velu/gen/velu-avx2-rr1-p6-x80.c
5224  src/f32-vrelu/gen/vrelu-avx-x8.c
5225  src/f32-vrelu/gen/vrelu-avx-x16.c
5226  src/f32-vscaleexpminusmax/gen/avx2-p5-x8.c
5227  src/f32-vscaleexpminusmax/gen/avx2-p5-x16.c
5228  src/f32-vscaleexpminusmax/gen/avx2-p5-x24.c
5229  src/f32-vscaleexpminusmax/gen/avx2-p5-x32.c
5230  src/f32-vscaleexpminusmax/gen/avx2-p5-x40.c
5231  src/f32-vscaleexpminusmax/gen/avx2-p5-x48.c
5232  src/f32-vscaleexpminusmax/gen/avx2-p5-x56.c
5233  src/f32-vscaleexpminusmax/gen/avx2-p5-x64.c
5234  src/f32-vscaleexpminusmax/gen/avx2-p5-x72.c
5235  src/f32-vscaleexpminusmax/gen/avx2-p5-x80.c
5236  src/f32-vscaleexpminusmax/gen/avx2-p5-x88.c
5237  src/f32-vscaleexpminusmax/gen/avx2-p5-x96.c
5238  src/f32-vscaleextexp/gen/avx2-p5-x8.c
5239  src/f32-vscaleextexp/gen/avx2-p5-x16.c
5240  src/f32-vscaleextexp/gen/avx2-p5-x24.c
5241  src/f32-vscaleextexp/gen/avx2-p5-x32.c
5242  src/f32-vscaleextexp/gen/avx2-p5-x40.c
5243  src/f32-vscaleextexp/gen/avx2-p5-x48.c
5244  src/f32-vscaleextexp/gen/avx2-p5-x56.c
5245  src/f32-vscaleextexp/gen/avx2-p5-x64.c
5246  src/f32-vscaleextexp/gen/avx2-p5-x72.c
5247  src/f32-vscaleextexp/gen/avx2-p5-x80.c
5248  src/f32-vscaleextexp/gen/avx2-p5-x88.c
5249  src/f32-vscaleextexp/gen/avx2-p5-x96.c
5250  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x8.c
5251  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x16.c
5252  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x24.c
5253  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x32.c
5254  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x40.c
5255  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x48.c
5256  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x56.c
5257  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x64.c
5258  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x72.c
5259  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-div-x80.c
5260  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x8.c
5261  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x16.c
5262  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x24.c
5263  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x32.c
5264  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x40.c
5265  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x48.c
5266  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x56.c
5267  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x64.c
5268  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x72.c
5269  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr1fma-x80.c
5270  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x8.c
5271  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x16.c
5272  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x24.c
5273  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x32.c
5274  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x40.c
5275  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x48.c
5276  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x56.c
5277  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x64.c
5278  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x72.c
5279  src/f32-vsigmoid/gen/vsigmoid-avx2-rr1-p5-nr2fma-x80.c
5280  src/math/exp-avx2-rr2-lut8-p3-perm.c
5281  src/math/exp-avx2-rr2-lut8-p4-perm.c
5282  src/math/exp-avx2-rr2-p5.c
5283  src/math/expm1minus-avx2-rr1-lut4-p4-perm.c
5284  src/math/expm1minus-avx2-rr1-lut8-p4-perm.c
5285  src/math/expm1minus-avx2-rr1-lut16-p3-gather.c
5286  src/math/expm1minus-avx2-rr1-p6.c
5287  src/math/expminus-avx2-rr1-p5.c
5288  src/math/expminus-avx2-rr2-p5.c
5289  src/math/extexp-avx2-p5.c
5290  src/math/sigmoid-avx2-rr1-lut64-p2-gather-div.c
5291  src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr1fma.c
5292  src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma.c
5293  src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma1adj.c
5294  src/math/sigmoid-avx2-rr1-p5-div.c
5295  src/math/sigmoid-avx2-rr1-p5-nr1fma.c
5296  src/math/sigmoid-avx2-rr1-p5-nr2fma.c
5297  src/math/sigmoid-avx2-rr2-lut64-p2-gather-div.c
5298  src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr1fma.c
5299  src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma.c
5300  src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma1adj.c
5301  src/math/sigmoid-avx2-rr2-p5-div.c
5302  src/math/sigmoid-avx2-rr2-p5-nr1fma.c
5303  src/math/sigmoid-avx2-rr2-p5-nr2fma.c
5304  src/qc8-dwconv/gen/up8x9-minmax-fp32-avx2-mul32.c
5305  src/qc8-dwconv/gen/up8x25-minmax-fp32-avx2-mul32.c
5306  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-add16-vpunpck.c
5307  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpmovsx.c
5308  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpunpck.c
5309  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c
5310  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-add16-vpunpck.c
5311  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpmovsx.c
5312  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpunpck.c
5313  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c
5314  src/qc8-dwconv/gen/up24x9-minmax-fp32-avx2-mul32.c
5315  src/qc8-dwconv/gen/up24x25-minmax-fp32-avx2-mul32.c
5316  src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-add16-vpunpck.c
5317  src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpmovsx.c
5318  src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpunpck.c
5319  src/qc8-dwconv/gen/up32x9-minmax-fp32-avx2-mul32.c
5320  src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-add16-vpunpck.c
5321  src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpmovsx.c
5322  src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpunpck.c
5323  src/qc8-dwconv/gen/up32x25-minmax-fp32-avx2-mul32.c
5324  src/qc8-gemm/gen/1x8c8-minmax-fp32-avx2.c
5325  src/qc8-gemm/gen/1x8c8-xw-minmax-fp32-avx2.c
5326  src/qc8-gemm/gen/2x8c8-minmax-fp32-avx2.c
5327  src/qc8-gemm/gen/2x8c8-xw-minmax-fp32-avx2.c
5328  src/qc8-gemm/gen/3x8c8-minmax-fp32-avx2.c
5329  src/qc8-gemm/gen/3x8c8-xw-minmax-fp32-avx2.c
5330  src/qc8-igemm/gen/1x8c8-minmax-fp32-avx2.c
5331  src/qc8-igemm/gen/2x8c8-minmax-fp32-avx2.c
5332  src/qc8-igemm/gen/3x8c8-minmax-fp32-avx2.c
5333  src/qs8-dwconv/gen/up8x9-minmax-fp32-avx2-mul32.c
5334  src/qs8-dwconv/gen/up8x25-minmax-fp32-avx2-mul32.c
5335  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-add16-vpunpck.c
5336  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpmovsx.c
5337  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul16-vpunpck.c
5338  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c
5339  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-add16-vpunpck.c
5340  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpmovsx.c
5341  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul16-vpunpck.c
5342  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c
5343  src/qs8-dwconv/gen/up24x9-minmax-fp32-avx2-mul32.c
5344  src/qs8-dwconv/gen/up24x25-minmax-fp32-avx2-mul32.c
5345  src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-add16-vpunpck.c
5346  src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpmovsx.c
5347  src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul16-vpunpck.c
5348  src/qs8-dwconv/gen/up32x9-minmax-fp32-avx2-mul32.c
5349  src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-add16-vpunpck.c
5350  src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpmovsx.c
5351  src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul16-vpunpck.c
5352  src/qs8-dwconv/gen/up32x25-minmax-fp32-avx2-mul32.c
5353  src/qs8-f32-vcvt/gen/vcvt-avx2-x8.c
5354  src/qs8-f32-vcvt/gen/vcvt-avx2-x16.c
5355  src/qs8-f32-vcvt/gen/vcvt-avx2-x24.c
5356  src/qs8-f32-vcvt/gen/vcvt-avx2-x32.c
5357  src/qs8-gemm/gen/1x8c8-minmax-fp32-avx2.c
5358  src/qs8-gemm/gen/1x8c8-xw-minmax-fp32-avx2.c
5359  src/qs8-gemm/gen/2x8c8-minmax-fp32-avx2.c
5360  src/qs8-gemm/gen/2x8c8-xw-minmax-fp32-avx2.c
5361  src/qs8-gemm/gen/3x8c8-minmax-fp32-avx2.c
5362  src/qs8-gemm/gen/3x8c8-xw-minmax-fp32-avx2.c
5363  src/qs8-igemm/gen/1x8c8-minmax-fp32-avx2.c
5364  src/qs8-igemm/gen/2x8c8-minmax-fp32-avx2.c
5365  src/qs8-igemm/gen/3x8c8-minmax-fp32-avx2.c
5366  src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x8.c
5367  src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x16.c
5368  src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x24.c
5369  src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x32.c
5370  src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x8.c
5371  src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c
5372  src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x24.c
5373  src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x32.c
5374  src/qu8-dwconv/gen/up8x9-minmax-fp32-avx2-mul32.c
5375  src/qu8-dwconv/gen/up8x25-minmax-fp32-avx2-mul32.c
5376  src/qu8-dwconv/gen/up16x9-minmax-fp32-avx2-mul32.c
5377  src/qu8-dwconv/gen/up16x25-minmax-fp32-avx2-mul32.c
5378  src/qu8-dwconv/gen/up32x9-minmax-fp32-avx2-mul32.c
5379  src/qu8-dwconv/gen/up32x25-minmax-fp32-avx2-mul32.c
5380  src/qu8-f32-vcvt/gen/vcvt-avx2-x8.c
5381  src/qu8-f32-vcvt/gen/vcvt-avx2-x16.c
5382  src/qu8-f32-vcvt/gen/vcvt-avx2-x24.c
5383  src/qu8-f32-vcvt/gen/vcvt-avx2-x32.c
5384  src/qu8-gemm/gen/1x8c8-minmax-fp32-avx2.c
5385  src/qu8-gemm/gen/2x8c8-minmax-fp32-avx2.c
5386  src/qu8-gemm/gen/3x8c8-minmax-fp32-avx2.c
5387  src/qu8-igemm/gen/1x8c8-minmax-fp32-avx2.c
5388  src/qu8-igemm/gen/2x8c8-minmax-fp32-avx2.c
5389  src/qu8-igemm/gen/3x8c8-minmax-fp32-avx2.c
5390  src/qu8-vadd/gen/minmax-avx2-mul32-ld64-x8.c
5391  src/qu8-vadd/gen/minmax-avx2-mul32-ld64-x16.c
5392  src/qu8-vaddc/gen/minmax-avx2-mul32-ld64-x8.c
5393  src/qu8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c
5394  src/x8-lut/gen/lut-avx2-x32.c
5395  src/x8-lut/gen/lut-avx2-x64.c
5396  src/x8-lut/gen/lut-avx2-x96.c
5397  src/x8-lut/gen/lut-avx2-x128.c)
5398
5399SET(PROD_AVX512F_MICROKERNEL_SRCS
5400  src/f32-dwconv/gen/up16x3-minmax-avx512f.c
5401  src/f32-dwconv/gen/up16x4-minmax-avx512f.c
5402  src/f32-dwconv/gen/up16x9-minmax-avx512f.c
5403  src/f32-dwconv/gen/up16x25-minmax-avx512f.c
5404  src/f32-gemm/gen/1x16-minmax-avx512f-broadcast.c
5405  src/f32-gemm/gen/7x16-minmax-avx512f-broadcast.c
5406  src/f32-igemm/gen/1x16-minmax-avx512f-broadcast.c
5407  src/f32-igemm/gen/7x16-minmax-avx512f-broadcast.c
5408  src/f32-prelu/gen/avx512f-2x16.c
5409  src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c
5410  src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c
5411  src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c
5412  src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c
5413  src/f32-vbinary/gen/vmax-avx512f-x32.c
5414  src/f32-vbinary/gen/vmaxc-avx512f-x32.c
5415  src/f32-vbinary/gen/vmin-avx512f-x32.c
5416  src/f32-vbinary/gen/vminc-avx512f-x32.c
5417  src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c
5418  src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c
5419  src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c
5420  src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c
5421  src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c
5422  src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c
5423  src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c
5424  src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c
5425  src/f32-vclamp/gen/vclamp-avx512f-x16.c
5426  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x64.c
5427  src/f32-vhswish/gen/vhswish-avx512f-x16.c
5428  src/f32-vlrelu/gen/vlrelu-avx512f-x16.c
5429  src/f32-vrnd/gen/vrndd-avx512f-x16.c
5430  src/f32-vrnd/gen/vrndne-avx512f-x16.c
5431  src/f32-vrnd/gen/vrndu-avx512f-x16.c
5432  src/f32-vrnd/gen/vrndz-avx512f-x16.c
5433  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x64.c
5434  src/f32-vunary/gen/vabs-avx512f-x16.c
5435  src/f32-vunary/gen/vneg-avx512f-x16.c
5436  src/f32-vunary/gen/vsqr-avx512f-x16.c)
5437
5438SET(ALL_AVX512F_MICROKERNEL_SRCS
5439  src/f32-dwconv/gen/up16x3-minmax-avx512f-acc2.c
5440  src/f32-dwconv/gen/up16x3-minmax-avx512f.c
5441  src/f32-dwconv/gen/up16x4-minmax-avx512f-acc2.c
5442  src/f32-dwconv/gen/up16x4-minmax-avx512f.c
5443  src/f32-dwconv/gen/up16x9-minmax-avx512f-acc2.c
5444  src/f32-dwconv/gen/up16x9-minmax-avx512f.c
5445  src/f32-dwconv/gen/up16x25-minmax-avx512f-acc2.c
5446  src/f32-dwconv/gen/up16x25-minmax-avx512f.c
5447  src/f32-dwconv/gen/up32x3-minmax-avx512f-acc2.c
5448  src/f32-dwconv/gen/up32x3-minmax-avx512f.c
5449  src/f32-dwconv/gen/up32x4-minmax-avx512f-acc2.c
5450  src/f32-dwconv/gen/up32x4-minmax-avx512f.c
5451  src/f32-dwconv/gen/up32x9-minmax-avx512f-acc2.c
5452  src/f32-dwconv/gen/up32x9-minmax-avx512f.c
5453  src/f32-dwconv/gen/up32x25-minmax-avx512f-acc2.c
5454  src/f32-dwconv/gen/up32x25-minmax-avx512f.c
5455  src/f32-gemm/gen-inc/1x16inc-minmax-avx512f-broadcast.c
5456  src/f32-gemm/gen-inc/4x16inc-minmax-avx512f-broadcast.c
5457  src/f32-gemm/gen-inc/5x16inc-minmax-avx512f-broadcast.c
5458  src/f32-gemm/gen-inc/6x16inc-minmax-avx512f-broadcast.c
5459  src/f32-gemm/gen-inc/7x16inc-minmax-avx512f-broadcast.c
5460  src/f32-gemm/gen-inc/8x16inc-minmax-avx512f-broadcast.c
5461  src/f32-gemm/gen/1x16-minmax-avx512f-broadcast.c
5462  src/f32-gemm/gen/4x16-minmax-avx512f-broadcast.c
5463  src/f32-gemm/gen/5x16-minmax-avx512f-broadcast.c
5464  src/f32-gemm/gen/6x16-minmax-avx512f-broadcast.c
5465  src/f32-gemm/gen/7x16-minmax-avx512f-broadcast.c
5466  src/f32-gemm/gen/8x16-minmax-avx512f-broadcast.c
5467  src/f32-igemm/gen/1x16-minmax-avx512f-broadcast.c
5468  src/f32-igemm/gen/4x16-minmax-avx512f-broadcast.c
5469  src/f32-igemm/gen/5x16-minmax-avx512f-broadcast.c
5470  src/f32-igemm/gen/6x16-minmax-avx512f-broadcast.c
5471  src/f32-igemm/gen/7x16-minmax-avx512f-broadcast.c
5472  src/f32-igemm/gen/8x16-minmax-avx512f-broadcast.c
5473  src/f32-prelu/gen/avx512f-2x16.c
5474  src/f32-prelu/gen/avx512f-2x32.c
5475  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c
5476  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c
5477  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128.c
5478  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c
5479  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144.c
5480  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c
5481  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c
5482  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160.c
5483  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c
5484  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c
5485  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c
5486  src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192.c
5487  src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc2.c
5488  src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc4.c
5489  src/f32-raddextexp/gen/avx512f-p5-scalef-x128.c
5490  src/f32-raddextexp/gen/avx512f-p5-scalef-x144-acc3.c
5491  src/f32-raddextexp/gen/avx512f-p5-scalef-x144.c
5492  src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc2.c
5493  src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc5.c
5494  src/f32-raddextexp/gen/avx512f-p5-scalef-x160.c
5495  src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc2.c
5496  src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc3.c
5497  src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc6.c
5498  src/f32-raddextexp/gen/avx512f-p5-scalef-x192.c
5499  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x128-acc2.c
5500  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x128-acc4.c
5501  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x128.c
5502  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x144-acc3.c
5503  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x144.c
5504  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x160-acc2.c
5505  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x160-acc5.c
5506  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x160.c
5507  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x192-acc2.c
5508  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x192-acc3.c
5509  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x192-acc6.c
5510  src/f32-raddstoreexpminusmax/gen/avx512f-rr1-p5-scalef-x192.c
5511  src/f32-rmax/avx512f.c
5512  src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c
5513  src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c
5514  src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c
5515  src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c
5516  src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c
5517  src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c
5518  src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c
5519  src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c
5520  src/f32-vbinary/gen/vmax-avx512f-x16.c
5521  src/f32-vbinary/gen/vmax-avx512f-x32.c
5522  src/f32-vbinary/gen/vmaxc-avx512f-x16.c
5523  src/f32-vbinary/gen/vmaxc-avx512f-x32.c
5524  src/f32-vbinary/gen/vmin-avx512f-x16.c
5525  src/f32-vbinary/gen/vmin-avx512f-x32.c
5526  src/f32-vbinary/gen/vminc-avx512f-x16.c
5527  src/f32-vbinary/gen/vminc-avx512f-x32.c
5528  src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c
5529  src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c
5530  src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c
5531  src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c
5532  src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c
5533  src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c
5534  src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c
5535  src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c
5536  src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c
5537  src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c
5538  src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c
5539  src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c
5540  src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c
5541  src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c
5542  src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c
5543  src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c
5544  src/f32-vclamp/gen/vclamp-avx512f-x16.c
5545  src/f32-vclamp/gen/vclamp-avx512f-x32.c
5546  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x16.c
5547  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x32.c
5548  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x48.c
5549  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x64.c
5550  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x80.c
5551  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x96.c
5552  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x112.c
5553  src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x128.c
5554  src/f32-velu/gen/velu-avx512f-rr1-p6-x16.c
5555  src/f32-velu/gen/velu-avx512f-rr1-p6-x32.c
5556  src/f32-velu/gen/velu-avx512f-rr1-p6-x48.c
5557  src/f32-velu/gen/velu-avx512f-rr1-p6-x64.c
5558  src/f32-velu/gen/velu-avx512f-rr1-p6-x80.c
5559  src/f32-velu/gen/velu-avx512f-rr1-p6-x96.c
5560  src/f32-velu/gen/velu-avx512f-rr1-p6-x112.c
5561  src/f32-velu/gen/velu-avx512f-rr1-p6-x128.c
5562  src/f32-vhswish/gen/vhswish-avx512f-x16.c
5563  src/f32-vhswish/gen/vhswish-avx512f-x32.c
5564  src/f32-vlrelu/gen/vlrelu-avx512f-x16.c
5565  src/f32-vlrelu/gen/vlrelu-avx512f-x32.c
5566  src/f32-vrelu/gen/vrelu-avx512f-x16.c
5567  src/f32-vrelu/gen/vrelu-avx512f-x32.c
5568  src/f32-vrnd/gen/vrndd-avx512f-x16.c
5569  src/f32-vrnd/gen/vrndd-avx512f-x32.c
5570  src/f32-vrnd/gen/vrndne-avx512f-x16.c
5571  src/f32-vrnd/gen/vrndne-avx512f-x32.c
5572  src/f32-vrnd/gen/vrndu-avx512f-x16.c
5573  src/f32-vrnd/gen/vrndu-avx512f-x32.c
5574  src/f32-vrnd/gen/vrndz-avx512f-x16.c
5575  src/f32-vrnd/gen/vrndz-avx512f-x32.c
5576  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x16.c
5577  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x32.c
5578  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x48.c
5579  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x64.c
5580  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x80.c
5581  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x96.c
5582  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x112.c
5583  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x128.c
5584  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x144.c
5585  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x160.c
5586  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x176.c
5587  src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x192.c
5588  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x16.c
5589  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x32.c
5590  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x48.c
5591  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x64.c
5592  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x80.c
5593  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x96.c
5594  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x112.c
5595  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x128.c
5596  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x144.c
5597  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x160.c
5598  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x176.c
5599  src/f32-vscaleextexp/gen/avx512f-p5-scalef-x192.c
5600  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x16.c
5601  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x32.c
5602  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x48.c
5603  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x64.c
5604  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x80.c
5605  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x96.c
5606  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x112.c
5607  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-div-x128.c
5608  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x16.c
5609  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x32.c
5610  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x48.c
5611  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x64.c
5612  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x80.c
5613  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x96.c
5614  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x112.c
5615  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x128.c
5616  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x16.c
5617  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x32.c
5618  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x48.c
5619  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x64.c
5620  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x80.c
5621  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x96.c
5622  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x112.c
5623  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-div-x128.c
5624  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x16.c
5625  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x32.c
5626  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x48.c
5627  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x64.c
5628  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x80.c
5629  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x96.c
5630  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x112.c
5631  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr1-p5-scalef-nr1fma-x128.c
5632  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x16.c
5633  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x32.c
5634  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x48.c
5635  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x64.c
5636  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x80.c
5637  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x96.c
5638  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x112.c
5639  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-x128.c
5640  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x16.c
5641  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x32.c
5642  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x48.c
5643  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x64.c
5644  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x80.c
5645  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x96.c
5646  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x112.c
5647  src/f32-vsigmoid/gen/vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x128.c
5648  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x16.c
5649  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x32.c
5650  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x48.c
5651  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x64.c
5652  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x80.c
5653  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x96.c
5654  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x112.c
5655  src/f32-vsqrt/gen/avx512f-nr1fma1adj-x128.c
5656  src/f32-vunary/gen/vabs-avx512f-x16.c
5657  src/f32-vunary/gen/vabs-avx512f-x32.c
5658  src/f32-vunary/gen/vneg-avx512f-x16.c
5659  src/f32-vunary/gen/vneg-avx512f-x32.c
5660  src/f32-vunary/gen/vsqr-avx512f-x16.c
5661  src/f32-vunary/gen/vsqr-avx512f-x32.c
5662  src/math/exp-avx512f-rr2-lut16-p3-perm-scalef.c
5663  src/math/exp-avx512f-rr2-lut16-p3-perm.c
5664  src/math/exp-avx512f-rr2-lut32-p2-perm2-scalef.c
5665  src/math/exp-avx512f-rr2-lut32-p2-perm2.c
5666  src/math/exp-avx512f-rr2-p5-scalef.c
5667  src/math/exp-avx512f-rr2-p5.c
5668  src/math/expm1minus-avx512f-rr1-lut16-p3-perm.c
5669  src/math/expm1minus-avx512f-rr1-p6.c
5670  src/math/extexp-avx512f-p5.c
5671  src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-div.c
5672  src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma.c
5673  src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma1adj.c
5674  src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-div.c
5675  src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma.c
5676  src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma1adj.c
5677  src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-div.c
5678  src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma.c
5679  src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma1adj.c
5680  src/math/sigmoid-avx512f-rr1-p5-scalef-div.c
5681  src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma.c
5682  src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma1adj.c
5683  src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-div.c
5684  src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma.c
5685  src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma1adj.c
5686  src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div.c
5687  src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma.c
5688  src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma1adj.c
5689  src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-div.c
5690  src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma.c
5691  src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma1adj.c
5692  src/math/sigmoid-avx512f-rr2-p5-scalef-div.c
5693  src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma.c
5694  src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma1adj.c
5695  src/math/sqrt-avx512f-nr1fma.c
5696  src/math/sqrt-avx512f-nr1fma1adj.c
5697  src/math/sqrt-avx512f-nr2fma.c)
5698
5699SET(PROD_AVX512SKX_MICROKERNEL_SRCS
5700  src/f16-f32-vcvt/gen/vcvt-avx512skx-x16.c
5701  src/f32-f16-vcvt/gen/vcvt-avx512skx-x16.c
5702  src/f32-qs8-vcvt/gen/vcvt-avx512skx-x128.c
5703  src/f32-qu8-vcvt/gen/vcvt-avx512skx-x128.c
5704  src/qc8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c
5705  src/qc8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c
5706  src/qc8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c
5707  src/qc8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c
5708  src/qc8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c
5709  src/qc8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c
5710  src/qs8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c
5711  src/qs8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c
5712  src/qs8-f32-vcvt/gen/vcvt-avx512skx-x32.c
5713  src/qs8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c
5714  src/qs8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c
5715  src/qs8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c
5716  src/qs8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c
5717  src/qs8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c
5718  src/qs8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c
5719  src/qu8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c
5720  src/qu8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c
5721  src/qu8-f32-vcvt/gen/vcvt-avx512skx-x32.c
5722  src/qu8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c
5723  src/qu8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c
5724  src/qu8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c
5725  src/qu8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c
5726  src/qu8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c
5727  src/qu8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c
5728  src/x8-lut/gen/lut-avx512skx-vpshufb-x64.c)
5729
5730SET(ALL_AVX512SKX_MICROKERNEL_SRCS
5731  src/f16-f32-vcvt/gen/vcvt-avx512skx-x16.c
5732  src/f16-f32-vcvt/gen/vcvt-avx512skx-x32.c
5733  src/f32-f16-vcvt/gen/vcvt-avx512skx-x16.c
5734  src/f32-f16-vcvt/gen/vcvt-avx512skx-x32.c
5735  src/f32-qs8-vcvt/gen/vcvt-avx512skx-x32.c
5736  src/f32-qs8-vcvt/gen/vcvt-avx512skx-x64.c
5737  src/f32-qs8-vcvt/gen/vcvt-avx512skx-x96.c
5738  src/f32-qs8-vcvt/gen/vcvt-avx512skx-x128.c
5739  src/f32-qu8-vcvt/gen/vcvt-avx512skx-x32.c
5740  src/f32-qu8-vcvt/gen/vcvt-avx512skx-x64.c
5741  src/f32-qu8-vcvt/gen/vcvt-avx512skx-x96.c
5742  src/f32-qu8-vcvt/gen/vcvt-avx512skx-x128.c
5743  src/qc8-dwconv/gen/up16x9-minmax-fp32-avx512skx-mul32.c
5744  src/qc8-dwconv/gen/up16x25-minmax-fp32-avx512skx-mul32.c
5745  src/qc8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c
5746  src/qc8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c
5747  src/qc8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c
5748  src/qc8-gemm/gen/2x16c8-minmax-fp32-avx512skx.c
5749  src/qc8-gemm/gen/3x16c8-minmax-fp32-avx512skx.c
5750  src/qc8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c
5751  src/qc8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c
5752  src/qc8-igemm/gen/2x16c8-minmax-fp32-avx512skx.c
5753  src/qc8-igemm/gen/3x16c8-minmax-fp32-avx512skx.c
5754  src/qc8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c
5755  src/qs8-dwconv/gen/up16x9-minmax-fp32-avx512skx-mul32.c
5756  src/qs8-dwconv/gen/up16x25-minmax-fp32-avx512skx-mul32.c
5757  src/qs8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c
5758  src/qs8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c
5759  src/qs8-f32-vcvt/gen/vcvt-avx512skx-x16.c
5760  src/qs8-f32-vcvt/gen/vcvt-avx512skx-x32.c
5761  src/qs8-f32-vcvt/gen/vcvt-avx512skx-x48.c
5762  src/qs8-f32-vcvt/gen/vcvt-avx512skx-x64.c
5763  src/qs8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c
5764  src/qs8-gemm/gen/2x16c8-minmax-fp32-avx512skx.c
5765  src/qs8-gemm/gen/3x16c8-minmax-fp32-avx512skx.c
5766  src/qs8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c
5767  src/qs8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c
5768  src/qs8-igemm/gen/2x16c8-minmax-fp32-avx512skx.c
5769  src/qs8-igemm/gen/3x16c8-minmax-fp32-avx512skx.c
5770  src/qs8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c
5771  src/qs8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c
5772  src/qs8-vadd/gen/minmax-avx512skx-mul32-ld128-x32.c
5773  src/qs8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c
5774  src/qs8-vaddc/gen/minmax-avx512skx-mul32-ld128-x32.c
5775  src/qu8-dwconv/gen/up16x9-minmax-fp32-avx512skx-mul32.c
5776  src/qu8-dwconv/gen/up16x25-minmax-fp32-avx512skx-mul32.c
5777  src/qu8-dwconv/gen/up32x9-minmax-fp32-avx512skx-mul32.c
5778  src/qu8-dwconv/gen/up32x25-minmax-fp32-avx512skx-mul32.c
5779  src/qu8-f32-vcvt/gen/vcvt-avx512skx-x16.c
5780  src/qu8-f32-vcvt/gen/vcvt-avx512skx-x32.c
5781  src/qu8-f32-vcvt/gen/vcvt-avx512skx-x48.c
5782  src/qu8-f32-vcvt/gen/vcvt-avx512skx-x64.c
5783  src/qu8-gemm/gen/1x16c8-minmax-fp32-avx512skx.c
5784  src/qu8-gemm/gen/2x16c8-minmax-fp32-avx512skx.c
5785  src/qu8-gemm/gen/3x16c8-minmax-fp32-avx512skx.c
5786  src/qu8-gemm/gen/4x16c8-minmax-fp32-avx512skx.c
5787  src/qu8-igemm/gen/1x16c8-minmax-fp32-avx512skx.c
5788  src/qu8-igemm/gen/2x16c8-minmax-fp32-avx512skx.c
5789  src/qu8-igemm/gen/3x16c8-minmax-fp32-avx512skx.c
5790  src/qu8-igemm/gen/4x16c8-minmax-fp32-avx512skx.c
5791  src/qu8-vadd/gen/minmax-avx512skx-mul32-ld128-x16.c
5792  src/qu8-vadd/gen/minmax-avx512skx-mul32-ld128-x32.c
5793  src/qu8-vaddc/gen/minmax-avx512skx-mul32-ld128-x16.c
5794  src/qu8-vaddc/gen/minmax-avx512skx-mul32-ld128-x32.c
5795  src/x8-lut/gen/lut-avx512skx-vpshufb-x64.c
5796  src/x8-lut/gen/lut-avx512skx-vpshufb-x128.c
5797  src/x8-lut/gen/lut-avx512skx-vpshufb-x192.c
5798  src/x8-lut/gen/lut-avx512skx-vpshufb-x256.c)
5799
5800SET(AARCH32_ASM_MICROKERNEL_SRCS
5801  src/f32-gemm/4x4-aarch32-vfp-ld64.S
5802  src/f32-gemm/4x4-minmax-aarch32-vfp-ld64.S
5803  src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a53.S
5804  src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a55.S
5805  src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S
5806  src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S
5807  src/f32-gemm/gen/4x8-minmax-aarch32-neon-ld64.S
5808  src/f32-gemm/gen/4x8-minmax-aarch32-neon-prfm-cortex-a75.S
5809  src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a53.S
5810  src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a55.S
5811  src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S
5812  src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S
5813  src/f32-igemm/gen/4x8-minmax-aarch32-neon-ld64.S
5814  src/f32-igemm/gen/4x8-minmax-aarch32-neon-prfm-cortex-a75.S
5815  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-cortex-a7.S
5816  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-cortex-a53.S
5817  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-ld64.S
5818  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-prfm-cortex-a7.S
5819  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-prfm-cortex-a53.S
5820  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-prfm-ld64.S
5821  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neonv8-mlal-lane-cortex-a53.S
5822  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neonv8-mlal-lane-ld64.S
5823  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neonv8-mlal-lane-prfm-cortex-a53.S
5824  src/qc8-gemm/gen/4x8-minmax-fp32-aarch32-neonv8-mlal-lane-prfm-ld64.S
5825  src/qc8-gemm/gen/4x8c4-minmax-fp32-aarch32-neondot-cortex-a55.S
5826  src/qc8-gemm/gen/4x8c4-minmax-fp32-aarch32-neondot-ld64.S
5827  src/qc8-igemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-ld64.S
5828  src/qc8-igemm/gen/4x8-minmax-fp32-aarch32-neon-mlal-lane-prfm-ld64.S
5829  src/qc8-igemm/gen/4x8-minmax-fp32-aarch32-neonv8-mlal-lane-ld64.S
5830  src/qc8-igemm/gen/4x8-minmax-fp32-aarch32-neonv8-mlal-lane-prfm-ld64.S
5831  src/qc8-igemm/gen/4x8c4-minmax-fp32-aarch32-neondot-cortex-a55.S
5832  src/qc8-igemm/gen/4x8c4-minmax-fp32-aarch32-neondot-ld64.S
5833  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-cortex-a7.S
5834  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-cortex-a53.S
5835  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-ld64.S
5836  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-cortex-a7.S
5837  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-cortex-a53.S
5838  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-ld64.S
5839  src/qs8-gemm/gen/4x8c4-minmax-rndnu-aarch32-neondot-cortex-a55.S
5840  src/qs8-gemm/gen/4x8c4-minmax-rndnu-aarch32-neondot-ld64.S
5841  src/qs8-igemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-ld64.S
5842  src/qs8-igemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-ld64.S
5843  src/qs8-igemm/gen/4x8c4-minmax-rndnu-aarch32-neondot-cortex-a55.S
5844  src/qs8-igemm/gen/4x8c4-minmax-rndnu-aarch32-neondot-ld64.S
5845  src/qu8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-cortex-a7.S
5846  src/qu8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-cortex-a53.S
5847  src/qu8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-ld64.S
5848  src/qu8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-cortex-a7.S
5849  src/qu8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-cortex-a53.S
5850  src/qu8-gemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-ld64.S
5851  src/qu8-igemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-ld64.S
5852  src/qu8-igemm/gen/4x8-minmax-rndnu-aarch32-neon-mlal-lane-prfm-ld64.S)
5853
5854SET(AARCH64_ASM_MICROKERNEL_SRCS
5855  src/f16-gemm/gen-inc/1x8inc-minmax-aarch64-neonfp16arith-ld64.S
5856  src/f16-gemm/gen-inc/1x16inc-minmax-aarch64-neonfp16arith-ld32.S
5857  src/f16-gemm/gen-inc/4x8inc-minmax-aarch64-neonfp16arith-ld64.S
5858  src/f16-gemm/gen-inc/4x16inc-minmax-aarch64-neonfp16arith-ld32.S
5859  src/f16-gemm/gen-inc/6x8inc-minmax-aarch64-neonfp16arith-ld64.S
5860  src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-cortex-a55.S
5861  src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-cortex-a75.S
5862  src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-ld32.S
5863  src/f16-gemm/gen-inc/8x8inc-minmax-aarch64-neonfp16arith-ld64.S
5864  src/f16-gemm/gen/1x8-minmax-aarch64-neonfp16arith-ld64.S
5865  src/f16-gemm/gen/1x16-minmax-aarch64-neonfp16arith-ld32.S
5866  src/f16-gemm/gen/4x8-minmax-aarch64-neonfp16arith-ld64.S
5867  src/f16-gemm/gen/4x16-minmax-aarch64-neonfp16arith-ld32.S
5868  src/f16-gemm/gen/6x8-minmax-aarch64-neonfp16arith-ld64.S
5869  src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-cortex-a55.S
5870  src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-cortex-a75.S
5871  src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-ld32.S
5872  src/f16-gemm/gen/8x8-minmax-aarch64-neonfp16arith-ld64.S
5873  src/f32-dwconv/up4x9-minmax-aarch64-neonfma-cortex-a55.S
5874  src/f32-dwconv/up4x9-minmax-aarch64-neonfma.S
5875  src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a53.S
5876  src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a75.S
5877  src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-ld64.S
5878  src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S
5879  src/f32-gemm/gen-inc/1x12inc-minmax-aarch64-neonfma-cortex-a53.S
5880  src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a53.S
5881  src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a55.S
5882  src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a75.S
5883  src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld64.S
5884  src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld128.S
5885  src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S
5886  src/f32-gemm/gen-inc/4x12inc-minmax-aarch64-neonfma-cortex-a53.S
5887  src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-cortex-a75.S
5888  src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S
5889  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a53.S
5890  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a55.S
5891  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a73.S
5892  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a75.S
5893  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld64.S
5894  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld128.S
5895  src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-prfm-cortex-a75.S
5896  src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a53.S
5897  src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S
5898  src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-ld64.S
5899  src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5900  src/f32-gemm/gen/1x12-minmax-aarch64-neonfma-cortex-a53.S
5901  src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a53.S
5902  src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a55.S
5903  src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S
5904  src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld64.S
5905  src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld128.S
5906  src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5907  src/f32-gemm/gen/4x12-minmax-aarch64-neonfma-cortex-a53.S
5908  src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S
5909  src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5910  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a53.S
5911  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a55.S
5912  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a73.S
5913  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S
5914  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld64.S
5915  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld128.S
5916  src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5917  src/f32-igemm/1x8-minmax-aarch64-neonfma-cortex-a53.S
5918  src/f32-igemm/1x12-minmax-aarch64-neonfma-cortex-a53.S
5919  src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a53.S
5920  src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a55.S
5921  src/f32-igemm/4x12-minmax-aarch64-neonfma-cortex-a53.S
5922  src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a53.S
5923  src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a55.S
5924  src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a73.S
5925  src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S
5926  src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5927  src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S
5928  src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-ld64.S
5929  src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-ld128.S
5930  src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5931  src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S
5932  src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5933  src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S
5934  src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-ld64.S
5935  src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-ld128.S
5936  src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-prfm-cortex-a75.S
5937  src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
5938  src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
5939  src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
5940  src/qc8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S
5941  src/qc8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld32.S
5942  src/qc8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld64.S
5943  src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
5944  src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
5945  src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
5946  src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S
5947  src/qc8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mull.S
5948  src/qc8-gemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S
5949  src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S
5950  src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S
5951  src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S
5952  src/qc8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S
5953  src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S
5954  src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld32.S
5955  src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S
5956  src/qc8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S
5957  src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
5958  src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
5959  src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
5960  src/qc8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S
5961  src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
5962  src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
5963  src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
5964  src/qc8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S
5965  src/qc8-igemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S
5966  src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S
5967  src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S
5968  src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S
5969  src/qc8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S
5970  src/qc8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S
5971  src/qc8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S
5972  src/qc8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S
5973  src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
5974  src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
5975  src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
5976  src/qs8-gemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S
5977  src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S
5978  src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S
5979  src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S
5980  src/qs8-gemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal.S
5981  src/qs8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld32.S
5982  src/qs8-gemm/gen/1x16c4-minmax-fp32-aarch64-neondot-ld64.S
5983  src/qs8-gemm/gen/1x16c4-minmax-rndnu-aarch64-neondot-ld32.S
5984  src/qs8-gemm/gen/1x16c4-minmax-rndnu-aarch64-neondot-ld64.S
5985  src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
5986  src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
5987  src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
5988  src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S
5989  src/qs8-gemm/gen/2x8c8-minmax-fp32-aarch64-neon-mull.S
5990  src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S
5991  src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S
5992  src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S
5993  src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal.S
5994  src/qs8-gemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mull.S
5995  src/qs8-gemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S
5996  src/qs8-gemm/gen/2x8c16-minmax-rndnu-aarch64-neon-mlal.S
5997  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S
5998  src/qs8-gemm/gen/4x8-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S
5999  src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S
6000  src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S
6001  src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S
6002  src/qs8-gemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S
6003  src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S
6004  src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S
6005  src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S
6006  src/qs8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S
6007  src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S
6008  src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld32.S
6009  src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S
6010  src/qs8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S
6011  src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S
6012  src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld32.S
6013  src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld64.S
6014  src/qs8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S
6015  src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
6016  src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
6017  src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
6018  src/qs8-igemm/gen/1x8c8-minmax-fp32-aarch64-neon-mlal.S
6019  src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S
6020  src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S
6021  src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S
6022  src/qs8-igemm/gen/1x8c8-minmax-rndnu-aarch64-neon-mlal.S
6023  src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-cortex-a53.S
6024  src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm-cortex-a53.S
6025  src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal-prfm.S
6026  src/qs8-igemm/gen/2x8c8-minmax-fp32-aarch64-neon-mlal.S
6027  src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-cortex-a53.S
6028  src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm-cortex-a53.S
6029  src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal-prfm.S
6030  src/qs8-igemm/gen/2x8c8-minmax-rndnu-aarch64-neon-mlal.S
6031  src/qs8-igemm/gen/2x8c16-minmax-fp32-aarch64-neon-mlal.S
6032  src/qs8-igemm/gen/2x8c16-minmax-rndnu-aarch64-neon-mlal.S
6033  src/qs8-igemm/gen/4x8-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S
6034  src/qs8-igemm/gen/4x8-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S
6035  src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-cortex-a53.S
6036  src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-ld64.S
6037  src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-cortex-a53.S
6038  src/qs8-igemm/gen/4x16-minmax-fp32-aarch64-neon-mlal-lane-prfm-ld64.S
6039  src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S
6040  src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S
6041  src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S
6042  src/qs8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S
6043  src/qs8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S
6044  src/qs8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld64.S
6045  src/qs8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S
6046  src/qs8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S
6047  src/qs8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld64.S
6048  src/qs8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S
6049  src/qu8-gemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-cortex-a55.S
6050  src/qu8-gemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-ld128.S
6051  src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S
6052  src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a75.S
6053  src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S
6054  src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S
6055  src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a75.S
6056  src/qu8-gemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S
6057  src/qu8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S
6058  src/qu8-gemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S
6059  src/qu8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S
6060  src/qu8-gemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S
6061  src/qu8-igemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-cortex-a55.S
6062  src/qu8-igemm/gen/4x8c4-minmax-rndnu-aarch64-neondot-ld128.S
6063  src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a53.S
6064  src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-cortex-a75.S
6065  src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-ld64.S
6066  src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a53.S
6067  src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-cortex-a75.S
6068  src/qu8-igemm/gen/4x16-minmax-rndnu-aarch64-neon-mlal-lane-prfm-ld64.S
6069  src/qu8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-cortex-a55.S
6070  src/qu8-igemm/gen/4x16c4-minmax-fp32-aarch64-neondot-ld128.S
6071  src/qu8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-cortex-a55.S
6072  src/qu8-igemm/gen/4x16c4-minmax-rndnu-aarch64-neondot-ld128.S)
6073
6074SET(PROD_MICROKERNEL_SRCS ${PROD_SCALAR_PORTABLE_MICROKERNEL_SRCS})
6075SET(ALL_MICROKERNEL_SRCS ${ALL_SCALAR_MICROKERNEL_SRCS})
6076IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv[5-8]" OR IOS_ARCH MATCHES "^armv7")
6077  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_SCALAR_AARCH32_MICROKERNEL_SRCS})
6078  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEON_MICROKERNEL_SRCS})
6079  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONFP16_MICROKERNEL_SRCS})
6080  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONFMA_MICROKERNEL_SRCS})
6081  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONV8_MICROKERNEL_SRCS})
6082  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEON_MICROKERNEL_SRCS})
6083  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONFP16_MICROKERNEL_SRCS})
6084  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONFMA_MICROKERNEL_SRCS})
6085  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONV8_MICROKERNEL_SRCS})
6086  IF(NOT IOS)
6087    LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONDOT_MICROKERNEL_SRCS})
6088    LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONDOT_MICROKERNEL_SRCS})
6089  ENDIF()
6090  IF(XNNPACK_ENABLE_ASSEMBLY)
6091    LIST(APPEND PROD_MICROKERNEL_SRCS ${AARCH32_ASM_MICROKERNEL_SRCS})
6092    LIST(APPEND ALL_MICROKERNEL_SRCS ${AARCH32_ASM_MICROKERNEL_SRCS})
6093  ENDIF()
6094  LIST(APPEND JIT_SRCS ${JIT_AARCH32_SRCS})
6095ENDIF()
6096IF(XNNPACK_TARGET_PROCESSOR MATCHES "^(aarch64|arm64)$" OR IOS_ARCH MATCHES "^arm64.*")
6097  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEON_MICROKERNEL_SRCS})
6098  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONFP16_MICROKERNEL_SRCS})
6099  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONFMA_MICROKERNEL_SRCS})
6100  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONV8_MICROKERNEL_SRCS})
6101  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_AARCH64_NEON_MICROKERNEL_SRCS})
6102  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS})
6103  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_NEONDOT_MICROKERNEL_SRCS})
6104  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEON_MICROKERNEL_SRCS})
6105  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONFP16_MICROKERNEL_SRCS})
6106  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONFMA_MICROKERNEL_SRCS})
6107  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONV8_MICROKERNEL_SRCS})
6108  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_AARCH64_NEON_MICROKERNEL_SRCS})
6109  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS})
6110  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_NEONDOT_MICROKERNEL_SRCS})
6111  IF(XNNPACK_ENABLE_ASSEMBLY)
6112    LIST(APPEND PROD_MICROKERNEL_SRCS ${AARCH64_ASM_MICROKERNEL_SRCS})
6113    LIST(APPEND ALL_MICROKERNEL_SRCS ${AARCH64_ASM_MICROKERNEL_SRCS})
6114  ENDIF()
6115  LIST(APPEND JIT_SRCS ${JIT_AARCH64_SRCS})
6116ENDIF()
6117IF(XNNPACK_TARGET_PROCESSOR MATCHES "^(i[3-6]86|x86_64|AMD64)$" OR IOS_ARCH MATCHES "^(i386|x86_64|AMD64)$")
6118  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_SSE_MICROKERNEL_SRCS})
6119  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_SSE2_MICROKERNEL_SRCS})
6120  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_SSSE3_MICROKERNEL_SRCS})
6121  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_SSE41_MICROKERNEL_SRCS})
6122  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_AVX_MICROKERNEL_SRCS})
6123  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_F16C_MICROKERNEL_SRCS})
6124  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_XOP_MICROKERNEL_SRCS})
6125  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_FMA3_MICROKERNEL_SRCS})
6126  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_AVX2_MICROKERNEL_SRCS})
6127  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_AVX512F_MICROKERNEL_SRCS})
6128  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_AVX512SKX_MICROKERNEL_SRCS})
6129  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_SSE_MICROKERNEL_SRCS})
6130  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_SSE2_MICROKERNEL_SRCS})
6131  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_SSSE3_MICROKERNEL_SRCS})
6132  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_SSE41_MICROKERNEL_SRCS})
6133  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_AVX_MICROKERNEL_SRCS})
6134  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_F16C_MICROKERNEL_SRCS})
6135  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_XOP_MICROKERNEL_SRCS})
6136  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_FMA3_MICROKERNEL_SRCS})
6137  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_AVX2_MICROKERNEL_SRCS})
6138  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_AVX512F_MICROKERNEL_SRCS})
6139  LIST(APPEND ALL_MICROKERNEL_SRCS ${ALL_AVX512SKX_MICROKERNEL_SRCS})
6140ENDIF()
6141IF(XNNPACK_TARGET_PROCESSOR MATCHES "^riscv(32|64)$")
6142  LIST(APPEND PROD_MICROKERNEL_SRCS ${PROD_SCALAR_RISCV_MICROKERNEL_SRCS})
6143ENDIF()
6144ADD_LIBRARY(all_microkernels OBJECT ${ALL_MICROKERNEL_SRCS} ${TABLE_SRCS})
6145ADD_LIBRARY(indirection OBJECT src/indirection.c)
6146ADD_LIBRARY(packing OBJECT src/packing.c)
6147ADD_LIBRARY(jit OBJECT ${JIT_SRCS})
6148SET_TARGET_PROPERTIES(jit PROPERTIES
6149  CXX_STANDARD 11
6150  CXX_STANDARD_REQUIRED YES
6151  CXX_EXTENSIONS NO)
6152IF(XNNPACK_LIBRARY_TYPE STREQUAL "default")
6153  ADD_LIBRARY(XNNPACK ${COLD_SRCS} ${HOT_SRCS} ${TABLE_SRCS} ${JIT_SRCS} ${PROD_MICROKERNEL_SRCS})
6154ELSEIF(XNNPACK_LIBRARY_TYPE STREQUAL "shared")
6155  ADD_LIBRARY(XNNPACK SHARED ${COLD_SRCS} ${HOT_SRCS} ${TABLE_SRCS} ${JIT_SRCS} ${PROD_MICROKERNEL_SRCS})
6156ELSEIF(XNNPACK_LIBRARY_TYPE STREQUAL "static")
6157  ADD_LIBRARY(XNNPACK STATIC ${COLD_SRCS} ${HOT_SRCS} ${TABLE_SRCS} ${JIT_SRCS} ${PROD_MICROKERNEL_SRCS})
6158ELSE()
6159  MESSAGE(FATAL_ERROR "Unsupported XNNPACK library type \"${XNNPACK_LIBRARY_TYPE}\". Must be \"static\", \"shared\", or \"default\"")
6160ENDIF()
6161SET_TARGET_PROPERTIES(XNNPACK PROPERTIES
6162  C_STANDARD 99
6163  C_EXTENSIONS YES)
6164IF(NOT MSVC)
6165  SET_PROPERTY(SOURCE ${PROD_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -fno-math-errno ")
6166ENDIF()
6167IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^armv[5-8]" OR IOS_ARCH MATCHES "^armv7")
6168  SET_PROPERTY(SOURCE ${ALL_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -marm ")
6169  SET_PROPERTY(SOURCE ${ALL_NEON_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv7-a -mfpu=neon ")
6170  SET_PROPERTY(SOURCE ${ALL_NEONFP16_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv7-a -mfpu=neon-fp16 ")
6171  # GCC requires -mfp16-format=ieee to define __fp16 type, but Clang doesn't support this option at all.
6172  IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
6173    SET_PROPERTY(SOURCE ${ALL_NEONFP16_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mfp16-format=ieee ")
6174  ENDIF()
6175  SET_PROPERTY(SOURCE ${ALL_NEONFMA_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv7-a -mfpu=neon-vfpv4 ")
6176  IF(IOS)
6177    SET_PROPERTY(SOURCE ${ALL_NEONV8_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mcpu=cyclone -mtune=generic ")
6178    SET_PROPERTY(SOURCE ${AARCH32_ASM_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch ${IOS_ARCH} ")
6179  ELSE()
6180    SET_PROPERTY(SOURCE ${ALL_NEONV8_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv8-a -mfpu=neon-fp-armv8 ")
6181    SET_PROPERTY(SOURCE ${ALL_NEONDOT_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv8.2-a+dotprod -mfpu=neon-fp-armv8 ")
6182    SET_PROPERTY(SOURCE ${AARCH32_ASM_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv8.2-a+dotprod -mfpu=neon-fp-armv8 ")
6183  ENDIF()
6184  # Workground the neon detection bug in ARM v8
6185  # Related links:
6186  #   https://github.com/android/ndk/issues/910
6187  #   https://reviews.llvm.org/D58477
6188  IF(ANDROID_NDK_MAJOR AND ANDROID_NDK_MAJOR LESS 21)
6189    SET_PROPERTY(SOURCE ${ALL_NEONV8_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mfloat-abi=softfp ")
6190    SET_PROPERTY(SOURCE ${ALL_NEONDOT_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mfloat-abi=softfp ")
6191  ENDIF()
6192ENDIF()
6193IF(XNNPACK_TARGET_PROCESSOR MATCHES "^(aarch64|arm64)$" OR IOS_ARCH MATCHES "^arm64.*")
6194  SET_PROPERTY(SOURCE ${ALL_AARCH64_NEONFP16ARITH_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv8.2-a+fp16 ")
6195  SET_PROPERTY(SOURCE ${ALL_NEONDOT_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv8.2-a+dotprod ")
6196  SET_PROPERTY(SOURCE ${AARCH64_ASM_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -march=armv8.2-a+fp16+dotprod ")
6197  IF(IOS)
6198    SET_PROPERTY(SOURCE ${AARCH64_ASM_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch ${IOS_ARCH} ")
6199  ENDIF()
6200  IF(XNNPACK_TARGET_PROCESSOR STREQUAL "arm64" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
6201    SET_PROPERTY(SOURCE ${AARCH64_ASM_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -arch arm64 ")
6202  ENDIF()
6203ENDIF()
6204IF(XNNPACK_TARGET_PROCESSOR MATCHES "^(i[3-6]86|x86|x86_64|AMD64)$" OR IOS_ARCH MATCHES "^(i386|x86_64|AMD64)$")
6205  IF(MSVC)
6206    IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SIZEOF_VOID_P EQUAL 4)
6207      SET_PROPERTY(SOURCE ${ALL_SSE_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:SSE ")
6208      SET_PROPERTY(SOURCE ${ALL_SSE2_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:SSE2 ")
6209      SET_PROPERTY(SOURCE ${ALL_SSSE3_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:SSE2 ")
6210      SET_PROPERTY(SOURCE ${ALL_SSE41_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:SSE2 ")
6211    ENDIF()
6212    SET_PROPERTY(SOURCE ${ALL_AVX_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX ")
6213    SET_PROPERTY(SOURCE ${ALL_F16C_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX ")
6214    SET_PROPERTY(SOURCE ${ALL_XOP_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX ")
6215    SET_PROPERTY(SOURCE ${ALL_FMA3_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX ")
6216    SET_PROPERTY(SOURCE ${ALL_AVX2_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX2 ")
6217    SET_PROPERTY(SOURCE ${ALL_AVX512F_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX512 ")
6218    SET_PROPERTY(SOURCE ${ALL_AVX512SKX_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /arch:AVX512 ")
6219    IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
6220      SET_PROPERTY(SOURCE ${ALL_SSE_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-msse ")
6221      SET_PROPERTY(SOURCE ${ALL_SSE2_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-msse2 ")
6222      SET_PROPERTY(SOURCE ${ALL_SSSE3_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mssse3 ")
6223      SET_PROPERTY(SOURCE ${ALL_SSE41_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-msse4.1 ")
6224      SET_PROPERTY(SOURCE ${ALL_AVX_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mavx ")
6225      SET_PROPERTY(SOURCE ${ALL_F16C_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mf16c ")
6226      SET_PROPERTY(SOURCE ${ALL_XOP_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mxop ")
6227      SET_PROPERTY(SOURCE ${ALL_FMA3_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mf16c -clang:-mfma ")
6228      SET_PROPERTY(SOURCE ${ALL_AVX2_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mf16c -clang:-mfma -clang:-mavx2 ")
6229      SET_PROPERTY(SOURCE ${ALL_AVX512F_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -clang:-mavx512f ")
6230      SET_PROPERTY(SOURCE ${ALL_AVX512SKX_MICROKERNEL_SRCS} APPEND_STRIDE PROPERTY COMPILE_FLAGS " -clang:-mavx512f -clang:-mavx512cd -clang:-mavx512bw -clang:-mavx512dq -clang:-mavx512vl ")
6231    ENDIF()
6232  ELSE()
6233    SET_PROPERTY(SOURCE ${ALL_SSE_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -msse ")
6234    SET_PROPERTY(SOURCE ${ALL_SSE2_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -msse2 ")
6235    SET_PROPERTY(SOURCE ${ALL_SSSE3_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mssse3 ")
6236    SET_PROPERTY(SOURCE ${ALL_SSE41_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -msse4.1 ")
6237    SET_PROPERTY(SOURCE ${ALL_AVX_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mavx ")
6238    SET_PROPERTY(SOURCE ${ALL_F16C_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mf16c ")
6239    SET_PROPERTY(SOURCE ${ALL_XOP_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mxop ")
6240    SET_PROPERTY(SOURCE ${ALL_FMA3_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mf16c -mfma ")
6241    SET_PROPERTY(SOURCE ${ALL_AVX2_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mf16c -mfma -mavx2 ")
6242    SET_PROPERTY(SOURCE ${ALL_AVX512F_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -mavx512f ")
6243    SET_PROPERTY(SOURCE ${ALL_AVX512SKX_MICROKERNEL_SRCS} APPEND_STRIDE PROPERTY COMPILE_FLAGS " -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl ")
6244    IF(MINGW OR CMAKE_SYSTEM_NAME MATCHES "^(CYGWIN|MSYS)$")
6245      # Work-around for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65782
6246      SET_PROPERTY(SOURCE ${ALL_AVX512F_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -fno-asynchronous-unwind-tables ")
6247      SET_PROPERTY(SOURCE ${ALL_AVX512SKX_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -fno-asynchronous-unwind-tables ")
6248    ENDIF()
6249  ENDIF()
6250ENDIF()
6251TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE "XNN_LOG_LEVEL=$<$<CONFIG:Debug>:5>$<$<NOT:$<CONFIG:Debug>>:0>")
6252TARGET_COMPILE_DEFINITIONS(jit PRIVATE "XNN_LOG_LEVEL=$<$<CONFIG:Debug>:5>$<$<NOT:$<CONFIG:Debug>>:0>")
6253IF(MSVC)
6254  # Even though MSVC has __restrict, it can't be used in all the same contexts as the C99 restrict keyword
6255  TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE "restrict=")
6256  TARGET_COMPILE_DEFINITIONS(all_microkernels PRIVATE "restrict=")
6257  TARGET_COMPILE_DEFINITIONS(packing PRIVATE "restrict=")
6258  TARGET_COMPILE_DEFINITIONS(indirection PRIVATE "restrict=")
6259  IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
6260    IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
6261      SET_PROPERTY(SOURCE ${ALL_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /O2 ")
6262      SET_PROPERTY(SOURCE ${HOT_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /O2 ")
6263      SET_PROPERTY(SOURCE ${COLD_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " /O1 ")
6264    ENDIF()
6265  ELSE()
6266    SET_PROPERTY(SOURCE ${ALL_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS "$<$<NOT:$<CONFIG:Debug>>: /O2 >")
6267    SET_PROPERTY(SOURCE ${HOT_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS "$<$<NOT:$<CONFIG:Debug>>: /O2 >")
6268    SET_PROPERTY(SOURCE ${COLD_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS "$<$<NOT:$<CONFIG:Debug>>: /O1 >")
6269  ENDIF()
6270ELSE()
6271  IF(${CMAKE_VERSION} VERSION_LESS "3.8.0")
6272    IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
6273      SET_PROPERTY(SOURCE ${ALL_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -O2 ")
6274      SET_PROPERTY(SOURCE ${HOT_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -O2 ")
6275      SET_PROPERTY(SOURCE ${COLD_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS " -Os ")
6276    ENDIF()
6277  ELSE()
6278    SET_PROPERTY(SOURCE ${ALL_MICROKERNEL_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS "$<$<NOT:$<CONFIG:Debug>>: -O2 >")
6279    SET_PROPERTY(SOURCE ${HOT_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS "$<$<NOT:$<CONFIG:Debug>>: -O2 >")
6280    SET_PROPERTY(SOURCE ${COLD_SRCS} APPEND_STRING PROPERTY COMPILE_FLAGS "$<$<NOT:$<CONFIG:Debug>>: -Os >")
6281  ENDIF()
6282ENDIF()
6283
6284TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include)
6285TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src)
6286TARGET_INCLUDE_DIRECTORIES(all_microkernels PRIVATE include src)
6287TARGET_INCLUDE_DIRECTORIES(packing PRIVATE include src)
6288TARGET_INCLUDE_DIRECTORIES(indirection PRIVATE include src)
6289TARGET_INCLUDE_DIRECTORIES(jit PRIVATE include src)
6290IF(WIN32)
6291  # Target Windows 7+ API
6292  TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE _WIN32_WINNT=0x0601)
6293ENDIF()
6294SET_TARGET_PROPERTIES(XNNPACK PROPERTIES PUBLIC_HEADER include/xnnpack.h)
6295
6296# ---[ Find libm
6297FIND_LIBRARY(LIBM m)
6298IF(LIBM)
6299  TARGET_LINK_LIBRARIES(XNNPACK PRIVATE ${LIBM})
6300  TARGET_LINK_LIBRARIES(all_microkernels PRIVATE ${LIBM})
6301  TARGET_LINK_LIBRARIES(indirection PRIVATE ${LIBM})
6302ENDIF()
6303
6304# ---[ Configure clog
6305IF(NOT TARGET clog)
6306  IF(NOT XNNPACK_USE_SYSTEM_LIBS)
6307    SET(CLOG_BUILD_TESTS OFF CACHE BOOL "")
6308    SET(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
6309    ADD_SUBDIRECTORY(
6310      "${CLOG_SOURCE_DIR}/deps/clog"
6311      "${CMAKE_BINARY_DIR}/clog")
6312    # We build static version of clog but a dynamic library may indirectly depend on it
6313    SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)
6314  ELSE()
6315    ADD_LIBRARY(clog STATIC IMPORTED)
6316    FIND_LIBRARY(CLOG_LIBRARY clog)
6317    IF(NOT CLOG_LIBRARY)
6318      MESSAGE(FATAL_ERROR "Cannot find clog")
6319    ENDIF()
6320    SET_PROPERTY(TARGET clog PROPERTY IMPORTED_LOCATION "${CLOG_LIBRARY}")
6321  ENDIF()
6322ENDIF()
6323TARGET_LINK_LIBRARIES(XNNPACK PRIVATE clog)
6324TARGET_LINK_LIBRARIES(jit PRIVATE clog)
6325
6326# ---[ Configure cpuinfo
6327IF(NOT TARGET cpuinfo)
6328  IF(NOT XNNPACK_USE_SYSTEM_LIBS)
6329    SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "")
6330    SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "")
6331    SET(CPUINFO_BUILD_MOCK_TESTS OFF CACHE BOOL "")
6332    SET(CPUINFO_BUILD_BENCHMARKS OFF CACHE BOOL "")
6333    ADD_SUBDIRECTORY(
6334      "${CPUINFO_SOURCE_DIR}"
6335      "${CMAKE_BINARY_DIR}/cpuinfo")
6336  ELSE()
6337    ADD_LIBRARY(cpuinfo SHARED IMPORTED)
6338    FIND_LIBRARY(CPUINFO_LIBRARY cpuinfo)
6339    IF(NOT CPUINFO_LIBRARY)
6340      MESSAGE(FATAL_ERROR "Cannot find cpuinfo")
6341    ENDIF()
6342    SET_PROPERTY(TARGET cpuinfo PROPERTY IMPORTED_LOCATION "${CPUINFO_LIBRARY}")
6343  ENDIF()
6344ENDIF()
6345TARGET_LINK_LIBRARIES(XNNPACK PRIVATE cpuinfo)
6346
6347# ---[ Configure pthreadpool
6348IF(NOT TARGET pthreadpool)
6349  IF(NOT XNNPACK_USE_SYSTEM_LIBS)
6350    SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "")
6351    SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "")
6352    SET(PTHREADPOOL_ALLOW_DEPRECATED_API OFF CACHE BOOL "")
6353    ADD_SUBDIRECTORY(
6354      "${PTHREADPOOL_SOURCE_DIR}"
6355      "${CMAKE_BINARY_DIR}/pthreadpool")
6356  ELSE()
6357    ADD_LIBRARY(pthreadpool SHARED IMPORTED)
6358    FIND_LIBRARY(PTHREADPOOL_LIBRARY pthreadpool)
6359    IF(NOT PTHREADPOOL_LIBRARY)
6360      MESSAGE(FATAL_ERROR "Cannot find pthreadpool")
6361    ENDIF()
6362    SET_PROPERTY(TARGET pthreadpool PROPERTY IMPORTED_LOCATION "${PTHREADPOOL_LIBRARY}")
6363  ENDIF()
6364ENDIF()
6365TARGET_LINK_LIBRARIES(XNNPACK PUBLIC pthreadpool)
6366TARGET_LINK_LIBRARIES(all_microkernels PRIVATE pthreadpool)
6367TARGET_LINK_LIBRARIES(indirection PRIVATE pthreadpool)
6368TARGET_LINK_LIBRARIES(jit PRIVATE pthreadpool)
6369TARGET_LINK_LIBRARIES(packing PRIVATE pthreadpool)
6370
6371# ---[ Configure FXdiv
6372IF(NOT TARGET fxdiv)
6373  IF(NOT XNNPACK_USE_SYSTEM_LIBS)
6374    SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
6375    SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
6376    ADD_SUBDIRECTORY(
6377      "${FXDIV_SOURCE_DIR}"
6378      "${CMAKE_BINARY_DIR}/FXdiv")
6379  ELSE()
6380    FIND_FILE(FXDIV_HDR fxdiv.h PATH_SUFFIXES include)
6381    IF(NOT FXDIV_HDR)
6382      MESSAGE(FATAL_ERROR "Cannot find fxdiv")
6383    ENDIF()
6384    ADD_LIBRARY(fxdiv STATIC "${FXDIV_HDR}")
6385    SET_PROPERTY(TARGET fxdiv PROPERTY LINKER_LANGUAGE C)
6386  ENDIF()
6387ENDIF()
6388TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fxdiv)
6389TARGET_LINK_LIBRARIES(all_microkernels PRIVATE fxdiv)
6390TARGET_LINK_LIBRARIES(indirection PRIVATE fxdiv)
6391
6392# ---[ Configure FP16
6393IF(NOT TARGET fp16)
6394  IF(NOT XNNPACK_USE_SYSTEM_LIBS)
6395    SET(FP16_BUILD_TESTS OFF CACHE BOOL "")
6396    SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "")
6397    ADD_SUBDIRECTORY(
6398      "${FP16_SOURCE_DIR}"
6399      "${CMAKE_BINARY_DIR}/FP16")
6400  ELSE()
6401    FIND_FILE(FP16_HDR fp16.h PATH_SUFFIXES include)
6402    IF(NOT FP16_HDR)
6403      MESSAGE(FATAL_ERROR "Cannot find fp16")
6404    ENDIF()
6405    ADD_LIBRARY(fp16 STATIC "${FP16_HDR}")
6406    SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C)
6407  ENDIF()
6408ENDIF()
6409TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16)
6410TARGET_LINK_LIBRARIES(all_microkernels PRIVATE fp16)
6411TARGET_LINK_LIBRARIES(packing PRIVATE fp16)
6412
6413INSTALL(TARGETS XNNPACK
6414    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
6415    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
6416    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
6417
6418# ---[ XNNPACK unit tests
6419IF(XNNPACK_BUILD_TESTS)
6420  # ---[ Build google test
6421  IF(NOT TARGET gtest)
6422    SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
6423    ADD_SUBDIRECTORY(
6424      "${GOOGLETEST_SOURCE_DIR}"
6425      "${CMAKE_BINARY_DIR}/googletest")
6426  ENDIF()
6427
6428  ADD_LIBRARY(gemm-microkernel-tester STATIC test/gemm-microkernel-tester.cc)
6429  TARGET_INCLUDE_DIRECTORIES(gemm-microkernel-tester PRIVATE . include src test)
6430  TARGET_LINK_LIBRARIES(gemm-microkernel-tester PRIVATE cpuinfo fp16 pthreadpool gtest packing)
6431
6432  # ---[ Build size tests
6433
6434  ADD_EXECUTABLE(operator-size-test test/operator-size.c)
6435  SET_TARGET_PROPERTIES(operator-size-test PROPERTIES
6436    C_STANDARD 99
6437    C_EXTENSIONS NO)
6438  TARGET_LINK_LIBRARIES(operator-size-test PRIVATE XNNPACK)
6439
6440  ADD_EXECUTABLE(subgraph-size-test test/subgraph-size.c)
6441  SET_TARGET_PROPERTIES(subgraph-size-test PROPERTIES
6442    C_STANDARD 99
6443    C_EXTENSIONS NO)
6444  TARGET_LINK_LIBRARIES(subgraph-size-test PRIVATE XNNPACK)
6445
6446  # ---[ Build operator-level unit tests
6447  ADD_EXECUTABLE(abs-nc-test test/abs-nc.cc)
6448  SET_TARGET_PROPERTIES(abs-nc-test PROPERTIES
6449    CXX_STANDARD 11
6450    CXX_STANDARD_REQUIRED YES
6451    CXX_EXTENSIONS NO)
6452  TARGET_INCLUDE_DIRECTORIES(abs-nc-test PRIVATE src test)
6453  TARGET_LINK_LIBRARIES(abs-nc-test PRIVATE XNNPACK gtest gtest_main)
6454  ADD_TEST(abs-nc-test abs-nc-test)
6455
6456  ADD_EXECUTABLE(add-nd-test test/add-nd.cc)
6457  SET_TARGET_PROPERTIES(add-nd-test PROPERTIES
6458    CXX_STANDARD 11
6459    CXX_STANDARD_REQUIRED YES
6460    CXX_EXTENSIONS NO)
6461  TARGET_INCLUDE_DIRECTORIES(add-nd-test PRIVATE src test)
6462  TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6463  ADD_TEST(add-nd-test add-nd-test)
6464
6465  ADD_EXECUTABLE(argmax-pooling-nhwc-test test/argmax-pooling-nhwc.cc)
6466  SET_TARGET_PROPERTIES(argmax-pooling-nhwc-test PROPERTIES
6467    CXX_STANDARD 11
6468    CXX_STANDARD_REQUIRED YES
6469    CXX_EXTENSIONS NO)
6470  TARGET_INCLUDE_DIRECTORIES(argmax-pooling-nhwc-test PRIVATE src test)
6471  TARGET_LINK_LIBRARIES(argmax-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6472  ADD_TEST(argmax-pooling-nhwc-test argmax-pooling-nhwc-test)
6473
6474  ADD_EXECUTABLE(average-pooling-nhwc-test test/average-pooling-nhwc.cc)
6475  SET_TARGET_PROPERTIES(average-pooling-nhwc-test PROPERTIES
6476    CXX_STANDARD 11
6477    CXX_STANDARD_REQUIRED YES
6478    CXX_EXTENSIONS NO)
6479  TARGET_INCLUDE_DIRECTORIES(average-pooling-nhwc-test PRIVATE src test)
6480  TARGET_LINK_LIBRARIES(average-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6481  ADD_TEST(average-pooling-nhwc-test average-pooling-nhwc-test)
6482
6483  ADD_EXECUTABLE(bankers-rounding-nc-test test/bankers-rounding-nc.cc)
6484  SET_TARGET_PROPERTIES(bankers-rounding-nc-test PROPERTIES
6485    CXX_STANDARD 11
6486    CXX_STANDARD_REQUIRED YES
6487    CXX_EXTENSIONS NO)
6488  TARGET_INCLUDE_DIRECTORIES(bankers-rounding-nc-test PRIVATE src test)
6489  TARGET_LINK_LIBRARIES(bankers-rounding-nc-test PRIVATE XNNPACK gtest gtest_main)
6490  ADD_TEST(bankers-rounding-nc-test bankers-rounding-nc-test)
6491
6492  ADD_EXECUTABLE(ceiling-nc-test test/ceiling-nc.cc)
6493  SET_TARGET_PROPERTIES(ceiling-nc-test PROPERTIES
6494    CXX_STANDARD 11
6495    CXX_STANDARD_REQUIRED YES
6496    CXX_EXTENSIONS NO)
6497  TARGET_INCLUDE_DIRECTORIES(ceiling-nc-test PRIVATE src test)
6498  TARGET_LINK_LIBRARIES(ceiling-nc-test PRIVATE XNNPACK gtest gtest_main)
6499  ADD_TEST(ceiling-nc-test ceiling-nc-test)
6500
6501  ADD_EXECUTABLE(channel-shuffle-nc-test test/channel-shuffle-nc.cc)
6502  SET_TARGET_PROPERTIES(channel-shuffle-nc-test PROPERTIES
6503    CXX_STANDARD 11
6504    CXX_STANDARD_REQUIRED YES
6505    CXX_EXTENSIONS NO)
6506  TARGET_INCLUDE_DIRECTORIES(channel-shuffle-nc-test PRIVATE src test)
6507  TARGET_LINK_LIBRARIES(channel-shuffle-nc-test PRIVATE XNNPACK gtest gtest_main)
6508  ADD_TEST(channel-shuffle-nc-test channel-shuffle-nc-test)
6509
6510  ADD_EXECUTABLE(clamp-nc-test test/clamp-nc.cc)
6511  SET_TARGET_PROPERTIES(clamp-nc-test PROPERTIES
6512    CXX_STANDARD 11
6513    CXX_STANDARD_REQUIRED YES
6514    CXX_EXTENSIONS NO)
6515  TARGET_INCLUDE_DIRECTORIES(clamp-nc-test PRIVATE src test)
6516  TARGET_LINK_LIBRARIES(clamp-nc-test PRIVATE XNNPACK gtest gtest_main)
6517  ADD_TEST(clamp-nc-test clamp-nc-test)
6518
6519  ADD_EXECUTABLE(constant-pad-nd-test test/constant-pad-nd.cc)
6520  SET_TARGET_PROPERTIES(constant-pad-nd-test PROPERTIES
6521    CXX_STANDARD 11
6522    CXX_STANDARD_REQUIRED YES
6523    CXX_EXTENSIONS NO)
6524  TARGET_INCLUDE_DIRECTORIES(constant-pad-nd-test PRIVATE src test)
6525  TARGET_LINK_LIBRARIES(constant-pad-nd-test PRIVATE XNNPACK gtest gtest_main)
6526  ADD_TEST(constant-pad-nd-test constant-pad-nd-test)
6527
6528  ADD_EXECUTABLE(convert-nc-test test/convert-nc.cc)
6529  SET_TARGET_PROPERTIES(convert-nc-test PROPERTIES
6530    CXX_STANDARD 11
6531    CXX_STANDARD_REQUIRED YES
6532    CXX_EXTENSIONS YES)
6533  TARGET_INCLUDE_DIRECTORIES(convert-nc-test PRIVATE src test)
6534  TARGET_LINK_LIBRARIES(convert-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
6535  ADD_TEST(convert-nc-test convert-nc-test)
6536
6537  ADD_EXECUTABLE(convolution-nhwc-test test/convolution-nhwc.cc)
6538  SET_TARGET_PROPERTIES(convolution-nhwc-test PROPERTIES
6539    CXX_STANDARD 11
6540    CXX_STANDARD_REQUIRED YES
6541    CXX_EXTENSIONS YES)
6542  TARGET_INCLUDE_DIRECTORIES(convolution-nhwc-test PRIVATE src test)
6543  TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
6544  ADD_TEST(convolution-nhwc-test convolution-nhwc-test)
6545
6546  ADD_EXECUTABLE(convolution-nchw-test test/convolution-nchw.cc)
6547  SET_TARGET_PROPERTIES(convolution-nchw-test PROPERTIES
6548    CXX_STANDARD 11
6549    CXX_STANDARD_REQUIRED YES
6550    CXX_EXTENSIONS YES)
6551  TARGET_INCLUDE_DIRECTORIES(convolution-nchw-test PRIVATE src test)
6552  TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK fp16 gtest gtest_main)
6553  ADD_TEST(convolution-nchw-test convolution-nchw-test)
6554
6555  ADD_EXECUTABLE(copy-nc-test test/copy-nc.cc)
6556  SET_TARGET_PROPERTIES(copy-nc-test PROPERTIES
6557    CXX_STANDARD 11
6558    CXX_STANDARD_REQUIRED YES
6559    CXX_EXTENSIONS NO)
6560  TARGET_INCLUDE_DIRECTORIES(copy-nc-test PRIVATE src test)
6561  TARGET_LINK_LIBRARIES(copy-nc-test PRIVATE XNNPACK gtest gtest_main)
6562  ADD_TEST(copy-nc-test copy-nc-test)
6563
6564  ADD_EXECUTABLE(deconvolution-nhwc-test test/deconvolution-nhwc.cc)
6565  SET_TARGET_PROPERTIES(deconvolution-nhwc-test PROPERTIES
6566    CXX_STANDARD 11
6567    CXX_STANDARD_REQUIRED YES
6568    CXX_EXTENSIONS NO)
6569  TARGET_INCLUDE_DIRECTORIES(deconvolution-nhwc-test PRIVATE src test)
6570  TARGET_LINK_LIBRARIES(deconvolution-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6571  ADD_TEST(deconvolution-nhwc-test deconvolution-nhwc-test)
6572
6573  ADD_EXECUTABLE(depth-to-space-nchw2nhwc-test test/depth-to-space-nchw2nhwc.cc)
6574  SET_TARGET_PROPERTIES(depth-to-space-nchw2nhwc-test PROPERTIES
6575    CXX_STANDARD 11
6576    CXX_STANDARD_REQUIRED YES
6577    CXX_EXTENSIONS NO)
6578  TARGET_INCLUDE_DIRECTORIES(depth-to-space-nchw2nhwc-test PRIVATE src test)
6579  TARGET_LINK_LIBRARIES(depth-to-space-nchw2nhwc-test PRIVATE XNNPACK gtest gtest_main)
6580  ADD_TEST(depth-to-space-nchw2nhwc-test depth-to-space-nchw2nhwc-test)
6581
6582  ADD_EXECUTABLE(depth-to-space-nhwc-test test/depth-to-space-nhwc.cc)
6583  SET_TARGET_PROPERTIES(depth-to-space-nhwc-test PROPERTIES
6584    CXX_STANDARD 11
6585    CXX_STANDARD_REQUIRED YES
6586    CXX_EXTENSIONS NO)
6587  TARGET_INCLUDE_DIRECTORIES(depth-to-space-nhwc-test PRIVATE src test)
6588  TARGET_LINK_LIBRARIES(depth-to-space-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6589  ADD_TEST(depth-to-space-nhwc-test depth-to-space-nhwc-test)
6590
6591  ADD_EXECUTABLE(divide-nd-test test/divide-nd.cc)
6592  SET_TARGET_PROPERTIES(divide-nd-test PROPERTIES
6593    CXX_STANDARD 11
6594    CXX_STANDARD_REQUIRED YES
6595    CXX_EXTENSIONS NO)
6596  TARGET_INCLUDE_DIRECTORIES(divide-nd-test PRIVATE src test)
6597  TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6598  ADD_TEST(divide-nd-test divide-nd-test)
6599
6600  ADD_EXECUTABLE(elu-nc-test test/elu-nc.cc)
6601  SET_TARGET_PROPERTIES(elu-nc-test PROPERTIES
6602    CXX_STANDARD 11
6603    CXX_STANDARD_REQUIRED YES
6604    CXX_EXTENSIONS NO)
6605  TARGET_INCLUDE_DIRECTORIES(elu-nc-test PRIVATE src test)
6606  TARGET_LINK_LIBRARIES(elu-nc-test PRIVATE XNNPACK gtest gtest_main)
6607  ADD_TEST(elu-nc-test elu-nc-test)
6608
6609  ADD_EXECUTABLE(fully-connected-nc-test test/fully-connected-nc.cc)
6610  SET_TARGET_PROPERTIES(fully-connected-nc-test PROPERTIES
6611    CXX_STANDARD 11
6612    CXX_STANDARD_REQUIRED YES
6613    CXX_EXTENSIONS NO)
6614  TARGET_INCLUDE_DIRECTORIES(fully-connected-nc-test PRIVATE src test)
6615  TARGET_LINK_LIBRARIES(fully-connected-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
6616  ADD_TEST(fully-connected-nc-test fully-connected-nc-test)
6617
6618  ADD_EXECUTABLE(floor-nc-test test/floor-nc.cc)
6619  SET_TARGET_PROPERTIES(floor-nc-test PROPERTIES
6620    CXX_STANDARD 11
6621    CXX_STANDARD_REQUIRED YES
6622    CXX_EXTENSIONS NO)
6623  TARGET_INCLUDE_DIRECTORIES(floor-nc-test PRIVATE src test)
6624  TARGET_LINK_LIBRARIES(floor-nc-test PRIVATE XNNPACK gtest gtest_main)
6625  ADD_TEST(floor-nc-test floor-nc-test)
6626
6627  ADD_EXECUTABLE(global-average-pooling-nwc-test test/global-average-pooling-nwc.cc)
6628  SET_TARGET_PROPERTIES(global-average-pooling-nwc-test PROPERTIES
6629    CXX_STANDARD 11
6630    CXX_STANDARD_REQUIRED YES
6631    CXX_EXTENSIONS NO)
6632  TARGET_INCLUDE_DIRECTORIES(global-average-pooling-nwc-test PRIVATE src test)
6633  TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK fp16 gtest gtest_main)
6634  ADD_TEST(global-average-pooling-nwc-test global-average-pooling-nwc-test)
6635
6636  ADD_EXECUTABLE(global-average-pooling-ncw-test test/global-average-pooling-ncw.cc)
6637  SET_TARGET_PROPERTIES(global-average-pooling-ncw-test PROPERTIES
6638    CXX_STANDARD 11
6639    CXX_STANDARD_REQUIRED YES
6640    CXX_EXTENSIONS NO)
6641  TARGET_INCLUDE_DIRECTORIES(global-average-pooling-ncw-test PRIVATE src test)
6642  TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK fp16 gtest gtest_main)
6643  ADD_TEST(global-average-pooling-ncw-test global-average-pooling-ncw-test)
6644
6645  ADD_EXECUTABLE(hardswish-nc-test test/hardswish-nc.cc)
6646  SET_TARGET_PROPERTIES(hardswish-nc-test PROPERTIES
6647    CXX_STANDARD 11
6648    CXX_STANDARD_REQUIRED YES
6649    CXX_EXTENSIONS NO)
6650  TARGET_INCLUDE_DIRECTORIES(hardswish-nc-test PRIVATE src test)
6651  TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
6652  ADD_TEST(hardswish-nc-test hardswish-nc-test)
6653
6654  ADD_EXECUTABLE(leaky-relu-nc-test test/leaky-relu-nc.cc)
6655  SET_TARGET_PROPERTIES(leaky-relu-nc-test PROPERTIES
6656    CXX_STANDARD 11
6657    CXX_STANDARD_REQUIRED YES
6658    CXX_EXTENSIONS NO)
6659  TARGET_INCLUDE_DIRECTORIES(leaky-relu-nc-test PRIVATE src test)
6660  TARGET_LINK_LIBRARIES(leaky-relu-nc-test PRIVATE XNNPACK gtest gtest_main)
6661  ADD_TEST(leaky-relu-nc-test leaky-relu-nc-test)
6662
6663  ADD_EXECUTABLE(max-pooling-nhwc-test test/max-pooling-nhwc.cc)
6664  SET_TARGET_PROPERTIES(max-pooling-nhwc-test PROPERTIES
6665    CXX_STANDARD 11
6666    CXX_STANDARD_REQUIRED YES
6667    CXX_EXTENSIONS NO)
6668  TARGET_INCLUDE_DIRECTORIES(max-pooling-nhwc-test PRIVATE src test)
6669  TARGET_LINK_LIBRARIES(max-pooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6670  ADD_TEST(max-pooling-nhwc-test max-pooling-nhwc-test)
6671
6672  ADD_EXECUTABLE(maximum-nd-test test/maximum-nd.cc)
6673  SET_TARGET_PROPERTIES(maximum-nd-test PROPERTIES
6674    CXX_STANDARD 11
6675    CXX_STANDARD_REQUIRED YES
6676    CXX_EXTENSIONS NO)
6677  TARGET_INCLUDE_DIRECTORIES(maximum-nd-test PRIVATE src test)
6678  TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6679  ADD_TEST(maximum-nd-test maximum-nd-test)
6680
6681  ADD_EXECUTABLE(minimum-nd-test test/minimum-nd.cc)
6682  SET_TARGET_PROPERTIES(minimum-nd-test PROPERTIES
6683    CXX_STANDARD 11
6684    CXX_STANDARD_REQUIRED YES
6685    CXX_EXTENSIONS NO)
6686  TARGET_INCLUDE_DIRECTORIES(minimum-nd-test PRIVATE src test)
6687  TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6688  ADD_TEST(minimum-nd-test minimum-nd-test)
6689
6690  ADD_EXECUTABLE(multiply-nd-test test/multiply-nd.cc)
6691  SET_TARGET_PROPERTIES(multiply-nd-test PROPERTIES
6692    CXX_STANDARD 11
6693    CXX_STANDARD_REQUIRED YES
6694    CXX_EXTENSIONS NO)
6695  TARGET_INCLUDE_DIRECTORIES(multiply-nd-test PRIVATE src test)
6696  TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6697  ADD_TEST(multiply-nd-test multiply-nd-test)
6698
6699  ADD_EXECUTABLE(negate-nc-test test/negate-nc.cc)
6700  SET_TARGET_PROPERTIES(negate-nc-test PROPERTIES
6701    CXX_STANDARD 11
6702    CXX_STANDARD_REQUIRED YES
6703    CXX_EXTENSIONS NO)
6704  TARGET_INCLUDE_DIRECTORIES(negate-nc-test PRIVATE src test)
6705  TARGET_LINK_LIBRARIES(negate-nc-test PRIVATE XNNPACK gtest gtest_main)
6706  ADD_TEST(negate-nc-test negate-nc-test)
6707
6708  ADD_EXECUTABLE(prelu-nc-test test/prelu-nc.cc)
6709  SET_TARGET_PROPERTIES(prelu-nc-test PROPERTIES
6710    CXX_STANDARD 11
6711    CXX_STANDARD_REQUIRED YES
6712    CXX_EXTENSIONS NO)
6713  TARGET_INCLUDE_DIRECTORIES(prelu-nc-test PRIVATE src test)
6714  TARGET_LINK_LIBRARIES(prelu-nc-test PRIVATE XNNPACK fp16 gtest gtest_main)
6715  ADD_TEST(prelu-nc-test prelu-nc-test)
6716
6717  ADD_EXECUTABLE(resize-bilinear-nhwc-test test/resize-bilinear-nhwc.cc)
6718  SET_TARGET_PROPERTIES(resize-bilinear-nhwc-test PROPERTIES
6719    CXX_STANDARD 11
6720    CXX_STANDARD_REQUIRED YES
6721    CXX_EXTENSIONS NO)
6722  TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nhwc-test PRIVATE src test)
6723  TARGET_LINK_LIBRARIES(resize-bilinear-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6724  ADD_TEST(resize-bilinear-nhwc-test resize-bilinear-nhwc-test)
6725
6726  ADD_EXECUTABLE(resize-bilinear-nchw-test test/resize-bilinear-nchw.cc)
6727  SET_TARGET_PROPERTIES(resize-bilinear-nchw-test PROPERTIES
6728    CXX_STANDARD 11
6729    CXX_STANDARD_REQUIRED YES
6730    CXX_EXTENSIONS NO)
6731  TARGET_INCLUDE_DIRECTORIES(resize-bilinear-nchw-test PRIVATE src test)
6732  TARGET_LINK_LIBRARIES(resize-bilinear-nchw-test PRIVATE XNNPACK gtest gtest_main)
6733  ADD_TEST(resize-bilinear-nchw-test resize-bilinear-nchw-test)
6734
6735  ADD_EXECUTABLE(sigmoid-nc-test test/sigmoid-nc.cc)
6736  SET_TARGET_PROPERTIES(sigmoid-nc-test PROPERTIES
6737    CXX_STANDARD 11
6738    CXX_STANDARD_REQUIRED YES
6739    CXX_EXTENSIONS NO)
6740  TARGET_INCLUDE_DIRECTORIES(sigmoid-nc-test PRIVATE src test)
6741  TARGET_LINK_LIBRARIES(sigmoid-nc-test PRIVATE XNNPACK gtest gtest_main)
6742  ADD_TEST(sigmoid-nc-test sigmoid-nc-test)
6743
6744  ADD_EXECUTABLE(softmax-nc-test test/softmax-nc.cc)
6745  SET_TARGET_PROPERTIES(softmax-nc-test PROPERTIES
6746    CXX_STANDARD 11
6747    CXX_STANDARD_REQUIRED YES
6748    CXX_EXTENSIONS NO)
6749  TARGET_INCLUDE_DIRECTORIES(softmax-nc-test PRIVATE src test)
6750  TARGET_LINK_LIBRARIES(softmax-nc-test PRIVATE XNNPACK gtest gtest_main)
6751  ADD_TEST(softmax-nc-test softmax-nc-test)
6752
6753  ADD_EXECUTABLE(square-nc-test test/square-nc.cc)
6754  SET_TARGET_PROPERTIES(square-nc-test PROPERTIES
6755    CXX_STANDARD 11
6756    CXX_STANDARD_REQUIRED YES
6757    CXX_EXTENSIONS NO)
6758  TARGET_INCLUDE_DIRECTORIES(square-nc-test PRIVATE src test)
6759  TARGET_LINK_LIBRARIES(square-nc-test PRIVATE XNNPACK gtest gtest_main)
6760  ADD_TEST(square-nc-test square-nc-test)
6761
6762  ADD_EXECUTABLE(square-root-nc-test test/square-root-nc.cc)
6763  SET_TARGET_PROPERTIES(square-root-nc-test PROPERTIES
6764    CXX_STANDARD 11
6765    CXX_STANDARD_REQUIRED YES
6766    CXX_EXTENSIONS NO)
6767  TARGET_INCLUDE_DIRECTORIES(square-root-nc-test PRIVATE src test)
6768  TARGET_LINK_LIBRARIES(square-root-nc-test PRIVATE XNNPACK gtest gtest_main)
6769  ADD_TEST(square-root-nc-test square-root-nc-test)
6770
6771  ADD_EXECUTABLE(squared-difference-nd-test test/squared-difference-nd.cc)
6772  SET_TARGET_PROPERTIES(squared-difference-nd-test PROPERTIES
6773    CXX_STANDARD 11
6774    CXX_STANDARD_REQUIRED YES
6775    CXX_EXTENSIONS NO)
6776  TARGET_INCLUDE_DIRECTORIES(squared-difference-nd-test PRIVATE src test)
6777  TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6778  ADD_TEST(squared-difference-nd-test squared-difference-nd-test)
6779
6780  ADD_EXECUTABLE(subtract-nd-test test/subtract-nd.cc)
6781  SET_TARGET_PROPERTIES(subtract-nd-test PROPERTIES
6782    CXX_STANDARD 11
6783    CXX_STANDARD_REQUIRED YES
6784    CXX_EXTENSIONS NO)
6785  TARGET_INCLUDE_DIRECTORIES(subtract-nd-test PRIVATE src test)
6786  TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK fp16 gtest gtest_main)
6787  ADD_TEST(subtract-nd-test subtract-nd-test)
6788
6789  ADD_EXECUTABLE(tanh-nc-test test/tanh-nc.cc)
6790  SET_TARGET_PROPERTIES(tanh-nc-test PROPERTIES
6791    CXX_STANDARD 11
6792    CXX_STANDARD_REQUIRED YES
6793    CXX_EXTENSIONS NO)
6794  TARGET_INCLUDE_DIRECTORIES(tanh-nc-test PRIVATE src test)
6795  TARGET_LINK_LIBRARIES(tanh-nc-test PRIVATE XNNPACK gtest gtest_main)
6796  ADD_TEST(tanh-nc-test tanh-nc-test)
6797
6798  ADD_EXECUTABLE(truncation-nc-test test/truncation-nc.cc)
6799  SET_TARGET_PROPERTIES(truncation-nc-test PROPERTIES
6800    CXX_STANDARD 11
6801    CXX_STANDARD_REQUIRED YES
6802    CXX_EXTENSIONS NO)
6803  TARGET_INCLUDE_DIRECTORIES(truncation-nc-test PRIVATE src test)
6804  TARGET_LINK_LIBRARIES(truncation-nc-test PRIVATE XNNPACK gtest gtest_main)
6805  ADD_TEST(truncation-nc-test truncation-nc-test)
6806
6807  ADD_EXECUTABLE(unpooling-nhwc-test test/unpooling-nhwc.cc)
6808  SET_TARGET_PROPERTIES(unpooling-nhwc-test PROPERTIES
6809    CXX_STANDARD 11
6810    CXX_STANDARD_REQUIRED YES
6811    CXX_EXTENSIONS NO)
6812  TARGET_INCLUDE_DIRECTORIES(unpooling-nhwc-test PRIVATE src test)
6813  TARGET_LINK_LIBRARIES(unpooling-nhwc-test PRIVATE XNNPACK gtest gtest_main)
6814  ADD_TEST(unpooling-nhwc-test unpooling-nhwc-test)
6815
6816  ADD_EXECUTABLE(memory-planner-test test/memory-planner-test.cc)
6817  SET_TARGET_PROPERTIES(memory-planner-test PROPERTIES
6818    C_STANDARD 11
6819    CXX_STANDARD_REQUIRED YES
6820    C_EXTENSIONS NO)
6821  TARGET_INCLUDE_DIRECTORIES(memory-planner-test PRIVATE src test)
6822  TARGET_LINK_LIBRARIES(memory-planner-test PRIVATE XNNPACK gtest gtest_main)
6823  ADD_TEST(memory-planner-test memory-planner-test)
6824
6825  ADD_EXECUTABLE(subgraph-nchw-test test/subgraph-nchw.cc)
6826  SET_TARGET_PROPERTIES(subgraph-nchw-test PROPERTIES
6827    C_STANDARD 11
6828    CXX_STANDARD_REQUIRED YES
6829    C_EXTENSIONS NO)
6830  TARGET_INCLUDE_DIRECTORIES(subgraph-nchw-test PRIVATE src test)
6831  TARGET_LINK_LIBRARIES(subgraph-nchw-test PRIVATE XNNPACK gtest gtest_main)
6832  ADD_TEST(subgraph-nchw-test subgraph-nchw-test)
6833
6834  # ---[ Build microkernel-level unit tests
6835  ADD_EXECUTABLE(f16-f32-vcvt-test test/f16-f32-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
6836  SET_TARGET_PROPERTIES(f16-f32-vcvt-test PROPERTIES
6837    CXX_STANDARD 11
6838    CXX_STANDARD_REQUIRED YES
6839    CXX_EXTENSIONS YES)
6840  TARGET_INCLUDE_DIRECTORIES(f16-f32-vcvt-test PRIVATE include src test)
6841  TARGET_LINK_LIBRARIES(f16-f32-vcvt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6842  ADD_TEST(f16-f32-vcvt-test f16-f32-vcvt-test)
6843
6844  ADD_EXECUTABLE(f16-dwconv-minmax-test test/f16-dwconv-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
6845  SET_TARGET_PROPERTIES(f16-dwconv-minmax-test PROPERTIES
6846    CXX_STANDARD 11
6847    CXX_STANDARD_REQUIRED YES
6848    CXX_EXTENSIONS YES)
6849  TARGET_INCLUDE_DIRECTORIES(f16-dwconv-minmax-test PRIVATE include src test)
6850  TARGET_LINK_LIBRARIES(f16-dwconv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6851  ADD_TEST(f16-dwconv-minmax-test f16-dwconv-minmax-test)
6852
6853  ADD_EXECUTABLE(f16-gavgpool-minmax-test test/f16-gavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6854  SET_TARGET_PROPERTIES(f16-gavgpool-minmax-test PROPERTIES
6855    CXX_STANDARD 11
6856    CXX_STANDARD_REQUIRED YES
6857    CXX_EXTENSIONS YES)
6858  TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-minmax-test PRIVATE include src test)
6859  TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6860  ADD_TEST(f16-gavgpool-minmax-test f16-gavgpool-minmax-test)
6861
6862  ADD_EXECUTABLE(f16-gemm-minmax-test test/f16-gemm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
6863  SET_TARGET_PROPERTIES(f16-gemm-minmax-test PROPERTIES
6864    CXX_STANDARD 11
6865    CXX_STANDARD_REQUIRED YES
6866    CXX_EXTENSIONS YES)
6867  TARGET_INCLUDE_DIRECTORIES(f16-gemm-minmax-test PRIVATE include src test)
6868  TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
6869  ADD_TEST(f16-gemm-minmax-test f16-gemm-minmax-test)
6870
6871  ADD_EXECUTABLE(f16-igemm-minmax-test test/f16-igemm-minmax.cc $<TARGET_OBJECTS:all_microkernels>  $<TARGET_OBJECTS:packing>)
6872  SET_TARGET_PROPERTIES(f16-igemm-minmax-test PROPERTIES
6873    CXX_STANDARD 11
6874    CXX_STANDARD_REQUIRED YES
6875    CXX_EXTENSIONS YES)
6876  TARGET_INCLUDE_DIRECTORIES(f16-igemm-minmax-test PRIVATE include src test)
6877  TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
6878  ADD_TEST(f16-igemm-minmax-test f16-igemm-minmax-test)
6879
6880  ADD_EXECUTABLE(f16-maxpool-minmax-test test/f16-maxpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6881  SET_TARGET_PROPERTIES(f16-maxpool-minmax-test PROPERTIES
6882    CXX_STANDARD 11
6883    CXX_STANDARD_REQUIRED YES
6884    CXX_EXTENSIONS YES)
6885  TARGET_INCLUDE_DIRECTORIES(f16-maxpool-minmax-test PRIVATE include src test)
6886  TARGET_LINK_LIBRARIES(f16-maxpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6887  ADD_TEST(f16-maxpool-minmax-test f16-maxpool-minmax-test)
6888
6889  ADD_EXECUTABLE(f16-spmm-minmax-test test/f16-spmm-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6890  SET_TARGET_PROPERTIES(f16-spmm-minmax-test PROPERTIES
6891    CXX_STANDARD 11
6892    CXX_STANDARD_REQUIRED YES
6893    CXX_EXTENSIONS YES)
6894  TARGET_INCLUDE_DIRECTORIES(f16-spmm-minmax-test PRIVATE include src test)
6895  TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6896  ADD_TEST(f16-spmm-minmax-test f16-spmm-minmax-test)
6897
6898  ADD_EXECUTABLE(f16-vadd-minmax-test test/f16-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6899  SET_TARGET_PROPERTIES(f16-vadd-minmax-test PROPERTIES
6900    CXX_STANDARD 11
6901    CXX_STANDARD_REQUIRED YES
6902    CXX_EXTENSIONS YES)
6903  TARGET_INCLUDE_DIRECTORIES(f16-vadd-minmax-test PRIVATE include src test)
6904  TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6905  ADD_TEST(f16-vadd-minmax-test f16-vadd-minmax-test)
6906
6907  ADD_EXECUTABLE(f16-vaddc-minmax-test test/f16-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6908  SET_TARGET_PROPERTIES(f16-vaddc-minmax-test PROPERTIES
6909    CXX_STANDARD 11
6910    CXX_STANDARD_REQUIRED YES
6911    CXX_EXTENSIONS YES)
6912  TARGET_INCLUDE_DIRECTORIES(f16-vaddc-minmax-test PRIVATE include src test)
6913  TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6914  ADD_TEST(f16-vaddc-minmax-test f16-vaddc-minmax-test)
6915
6916  ADD_EXECUTABLE(f16-vclamp-test test/f16-vclamp.cc $<TARGET_OBJECTS:all_microkernels>)
6917  SET_TARGET_PROPERTIES(f16-vclamp-test PROPERTIES
6918    CXX_STANDARD 11
6919    CXX_STANDARD_REQUIRED YES
6920    CXX_EXTENSIONS YES)
6921  TARGET_INCLUDE_DIRECTORIES(f16-vclamp-test PRIVATE include src test)
6922  TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6923  ADD_TEST(f16-vclamp-test f16-vclamp-test)
6924
6925  ADD_EXECUTABLE(f16-vdiv-minmax-test test/f16-vdiv-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6926  SET_TARGET_PROPERTIES(f16-vdiv-minmax-test PROPERTIES
6927    CXX_STANDARD 11
6928    CXX_STANDARD_REQUIRED YES
6929    CXX_EXTENSIONS YES)
6930  TARGET_INCLUDE_DIRECTORIES(f16-vdiv-minmax-test PRIVATE include src test)
6931  TARGET_LINK_LIBRARIES(f16-vdiv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6932  ADD_TEST(f16-vdiv-minmax-test f16-vdiv-minmax-test)
6933
6934  ADD_EXECUTABLE(f16-vdivc-minmax-test test/f16-vdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6935  SET_TARGET_PROPERTIES(f16-vdivc-minmax-test PROPERTIES
6936    CXX_STANDARD 11
6937    CXX_STANDARD_REQUIRED YES
6938    CXX_EXTENSIONS YES)
6939  TARGET_INCLUDE_DIRECTORIES(f16-vdivc-minmax-test PRIVATE include src test)
6940  TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6941  ADD_TEST(f16-vdivc-minmax-test f16-vdivc-minmax-test)
6942
6943  ADD_EXECUTABLE(f16-vrdivc-minmax-test test/f16-vrdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6944  SET_TARGET_PROPERTIES(f16-vrdivc-minmax-test PROPERTIES
6945    CXX_STANDARD 11
6946    CXX_STANDARD_REQUIRED YES
6947    CXX_EXTENSIONS YES)
6948  TARGET_INCLUDE_DIRECTORIES(f16-vrdivc-minmax-test PRIVATE include src test)
6949  TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6950  ADD_TEST(f16-vrdivc-minmax-test f16-vrdivc-minmax-test)
6951
6952  ADD_EXECUTABLE(f16-vhswish-test test/f16-vhswish.cc $<TARGET_OBJECTS:all_microkernels>)
6953  SET_TARGET_PROPERTIES(f16-vhswish-test PROPERTIES
6954    CXX_STANDARD 11
6955    CXX_STANDARD_REQUIRED YES
6956    CXX_EXTENSIONS YES)
6957  TARGET_INCLUDE_DIRECTORIES(f16-vhswish-test PRIVATE include src test)
6958  TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6959  ADD_TEST(f16-vhswish-test f16-vhswish-test)
6960
6961  ADD_EXECUTABLE(f16-vmax-test test/f16-vmax.cc $<TARGET_OBJECTS:all_microkernels>)
6962  SET_TARGET_PROPERTIES(f16-vmax-test PROPERTIES
6963    CXX_STANDARD 11
6964    CXX_STANDARD_REQUIRED YES
6965    CXX_EXTENSIONS YES)
6966  TARGET_INCLUDE_DIRECTORIES(f16-vmax-test PRIVATE include src test)
6967  TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6968  ADD_TEST(f16-vmax-test f16-vmax-test)
6969
6970  ADD_EXECUTABLE(f16-vmaxc-test test/f16-vmaxc.cc $<TARGET_OBJECTS:all_microkernels>)
6971  SET_TARGET_PROPERTIES(f16-vmaxc-test PROPERTIES
6972    CXX_STANDARD 11
6973    CXX_STANDARD_REQUIRED YES
6974    CXX_EXTENSIONS YES)
6975  TARGET_INCLUDE_DIRECTORIES(f16-vmaxc-test PRIVATE include src test)
6976  TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6977  ADD_TEST(f16-vmaxc-test f16-vmaxc-test)
6978
6979  ADD_EXECUTABLE(f16-vmin-test test/f16-vmin.cc $<TARGET_OBJECTS:all_microkernels>)
6980  SET_TARGET_PROPERTIES(f16-vmin-test PROPERTIES
6981    CXX_STANDARD 11
6982    CXX_STANDARD_REQUIRED YES
6983    CXX_EXTENSIONS YES)
6984  TARGET_INCLUDE_DIRECTORIES(f16-vmin-test PRIVATE include src test)
6985  TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6986  ADD_TEST(f16-vmin-test f16-vmin-test)
6987
6988  ADD_EXECUTABLE(f16-vminc-test test/f16-vminc.cc $<TARGET_OBJECTS:all_microkernels>)
6989  SET_TARGET_PROPERTIES(f16-vminc-test PROPERTIES
6990    CXX_STANDARD 11
6991    CXX_STANDARD_REQUIRED YES
6992    CXX_EXTENSIONS YES)
6993  TARGET_INCLUDE_DIRECTORIES(f16-vminc-test PRIVATE include src test)
6994  TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
6995  ADD_TEST(f16-vminc-test f16-vminc-test)
6996
6997  ADD_EXECUTABLE(f16-vmul-minmax-test test/f16-vmul-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
6998  SET_TARGET_PROPERTIES(f16-vmul-minmax-test PROPERTIES
6999    CXX_STANDARD 11
7000    CXX_STANDARD_REQUIRED YES
7001    CXX_EXTENSIONS YES)
7002  TARGET_INCLUDE_DIRECTORIES(f16-vmul-minmax-test PRIVATE include src test)
7003  TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7004  ADD_TEST(f16-vmul-minmax-test f16-vmul-minmax-test)
7005
7006  ADD_EXECUTABLE(f16-vmulc-minmax-test test/f16-vmulc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7007  SET_TARGET_PROPERTIES(f16-vmulc-minmax-test PROPERTIES
7008    CXX_STANDARD 11
7009    CXX_STANDARD_REQUIRED YES
7010    CXX_EXTENSIONS YES)
7011  TARGET_INCLUDE_DIRECTORIES(f16-vmulc-minmax-test PRIVATE include src test)
7012  TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7013  ADD_TEST(f16-vmulc-minmax-test f16-vmulc-minmax-test)
7014
7015  ADD_EXECUTABLE(f16-vmulcaddc-minmax-test test/f16-vmulcaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7016  SET_TARGET_PROPERTIES(f16-vmulcaddc-minmax-test PROPERTIES
7017    CXX_STANDARD 11
7018    CXX_STANDARD_REQUIRED YES
7019    CXX_EXTENSIONS YES)
7020  TARGET_INCLUDE_DIRECTORIES(f16-vmulcaddc-minmax-test PRIVATE include src test)
7021  TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7022  ADD_TEST(f16-vmulcaddc-minmax-test f16-vmulcaddc-minmax-test)
7023
7024  ADD_EXECUTABLE(f16-prelu-test test/f16-prelu.cc $<TARGET_OBJECTS:all_microkernels>)
7025  SET_TARGET_PROPERTIES(f16-prelu-test PROPERTIES
7026    CXX_STANDARD 11
7027    CXX_STANDARD_REQUIRED YES
7028    CXX_EXTENSIONS YES)
7029  TARGET_INCLUDE_DIRECTORIES(f16-prelu-test PRIVATE include src test)
7030  TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7031  ADD_TEST(f16-prelu-test f16-prelu-test)
7032
7033  ADD_EXECUTABLE(f16-vsub-minmax-test test/f16-vsub-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7034  SET_TARGET_PROPERTIES(f16-vsub-minmax-test PROPERTIES
7035    CXX_STANDARD 11
7036    CXX_STANDARD_REQUIRED YES
7037    CXX_EXTENSIONS YES)
7038  TARGET_INCLUDE_DIRECTORIES(f16-vsub-minmax-test PRIVATE include src test)
7039  TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7040  ADD_TEST(f16-vsub-minmax-test f16-vsub-minmax-test)
7041
7042  ADD_EXECUTABLE(f16-vsubc-minmax-test test/f16-vsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7043  SET_TARGET_PROPERTIES(f16-vsubc-minmax-test PROPERTIES
7044    CXX_STANDARD 11
7045    CXX_STANDARD_REQUIRED YES
7046    CXX_EXTENSIONS YES)
7047  TARGET_INCLUDE_DIRECTORIES(f16-vsubc-minmax-test PRIVATE include src test)
7048  TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7049  ADD_TEST(f16-vsubc-minmax-test f16-vsubc-minmax-test)
7050
7051  ADD_EXECUTABLE(f16-vrsubc-minmax-test test/f16-vrsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7052  SET_TARGET_PROPERTIES(f16-vrsubc-minmax-test PROPERTIES
7053    CXX_STANDARD 11
7054    CXX_STANDARD_REQUIRED YES
7055    CXX_EXTENSIONS YES)
7056  TARGET_INCLUDE_DIRECTORIES(f16-vrsubc-minmax-test PRIVATE include src test)
7057  TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7058  ADD_TEST(f16-vrsubc-minmax-test f16-vrsubc-minmax-test)
7059
7060  ADD_EXECUTABLE(f32-argmaxpool-test test/f32-argmaxpool.cc $<TARGET_OBJECTS:all_microkernels>)
7061  SET_TARGET_PROPERTIES(f32-argmaxpool-test PROPERTIES
7062    CXX_STANDARD 11
7063    CXX_STANDARD_REQUIRED YES
7064    CXX_EXTENSIONS YES)
7065  TARGET_INCLUDE_DIRECTORIES(f32-argmaxpool-test PRIVATE include src test)
7066  TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7067  ADD_TEST(f32-argmaxpool-test f32-argmaxpool-test)
7068
7069  ADD_EXECUTABLE(f32-avgpool-minmax-test test/f32-avgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7070  SET_TARGET_PROPERTIES(f32-avgpool-minmax-test PROPERTIES
7071    CXX_STANDARD 11
7072    CXX_STANDARD_REQUIRED YES
7073    CXX_EXTENSIONS YES)
7074  TARGET_INCLUDE_DIRECTORIES(f32-avgpool-minmax-test PRIVATE include src test)
7075  TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7076  ADD_TEST(f32-avgpool-minmax-test f32-avgpool-minmax-test)
7077
7078  ADD_EXECUTABLE(f32-conv-hwc-test test/f32-conv-hwc.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7079  SET_TARGET_PROPERTIES(f32-conv-hwc-test PROPERTIES
7080    CXX_STANDARD 11
7081    CXX_STANDARD_REQUIRED YES
7082    CXX_EXTENSIONS YES)
7083  TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-test PRIVATE include src test)
7084  TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7085  ADD_TEST(f32-conv-hwc-test f32-conv-hwc-test)
7086
7087  ADD_EXECUTABLE(f32-conv-hwc2chw-test test/f32-conv-hwc2chw.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7088  SET_TARGET_PROPERTIES(f32-conv-hwc2chw-test PROPERTIES
7089    CXX_STANDARD 11
7090    CXX_STANDARD_REQUIRED YES
7091    CXX_EXTENSIONS YES)
7092  TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc2chw-test PRIVATE include src test)
7093  TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7094  ADD_TEST(f32-conv-hwc2chw-test f32-conv-hwc2chw-test)
7095
7096  ADD_EXECUTABLE(f32-dwconv-test test/f32-dwconv.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7097  SET_TARGET_PROPERTIES(f32-dwconv-test PROPERTIES
7098    CXX_STANDARD 11
7099    CXX_STANDARD_REQUIRED YES
7100    CXX_EXTENSIONS YES)
7101  TARGET_INCLUDE_DIRECTORIES(f32-dwconv-test PRIVATE include src test)
7102  TARGET_LINK_LIBRARIES(f32-dwconv-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7103  ADD_TEST(f32-dwconv-test f32-dwconv-test)
7104
7105  ADD_EXECUTABLE(f32-dwconv2d-chw-test test/f32-dwconv2d-chw.cc $<TARGET_OBJECTS:all_microkernels>)
7106  SET_TARGET_PROPERTIES(f32-dwconv2d-chw-test PROPERTIES
7107    CXX_STANDARD 11
7108    CXX_STANDARD_REQUIRED YES
7109    CXX_EXTENSIONS YES)
7110  TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-test PRIVATE include src test)
7111  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7112  ADD_TEST(f32-dwconv2d-chw-test f32-dwconv2d-chw-test)
7113
7114  ADD_EXECUTABLE(f32-dwconv-minmax-test test/f32-dwconv-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7115  SET_TARGET_PROPERTIES(f32-dwconv-minmax-test PROPERTIES
7116    CXX_STANDARD 11
7117    CXX_STANDARD_REQUIRED YES
7118    CXX_EXTENSIONS YES)
7119  TARGET_INCLUDE_DIRECTORIES(f32-dwconv-minmax-test PRIVATE include src test)
7120  TARGET_LINK_LIBRARIES(f32-dwconv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7121  ADD_TEST(f32-dwconv-minmax-test f32-dwconv-minmax-test)
7122
7123  ADD_EXECUTABLE(f32-f16-vcvt-test test/f32-f16-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
7124  SET_TARGET_PROPERTIES(f32-f16-vcvt-test PROPERTIES
7125    CXX_STANDARD 11
7126    CXX_STANDARD_REQUIRED YES
7127    CXX_EXTENSIONS YES)
7128  TARGET_INCLUDE_DIRECTORIES(f32-f16-vcvt-test PRIVATE include src test)
7129  TARGET_LINK_LIBRARIES(f32-f16-vcvt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7130  ADD_TEST(f32-f16-vcvt-test f32-f16-vcvt-test)
7131
7132  ADD_EXECUTABLE(f32-qs8-vcvt-test test/f32-f16-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
7133  SET_TARGET_PROPERTIES(f32-qs8-vcvt-test PROPERTIES
7134    CXX_STANDARD 11
7135    CXX_STANDARD_REQUIRED YES
7136    CXX_EXTENSIONS YES)
7137  TARGET_INCLUDE_DIRECTORIES(f32-qs8-vcvt-test PRIVATE include src test)
7138  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7139  ADD_TEST(f32-qs8-vcvt-test f32-qs8-vcvt-test)
7140
7141  ADD_EXECUTABLE(f32-qu8-vcvt-test test/f32-f16-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
7142  SET_TARGET_PROPERTIES(f32-qu8-vcvt-test PROPERTIES
7143    CXX_STANDARD 11
7144    CXX_STANDARD_REQUIRED YES
7145    CXX_EXTENSIONS YES)
7146  TARGET_INCLUDE_DIRECTORIES(f32-qu8-vcvt-test PRIVATE include src test)
7147  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7148  ADD_TEST(f32-qu8-vcvt-test f32-qu8-vcvt-test)
7149
7150  ADD_EXECUTABLE(f32-gavgpool-cw-test test/f32-gavgpool-cw.cc $<TARGET_OBJECTS:all_microkernels>)
7151  SET_TARGET_PROPERTIES(f32-gavgpool-cw-test PROPERTIES
7152    CXX_STANDARD 11
7153    CXX_STANDARD_REQUIRED YES
7154    CXX_EXTENSIONS YES)
7155  TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-cw-test PRIVATE include src test)
7156  TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7157  ADD_TEST(f32-gavgpool-cw-test f32-gavgpool-cw-test)
7158
7159  ADD_EXECUTABLE(f32-gavgpool-minmax-test test/f32-gavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7160  SET_TARGET_PROPERTIES(f32-gavgpool-minmax-test PROPERTIES
7161    CXX_STANDARD 11
7162    CXX_STANDARD_REQUIRED YES
7163    CXX_EXTENSIONS YES)
7164  TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-minmax-test PRIVATE include src test)
7165  TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7166  ADD_TEST(f32-gavgpool-minmax-test f32-gavgpool-minmax-test)
7167
7168  ADD_EXECUTABLE(f32-gemm-test test/f32-gemm.cc test/f32-gemm-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7169  SET_TARGET_PROPERTIES(f32-gemm-test PROPERTIES
7170    CXX_STANDARD 11
7171    CXX_STANDARD_REQUIRED YES
7172    CXX_EXTENSIONS YES)
7173  TARGET_INCLUDE_DIRECTORIES(f32-gemm-test PRIVATE include src test)
7174  TARGET_LINK_LIBRARIES(f32-gemm-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7175  ADD_TEST(f32-gemm-test f32-gemm-test)
7176
7177  ADD_EXECUTABLE(f32-gemm-relu-test test/f32-gemm-relu.cc test/f32-gemm-relu-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7178  SET_TARGET_PROPERTIES(f32-gemm-relu-test PROPERTIES
7179    CXX_STANDARD 11
7180    CXX_STANDARD_REQUIRED YES
7181    CXX_EXTENSIONS YES)
7182  TARGET_INCLUDE_DIRECTORIES(f32-gemm-relu-test PRIVATE include src test)
7183  TARGET_LINK_LIBRARIES(f32-gemm-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7184  ADD_TEST(f32-gemm-relu-test f32-gemm-relu-test)
7185
7186  ADD_EXECUTABLE(f32-gemm-minmax-test test/f32-gemm-minmax.cc test/f32-gemm-minmax-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7187  SET_TARGET_PROPERTIES(f32-gemm-minmax-test PROPERTIES
7188    CXX_STANDARD 11
7189    CXX_STANDARD_REQUIRED YES
7190    CXX_EXTENSIONS YES)
7191  TARGET_INCLUDE_DIRECTORIES(f32-gemm-minmax-test PRIVATE include src test)
7192  TARGET_LINK_LIBRARIES(f32-gemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main jit gemm-microkernel-tester)
7193  ADD_TEST(f32-gemm-minmax-test f32-gemm-minmax-test)
7194
7195  ADD_EXECUTABLE(f32-gemminc-minmax-test test/f32-gemminc-minmax.cc test/f32-gemminc-minmax-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7196  SET_TARGET_PROPERTIES(f32-gemminc-minmax-test PROPERTIES
7197    CXX_STANDARD 11
7198    CXX_STANDARD_REQUIRED YES
7199    CXX_EXTENSIONS YES)
7200  TARGET_INCLUDE_DIRECTORIES(f32-gemminc-minmax-test PRIVATE include src test)
7201  TARGET_LINK_LIBRARIES(f32-gemminc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7202  ADD_TEST(f32-gemminc-minmax-test f32-gemminc-minmax-test)
7203
7204  ADD_EXECUTABLE(f32-ibilinear-test test/f32-ibilinear.cc $<TARGET_OBJECTS:all_microkernels>)
7205  SET_TARGET_PROPERTIES(f32-ibilinear-test PROPERTIES
7206    CXX_STANDARD 11
7207    CXX_STANDARD_REQUIRED YES
7208    CXX_EXTENSIONS YES)
7209  TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-test PRIVATE include src test)
7210  TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7211  ADD_TEST(f32-ibilinear-test f32-ibilinear-test)
7212
7213  ADD_EXECUTABLE(f32-ibilinear-chw-test test/f32-ibilinear-chw.cc $<TARGET_OBJECTS:all_microkernels>)
7214  SET_TARGET_PROPERTIES(f32-ibilinear-chw-test PROPERTIES
7215    CXX_STANDARD 11
7216    CXX_STANDARD_REQUIRED YES
7217    CXX_EXTENSIONS YES)
7218  TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-chw-test PRIVATE include src test)
7219  TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7220  ADD_TEST(f32-ibilinear-chw-test f32-ibilinear-chw-test)
7221
7222  ADD_EXECUTABLE(f32-igemm-test test/f32-igemm.cc test/f32-igemm-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7223  SET_TARGET_PROPERTIES(f32-igemm-test PROPERTIES
7224    CXX_STANDARD 11
7225    CXX_STANDARD_REQUIRED YES
7226    CXX_EXTENSIONS YES)
7227  TARGET_INCLUDE_DIRECTORIES(f32-igemm-test PRIVATE include src test)
7228  TARGET_LINK_LIBRARIES(f32-igemm-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7229  ADD_TEST(f32-igemm-test f32-igemm-test)
7230
7231  ADD_EXECUTABLE(f32-igemm-relu-test test/f32-igemm-relu.cc test/f32-igemm-relu-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7232  SET_TARGET_PROPERTIES(f32-igemm-relu-test PROPERTIES
7233    CXX_STANDARD 11
7234    CXX_STANDARD_REQUIRED YES
7235    CXX_EXTENSIONS YES)
7236  TARGET_INCLUDE_DIRECTORIES(f32-igemm-relu-test PRIVATE include src test)
7237  TARGET_LINK_LIBRARIES(f32-igemm-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7238  ADD_TEST(f32-igemm-relu-test f32-igemm-relu-test)
7239
7240  ADD_EXECUTABLE(f32-igemm-minmax-test test/f32-igemm-minmax.cc test/f32-igemm-minmax-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7241  SET_TARGET_PROPERTIES(f32-igemm-minmax-test PROPERTIES
7242    CXX_STANDARD 11
7243    CXX_STANDARD_REQUIRED YES
7244    CXX_EXTENSIONS YES)
7245  TARGET_INCLUDE_DIRECTORIES(f32-igemm-minmax-test PRIVATE include src test)
7246  IF(MINGW)
7247    # Work-around for "too many sections" error
7248    TARGET_COMPILE_OPTIONS(f32-igemm-minmax-test PRIVATE "$<$<NOT:$<OR:$<CONFIG:Release>,$<CONFIG:MinSizeRel>>>:-Wa,-mbig-obj>")
7249  ENDIF()
7250  TARGET_LINK_LIBRARIES(f32-igemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main jit gemm-microkernel-tester)
7251  ADD_TEST(f32-igemm-minmax-test f32-igemm-minmax-test)
7252
7253  ADD_EXECUTABLE(f32-maxpool-minmax-test test/f32-maxpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7254  SET_TARGET_PROPERTIES(f32-maxpool-minmax-test PROPERTIES
7255    CXX_STANDARD 11
7256    CXX_STANDARD_REQUIRED YES
7257    CXX_EXTENSIONS YES)
7258  TARGET_INCLUDE_DIRECTORIES(f32-maxpool-minmax-test PRIVATE include src test)
7259  TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7260  ADD_TEST(f32-maxpool-minmax-test f32-maxpool-minmax-test)
7261
7262  ADD_EXECUTABLE(f32-pavgpool-minmax-test test/f32-pavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7263  SET_TARGET_PROPERTIES(f32-pavgpool-minmax-test PROPERTIES
7264    CXX_STANDARD 11
7265    CXX_STANDARD_REQUIRED YES
7266    CXX_EXTENSIONS YES)
7267  TARGET_INCLUDE_DIRECTORIES(f32-pavgpool-minmax-test PRIVATE include src test)
7268  TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7269  ADD_TEST(f32-pavgpool-minmax-test f32-pavgpool-minmax-test)
7270
7271  ADD_EXECUTABLE(f32-ppmm-minmax-test test/f32-ppmm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7272  SET_TARGET_PROPERTIES(f32-ppmm-minmax-test PROPERTIES
7273    CXX_STANDARD 11
7274    CXX_STANDARD_REQUIRED YES
7275    CXX_EXTENSIONS YES)
7276  TARGET_INCLUDE_DIRECTORIES(f32-ppmm-minmax-test PRIVATE include src test)
7277  TARGET_LINK_LIBRARIES(f32-ppmm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7278  ADD_TEST(f32-ppmm-minmax-test f32-ppmm-minmax-test)
7279
7280  ADD_EXECUTABLE(f32-prelu-test test/f32-prelu.cc $<TARGET_OBJECTS:all_microkernels>)
7281  SET_TARGET_PROPERTIES(f32-prelu-test PROPERTIES
7282    CXX_STANDARD 11
7283    CXX_STANDARD_REQUIRED YES
7284    CXX_EXTENSIONS YES)
7285  TARGET_INCLUDE_DIRECTORIES(f32-prelu-test PRIVATE include src test)
7286  TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7287  ADD_TEST(f32-prelu-test f32-prelu-test)
7288
7289  ADD_EXECUTABLE(f32-raddexpminusmax-test test/f32-raddexpminusmax.cc $<TARGET_OBJECTS:all_microkernels>)
7290  SET_TARGET_PROPERTIES(f32-raddexpminusmax-test PROPERTIES
7291    CXX_STANDARD 11
7292    CXX_STANDARD_REQUIRED YES
7293    CXX_EXTENSIONS YES)
7294  TARGET_INCLUDE_DIRECTORIES(f32-raddexpminusmax-test PRIVATE include src test)
7295  TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7296  ADD_TEST(f32-raddexpminusmax-test f32-raddexpminusmax-test)
7297
7298  ADD_EXECUTABLE(f32-raddextexp-test test/f32-raddextexp.cc $<TARGET_OBJECTS:all_microkernels>)
7299  SET_TARGET_PROPERTIES(f32-raddextexp-test PROPERTIES
7300    CXX_STANDARD 11
7301    CXX_STANDARD_REQUIRED YES
7302    CXX_EXTENSIONS YES)
7303  TARGET_INCLUDE_DIRECTORIES(f32-raddextexp-test PRIVATE include src test)
7304  TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7305  ADD_TEST(f32-raddextexp-test f32-raddextexp-test)
7306
7307  ADD_EXECUTABLE(f32-raddstoreexpminusmax-test test/f32-raddstoreexpminusmax.cc $<TARGET_OBJECTS:all_microkernels>)
7308  SET_TARGET_PROPERTIES(f32-raddstoreexpminusmax-test PROPERTIES
7309    CXX_STANDARD 11
7310    CXX_STANDARD_REQUIRED YES
7311    CXX_EXTENSIONS YES)
7312  TARGET_INCLUDE_DIRECTORIES(f32-raddstoreexpminusmax-test PRIVATE include src test)
7313  TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7314  ADD_TEST(f32-raddstoreexpminusmax-test f32-raddstoreexpminusmax-test)
7315
7316  ADD_EXECUTABLE(f32-rmax-test test/f32-rmax.cc $<TARGET_OBJECTS:all_microkernels>)
7317  SET_TARGET_PROPERTIES(f32-rmax-test PROPERTIES
7318    CXX_STANDARD 11
7319    CXX_STANDARD_REQUIRED YES
7320    CXX_EXTENSIONS YES)
7321  TARGET_INCLUDE_DIRECTORIES(f32-rmax-test PRIVATE include src test)
7322  TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7323  ADD_TEST(f32-rmax-test f32-rmax-test)
7324
7325  ADD_EXECUTABLE(f32-spmm-minmax-test test/f32-spmm-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7326  SET_TARGET_PROPERTIES(f32-spmm-minmax-test PROPERTIES
7327    CXX_STANDARD 11
7328    CXX_STANDARD_REQUIRED YES
7329    CXX_EXTENSIONS YES)
7330  TARGET_INCLUDE_DIRECTORIES(f32-spmm-minmax-test PRIVATE include src test)
7331  TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7332  ADD_TEST(f32-spmm-minmax-test f32-spmm-minmax-test)
7333
7334  ADD_EXECUTABLE(f32-vabs-test test/f32-vabs.cc $<TARGET_OBJECTS:all_microkernels>)
7335  SET_TARGET_PROPERTIES(f32-vabs-test PROPERTIES
7336    CXX_STANDARD 11
7337    CXX_STANDARD_REQUIRED YES
7338    CXX_EXTENSIONS YES)
7339  TARGET_INCLUDE_DIRECTORIES(f32-vabs-test PRIVATE include src test)
7340  TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7341  ADD_TEST(f32-vabs-test f32-vabs-test)
7342
7343  ADD_EXECUTABLE(f32-vadd-test test/f32-vadd.cc $<TARGET_OBJECTS:all_microkernels>)
7344  SET_TARGET_PROPERTIES(f32-vadd-test PROPERTIES
7345    CXX_STANDARD 11
7346    CXX_STANDARD_REQUIRED YES
7347    CXX_EXTENSIONS YES)
7348  TARGET_INCLUDE_DIRECTORIES(f32-vadd-test PRIVATE include src test)
7349  TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7350  ADD_TEST(f32-vadd-test f32-vadd-test)
7351
7352  ADD_EXECUTABLE(f32-vadd-minmax-test test/f32-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7353  SET_TARGET_PROPERTIES(f32-vadd-minmax-test PROPERTIES
7354    CXX_STANDARD 11
7355    CXX_STANDARD_REQUIRED YES
7356    CXX_EXTENSIONS YES)
7357  TARGET_INCLUDE_DIRECTORIES(f32-vadd-minmax-test PRIVATE include src test)
7358  TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7359  ADD_TEST(f32-vadd-minmax-test f32-vadd-minmax-test)
7360
7361  ADD_EXECUTABLE(f32-vadd-relu-test test/f32-vadd-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7362  SET_TARGET_PROPERTIES(f32-vadd-relu-test PROPERTIES
7363    CXX_STANDARD 11
7364    CXX_STANDARD_REQUIRED YES
7365    CXX_EXTENSIONS YES)
7366  TARGET_INCLUDE_DIRECTORIES(f32-vadd-relu-test PRIVATE include src test)
7367  TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7368  ADD_TEST(f32-vadd-relu-test f32-vadd-relu-test)
7369
7370  ADD_EXECUTABLE(f32-vaddc-test test/f32-vaddc.cc $<TARGET_OBJECTS:all_microkernels>)
7371  SET_TARGET_PROPERTIES(f32-vaddc-test PROPERTIES
7372    CXX_STANDARD 11
7373    CXX_STANDARD_REQUIRED YES
7374    CXX_EXTENSIONS YES)
7375  TARGET_INCLUDE_DIRECTORIES(f32-vaddc-test PRIVATE include src test)
7376  TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7377  ADD_TEST(f32-vaddc-test f32-vaddc-test)
7378
7379  ADD_EXECUTABLE(f32-vaddc-minmax-test test/f32-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7380  SET_TARGET_PROPERTIES(f32-vaddc-minmax-test PROPERTIES
7381    CXX_STANDARD 11
7382    CXX_STANDARD_REQUIRED YES
7383    CXX_EXTENSIONS YES)
7384  TARGET_INCLUDE_DIRECTORIES(f32-vaddc-minmax-test PRIVATE include src test)
7385  TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7386  ADD_TEST(f32-vaddc-minmax-test f32-vaddc-minmax-test)
7387
7388  ADD_EXECUTABLE(f32-vaddc-relu-test test/f32-vaddc-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7389  SET_TARGET_PROPERTIES(f32-vaddc-relu-test PROPERTIES
7390    CXX_STANDARD 11
7391    CXX_STANDARD_REQUIRED YES
7392    CXX_EXTENSIONS YES)
7393  TARGET_INCLUDE_DIRECTORIES(f32-vaddc-relu-test PRIVATE include src test)
7394  TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7395  ADD_TEST(f32-vaddc-relu-test f32-vaddc-relu-test)
7396
7397  ADD_EXECUTABLE(f32-vclamp-test test/f32-vclamp.cc $<TARGET_OBJECTS:all_microkernels>)
7398  SET_TARGET_PROPERTIES(f32-vclamp-test PROPERTIES
7399    CXX_STANDARD 11
7400    CXX_STANDARD_REQUIRED YES
7401    CXX_EXTENSIONS YES)
7402  TARGET_INCLUDE_DIRECTORIES(f32-vclamp-test PRIVATE include src test)
7403  TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7404  ADD_TEST(f32-vclamp-test f32-vclamp-test)
7405
7406  ADD_EXECUTABLE(f32-vhswish-test test/f32-vhswish.cc $<TARGET_OBJECTS:all_microkernels>)
7407  SET_TARGET_PROPERTIES(f32-vhswish-test PROPERTIES
7408    CXX_STANDARD 11
7409    CXX_STANDARD_REQUIRED YES
7410    CXX_EXTENSIONS YES)
7411  TARGET_INCLUDE_DIRECTORIES(f32-vhswish-test PRIVATE include src test)
7412  TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7413  ADD_TEST(f32-vhswish-test f32-vhswish-test)
7414
7415  ADD_EXECUTABLE(f32-vdiv-test test/f32-vdiv.cc $<TARGET_OBJECTS:all_microkernels>)
7416  SET_TARGET_PROPERTIES(f32-vdiv-test PROPERTIES
7417    CXX_STANDARD 11
7418    CXX_STANDARD_REQUIRED YES
7419    CXX_EXTENSIONS YES)
7420  TARGET_INCLUDE_DIRECTORIES(f32-vdiv-test PRIVATE include src test)
7421  TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7422  ADD_TEST(f32-vdiv-test f32-vdiv-test)
7423
7424  ADD_EXECUTABLE(f32-vdiv-minmax-test test/f32-vdiv-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7425  SET_TARGET_PROPERTIES(f32-vdiv-minmax-test PROPERTIES
7426    CXX_STANDARD 11
7427    CXX_STANDARD_REQUIRED YES
7428    CXX_EXTENSIONS YES)
7429  TARGET_INCLUDE_DIRECTORIES(f32-vdiv-minmax-test PRIVATE include src test)
7430  TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7431  ADD_TEST(f32-vdiv-minmax-test f32-vdiv-minmax-test)
7432
7433  ADD_EXECUTABLE(f32-vdiv-relu-test test/f32-vdiv-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7434  SET_TARGET_PROPERTIES(f32-vdiv-relu-test PROPERTIES
7435    CXX_STANDARD 11
7436    CXX_STANDARD_REQUIRED YES
7437    CXX_EXTENSIONS YES)
7438  TARGET_INCLUDE_DIRECTORIES(f32-vdiv-relu-test PRIVATE include src test)
7439  TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7440  ADD_TEST(f32-vdiv-relu-test f32-vdiv-relu-test)
7441
7442  ADD_EXECUTABLE(f32-vdivc-test test/f32-vdivc.cc $<TARGET_OBJECTS:all_microkernels>)
7443  SET_TARGET_PROPERTIES(f32-vdivc-test PROPERTIES
7444    CXX_STANDARD 11
7445    CXX_STANDARD_REQUIRED YES
7446    CXX_EXTENSIONS YES)
7447  TARGET_INCLUDE_DIRECTORIES(f32-vdivc-test PRIVATE include src test)
7448  TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7449  ADD_TEST(f32-vdivc-test f32-vdivc-test)
7450
7451  ADD_EXECUTABLE(f32-vdivc-minmax-test test/f32-vdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7452  SET_TARGET_PROPERTIES(f32-vdivc-minmax-test PROPERTIES
7453    CXX_STANDARD 11
7454    CXX_STANDARD_REQUIRED YES
7455    CXX_EXTENSIONS YES)
7456  TARGET_INCLUDE_DIRECTORIES(f32-vdivc-minmax-test PRIVATE include src test)
7457  TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7458  ADD_TEST(f32-vdivc-minmax-test f32-vdivc-minmax-test)
7459
7460  ADD_EXECUTABLE(f32-vdivc-relu-test test/f32-vdivc-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7461  SET_TARGET_PROPERTIES(f32-vdivc-relu-test PROPERTIES
7462    CXX_STANDARD 11
7463    CXX_STANDARD_REQUIRED YES
7464    CXX_EXTENSIONS YES)
7465  TARGET_INCLUDE_DIRECTORIES(f32-vdivc-relu-test PRIVATE include src test)
7466  TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7467  ADD_TEST(f32-vdivc-relu-test f32-vdivc-relu-test)
7468
7469  ADD_EXECUTABLE(f32-vrdivc-test test/f32-vrdivc.cc $<TARGET_OBJECTS:all_microkernels>)
7470  SET_TARGET_PROPERTIES(f32-vrdivc-test PROPERTIES
7471    CXX_STANDARD 11
7472    CXX_STANDARD_REQUIRED YES
7473    CXX_EXTENSIONS YES)
7474  TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-test PRIVATE include src test)
7475  TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7476  ADD_TEST(f32-vrdivc-test f32-vrdivc-test)
7477
7478  ADD_EXECUTABLE(f32-vrdivc-minmax-test test/f32-vrdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7479  SET_TARGET_PROPERTIES(f32-vrdivc-minmax-test PROPERTIES
7480    CXX_STANDARD 11
7481    CXX_STANDARD_REQUIRED YES
7482    CXX_EXTENSIONS YES)
7483  TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-minmax-test PRIVATE include src test)
7484  TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7485  ADD_TEST(f32-vrdivc-minmax-test f32-vrdivc-minmax-test)
7486
7487  ADD_EXECUTABLE(f32-vrdivc-relu-test test/f32-vrdivc-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7488  SET_TARGET_PROPERTIES(f32-vrdivc-relu-test PROPERTIES
7489    CXX_STANDARD 11
7490    CXX_STANDARD_REQUIRED YES
7491    CXX_EXTENSIONS YES)
7492  TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-relu-test PRIVATE include src test)
7493  TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7494  ADD_TEST(f32-vrdivc-relu-test f32-vrdivc-relu-test)
7495
7496  ADD_EXECUTABLE(f32-velu-test test/f32-velu.cc $<TARGET_OBJECTS:all_microkernels>)
7497  SET_TARGET_PROPERTIES(f32-velu-test PROPERTIES
7498    CXX_STANDARD 11
7499    CXX_STANDARD_REQUIRED YES
7500    CXX_EXTENSIONS YES)
7501  TARGET_INCLUDE_DIRECTORIES(f32-velu-test PRIVATE include src test)
7502  TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7503  ADD_TEST(f32-velu-test f32-velu-test)
7504
7505  ADD_EXECUTABLE(f32-vlrelu-test test/f32-vlrelu.cc $<TARGET_OBJECTS:all_microkernels>)
7506  SET_TARGET_PROPERTIES(f32-vlrelu-test PROPERTIES
7507    CXX_STANDARD 11
7508    CXX_STANDARD_REQUIRED YES
7509    CXX_EXTENSIONS YES)
7510  TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-test PRIVATE include src test)
7511  TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7512  ADD_TEST(f32-vlrelu-test f32-vlrelu-test)
7513
7514  ADD_EXECUTABLE(f32-vmax-test test/f32-vmax.cc $<TARGET_OBJECTS:all_microkernels>)
7515  SET_TARGET_PROPERTIES(f32-vmax-test PROPERTIES
7516    CXX_STANDARD 11
7517    CXX_STANDARD_REQUIRED YES
7518    CXX_EXTENSIONS YES)
7519  TARGET_INCLUDE_DIRECTORIES(f32-vmax-test PRIVATE include src test)
7520  TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7521  ADD_TEST(f32-vmax-test f32-vmax-test)
7522
7523  ADD_EXECUTABLE(f32-vmaxc-test test/f32-vmaxc.cc $<TARGET_OBJECTS:all_microkernels>)
7524  SET_TARGET_PROPERTIES(f32-vmaxc-test PROPERTIES
7525    CXX_STANDARD 11
7526    CXX_STANDARD_REQUIRED YES
7527    CXX_EXTENSIONS YES)
7528  TARGET_INCLUDE_DIRECTORIES(f32-vmaxc-test PRIVATE include src test)
7529  TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7530  ADD_TEST(f32-vmaxc-test f32-vmaxc-test)
7531
7532  ADD_EXECUTABLE(f32-vmin-test test/f32-vmin.cc $<TARGET_OBJECTS:all_microkernels>)
7533  SET_TARGET_PROPERTIES(f32-vmin-test PROPERTIES
7534    CXX_STANDARD 11
7535    CXX_STANDARD_REQUIRED YES
7536    CXX_EXTENSIONS YES)
7537  TARGET_INCLUDE_DIRECTORIES(f32-vmin-test PRIVATE include src test)
7538  TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7539  ADD_TEST(f32-vmin-test f32-vmin-test)
7540
7541  ADD_EXECUTABLE(f32-vminc-test test/f32-vminc.cc $<TARGET_OBJECTS:all_microkernels>)
7542  SET_TARGET_PROPERTIES(f32-vminc-test PROPERTIES
7543    CXX_STANDARD 11
7544    CXX_STANDARD_REQUIRED YES
7545    CXX_EXTENSIONS YES)
7546  TARGET_INCLUDE_DIRECTORIES(f32-vminc-test PRIVATE include src test)
7547  TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7548  ADD_TEST(f32-vminc-test f32-vminc-test)
7549
7550  ADD_EXECUTABLE(f32-vmul-test test/f32-vmul.cc $<TARGET_OBJECTS:all_microkernels>)
7551  SET_TARGET_PROPERTIES(f32-vmul-test PROPERTIES
7552    CXX_STANDARD 11
7553    CXX_STANDARD_REQUIRED YES
7554    CXX_EXTENSIONS YES)
7555  TARGET_INCLUDE_DIRECTORIES(f32-vmul-test PRIVATE include src test)
7556  TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7557  ADD_TEST(f32-vmul-test f32-vmul-test)
7558
7559  ADD_EXECUTABLE(f32-vmul-minmax-test test/f32-vmul-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7560  SET_TARGET_PROPERTIES(f32-vmul-minmax-test PROPERTIES
7561    CXX_STANDARD 11
7562    CXX_STANDARD_REQUIRED YES
7563    CXX_EXTENSIONS YES)
7564  TARGET_INCLUDE_DIRECTORIES(f32-vmul-minmax-test PRIVATE include src test)
7565  TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7566  ADD_TEST(f32-vmul-minmax-test f32-vmul-minmax-test)
7567
7568  ADD_EXECUTABLE(f32-vmul-relu-test test/f32-vmul-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7569  SET_TARGET_PROPERTIES(f32-vmul-relu-test PROPERTIES
7570    CXX_STANDARD 11
7571    CXX_STANDARD_REQUIRED YES
7572    CXX_EXTENSIONS YES)
7573  TARGET_INCLUDE_DIRECTORIES(f32-vmul-relu-test PRIVATE include src test)
7574  TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7575  ADD_TEST(f32-vmul-relu-test f32-vmul-relu-test)
7576
7577  ADD_EXECUTABLE(f32-vmulc-test test/f32-vmulc.cc $<TARGET_OBJECTS:all_microkernels>)
7578  SET_TARGET_PROPERTIES(f32-vmulc-test PROPERTIES
7579    CXX_STANDARD 11
7580    CXX_STANDARD_REQUIRED YES
7581    CXX_EXTENSIONS YES)
7582  TARGET_INCLUDE_DIRECTORIES(f32-vmulc-test PRIVATE include src test)
7583  TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7584  ADD_TEST(f32-vmulc-test f32-vmulc-test)
7585
7586  ADD_EXECUTABLE(f32-vmulc-minmax-test test/f32-vmulc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7587  SET_TARGET_PROPERTIES(f32-vmulc-minmax-test PROPERTIES
7588    CXX_STANDARD 11
7589    CXX_STANDARD_REQUIRED YES
7590    CXX_EXTENSIONS YES)
7591  TARGET_INCLUDE_DIRECTORIES(f32-vmulc-minmax-test PRIVATE include src test)
7592  TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7593  ADD_TEST(f32-vmulc-minmax-test f32-vmulc-minmax-test)
7594
7595  ADD_EXECUTABLE(f32-vmulc-relu-test test/f32-vmulc-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7596  SET_TARGET_PROPERTIES(f32-vmulc-relu-test PROPERTIES
7597    CXX_STANDARD 11
7598    CXX_STANDARD_REQUIRED YES
7599    CXX_EXTENSIONS YES)
7600  TARGET_INCLUDE_DIRECTORIES(f32-vmulc-relu-test PRIVATE include src test)
7601  TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7602  ADD_TEST(f32-vmulc-relu-test f32-vmulc-relu-test)
7603
7604  ADD_EXECUTABLE(f32-vmulcaddc-minmax-test test/f32-vmulcaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7605  SET_TARGET_PROPERTIES(f32-vmulcaddc-minmax-test PROPERTIES
7606    CXX_STANDARD 11
7607    CXX_STANDARD_REQUIRED YES
7608    CXX_EXTENSIONS YES)
7609  TARGET_INCLUDE_DIRECTORIES(f32-vmulcaddc-minmax-test PRIVATE include src test)
7610  TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7611  ADD_TEST(f32-vmulcaddc-minmax-test f32-vmulcaddc-minmax-test)
7612
7613  ADD_EXECUTABLE(f32-vneg-test test/f32-vneg.cc $<TARGET_OBJECTS:all_microkernels>)
7614  SET_TARGET_PROPERTIES(f32-vneg-test PROPERTIES
7615    CXX_STANDARD 11
7616    CXX_STANDARD_REQUIRED YES
7617    CXX_EXTENSIONS YES)
7618  TARGET_INCLUDE_DIRECTORIES(f32-vneg-test PRIVATE include src test)
7619  TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7620  ADD_TEST(f32-vneg-test f32-vneg-test)
7621
7622  ADD_EXECUTABLE(f32-vrelu-test test/f32-vrelu.cc $<TARGET_OBJECTS:all_microkernels>)
7623  SET_TARGET_PROPERTIES(f32-vrelu-test PROPERTIES
7624    CXX_STANDARD 11
7625    CXX_STANDARD_REQUIRED YES
7626    CXX_EXTENSIONS YES)
7627  TARGET_INCLUDE_DIRECTORIES(f32-vrelu-test PRIVATE include src test)
7628  TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7629  ADD_TEST(f32-vrelu-test f32-vrelu-test)
7630
7631  ADD_EXECUTABLE(f32-vrndne-test test/f32-vrndne.cc $<TARGET_OBJECTS:all_microkernels>)
7632  SET_TARGET_PROPERTIES(f32-vrndne-test PROPERTIES
7633    CXX_STANDARD 11
7634    CXX_STANDARD_REQUIRED YES
7635    CXX_EXTENSIONS YES)
7636  TARGET_INCLUDE_DIRECTORIES(f32-vrndne-test PRIVATE include src test)
7637  TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7638  ADD_TEST(f32-vrndne-test f32-vrndne-test)
7639
7640  ADD_EXECUTABLE(f32-vrndz-test test/f32-vrndz.cc $<TARGET_OBJECTS:all_microkernels>)
7641  SET_TARGET_PROPERTIES(f32-vrndz-test PROPERTIES
7642    CXX_STANDARD 11
7643    CXX_STANDARD_REQUIRED YES
7644    CXX_EXTENSIONS YES)
7645  TARGET_INCLUDE_DIRECTORIES(f32-vrndz-test PRIVATE include src test)
7646  TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7647  ADD_TEST(f32-vrndz-test f32-vrndz-test)
7648
7649  ADD_EXECUTABLE(f32-vrndu-test test/f32-vrndu.cc $<TARGET_OBJECTS:all_microkernels>)
7650  SET_TARGET_PROPERTIES(f32-vrndu-test PROPERTIES
7651    CXX_STANDARD 11
7652    CXX_STANDARD_REQUIRED YES
7653    CXX_EXTENSIONS YES)
7654  TARGET_INCLUDE_DIRECTORIES(f32-vrndu-test PRIVATE include src test)
7655  TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7656  ADD_TEST(f32-vrndu-test f32-vrndu-test)
7657
7658  ADD_EXECUTABLE(f32-vrndd-test test/f32-vrndd.cc $<TARGET_OBJECTS:all_microkernels>)
7659  SET_TARGET_PROPERTIES(f32-vrndd-test PROPERTIES
7660    CXX_STANDARD 11
7661    CXX_STANDARD_REQUIRED YES
7662    CXX_EXTENSIONS YES)
7663  TARGET_INCLUDE_DIRECTORIES(f32-vrndd-test PRIVATE include src test)
7664  TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7665  ADD_TEST(f32-vrndd-test f32-vrndd-test)
7666
7667  ADD_EXECUTABLE(f32-vscaleexpminusmax-test test/f32-vscaleexpminusmax.cc $<TARGET_OBJECTS:all_microkernels>)
7668  SET_TARGET_PROPERTIES(f32-vscaleexpminusmax-test PROPERTIES
7669    CXX_STANDARD 11
7670    CXX_STANDARD_REQUIRED YES
7671    CXX_EXTENSIONS YES)
7672  TARGET_INCLUDE_DIRECTORIES(f32-vscaleexpminusmax-test PRIVATE include src test)
7673  TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7674  ADD_TEST(f32-vscaleexpminusmax-test f32-vscaleexpminusmax-test)
7675
7676  ADD_EXECUTABLE(f32-vscaleextexp-test test/f32-vscaleextexp.cc $<TARGET_OBJECTS:all_microkernels>)
7677  SET_TARGET_PROPERTIES(f32-vscaleextexp-test PROPERTIES
7678    CXX_STANDARD 11
7679    CXX_STANDARD_REQUIRED YES
7680    CXX_EXTENSIONS YES)
7681  TARGET_INCLUDE_DIRECTORIES(f32-vscaleextexp-test PRIVATE include src test)
7682  TARGET_LINK_LIBRARIES(f32-vscaleextexp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7683  ADD_TEST(f32-vscaleextexp-test f32-vscaleextexp-test)
7684
7685  ADD_EXECUTABLE(f32-vsigmoid-test test/f32-vsigmoid.cc $<TARGET_OBJECTS:all_microkernels>)
7686  SET_TARGET_PROPERTIES(f32-vsigmoid-test PROPERTIES
7687    CXX_STANDARD 11
7688    CXX_STANDARD_REQUIRED YES
7689    CXX_EXTENSIONS YES)
7690  TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-test PRIVATE include src test)
7691  TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7692  ADD_TEST(f32-vsigmoid-test f32-vsigmoid-test)
7693
7694  ADD_EXECUTABLE(f32-vsqr-test test/f32-vsqr.cc $<TARGET_OBJECTS:all_microkernels>)
7695  SET_TARGET_PROPERTIES(f32-vsqr-test PROPERTIES
7696    CXX_STANDARD 11
7697    CXX_STANDARD_REQUIRED YES
7698    CXX_EXTENSIONS YES)
7699  TARGET_INCLUDE_DIRECTORIES(f32-vsqr-test PRIVATE include src test)
7700  TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7701  ADD_TEST(f32-vsqr-test f32-vsqr-test)
7702
7703  ADD_EXECUTABLE(f32-vsqrdiff-test test/f32-vsqrdiff.cc $<TARGET_OBJECTS:all_microkernels>)
7704  SET_TARGET_PROPERTIES(f32-vsqrdiff-test PROPERTIES
7705    CXX_STANDARD 11
7706    CXX_STANDARD_REQUIRED YES
7707    CXX_EXTENSIONS YES)
7708  TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiff-test PRIVATE include src test)
7709  TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7710  ADD_TEST(f32-vsqrdiff-test f32-vsqrdiff-test)
7711
7712  ADD_EXECUTABLE(f32-vsqrdiffc-test test/f32-vsqrdiffc.cc $<TARGET_OBJECTS:all_microkernels>)
7713  SET_TARGET_PROPERTIES(f32-vsqrdiffc-test PROPERTIES
7714    CXX_STANDARD 11
7715    CXX_STANDARD_REQUIRED YES
7716    CXX_EXTENSIONS YES)
7717  TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiffc-test PRIVATE include src test)
7718  TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7719  ADD_TEST(f32-vsqrdiffc-test f32-vsqrdiffc-test)
7720
7721  ADD_EXECUTABLE(f32-vsqrt-test test/f32-vsqrt.cc $<TARGET_OBJECTS:all_microkernels>)
7722  SET_TARGET_PROPERTIES(f32-vsqrt-test PROPERTIES
7723    CXX_STANDARD 11
7724    CXX_STANDARD_REQUIRED YES
7725    CXX_EXTENSIONS YES)
7726  TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-test PRIVATE include src test)
7727  TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7728  ADD_TEST(f32-vsqrt-test f32-vsqrt-test)
7729
7730  ADD_EXECUTABLE(f32-vsub-test test/f32-vsub.cc $<TARGET_OBJECTS:all_microkernels>)
7731  SET_TARGET_PROPERTIES(f32-vsub-test PROPERTIES
7732    CXX_STANDARD 11
7733    CXX_STANDARD_REQUIRED YES
7734    CXX_EXTENSIONS YES)
7735  TARGET_INCLUDE_DIRECTORIES(f32-vsub-test PRIVATE include src test)
7736  TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7737  ADD_TEST(f32-vsub-test f32-vsub-test)
7738
7739  ADD_EXECUTABLE(f32-vsub-minmax-test test/f32-vsub-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7740  SET_TARGET_PROPERTIES(f32-vsub-minmax-test PROPERTIES
7741    CXX_STANDARD 11
7742    CXX_STANDARD_REQUIRED YES
7743    CXX_EXTENSIONS YES)
7744  TARGET_INCLUDE_DIRECTORIES(f32-vsub-minmax-test PRIVATE include src test)
7745  TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7746  ADD_TEST(f32-vsub-minmax-test f32-vsub-minmax-test)
7747
7748  ADD_EXECUTABLE(f32-vsub-relu-test test/f32-vsub-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7749  SET_TARGET_PROPERTIES(f32-vsub-relu-test PROPERTIES
7750    CXX_STANDARD 11
7751    CXX_STANDARD_REQUIRED YES
7752    CXX_EXTENSIONS YES)
7753  TARGET_INCLUDE_DIRECTORIES(f32-vsub-relu-test PRIVATE include src test)
7754  TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7755  ADD_TEST(f32-vsub-relu-test f32-vsub-relu-test)
7756
7757  ADD_EXECUTABLE(f32-vsubc-test test/f32-vsubc.cc $<TARGET_OBJECTS:all_microkernels>)
7758  SET_TARGET_PROPERTIES(f32-vsubc-test PROPERTIES
7759    CXX_STANDARD 11
7760    CXX_STANDARD_REQUIRED YES
7761    CXX_EXTENSIONS YES)
7762  TARGET_INCLUDE_DIRECTORIES(f32-vsubc-test PRIVATE include src test)
7763  TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7764  ADD_TEST(f32-vsubc-test f32-vsubc-test)
7765
7766  ADD_EXECUTABLE(f32-vsubc-minmax-test test/f32-vsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7767  SET_TARGET_PROPERTIES(f32-vsubc-minmax-test PROPERTIES
7768    CXX_STANDARD 11
7769    CXX_STANDARD_REQUIRED YES
7770    CXX_EXTENSIONS YES)
7771  TARGET_INCLUDE_DIRECTORIES(f32-vsubc-minmax-test PRIVATE include src test)
7772  TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7773  ADD_TEST(f32-vsubc-minmax-test f32-vsubc-minmax-test)
7774
7775  ADD_EXECUTABLE(f32-vsubc-relu-test test/f32-vsubc-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7776  SET_TARGET_PROPERTIES(f32-vsubc-relu-test PROPERTIES
7777    CXX_STANDARD 11
7778    CXX_STANDARD_REQUIRED YES
7779    CXX_EXTENSIONS YES)
7780  TARGET_INCLUDE_DIRECTORIES(f32-vsubc-relu-test PRIVATE include src test)
7781  TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7782  ADD_TEST(f32-vsubc-relu-test f32-vsubc-relu-test)
7783
7784  ADD_EXECUTABLE(f32-vrsubc-test test/f32-vrsubc.cc $<TARGET_OBJECTS:all_microkernels>)
7785  SET_TARGET_PROPERTIES(f32-vrsubc-test PROPERTIES
7786    CXX_STANDARD 11
7787    CXX_STANDARD_REQUIRED YES
7788    CXX_EXTENSIONS YES)
7789  TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-test PRIVATE include src test)
7790  TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7791  ADD_TEST(f32-vrsubc-test f32-vrsubc-test)
7792
7793  ADD_EXECUTABLE(f32-vrsubc-minmax-test test/f32-vrsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7794  SET_TARGET_PROPERTIES(f32-vrsubc-minmax-test PROPERTIES
7795    CXX_STANDARD 11
7796    CXX_STANDARD_REQUIRED YES
7797    CXX_EXTENSIONS YES)
7798  TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-minmax-test PRIVATE include src test)
7799  TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7800  ADD_TEST(f32-vrsubc-minmax-test f32-vrsubc-minmax-test)
7801
7802  ADD_EXECUTABLE(f32-vrsubc-relu-test test/f32-vrsubc-relu.cc $<TARGET_OBJECTS:all_microkernels>)
7803  SET_TARGET_PROPERTIES(f32-vrsubc-relu-test PROPERTIES
7804    CXX_STANDARD 11
7805    CXX_STANDARD_REQUIRED YES
7806    CXX_EXTENSIONS YES)
7807  TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-relu-test PRIVATE include src test)
7808  TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7809  ADD_TEST(f32-vrsubc-relu-test f32-vrsubc-relu-test)
7810
7811  ADD_EXECUTABLE(qc8-dwconv-minmax-fp32-test test/qc8-dwconv-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7812  SET_TARGET_PROPERTIES(qc8-dwconv-minmax-fp32-test PROPERTIES
7813    CXX_STANDARD 11
7814    CXX_STANDARD_REQUIRED YES
7815    CXX_EXTENSIONS YES)
7816  TARGET_INCLUDE_DIRECTORIES(qc8-dwconv-minmax-fp32-test PRIVATE include src test)
7817  TARGET_LINK_LIBRARIES(qc8-dwconv-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7818  ADD_TEST(qc8-dwconv-minmax-fp32-test qc8-dwconv-minmax-fp32-test)
7819
7820  ADD_EXECUTABLE(qc8-gemm-minmax-fp32-test test/qc8-gemm-minmax-fp32.cc test/qc8-gemm-minmax-fp32-2.cc test/qc8-gemm-minmax-fp32-3.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7821  SET_TARGET_PROPERTIES(qc8-gemm-minmax-fp32-test PROPERTIES
7822    CXX_STANDARD 11
7823    CXX_STANDARD_REQUIRED YES
7824    CXX_EXTENSIONS YES)
7825  TARGET_INCLUDE_DIRECTORIES(qc8-gemm-minmax-fp32-test PRIVATE include src test)
7826  TARGET_LINK_LIBRARIES(qc8-gemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main jit gemm-microkernel-tester)
7827  ADD_TEST(qc8-gemm-minmax-fp32-test qc8-gemm-minmax-fp32-test)
7828
7829  ADD_EXECUTABLE(qc8-igemm-minmax-fp32-test test/qc8-igemm-minmax-fp32.cc test/qc8-igemm-minmax-fp32-2.cc test/qc8-igemm-minmax-fp32-3.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7830  SET_TARGET_PROPERTIES(qc8-igemm-minmax-fp32-test PROPERTIES
7831    CXX_STANDARD 11
7832    CXX_STANDARD_REQUIRED YES
7833    CXX_EXTENSIONS YES)
7834  TARGET_INCLUDE_DIRECTORIES(qc8-igemm-minmax-fp32-test PRIVATE include src test)
7835  TARGET_LINK_LIBRARIES(qc8-igemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main jit gemm-microkernel-tester)
7836  ADD_TEST(qc8-igemm-minmax-fp32-test qc8-igemm-minmax-fp32-test)
7837
7838  ADD_EXECUTABLE(qs8-dwconv-minmax-fp32-test test/qs8-dwconv-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7839  SET_TARGET_PROPERTIES(qs8-dwconv-minmax-fp32-test PROPERTIES
7840    CXX_STANDARD 11
7841    CXX_STANDARD_REQUIRED YES
7842    CXX_EXTENSIONS YES)
7843  TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-minmax-fp32-test PRIVATE include src test)
7844  TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7845  ADD_TEST(qs8-dwconv-minmax-fp32-test qs8-dwconv-minmax-fp32-test)
7846
7847  ADD_EXECUTABLE(qs8-dwconv-minmax-rndnu-test test/qs8-dwconv-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7848  SET_TARGET_PROPERTIES(qs8-dwconv-minmax-rndnu-test PROPERTIES
7849    CXX_STANDARD 11
7850    CXX_STANDARD_REQUIRED YES
7851    CXX_EXTENSIONS YES)
7852  TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-minmax-rndnu-test PRIVATE include src test)
7853  TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7854  ADD_TEST(qs8-dwconv-minmax-rndnu-test qs8-dwconv-minmax-rndnu-test)
7855
7856  ADD_EXECUTABLE(qs8-f32-vcvt-test test/f32-f16-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
7857  SET_TARGET_PROPERTIES(qs8-f32-vcvt-test PROPERTIES
7858    CXX_STANDARD 11
7859    CXX_STANDARD_REQUIRED YES
7860    CXX_EXTENSIONS YES)
7861  TARGET_INCLUDE_DIRECTORIES(qs8-f32-vcvt-test PRIVATE include src test)
7862  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7863  ADD_TEST(qs8-f32-vcvt-test qs8-f32-vcvt-test)
7864
7865  ADD_EXECUTABLE(qs8-gavgpool-minmax-fp32-test test/qs8-gavgpool-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels>)
7866  SET_TARGET_PROPERTIES(qs8-gavgpool-minmax-fp32-test PROPERTIES
7867    CXX_STANDARD 11
7868    CXX_STANDARD_REQUIRED YES
7869    CXX_EXTENSIONS YES)
7870  TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-fp32-test PRIVATE include src test)
7871  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7872  ADD_TEST(qs8-gavgpool-minmax-fp32-test qs8-gavgpool-minmax-fp32-test)
7873
7874  ADD_EXECUTABLE(qs8-gavgpool-minmax-rndnu-test test/qs8-gavgpool-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels>)
7875  SET_TARGET_PROPERTIES(qs8-gavgpool-minmax-rndnu-test PROPERTIES
7876    CXX_STANDARD 11
7877    CXX_STANDARD_REQUIRED YES
7878    CXX_EXTENSIONS YES)
7879  TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-rndnu-test PRIVATE include src test)
7880  TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7881  ADD_TEST(qs8-gavgpool-minmax-rndnu-test qs8-gavgpool-minmax-rndnu-test)
7882
7883  ADD_EXECUTABLE(qs8-gemm-minmax-fp32-test test/qs8-gemm-minmax-fp32.cc test/qs8-gemm-minmax-fp32-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7884  SET_TARGET_PROPERTIES(qs8-gemm-minmax-fp32-test PROPERTIES
7885    CXX_STANDARD 11
7886    CXX_STANDARD_REQUIRED YES
7887    CXX_EXTENSIONS YES)
7888  TARGET_INCLUDE_DIRECTORIES(qs8-gemm-minmax-fp32-test PRIVATE include src test)
7889  TARGET_LINK_LIBRARIES(qs8-gemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7890  ADD_TEST(qs8-gemm-minmax-fp32-test qs8-gemm-minmax-fp32-test)
7891
7892  ADD_EXECUTABLE(qs8-gemm-minmax-rndnu-test test/qs8-gemm-minmax-rndnu.cc test/qs8-gemm-minmax-rndnu-2.cc test/qs8-gemm-minmax-rndnu-3.cc test/qs8-gemm-minmax-rndnu-4.cc test/qs8-gemm-minmax-rndnu-5.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7893  SET_TARGET_PROPERTIES(qs8-gemm-minmax-rndnu-test PROPERTIES
7894    CXX_STANDARD 11
7895    CXX_STANDARD_REQUIRED YES
7896    CXX_EXTENSIONS YES)
7897  TARGET_INCLUDE_DIRECTORIES(qs8-gemm-minmax-rndnu-test PRIVATE include src test)
7898  TARGET_LINK_LIBRARIES(qs8-gemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main jit gemm-microkernel-tester)
7899  ADD_TEST(qs8-gemm-minmax-rndnu-test qs8-gemm-minmax-rndnu-test)
7900
7901  ADD_EXECUTABLE(qs8-igemm-minmax-fp32-test test/qs8-igemm-minmax-fp32.cc test/qs8-igemm-minmax-fp32-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7902  SET_TARGET_PROPERTIES(qs8-igemm-minmax-fp32-test PROPERTIES
7903    CXX_STANDARD 11
7904    CXX_STANDARD_REQUIRED YES
7905    CXX_EXTENSIONS YES)
7906  TARGET_INCLUDE_DIRECTORIES(qs8-igemm-minmax-fp32-test PRIVATE include src test)
7907  TARGET_LINK_LIBRARIES(qs8-igemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
7908  ADD_TEST(qs8-igemm-minmax-fp32-test qs8-igemm-minmax-fp32-test)
7909
7910  ADD_EXECUTABLE(qs8-igemm-minmax-rndnu-test test/qs8-igemm-minmax-rndnu.cc test/qs8-igemm-minmax-rndnu-2.cc test/qs8-igemm-minmax-rndnu-3.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7911  SET_TARGET_PROPERTIES(qs8-igemm-minmax-rndnu-test PROPERTIES
7912    CXX_STANDARD 11
7913    CXX_STANDARD_REQUIRED YES
7914    CXX_EXTENSIONS YES)
7915  TARGET_INCLUDE_DIRECTORIES(qs8-igemm-minmax-rndnu-test PRIVATE include src test)
7916  TARGET_LINK_LIBRARIES(qs8-igemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main jit gemm-microkernel-tester)
7917  ADD_TEST(qs8-igemm-minmax-rndnu-test qs8-igemm-minmax-rndnu-test)
7918
7919  ADD_EXECUTABLE(qs8-requantization-test test/qs8-requantization.cc $<TARGET_OBJECTS:all_microkernels>)
7920  SET_TARGET_PROPERTIES(qs8-requantization-test PROPERTIES
7921    CXX_STANDARD 11
7922    CXX_STANDARD_REQUIRED YES
7923    CXX_EXTENSIONS YES)
7924  TARGET_INCLUDE_DIRECTORIES(qs8-requantization-test PRIVATE include src test)
7925  TARGET_LINK_LIBRARIES(qs8-requantization-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7926  ADD_TEST(qs8-requantization-test qs8-requantization-test)
7927
7928  ADD_EXECUTABLE(qs8-vadd-minmax-test test/qs8-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7929  SET_TARGET_PROPERTIES(qs8-vadd-minmax-test PROPERTIES
7930    CXX_STANDARD 11
7931    CXX_STANDARD_REQUIRED YES
7932    CXX_EXTENSIONS YES)
7933  TARGET_INCLUDE_DIRECTORIES(qs8-vadd-minmax-test PRIVATE include src test)
7934  TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7935  ADD_TEST(qs8-vadd-minmax-test qs8-vadd-minmax-test)
7936
7937  ADD_EXECUTABLE(qs8-vaddc-minmax-test test/qs8-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7938  SET_TARGET_PROPERTIES(qs8-vaddc-minmax-test PROPERTIES
7939    CXX_STANDARD 11
7940    CXX_STANDARD_REQUIRED YES
7941    CXX_EXTENSIONS YES)
7942  TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-minmax-test PRIVATE include src test)
7943  TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7944  ADD_TEST(qs8-vaddc-minmax-test qs8-vaddc-minmax-test)
7945
7946  ADD_EXECUTABLE(qs8-vmul-minmax-fp32-test test/qs8-vmul-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels>)
7947  SET_TARGET_PROPERTIES(qs8-vmul-minmax-fp32-test PROPERTIES
7948    CXX_STANDARD 11
7949    CXX_STANDARD_REQUIRED YES
7950    CXX_EXTENSIONS YES)
7951  TARGET_INCLUDE_DIRECTORIES(qs8-vmul-minmax-fp32-test PRIVATE include src test)
7952  TARGET_LINK_LIBRARIES(qs8-vmul-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7953  ADD_TEST(qs8-vmul-minmax-fp32-test qs8-vmul-minmax-fp32-test)
7954
7955  ADD_EXECUTABLE(qs8-vmulc-minmax-fp32-test test/qs8-vmulc-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels>)
7956  SET_TARGET_PROPERTIES(qs8-vmulc-minmax-fp32-test PROPERTIES
7957    CXX_STANDARD 11
7958    CXX_STANDARD_REQUIRED YES
7959    CXX_EXTENSIONS YES)
7960  TARGET_INCLUDE_DIRECTORIES(qs8-vmulc-minmax-fp32-test PRIVATE include src test)
7961  TARGET_LINK_LIBRARIES(qs8-vmulc-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7962  ADD_TEST(qs8-vmulc-minmax-fp32-test qs8-vmulc-minmax-fp32-test)
7963
7964  ADD_EXECUTABLE(qu8-avgpool-minmax-test test/qu8-avgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
7965  SET_TARGET_PROPERTIES(qu8-avgpool-minmax-test PROPERTIES
7966    CXX_STANDARD 11
7967    CXX_STANDARD_REQUIRED YES
7968    CXX_EXTENSIONS YES)
7969  TARGET_INCLUDE_DIRECTORIES(qu8-avgpool-minmax-test PRIVATE include src test)
7970  TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7971  ADD_TEST(qu8-avgpool-minmax-test qu8-avgpool-minmax-test)
7972
7973  ADD_EXECUTABLE(qu8-dwconv-minmax-fp32-test test/qu8-dwconv-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7974  SET_TARGET_PROPERTIES(qu8-dwconv-minmax-fp32-test PROPERTIES
7975    CXX_STANDARD 11
7976    CXX_STANDARD_REQUIRED YES
7977    CXX_EXTENSIONS YES)
7978  TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-minmax-fp32-test PRIVATE include src test)
7979  TARGET_LINK_LIBRARIES(qu8-dwconv-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7980  ADD_TEST(qu8-dwconv-minmax-fp32-test qu8-dwconv-minmax-fp32-test)
7981
7982  ADD_EXECUTABLE(qu8-dwconv-minmax-rndnu-test test/qu8-dwconv-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
7983  SET_TARGET_PROPERTIES(qu8-dwconv-minmax-rndnu-test PROPERTIES
7984    CXX_STANDARD 11
7985    CXX_STANDARD_REQUIRED YES
7986    CXX_EXTENSIONS YES)
7987  TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-minmax-rndnu-test PRIVATE include src test)
7988  TARGET_LINK_LIBRARIES(qu8-dwconv-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7989  ADD_TEST(qu8-dwconv-minmax-rndnu-test qu8-dwconv-minmax-rndnu-test)
7990
7991  ADD_EXECUTABLE(qu8-f32-vcvt-test test/f32-f16-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
7992  SET_TARGET_PROPERTIES(qu8-f32-vcvt-test PROPERTIES
7993    CXX_STANDARD 11
7994    CXX_STANDARD_REQUIRED YES
7995    CXX_EXTENSIONS YES)
7996  TARGET_INCLUDE_DIRECTORIES(qu8-f32-vcvt-test PRIVATE include src test)
7997  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
7998  ADD_TEST(qu8-f32-vcvt-test qu8-f32-vcvt-test)
7999
8000  ADD_EXECUTABLE(qu8-gavgpool-minmax-fp32-test test/qu8-gavgpool-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels>)
8001  SET_TARGET_PROPERTIES(qu8-gavgpool-minmax-fp32-test PROPERTIES
8002    CXX_STANDARD 11
8003    CXX_STANDARD_REQUIRED YES
8004    CXX_EXTENSIONS YES)
8005  TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-fp32-test PRIVATE include src test)
8006  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8007  ADD_TEST(qu8-gavgpool-minmax-fp32-test qu8-gavgpool-minmax-fp32-test)
8008
8009  ADD_EXECUTABLE(qu8-gavgpool-minmax-rndnu-test test/qu8-gavgpool-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels>)
8010  SET_TARGET_PROPERTIES(qu8-gavgpool-minmax-rndnu-test PROPERTIES
8011    CXX_STANDARD 11
8012    CXX_STANDARD_REQUIRED YES
8013    CXX_EXTENSIONS YES)
8014  TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-rndnu-test PRIVATE include src test)
8015  TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8016  ADD_TEST(qu8-gavgpool-minmax-rndnu-test qu8-gavgpool-minmax-rndnu-test)
8017
8018  ADD_EXECUTABLE(qu8-gemm-minmax-fp32-test test/qu8-gemm-minmax-fp32.cc test/qu8-gemm-minmax-fp32-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8019  SET_TARGET_PROPERTIES(qu8-gemm-minmax-fp32-test PROPERTIES
8020    CXX_STANDARD 11
8021    CXX_STANDARD_REQUIRED YES
8022    CXX_EXTENSIONS YES)
8023  TARGET_INCLUDE_DIRECTORIES(qu8-gemm-minmax-fp32-test PRIVATE include src test)
8024  TARGET_LINK_LIBRARIES(qu8-gemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
8025  ADD_TEST(qu8-gemm-minmax-fp32-test qu8-gemm-minmax-fp32-test)
8026
8027  ADD_EXECUTABLE(qu8-gemm-minmax-rndnu-test test/qu8-gemm-minmax-rndnu.cc test/qu8-gemm-minmax-rndnu-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8028  SET_TARGET_PROPERTIES(qu8-gemm-minmax-rndnu-test PROPERTIES
8029    CXX_STANDARD 11
8030    CXX_STANDARD_REQUIRED YES
8031    CXX_EXTENSIONS YES)
8032  TARGET_INCLUDE_DIRECTORIES(qu8-gemm-minmax-rndnu-test PRIVATE include src test)
8033  TARGET_LINK_LIBRARIES(qu8-gemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
8034  ADD_TEST(qu8-gemm-minmax-rndnu-test qu8-gemm-minmax-rndnu-test)
8035
8036  ADD_EXECUTABLE(qu8-igemm-minmax-fp32-test test/qu8-igemm-minmax-fp32.cc test/qu8-igemm-minmax-fp32-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8037  SET_TARGET_PROPERTIES(qu8-igemm-minmax-fp32-test PROPERTIES
8038    CXX_STANDARD 11
8039    CXX_STANDARD_REQUIRED YES
8040    CXX_EXTENSIONS YES)
8041  TARGET_INCLUDE_DIRECTORIES(qu8-igemm-minmax-fp32-test PRIVATE include src test)
8042  TARGET_LINK_LIBRARIES(qu8-igemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
8043  ADD_TEST(qu8-igemm-minmax-fp32-test qu8-igemm-minmax-fp32-test)
8044
8045  ADD_EXECUTABLE(qu8-igemm-minmax-rndnu-test test/qu8-igemm-minmax-rndnu.cc test/qu8-igemm-minmax-rndnu-2.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8046  SET_TARGET_PROPERTIES(qu8-igemm-minmax-rndnu-test PROPERTIES
8047    CXX_STANDARD 11
8048    CXX_STANDARD_REQUIRED YES
8049    CXX_EXTENSIONS YES)
8050  TARGET_INCLUDE_DIRECTORIES(qu8-igemm-minmax-rndnu-test PRIVATE include src test)
8051  TARGET_LINK_LIBRARIES(qu8-igemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main gemm-microkernel-tester)
8052  ADD_TEST(qu8-igemm-minmax-rndnu-test qu8-igemm-minmax-rndnu-test)
8053
8054  ADD_EXECUTABLE(qu8-requantization-test test/qu8-requantization.cc $<TARGET_OBJECTS:all_microkernels>)
8055  SET_TARGET_PROPERTIES(qu8-requantization-test PROPERTIES
8056    CXX_STANDARD 11
8057    CXX_STANDARD_REQUIRED YES
8058    CXX_EXTENSIONS YES)
8059  TARGET_INCLUDE_DIRECTORIES(qu8-requantization-test PRIVATE include src test)
8060  TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8061  ADD_TEST(qu8-requantization-test qu8-requantization-test)
8062
8063  ADD_EXECUTABLE(qu8-vadd-minmax-test test/qu8-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
8064  SET_TARGET_PROPERTIES(qu8-vadd-minmax-test PROPERTIES
8065    CXX_STANDARD 11
8066    CXX_STANDARD_REQUIRED YES
8067    CXX_EXTENSIONS YES)
8068  TARGET_INCLUDE_DIRECTORIES(qu8-vadd-minmax-test PRIVATE include src test)
8069  TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8070  ADD_TEST(qu8-vadd-minmax-test qu8-vadd-minmax-test)
8071
8072  ADD_EXECUTABLE(qu8-vaddc-minmax-test test/qu8-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
8073  SET_TARGET_PROPERTIES(qu8-vaddc-minmax-test PROPERTIES
8074    CXX_STANDARD 11
8075    CXX_STANDARD_REQUIRED YES
8076    CXX_EXTENSIONS YES)
8077  TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-minmax-test PRIVATE include src test)
8078  TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8079  ADD_TEST(qu8-vaddc-minmax-test qu8-vaddc-minmax-test)
8080
8081  ADD_EXECUTABLE(qu8-vmul-minmax-fp32-test test/qu8-vmul-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels>)
8082  SET_TARGET_PROPERTIES(qu8-vmul-minmax-fp32-test PROPERTIES
8083    CXX_STANDARD 11
8084    CXX_STANDARD_REQUIRED YES
8085    CXX_EXTENSIONS YES)
8086  TARGET_INCLUDE_DIRECTORIES(qu8-vmul-minmax-fp32-test PRIVATE include src test)
8087  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8088  ADD_TEST(qu8-vmul-minmax-fp32-test qu8-vmul-minmax-fp32-test)
8089
8090  ADD_EXECUTABLE(qu8-vmul-minmax-rndnu-test test/qu8-vmul-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels>)
8091  SET_TARGET_PROPERTIES(qu8-vmul-minmax-rndnu-test PROPERTIES
8092    CXX_STANDARD 11
8093    CXX_STANDARD_REQUIRED YES
8094    CXX_EXTENSIONS YES)
8095  TARGET_INCLUDE_DIRECTORIES(qu8-vmul-minmax-rndnu-test PRIVATE include src test)
8096  TARGET_LINK_LIBRARIES(qu8-vmul-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8097  ADD_TEST(qu8-vmul-minmax-rndnu-test qu8-vmul-minmax-rndnu-test)
8098
8099  ADD_EXECUTABLE(qu8-vmulc-minmax-fp32-test test/qu8-vmulc-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels>)
8100  SET_TARGET_PROPERTIES(qu8-vmulc-minmax-fp32-test PROPERTIES
8101    CXX_STANDARD 11
8102    CXX_STANDARD_REQUIRED YES
8103    CXX_EXTENSIONS YES)
8104  TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-minmax-fp32-test PRIVATE include src test)
8105  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8106  ADD_TEST(qu8-vmulc-minmax-fp32-test qu8-vmulc-minmax-fp32-test)
8107
8108  ADD_EXECUTABLE(qu8-vmulc-minmax-rndnu-test test/qu8-vmulc-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels>)
8109  SET_TARGET_PROPERTIES(qu8-vmulc-minmax-rndnu-test PROPERTIES
8110    CXX_STANDARD 11
8111    CXX_STANDARD_REQUIRED YES
8112    CXX_EXTENSIONS YES)
8113  TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-minmax-rndnu-test PRIVATE include src test)
8114  TARGET_LINK_LIBRARIES(qu8-vmulc-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8115  ADD_TEST(qu8-vmulc-minmax-rndnu-test qu8-vmulc-minmax-rndnu-test)
8116
8117  ADD_EXECUTABLE(s8-ibilinear-test test/s8-ibilinear.cc $<TARGET_OBJECTS:all_microkernels>)
8118  SET_TARGET_PROPERTIES(s8-ibilinear-test PROPERTIES
8119    CXX_STANDARD 11
8120    CXX_STANDARD_REQUIRED YES
8121    CXX_EXTENSIONS YES)
8122  TARGET_INCLUDE_DIRECTORIES(s8-ibilinear-test PRIVATE include src test)
8123  TARGET_LINK_LIBRARIES(s8-ibilinear-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8124  ADD_TEST(s8-ibilinear-test s8-ibilinear-test)
8125
8126  ADD_EXECUTABLE(s8-maxpool-minmax-test test/s8-maxpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
8127  SET_TARGET_PROPERTIES(s8-maxpool-minmax-test PROPERTIES
8128    CXX_STANDARD 11
8129    CXX_STANDARD_REQUIRED YES
8130    CXX_EXTENSIONS YES)
8131  TARGET_INCLUDE_DIRECTORIES(s8-maxpool-minmax-test PRIVATE include src test)
8132  TARGET_LINK_LIBRARIES(s8-maxpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8133  ADD_TEST(s8-maxpool-minmax-test s8-maxpool-minmax-test)
8134
8135  ADD_EXECUTABLE(s8-vclamp-test test/s8-vclamp.cc $<TARGET_OBJECTS:all_microkernels>)
8136  SET_TARGET_PROPERTIES(s8-vclamp-test PROPERTIES
8137    CXX_STANDARD 11
8138    CXX_STANDARD_REQUIRED YES
8139    CXX_EXTENSIONS YES)
8140  TARGET_INCLUDE_DIRECTORIES(s8-vclamp-test PRIVATE include src test)
8141  TARGET_LINK_LIBRARIES(s8-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8142  ADD_TEST(s8-vclamp-test s8-vclamp-test)
8143
8144  ADD_EXECUTABLE(u8-lut32norm-test test/u8-lut32norm.cc $<TARGET_OBJECTS:all_microkernels>)
8145  SET_TARGET_PROPERTIES(u8-lut32norm-test PROPERTIES
8146    CXX_STANDARD 11
8147    CXX_STANDARD_REQUIRED YES
8148    CXX_EXTENSIONS YES)
8149  TARGET_INCLUDE_DIRECTORIES(u8-lut32norm-test PRIVATE include src test)
8150  TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8151  ADD_TEST(u8-lut32norm-test u8-lut32norm-test)
8152
8153  ADD_EXECUTABLE(u8-ibilinear-test test/u8-ibilinear.cc $<TARGET_OBJECTS:all_microkernels>)
8154  SET_TARGET_PROPERTIES(u8-ibilinear-test PROPERTIES
8155    CXX_STANDARD 11
8156    CXX_STANDARD_REQUIRED YES
8157    CXX_EXTENSIONS YES)
8158  TARGET_INCLUDE_DIRECTORIES(u8-ibilinear-test PRIVATE include src test)
8159  TARGET_LINK_LIBRARIES(u8-ibilinear-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8160  ADD_TEST(u8-ibilinear-test u8-ibilinear-test)
8161
8162  ADD_EXECUTABLE(u8-maxpool-minmax-test test/u8-maxpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>)
8163  SET_TARGET_PROPERTIES(u8-maxpool-minmax-test PROPERTIES
8164    CXX_STANDARD 11
8165    CXX_STANDARD_REQUIRED YES
8166    CXX_EXTENSIONS YES)
8167  TARGET_INCLUDE_DIRECTORIES(u8-maxpool-minmax-test PRIVATE include src test)
8168  TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8169  ADD_TEST(u8-maxpool-minmax-test u8-maxpool-minmax-test)
8170
8171  ADD_EXECUTABLE(u8-rmax-test test/u8-rmax.cc $<TARGET_OBJECTS:all_microkernels>)
8172  SET_TARGET_PROPERTIES(u8-rmax-test PROPERTIES
8173    CXX_STANDARD 11
8174    CXX_STANDARD_REQUIRED YES
8175    CXX_EXTENSIONS YES)
8176  TARGET_INCLUDE_DIRECTORIES(u8-rmax-test PRIVATE include src test)
8177  TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8178  ADD_TEST(u8-rmax-test u8-rmax-test)
8179
8180  ADD_EXECUTABLE(u8-vclamp-test test/u8-vclamp.cc $<TARGET_OBJECTS:all_microkernels>)
8181  SET_TARGET_PROPERTIES(u8-vclamp-test PROPERTIES
8182    CXX_STANDARD 11
8183    CXX_STANDARD_REQUIRED YES
8184    CXX_EXTENSIONS YES)
8185  TARGET_INCLUDE_DIRECTORIES(u8-vclamp-test PRIVATE include src test)
8186  TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8187  ADD_TEST(u8-vclamp-test u8-vclamp-test)
8188
8189  ADD_EXECUTABLE(x8-transpose-test test/x8-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
8190  SET_TARGET_PROPERTIES(x8-transpose-test PROPERTIES
8191    CXX_STANDARD 11
8192    CXX_STANDARD_REQUIRED YES
8193    CXX_EXTENSIONS YES)
8194  TARGET_INCLUDE_DIRECTORIES(x8-transpose-test PRIVATE include src test)
8195  TARGET_LINK_LIBRARIES(x8-transpose-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8196  ADD_TEST(x8-transpose-test x8-transpose-test)
8197
8198  ADD_EXECUTABLE(x16-transpose-test test/x16-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
8199  SET_TARGET_PROPERTIES(x16-transpose-test PROPERTIES
8200    CXX_STANDARD 11
8201    CXX_STANDARD_REQUIRED YES
8202    CXX_EXTENSIONS YES)
8203  TARGET_INCLUDE_DIRECTORIES(x16-transpose-test PRIVATE include src test)
8204  TARGET_LINK_LIBRARIES(x16-transpose-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8205  ADD_TEST(x16-transpose-test x16-transpose-test)
8206
8207  ADD_EXECUTABLE(x32-packx-test test/x32-packx.cc $<TARGET_OBJECTS:all_microkernels>)
8208  SET_TARGET_PROPERTIES(x32-packx-test PROPERTIES
8209    CXX_STANDARD 11
8210    CXX_STANDARD_REQUIRED YES
8211    CXX_EXTENSIONS YES)
8212  TARGET_INCLUDE_DIRECTORIES(x32-packx-test PRIVATE include src test)
8213  TARGET_LINK_LIBRARIES(x32-packx-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8214  ADD_TEST(x32-packx-test x32-packx-test)
8215
8216  ADD_EXECUTABLE(x32-unpool-test test/x32-unpool.cc $<TARGET_OBJECTS:all_microkernels>)
8217  SET_TARGET_PROPERTIES(x32-unpool-test PROPERTIES
8218    CXX_STANDARD 11
8219    CXX_STANDARD_REQUIRED YES
8220    CXX_EXTENSIONS YES)
8221  TARGET_INCLUDE_DIRECTORIES(x32-unpool-test PRIVATE include src test)
8222  TARGET_LINK_LIBRARIES(x32-unpool-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8223  ADD_TEST(x32-unpool-test x32-unpool-test)
8224
8225  ADD_EXECUTABLE(x32-depthtospace2d-chw2hwc-test test/x32-depthtospace2d-chw2hwc.cc $<TARGET_OBJECTS:all_microkernels>)
8226  SET_TARGET_PROPERTIES(x32-depthtospace2d-chw2hwc-test PROPERTIES
8227    CXX_STANDARD 11
8228    CXX_STANDARD_REQUIRED YES
8229    CXX_EXTENSIONS YES)
8230  TARGET_INCLUDE_DIRECTORIES(x32-depthtospace2d-chw2hwc-test PRIVATE include src test)
8231  TARGET_LINK_LIBRARIES(x32-depthtospace2d-chw2hwc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8232  ADD_TEST(x32-depthtospace2d-chw2hwc-test x32-depthtospace2d-chw2hwc-test)
8233
8234  ADD_EXECUTABLE(x32-transpose-test test/x32-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
8235  SET_TARGET_PROPERTIES(x32-transpose-test PROPERTIES
8236    CXX_STANDARD 11
8237    CXX_STANDARD_REQUIRED YES
8238    CXX_EXTENSIONS YES)
8239  TARGET_INCLUDE_DIRECTORIES(x32-transpose-test PRIVATE include src test)
8240  TARGET_LINK_LIBRARIES(x32-transpose-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8241  ADD_TEST(x32-transpose-test x32-transpose-test)
8242
8243  ADD_EXECUTABLE(x32-zip-test test/x32-zip.cc $<TARGET_OBJECTS:all_microkernels>)
8244  SET_TARGET_PROPERTIES(x32-zip-test PROPERTIES
8245    CXX_STANDARD 11
8246    CXX_STANDARD_REQUIRED YES
8247    CXX_EXTENSIONS YES)
8248  TARGET_INCLUDE_DIRECTORIES(x32-zip-test PRIVATE include src test)
8249  TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8250  ADD_TEST(x32-zip-test x32-zip-test)
8251
8252  ADD_EXECUTABLE(x64-transpose-test test/x64-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
8253  SET_TARGET_PROPERTIES(x64-transpose-test PROPERTIES
8254    CXX_STANDARD 11
8255    CXX_STANDARD_REQUIRED YES
8256    CXX_EXTENSIONS YES)
8257  TARGET_INCLUDE_DIRECTORIES(x64-transpose-test PRIVATE include src test)
8258  TARGET_LINK_LIBRARIES(x64-transpose-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8259  ADD_TEST(x64-transpose-test x64-transpose-test)
8260
8261  ADD_EXECUTABLE(x8-lut-test test/x8-lut.cc $<TARGET_OBJECTS:all_microkernels>)
8262  SET_TARGET_PROPERTIES(x8-lut-test PROPERTIES
8263    CXX_STANDARD 11
8264    CXX_STANDARD_REQUIRED YES
8265    CXX_EXTENSIONS YES)
8266  TARGET_INCLUDE_DIRECTORIES(x8-lut-test PRIVATE include src test)
8267  TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8268  ADD_TEST(x8-lut-test x8-lut-test)
8269
8270  ADD_EXECUTABLE(x8-zip-test test/x8-zip.cc $<TARGET_OBJECTS:all_microkernels>)
8271  SET_TARGET_PROPERTIES(x8-zip-test PROPERTIES
8272    CXX_STANDARD 11
8273    CXX_STANDARD_REQUIRED YES
8274    CXX_EXTENSIONS YES)
8275  TARGET_INCLUDE_DIRECTORIES(x8-zip-test PRIVATE include src test)
8276  TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8277  ADD_TEST(x8-zip-test x8-zip-test)
8278
8279  ADD_EXECUTABLE(xx-fill-test test/xx-fill.cc $<TARGET_OBJECTS:all_microkernels>)
8280  SET_TARGET_PROPERTIES(xx-fill-test PROPERTIES
8281    CXX_STANDARD 11
8282    CXX_STANDARD_REQUIRED YES
8283    CXX_EXTENSIONS YES)
8284  TARGET_INCLUDE_DIRECTORIES(xx-fill-test PRIVATE include src test)
8285  TARGET_LINK_LIBRARIES(xx-fill-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8286  ADD_TEST(xx-fill-test xx-fill-test)
8287
8288  ADD_EXECUTABLE(xx-pad-test test/xx-pad.cc $<TARGET_OBJECTS:all_microkernels>)
8289  SET_TARGET_PROPERTIES(xx-pad-test PROPERTIES
8290    CXX_STANDARD 11
8291    CXX_STANDARD_REQUIRED YES
8292    CXX_EXTENSIONS YES)
8293  TARGET_INCLUDE_DIRECTORIES(xx-pad-test PRIVATE include src test)
8294  TARGET_LINK_LIBRARIES(xx-pad-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8295  ADD_TEST(xx-pad-test xx-pad-test)
8296
8297  ADD_EXECUTABLE(jit-test test/jit.cc)
8298  SET_TARGET_PROPERTIES(jit-test PROPERTIES
8299    CXX_STANDARD 11
8300    CXX_STANDARD_REQUIRED YES
8301    CXX_EXTENSIONS YES)
8302  TARGET_INCLUDE_DIRECTORIES(jit-test PRIVATE include src)
8303  TARGET_LINK_LIBRARIES(jit-test PRIVATE jit pthreadpool gtest gtest_main)
8304
8305  ADD_EXECUTABLE(aarch32-assembler-test test/aarch32-assembler.cc)
8306  SET_TARGET_PROPERTIES(aarch32-assembler-test PROPERTIES
8307    CXX_STANDARD 11
8308    CXX_STANDARD_REQUIRED YES
8309    CXX_EXTENSIONS YES)
8310  TARGET_INCLUDE_DIRECTORIES(aarch32-assembler-test PRIVATE include src)
8311  TARGET_LINK_LIBRARIES(aarch32-assembler-test PRIVATE jit pthreadpool gtest gtest_main)
8312
8313  ADD_EXECUTABLE(aarch64-assembler-test test/aarch64-assembler.cc)
8314  SET_TARGET_PROPERTIES(aarch64-assembler-test PROPERTIES
8315    CXX_STANDARD 11
8316    CXX_STANDARD_REQUIRED YES
8317    CXX_EXTENSIONS YES)
8318  TARGET_INCLUDE_DIRECTORIES(aarch64-assembler-test PRIVATE include src)
8319  TARGET_LINK_LIBRARIES(aarch64-assembler-test PRIVATE jit pthreadpool gtest gtest_main)
8320ENDIF()
8321
8322# ---[ XNNPACK microbenchmarks
8323IF(XNNPACK_BUILD_BENCHMARKS)
8324  # ---[ Build google benchmark
8325  IF(NOT TARGET benchmark)
8326    SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "")
8327    ADD_SUBDIRECTORY(
8328      "${GOOGLEBENCHMARK_SOURCE_DIR}"
8329      "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark")
8330  ENDIF()
8331
8332  ADD_LIBRARY(bench-utils bench/utils.cc)
8333  SET_TARGET_PROPERTIES(bench-utils PROPERTIES
8334    CXX_STANDARD 11
8335    CXX_STANDARD_REQUIRED YES
8336    CXX_EXTENSIONS NO)
8337  TARGET_INCLUDE_DIRECTORIES(bench-utils PRIVATE .)
8338  TARGET_INCLUDE_DIRECTORIES(bench-utils PUBLIC include src)
8339  TARGET_LINK_LIBRARIES(bench-utils PRIVATE XNNPACK benchmark cpuinfo jit)
8340
8341  # ---[ Build accuracy microbenchmarks
8342  ADD_EXECUTABLE(f32-exp-ulp-eval eval/f32-exp-ulp.cc $<TARGET_OBJECTS:all_microkernels>)
8343  SET_TARGET_PROPERTIES(f32-exp-ulp-eval PROPERTIES
8344    CXX_STANDARD 11
8345    CXX_STANDARD_REQUIRED YES
8346    CXX_EXTENSIONS NO)
8347  TARGET_INCLUDE_DIRECTORIES(f32-exp-ulp-eval PRIVATE . src)
8348  TARGET_LINK_LIBRARIES(f32-exp-ulp-eval PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8349
8350  ADD_EXECUTABLE(f32-expminus-ulp-eval eval/f32-expminus-ulp.cc $<TARGET_OBJECTS:all_microkernels>)
8351  SET_TARGET_PROPERTIES(f32-expminus-ulp-eval PROPERTIES
8352    CXX_STANDARD 11
8353    CXX_STANDARD_REQUIRED YES
8354    CXX_EXTENSIONS NO)
8355  TARGET_INCLUDE_DIRECTORIES(f32-expminus-ulp-eval PRIVATE . src)
8356  TARGET_LINK_LIBRARIES(f32-expminus-ulp-eval PRIVATE XNNPACK benchmark bench-utils cpuinfo fp16 pthreadpool)
8357
8358  ADD_EXECUTABLE(f32-expm1minus-ulp-eval eval/f32-expm1minus-ulp.cc $<TARGET_OBJECTS:all_microkernels>)
8359  SET_TARGET_PROPERTIES(f32-expm1minus-ulp-eval PROPERTIES
8360    CXX_STANDARD 11
8361    CXX_STANDARD_REQUIRED YES
8362    CXX_EXTENSIONS NO)
8363  TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-ulp-eval PRIVATE . src)
8364  TARGET_LINK_LIBRARIES(f32-expm1minus-ulp-eval PRIVATE XNNPACK benchmark bench-utils cpuinfo fp16 pthreadpool)
8365
8366  ADD_EXECUTABLE(f32-extexp-ulp-eval eval/f32-extexp-ulp.cc $<TARGET_OBJECTS:all_microkernels>)
8367  SET_TARGET_PROPERTIES(f32-extexp-ulp-eval PROPERTIES
8368    CXX_STANDARD 11
8369    CXX_STANDARD_REQUIRED YES
8370    CXX_EXTENSIONS YES)
8371  TARGET_INCLUDE_DIRECTORIES(f32-extexp-ulp-eval PRIVATE . src)
8372  TARGET_LINK_LIBRARIES(f32-extexp-ulp-eval PRIVATE XNNPACK benchmark bench-utils cpuinfo fp16 pthreadpool)
8373
8374  ADD_EXECUTABLE(f32-sigmoid-ulp-eval eval/f32-sigmoid-ulp.cc $<TARGET_OBJECTS:all_microkernels>)
8375  SET_TARGET_PROPERTIES(f32-sigmoid-ulp-eval PROPERTIES
8376    CXX_STANDARD 11
8377    CXX_STANDARD_REQUIRED YES
8378    CXX_EXTENSIONS NO)
8379  TARGET_INCLUDE_DIRECTORIES(f32-sigmoid-ulp-eval PRIVATE . src)
8380  TARGET_LINK_LIBRARIES(f32-sigmoid-ulp-eval PRIVATE XNNPACK benchmark bench-utils cpuinfo fp16 pthreadpool)
8381
8382  ADD_EXECUTABLE(f32-sqrt-ulp-eval eval/f32-sqrt-ulp.cc $<TARGET_OBJECTS:all_microkernels>)
8383  SET_TARGET_PROPERTIES(f32-sqrt-ulp-eval PROPERTIES
8384    CXX_STANDARD 11
8385    CXX_STANDARD_REQUIRED YES
8386    CXX_EXTENSIONS NO)
8387  TARGET_INCLUDE_DIRECTORIES(f32-sqrt-ulp-eval PRIVATE . src)
8388  TARGET_LINK_LIBRARIES(f32-sqrt-ulp-eval PRIVATE XNNPACK benchmark bench-utils cpuinfo fp16 pthreadpool)
8389
8390  # ---[ Build accuracy tests
8391  ADD_EXECUTABLE(f16-f32-cvt-eval eval/f16-f32-cvt.cc $<TARGET_OBJECTS:all_microkernels>)
8392  SET_TARGET_PROPERTIES(f16-f32-cvt-eval PROPERTIES
8393    CXX_STANDARD 11
8394    CXX_STANDARD_REQUIRED YES
8395    CXX_EXTENSIONS NO)
8396  TARGET_INCLUDE_DIRECTORIES(f16-f32-cvt-eval PRIVATE include src)
8397  TARGET_LINK_LIBRARIES(f16-f32-cvt-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8398
8399  ADD_EXECUTABLE(f32-f16-cvt-eval eval/f32-f16-cvt.cc $<TARGET_OBJECTS:all_microkernels>)
8400  SET_TARGET_PROPERTIES(f32-f16-cvt-eval PROPERTIES
8401    CXX_STANDARD 11
8402    CXX_STANDARD_REQUIRED YES
8403    CXX_EXTENSIONS NO)
8404  TARGET_INCLUDE_DIRECTORIES(f32-f16-cvt-eval PRIVATE include src)
8405  TARGET_LINK_LIBRARIES(f32-f16-cvt-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8406
8407  ADD_EXECUTABLE(f32-qs8-cvt-eval eval/f32-qs8-cvt.cc $<TARGET_OBJECTS:all_microkernels>)
8408  SET_TARGET_PROPERTIES(f32-qs8-cvt-eval PROPERTIES
8409    CXX_STANDARD 11
8410    CXX_STANDARD_REQUIRED YES
8411    CXX_EXTENSIONS NO)
8412  TARGET_INCLUDE_DIRECTORIES(f32-qs8-cvt-eval PRIVATE include src)
8413  TARGET_LINK_LIBRARIES(f32-qs8-cvt-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8414
8415  ADD_EXECUTABLE(f32-qu8-cvt-eval eval/f32-qu8-cvt.cc $<TARGET_OBJECTS:all_microkernels>)
8416  SET_TARGET_PROPERTIES(f32-qu8-cvt-eval PROPERTIES
8417    CXX_STANDARD 11
8418    CXX_STANDARD_REQUIRED YES
8419    CXX_EXTENSIONS NO)
8420  TARGET_INCLUDE_DIRECTORIES(f32-qu8-cvt-eval PRIVATE include src)
8421  TARGET_LINK_LIBRARIES(f32-qu8-cvt-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8422
8423  ADD_EXECUTABLE(f32-exp-eval eval/f32-exp.cc $<TARGET_OBJECTS:all_microkernels>)
8424  SET_TARGET_PROPERTIES(f32-exp-eval PROPERTIES
8425    CXX_STANDARD 11
8426    CXX_STANDARD_REQUIRED YES
8427    CXX_EXTENSIONS NO)
8428  TARGET_INCLUDE_DIRECTORIES(f32-exp-eval PRIVATE include src)
8429  TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8430
8431  ADD_EXECUTABLE(f32-expm1minus-eval eval/f32-expm1minus.cc $<TARGET_OBJECTS:all_microkernels>)
8432  SET_TARGET_PROPERTIES(f32-expm1minus-eval PROPERTIES
8433    CXX_STANDARD 11
8434    CXX_STANDARD_REQUIRED YES
8435    CXX_EXTENSIONS NO)
8436  TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-eval PRIVATE include src)
8437  TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8438
8439  ADD_EXECUTABLE(f32-expminus-eval eval/f32-expminus.cc $<TARGET_OBJECTS:all_microkernels>)
8440  SET_TARGET_PROPERTIES(f32-expminus-eval PROPERTIES
8441    CXX_STANDARD 11
8442    CXX_STANDARD_REQUIRED YES
8443    CXX_EXTENSIONS NO)
8444  TARGET_INCLUDE_DIRECTORIES(f32-expminus-eval PRIVATE include src)
8445  TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8446
8447  ADD_EXECUTABLE(f32-roundne-eval eval/f32-roundne.cc $<TARGET_OBJECTS:all_microkernels>)
8448  SET_TARGET_PROPERTIES(f32-roundne-eval PROPERTIES
8449    CXX_STANDARD 11
8450    CXX_STANDARD_REQUIRED YES
8451    CXX_EXTENSIONS NO)
8452  TARGET_INCLUDE_DIRECTORIES(f32-roundne-eval PRIVATE include src)
8453  TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8454
8455  ADD_EXECUTABLE(f32-roundd-eval eval/f32-roundd.cc $<TARGET_OBJECTS:all_microkernels>)
8456  SET_TARGET_PROPERTIES(f32-roundd-eval PROPERTIES
8457    CXX_STANDARD 11
8458    CXX_STANDARD_REQUIRED YES
8459    CXX_EXTENSIONS NO)
8460  TARGET_INCLUDE_DIRECTORIES(f32-roundd-eval PRIVATE include src)
8461  TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8462
8463  ADD_EXECUTABLE(f32-roundu-eval eval/f32-roundu.cc $<TARGET_OBJECTS:all_microkernels>)
8464  SET_TARGET_PROPERTIES(f32-roundu-eval PROPERTIES
8465    CXX_STANDARD 11
8466    CXX_STANDARD_REQUIRED YES
8467    CXX_EXTENSIONS NO)
8468  TARGET_INCLUDE_DIRECTORIES(f32-roundu-eval PRIVATE include src)
8469  TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8470
8471  ADD_EXECUTABLE(f32-roundz-eval eval/f32-roundz.cc $<TARGET_OBJECTS:all_microkernels>)
8472  SET_TARGET_PROPERTIES(f32-roundz-eval PROPERTIES
8473    CXX_STANDARD 11
8474    CXX_STANDARD_REQUIRED YES
8475    CXX_EXTENSIONS NO)
8476  TARGET_INCLUDE_DIRECTORIES(f32-roundz-eval PRIVATE include src)
8477  TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main)
8478
8479  # ---[ Build end-to-end microbenchmarks
8480  ADD_LIBRARY(bench-models STATIC
8481    models/fp16-mobilenet-v1.cc
8482    models/fp32-mobilenet-v1.cc
8483    models/qc8-mobilenet-v1.cc
8484    models/qc8-mobilenet-v2.cc
8485    models/qs8-mobilenet-v1.cc
8486    models/qs8-mobilenet-v2.cc
8487    models/qu8-mobilenet-v1.cc
8488    models/qu8-mobilenet-v2.cc
8489    models/fp16-mobilenet-v2.cc
8490    models/fp32-mobilenet-v2.cc
8491    models/fp16-mobilenet-v3-large.cc
8492    models/fp32-mobilenet-v3-large.cc
8493    models/fp16-mobilenet-v3-small.cc
8494    models/fp32-mobilenet-v3-small.cc
8495    models/fp32-sparse-mobilenet-v1.cc
8496    models/fp32-sparse-mobilenet-v2.cc
8497    models/fp32-sparse-mobilenet-v3-large.cc
8498    models/fp32-sparse-mobilenet-v3-small.cc)
8499  SET_TARGET_PROPERTIES(bench-models PROPERTIES
8500    CXX_STANDARD 11
8501    CXX_STANDARD_REQUIRED YES
8502    CXX_EXTENSIONS YES)
8503  TARGET_INCLUDE_DIRECTORIES(bench-models PRIVATE .)
8504  TARGET_LINK_LIBRARIES(bench-models PRIVATE XNNPACK fp16 benchmark bench-utils)
8505
8506  ADD_EXECUTABLE(end2end-bench bench/end2end.cc)
8507  SET_TARGET_PROPERTIES(end2end-bench PROPERTIES
8508    CXX_STANDARD 11
8509    CXX_STANDARD_REQUIRED YES
8510    CXX_EXTENSIONS NO)
8511  TARGET_INCLUDE_DIRECTORIES(end2end-bench PRIVATE .)
8512  TARGET_LINK_LIBRARIES(end2end-bench PRIVATE XNNPACK benchmark bench-models bench-utils)
8513
8514  ADD_EXECUTABLE(f32-dwconv-e2e-bench bench/f32-dwconv-e2e.cc $<TARGET_OBJECTS:all_microkernels>)
8515  SET_TARGET_PROPERTIES(f32-dwconv-e2e-bench PROPERTIES
8516    CXX_STANDARD 11
8517    CXX_STANDARD_REQUIRED YES
8518    CXX_EXTENSIONS NO)
8519  TARGET_INCLUDE_DIRECTORIES(f32-dwconv-e2e-bench PRIVATE . src)
8520  TARGET_LINK_LIBRARIES(f32-dwconv-e2e-bench PRIVATE XNNPACK benchmark bench-models bench-utils)
8521
8522  ADD_EXECUTABLE(f32-gemm-e2e-bench bench/f32-gemm-e2e.cc $<TARGET_OBJECTS:all_microkernels>)
8523  SET_TARGET_PROPERTIES(f32-gemm-e2e-bench PROPERTIES
8524    CXX_STANDARD 11
8525    CXX_STANDARD_REQUIRED YES
8526    CXX_EXTENSIONS YES)
8527  TARGET_INCLUDE_DIRECTORIES(f32-gemm-e2e-bench PRIVATE . src)
8528  TARGET_LINK_LIBRARIES(f32-gemm-e2e-bench PRIVATE XNNPACK fp16 benchmark bench-models bench-utils jit)
8529
8530  ADD_EXECUTABLE(qs8-dwconv-e2e-bench bench/qs8-dwconv-e2e.cc $<TARGET_OBJECTS:all_microkernels>)
8531  SET_TARGET_PROPERTIES(qs8-dwconv-e2e-bench PROPERTIES
8532    CXX_STANDARD 11
8533    CXX_STANDARD_REQUIRED YES
8534    CXX_EXTENSIONS YES)
8535  TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-e2e-bench PRIVATE . src)
8536  TARGET_LINK_LIBRARIES(qs8-dwconv-e2e-bench PRIVATE XNNPACK fp16 benchmark bench-models bench-utils)
8537
8538  ADD_EXECUTABLE(qs8-gemm-e2e-bench bench/qs8-gemm-e2e.cc $<TARGET_OBJECTS:all_microkernels>)
8539  SET_TARGET_PROPERTIES(qs8-gemm-e2e-bench PROPERTIES
8540    CXX_STANDARD 11
8541    CXX_STANDARD_REQUIRED YES
8542    CXX_EXTENSIONS YES)
8543  TARGET_INCLUDE_DIRECTORIES(qs8-gemm-e2e-bench PRIVATE . src)
8544  TARGET_LINK_LIBRARIES(qs8-gemm-e2e-bench PRIVATE XNNPACK fp16 benchmark bench-models bench-utils)
8545
8546  ADD_EXECUTABLE(qu8-gemm-e2e-bench bench/qu8-gemm-e2e.cc $<TARGET_OBJECTS:all_microkernels>)
8547  SET_TARGET_PROPERTIES(qu8-gemm-e2e-bench PROPERTIES
8548    CXX_STANDARD 11
8549    CXX_STANDARD_REQUIRED YES
8550    CXX_EXTENSIONS YES)
8551  TARGET_INCLUDE_DIRECTORIES(qu8-gemm-e2e-bench PRIVATE . src)
8552  TARGET_LINK_LIBRARIES(qu8-gemm-e2e-bench PRIVATE XNNPACK fp16 benchmark bench-models bench-utils)
8553
8554  ADD_EXECUTABLE(qu8-dwconv-e2e-bench bench/qu8-dwconv-e2e.cc $<TARGET_OBJECTS:all_microkernels>)
8555  SET_TARGET_PROPERTIES(qu8-dwconv-e2e-bench PROPERTIES
8556    CXX_STANDARD 11
8557    CXX_STANDARD_REQUIRED YES
8558    CXX_EXTENSIONS YES)
8559  TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-e2e-bench PRIVATE . src)
8560  TARGET_LINK_LIBRARIES(qu8-dwconv-e2e-bench PRIVATE XNNPACK fp16 benchmark bench-models bench-utils)
8561
8562  # ---[ Build operator-level microbenchmarks
8563  ADD_EXECUTABLE(abs-bench bench/abs.cc $<TARGET_OBJECTS:all_microkernels>)
8564  SET_TARGET_PROPERTIES(abs-bench PROPERTIES
8565    CXX_STANDARD 11
8566    CXX_STANDARD_REQUIRED YES
8567    CXX_EXTENSIONS NO)
8568  TARGET_INCLUDE_DIRECTORIES(abs-bench PRIVATE .)
8569  TARGET_LINK_LIBRARIES(abs-bench PRIVATE XNNPACK benchmark bench-utils)
8570
8571  ADD_EXECUTABLE(average-pooling-bench bench/average-pooling.cc $<TARGET_OBJECTS:all_microkernels>)
8572  SET_TARGET_PROPERTIES(average-pooling-bench PROPERTIES
8573    CXX_STANDARD 11
8574    CXX_STANDARD_REQUIRED YES
8575    CXX_EXTENSIONS NO)
8576  TARGET_INCLUDE_DIRECTORIES(average-pooling-bench PRIVATE .)
8577  TARGET_LINK_LIBRARIES(average-pooling-bench PRIVATE XNNPACK benchmark bench-utils)
8578
8579  ADD_EXECUTABLE(bankers-rounding-bench bench/bankers-rounding.cc $<TARGET_OBJECTS:all_microkernels>)
8580  SET_TARGET_PROPERTIES(bankers-rounding-bench PROPERTIES
8581    CXX_STANDARD 11
8582    CXX_STANDARD_REQUIRED YES
8583    CXX_EXTENSIONS NO)
8584  TARGET_INCLUDE_DIRECTORIES(bankers-rounding-bench PRIVATE .)
8585  TARGET_LINK_LIBRARIES(bankers-rounding-bench PRIVATE XNNPACK benchmark bench-utils)
8586
8587  ADD_EXECUTABLE(ceiling-bench bench/ceiling.cc $<TARGET_OBJECTS:all_microkernels>)
8588  SET_TARGET_PROPERTIES(ceiling-bench PROPERTIES
8589    CXX_STANDARD 11
8590    CXX_STANDARD_REQUIRED YES
8591    CXX_EXTENSIONS NO)
8592  TARGET_INCLUDE_DIRECTORIES(ceiling-bench PRIVATE .)
8593  TARGET_LINK_LIBRARIES(ceiling-bench PRIVATE XNNPACK benchmark bench-utils)
8594
8595  ADD_EXECUTABLE(channel-shuffle-bench bench/channel-shuffle.cc $<TARGET_OBJECTS:all_microkernels>)
8596  SET_TARGET_PROPERTIES(channel-shuffle-bench PROPERTIES
8597    CXX_STANDARD 11
8598    CXX_STANDARD_REQUIRED YES
8599    CXX_EXTENSIONS NO)
8600  TARGET_INCLUDE_DIRECTORIES(channel-shuffle-bench PRIVATE .)
8601  TARGET_LINK_LIBRARIES(channel-shuffle-bench PRIVATE XNNPACK benchmark bench-utils)
8602
8603  ADD_EXECUTABLE(convert-bench bench/convert.cc $<TARGET_OBJECTS:all_microkernels>)
8604  SET_TARGET_PROPERTIES(convert-bench PROPERTIES
8605    CXX_STANDARD 11
8606    CXX_STANDARD_REQUIRED YES
8607    CXX_EXTENSIONS NO)
8608  TARGET_INCLUDE_DIRECTORIES(convert-bench PRIVATE .)
8609  TARGET_LINK_LIBRARIES(convert-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
8610
8611  ADD_EXECUTABLE(convolution-bench bench/convolution.cc $<TARGET_OBJECTS:all_microkernels>)
8612  SET_TARGET_PROPERTIES(convolution-bench PROPERTIES
8613    CXX_STANDARD 11
8614    CXX_STANDARD_REQUIRED YES
8615    CXX_EXTENSIONS NO)
8616  TARGET_INCLUDE_DIRECTORIES(convolution-bench PRIVATE .)
8617  TARGET_LINK_LIBRARIES(convolution-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
8618
8619  ADD_EXECUTABLE(deconvolution-bench bench/deconvolution.cc $<TARGET_OBJECTS:all_microkernels>)
8620  SET_TARGET_PROPERTIES(deconvolution-bench PROPERTIES
8621    CXX_STANDARD 11
8622    CXX_STANDARD_REQUIRED YES
8623    CXX_EXTENSIONS NO)
8624  TARGET_INCLUDE_DIRECTORIES(deconvolution-bench PRIVATE .)
8625  TARGET_LINK_LIBRARIES(deconvolution-bench PRIVATE XNNPACK benchmark bench-utils)
8626
8627  ADD_EXECUTABLE(elu-bench bench/elu.cc $<TARGET_OBJECTS:all_microkernels>)
8628  SET_TARGET_PROPERTIES(elu-bench PROPERTIES
8629    CXX_STANDARD 11
8630    CXX_STANDARD_REQUIRED YES
8631    CXX_EXTENSIONS NO)
8632  TARGET_INCLUDE_DIRECTORIES(elu-bench PRIVATE .)
8633  TARGET_LINK_LIBRARIES(elu-bench PRIVATE XNNPACK benchmark bench-utils)
8634
8635  ADD_EXECUTABLE(floor-bench bench/floor.cc $<TARGET_OBJECTS:all_microkernels>)
8636  SET_TARGET_PROPERTIES(floor-bench PROPERTIES
8637    CXX_STANDARD 11
8638    CXX_STANDARD_REQUIRED YES
8639    CXX_EXTENSIONS NO)
8640  TARGET_INCLUDE_DIRECTORIES(floor-bench PRIVATE .)
8641  TARGET_LINK_LIBRARIES(floor-bench PRIVATE XNNPACK benchmark bench-utils)
8642
8643  ADD_EXECUTABLE(global-average-pooling-bench bench/global-average-pooling.cc $<TARGET_OBJECTS:all_microkernels>)
8644  SET_TARGET_PROPERTIES(global-average-pooling-bench PROPERTIES
8645    CXX_STANDARD 11
8646    CXX_STANDARD_REQUIRED YES
8647    CXX_EXTENSIONS NO)
8648  TARGET_INCLUDE_DIRECTORIES(global-average-pooling-bench PRIVATE .)
8649  TARGET_LINK_LIBRARIES(global-average-pooling-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
8650
8651  ADD_EXECUTABLE(hardswish-bench bench/hardswish.cc $<TARGET_OBJECTS:all_microkernels>)
8652  SET_TARGET_PROPERTIES(hardswish-bench PROPERTIES
8653    CXX_STANDARD 11
8654    CXX_STANDARD_REQUIRED YES
8655    CXX_EXTENSIONS NO)
8656  TARGET_INCLUDE_DIRECTORIES(hardswish-bench PRIVATE .)
8657  TARGET_LINK_LIBRARIES(hardswish-bench PRIVATE XNNPACK fp16 benchmark bench-utils)
8658
8659  ADD_EXECUTABLE(leaky-relu-bench bench/leaky-relu.cc $<TARGET_OBJECTS:all_microkernels>)
8660  SET_TARGET_PROPERTIES(leaky-relu-bench PROPERTIES
8661    CXX_STANDARD 11
8662    CXX_STANDARD_REQUIRED YES
8663    CXX_EXTENSIONS NO)
8664  TARGET_INCLUDE_DIRECTORIES(leaky-relu-bench PRIVATE .)
8665  TARGET_LINK_LIBRARIES(leaky-relu-bench PRIVATE XNNPACK benchmark bench-utils)
8666
8667  ADD_EXECUTABLE(max-pooling-bench bench/max-pooling.cc $<TARGET_OBJECTS:all_microkernels>)
8668  SET_TARGET_PROPERTIES(max-pooling-bench PROPERTIES
8669    CXX_STANDARD 11
8670    CXX_STANDARD_REQUIRED YES
8671    CXX_EXTENSIONS NO)
8672  TARGET_INCLUDE_DIRECTORIES(max-pooling-bench PRIVATE .)
8673  TARGET_LINK_LIBRARIES(max-pooling-bench PRIVATE XNNPACK benchmark bench-utils)
8674
8675  ADD_EXECUTABLE(negate-bench bench/negate.cc $<TARGET_OBJECTS:all_microkernels>)
8676  SET_TARGET_PROPERTIES(negate-bench PROPERTIES
8677    CXX_STANDARD 11
8678    CXX_STANDARD_REQUIRED YES
8679    CXX_EXTENSIONS NO)
8680  TARGET_INCLUDE_DIRECTORIES(negate-bench PRIVATE .)
8681  TARGET_LINK_LIBRARIES(negate-bench PRIVATE XNNPACK benchmark bench-utils)
8682
8683  ADD_EXECUTABLE(prelu-bench bench/prelu.cc $<TARGET_OBJECTS:all_microkernels>)
8684  SET_TARGET_PROPERTIES(prelu-bench PROPERTIES
8685    CXX_STANDARD 11
8686    CXX_STANDARD_REQUIRED YES
8687    CXX_EXTENSIONS NO)
8688  TARGET_INCLUDE_DIRECTORIES(prelu-bench PRIVATE .)
8689  TARGET_LINK_LIBRARIES(prelu-bench PRIVATE XNNPACK benchmark bench-utils)
8690
8691  ADD_EXECUTABLE(sigmoid-bench bench/sigmoid.cc $<TARGET_OBJECTS:all_microkernels>)
8692  SET_TARGET_PROPERTIES(sigmoid-bench PROPERTIES
8693    CXX_STANDARD 11
8694    CXX_STANDARD_REQUIRED YES
8695    CXX_EXTENSIONS NO)
8696  TARGET_INCLUDE_DIRECTORIES(sigmoid-bench PRIVATE .)
8697  TARGET_LINK_LIBRARIES(sigmoid-bench PRIVATE XNNPACK benchmark bench-utils)
8698
8699  ADD_EXECUTABLE(softmax-bench bench/softmax.cc $<TARGET_OBJECTS:all_microkernels>)
8700  SET_TARGET_PROPERTIES(softmax-bench PROPERTIES
8701    CXX_STANDARD 11
8702    CXX_STANDARD_REQUIRED YES
8703    CXX_EXTENSIONS NO)
8704  TARGET_INCLUDE_DIRECTORIES(softmax-bench PRIVATE .)
8705  TARGET_LINK_LIBRARIES(softmax-bench PRIVATE XNNPACK benchmark bench-utils)
8706
8707  ADD_EXECUTABLE(square-bench bench/square.cc $<TARGET_OBJECTS:all_microkernels>)
8708  SET_TARGET_PROPERTIES(square-bench PROPERTIES
8709    CXX_STANDARD 11
8710    CXX_STANDARD_REQUIRED YES
8711    CXX_EXTENSIONS NO)
8712  TARGET_INCLUDE_DIRECTORIES(square-bench PRIVATE .)
8713  TARGET_LINK_LIBRARIES(square-bench PRIVATE XNNPACK benchmark bench-utils)
8714
8715  ADD_EXECUTABLE(square-root-bench bench/square-root.cc $<TARGET_OBJECTS:all_microkernels>)
8716  SET_TARGET_PROPERTIES(square-root-bench PROPERTIES
8717    CXX_STANDARD 11
8718    CXX_STANDARD_REQUIRED YES
8719    CXX_EXTENSIONS NO)
8720  TARGET_INCLUDE_DIRECTORIES(square-root-bench PRIVATE .)
8721  TARGET_LINK_LIBRARIES(square-root-bench PRIVATE XNNPACK benchmark bench-utils)
8722
8723  ADD_EXECUTABLE(truncation-bench bench/truncation.cc $<TARGET_OBJECTS:all_microkernels>)
8724  SET_TARGET_PROPERTIES(truncation-bench PROPERTIES
8725    CXX_STANDARD 11
8726    CXX_STANDARD_REQUIRED YES
8727    CXX_EXTENSIONS NO)
8728  TARGET_INCLUDE_DIRECTORIES(truncation-bench PRIVATE .)
8729  TARGET_LINK_LIBRARIES(truncation-bench PRIVATE XNNPACK benchmark bench-utils)
8730
8731  # ---[ Build microkernel-level microbenchmarks
8732  ADD_EXECUTABLE(f16-dwconv-bench bench/f16-dwconv.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:indirection> $<TARGET_OBJECTS:packing>)
8733  SET_TARGET_PROPERTIES(f16-dwconv-bench PROPERTIES
8734    CXX_STANDARD 11
8735    CXX_STANDARD_REQUIRED YES
8736    CXX_EXTENSIONS YES)
8737  TARGET_INCLUDE_DIRECTORIES(f16-dwconv-bench PRIVATE . include src)
8738  TARGET_LINK_LIBRARIES(f16-dwconv-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8739
8740  ADD_EXECUTABLE(f16-gemm-bench bench/f16-gemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:indirection> $<TARGET_OBJECTS:packing>)
8741  SET_TARGET_PROPERTIES(f16-gemm-bench PROPERTIES
8742    CXX_STANDARD 11
8743    CXX_STANDARD_REQUIRED YES
8744    CXX_EXTENSIONS YES)
8745  TARGET_INCLUDE_DIRECTORIES(f16-gemm-bench PRIVATE . include src)
8746  TARGET_LINK_LIBRARIES(f16-gemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8747
8748  ADD_EXECUTABLE(f16-igemm-bench bench/f16-igemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:indirection> $<TARGET_OBJECTS:packing>)
8749  SET_TARGET_PROPERTIES(f16-igemm-bench PROPERTIES
8750    CXX_STANDARD 11
8751    CXX_STANDARD_REQUIRED YES
8752    CXX_EXTENSIONS YES)
8753  TARGET_INCLUDE_DIRECTORIES(f16-igemm-bench PRIVATE . include src)
8754  TARGET_LINK_LIBRARIES(f16-igemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8755
8756  ADD_EXECUTABLE(f16-f32-vcvt-bench bench/f16-f32-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
8757  SET_TARGET_PROPERTIES(f16-f32-vcvt-bench PROPERTIES
8758    CXX_STANDARD 11
8759    CXX_STANDARD_REQUIRED YES
8760    CXX_EXTENSIONS YES)
8761  TARGET_INCLUDE_DIRECTORIES(f16-f32-vcvt-bench PRIVATE . include src)
8762  TARGET_LINK_LIBRARIES(f16-f32-vcvt-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8763
8764  ADD_EXECUTABLE(f32-conv-hwc-bench bench/f32-conv-hwc.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8765  SET_TARGET_PROPERTIES(f32-conv-hwc-bench PROPERTIES
8766    CXX_STANDARD 11
8767    CXX_STANDARD_REQUIRED YES
8768    CXX_EXTENSIONS YES)
8769  TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-bench PRIVATE . include src)
8770  TARGET_LINK_LIBRARIES(f32-conv-hwc-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8771
8772  ADD_EXECUTABLE(f32-dwconv-bench bench/f32-dwconv.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:indirection> $<TARGET_OBJECTS:packing>)
8773  SET_TARGET_PROPERTIES(f32-dwconv-bench PROPERTIES
8774    CXX_STANDARD 11
8775    CXX_STANDARD_REQUIRED YES
8776    CXX_EXTENSIONS YES)
8777  TARGET_INCLUDE_DIRECTORIES(f32-dwconv-bench PRIVATE . include src)
8778  TARGET_LINK_LIBRARIES(f32-dwconv-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8779
8780  ADD_EXECUTABLE(f32-dwconv2d-chw-bench bench/f32-dwconv2d-chw.cc $<TARGET_OBJECTS:all_microkernels>)
8781  SET_TARGET_PROPERTIES(f32-dwconv2d-chw-bench PROPERTIES
8782    CXX_STANDARD 11
8783    CXX_STANDARD_REQUIRED YES
8784    CXX_EXTENSIONS YES)
8785  TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-bench PRIVATE . include src)
8786  TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8787
8788  ADD_EXECUTABLE(f32-f16-vcvt-bench bench/f32-f16-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
8789  SET_TARGET_PROPERTIES(f32-f16-vcvt-bench PROPERTIES
8790    CXX_STANDARD 11
8791    CXX_STANDARD_REQUIRED YES
8792    CXX_EXTENSIONS YES)
8793  TARGET_INCLUDE_DIRECTORIES(f32-f16-vcvt-bench PRIVATE . include src)
8794  TARGET_LINK_LIBRARIES(f32-f16-vcvt-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8795
8796  ADD_EXECUTABLE(f32-gemm-bench bench/f32-gemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8797  SET_TARGET_PROPERTIES(f32-gemm-bench PROPERTIES
8798    CXX_STANDARD 11
8799    CXX_STANDARD_REQUIRED YES
8800    CXX_EXTENSIONS YES)
8801  TARGET_INCLUDE_DIRECTORIES(f32-gemm-bench PRIVATE . include src)
8802  TARGET_LINK_LIBRARIES(f32-gemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8803
8804  ADD_EXECUTABLE(f32-igemm-bench bench/f32-igemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:indirection> $<TARGET_OBJECTS:packing>)
8805  SET_TARGET_PROPERTIES(f32-igemm-bench PROPERTIES
8806    CXX_STANDARD 11
8807    CXX_STANDARD_REQUIRED YES
8808    CXX_EXTENSIONS YES)
8809  TARGET_INCLUDE_DIRECTORIES(f32-igemm-bench PRIVATE . include src)
8810  TARGET_LINK_LIBRARIES(f32-igemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8811
8812  ADD_EXECUTABLE(f32-im2col-gemm-bench bench/f32-im2col-gemm.cc src/im2col.c $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8813  SET_TARGET_PROPERTIES(f32-im2col-gemm-bench PROPERTIES
8814    C_STANDARD 99
8815    C_STANDARD_REQUIRED YES
8816    C_EXTENSIONS NO
8817    CXX_STANDARD 11
8818    CXX_STANDARD_REQUIRED YES
8819    CXX_EXTENSIONS YES)
8820  TARGET_INCLUDE_DIRECTORIES(f32-im2col-gemm-bench PRIVATE . include src)
8821  TARGET_LINK_LIBRARIES(f32-im2col-gemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8822
8823  ADD_EXECUTABLE(f32-qs8-vcvt-bench bench/f32-qs8-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
8824  SET_TARGET_PROPERTIES(f32-qs8-vcvt-bench PROPERTIES
8825    CXX_STANDARD 11
8826    CXX_STANDARD_REQUIRED YES
8827    CXX_EXTENSIONS YES)
8828  TARGET_INCLUDE_DIRECTORIES(f32-qs8-vcvt-bench PRIVATE . include src)
8829  TARGET_LINK_LIBRARIES(f32-qs8-vcvt-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8830
8831  ADD_EXECUTABLE(f32-qu8-vcvt-bench bench/f32-qu8-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
8832  SET_TARGET_PROPERTIES(f32-qu8-vcvt-bench PROPERTIES
8833    CXX_STANDARD 11
8834    CXX_STANDARD_REQUIRED YES
8835    CXX_EXTENSIONS YES)
8836  TARGET_INCLUDE_DIRECTORIES(f32-qu8-vcvt-bench PRIVATE . include src)
8837  TARGET_LINK_LIBRARIES(f32-qu8-vcvt-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8838
8839  ADD_EXECUTABLE(f32-rmax-bench bench/f32-rmax.cc $<TARGET_OBJECTS:all_microkernels>)
8840  SET_TARGET_PROPERTIES(f32-rmax-bench PROPERTIES
8841    CXX_STANDARD 11
8842    CXX_STANDARD_REQUIRED YES
8843    CXX_EXTENSIONS YES)
8844  TARGET_INCLUDE_DIRECTORIES(f32-rmax-bench PRIVATE . include src)
8845  TARGET_LINK_LIBRARIES(f32-rmax-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8846
8847  ADD_EXECUTABLE(f32-spmm-bench bench/f32-spmm.cc $<TARGET_OBJECTS:all_microkernels>)
8848  SET_TARGET_PROPERTIES(f32-spmm-bench PROPERTIES
8849    CXX_STANDARD 11
8850    CXX_STANDARD_REQUIRED YES
8851    CXX_EXTENSIONS YES)
8852  TARGET_INCLUDE_DIRECTORIES(f32-spmm-bench PRIVATE . include src)
8853  TARGET_LINK_LIBRARIES(f32-spmm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8854
8855  ADD_EXECUTABLE(f32-softmax-bench bench/f32-softmax.cc $<TARGET_OBJECTS:all_microkernels>)
8856  SET_TARGET_PROPERTIES(f32-softmax-bench PROPERTIES
8857    CXX_STANDARD 11
8858    CXX_STANDARD_REQUIRED YES
8859    CXX_EXTENSIONS YES)
8860  TARGET_INCLUDE_DIRECTORIES(f32-softmax-bench PRIVATE . include src)
8861  TARGET_LINK_LIBRARIES(f32-softmax-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8862
8863  ADD_EXECUTABLE(f32-velu-bench bench/f32-velu.cc $<TARGET_OBJECTS:all_microkernels>)
8864  SET_TARGET_PROPERTIES(f32-velu-bench PROPERTIES
8865    CXX_STANDARD 11
8866    CXX_STANDARD_REQUIRED YES
8867    CXX_EXTENSIONS YES)
8868  TARGET_INCLUDE_DIRECTORIES(f32-velu-bench PRIVATE . include src)
8869  TARGET_LINK_LIBRARIES(f32-velu-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8870
8871  ADD_EXECUTABLE(f32-vhswish-bench bench/f32-vhswish.cc $<TARGET_OBJECTS:all_microkernels>)
8872  SET_TARGET_PROPERTIES(f32-vhswish-bench PROPERTIES
8873    CXX_STANDARD 11
8874    CXX_STANDARD_REQUIRED YES
8875    CXX_EXTENSIONS YES)
8876  TARGET_INCLUDE_DIRECTORIES(f32-vhswish-bench PRIVATE . include src)
8877  TARGET_LINK_LIBRARIES(f32-vhswish-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8878
8879  ADD_EXECUTABLE(f32-vlrelu-bench bench/f32-vlrelu.cc $<TARGET_OBJECTS:all_microkernels>)
8880  SET_TARGET_PROPERTIES(f32-vlrelu-bench PROPERTIES
8881    CXX_STANDARD 11
8882    CXX_STANDARD_REQUIRED YES
8883    CXX_EXTENSIONS YES)
8884  TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-bench PRIVATE . include src)
8885  TARGET_LINK_LIBRARIES(f32-vlrelu-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8886
8887  ADD_EXECUTABLE(f32-vrelu-bench bench/f32-vrelu.cc $<TARGET_OBJECTS:all_microkernels>)
8888  SET_TARGET_PROPERTIES(f32-vrelu-bench PROPERTIES
8889    CXX_STANDARD 11
8890    CXX_STANDARD_REQUIRED YES
8891    CXX_EXTENSIONS YES)
8892  TARGET_INCLUDE_DIRECTORIES(f32-vrelu-bench PRIVATE . include src)
8893  TARGET_LINK_LIBRARIES(f32-vrelu-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8894
8895  ADD_EXECUTABLE(f32-vsigmoid-bench bench/f32-vsigmoid.cc $<TARGET_OBJECTS:all_microkernels>)
8896  SET_TARGET_PROPERTIES(f32-vsigmoid-bench PROPERTIES
8897    CXX_STANDARD 11
8898    CXX_STANDARD_REQUIRED YES
8899    CXX_EXTENSIONS YES)
8900  TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-bench PRIVATE . include src)
8901  TARGET_LINK_LIBRARIES(f32-vsigmoid-bench PRIVATE benchmark bench-utils fp16 pthreadpool)
8902
8903  ADD_EXECUTABLE(f32-vsqrt-bench bench/f32-vsqrt.cc $<TARGET_OBJECTS:all_microkernels>)
8904  SET_TARGET_PROPERTIES(f32-vsqrt-bench PROPERTIES
8905    CXX_STANDARD 11
8906    CXX_STANDARD_REQUIRED YES
8907    CXX_EXTENSIONS YES)
8908  TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-bench PRIVATE . include src)
8909  TARGET_LINK_LIBRARIES(f32-vsqrt-bench PRIVATE benchmark bench-utils fp16 pthreadpool)
8910
8911  ADD_EXECUTABLE(qs8-dwconv-bench bench/qs8-dwconv.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:indirection> $<TARGET_OBJECTS:packing>)
8912  SET_TARGET_PROPERTIES(qs8-dwconv-bench PROPERTIES
8913    CXX_STANDARD 11
8914    CXX_STANDARD_REQUIRED YES
8915    CXX_EXTENSIONS YES)
8916  TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-bench PRIVATE . include src)
8917  TARGET_LINK_LIBRARIES(qs8-dwconv-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8918
8919  ADD_EXECUTABLE(qs8-f32-vcvt-bench bench/qs8-f32-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
8920  SET_TARGET_PROPERTIES(qs8-f32-vcvt-bench PROPERTIES
8921    CXX_STANDARD 11
8922    CXX_STANDARD_REQUIRED YES
8923    CXX_EXTENSIONS YES)
8924  TARGET_INCLUDE_DIRECTORIES(qs8-f32-vcvt-bench PRIVATE . include src)
8925  TARGET_LINK_LIBRARIES(qs8-f32-vcvt-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8926
8927  ADD_EXECUTABLE(qs8-gemm-bench bench/qs8-gemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8928  SET_TARGET_PROPERTIES(qs8-gemm-bench PROPERTIES
8929    CXX_STANDARD 11
8930    CXX_STANDARD_REQUIRED YES
8931    CXX_EXTENSIONS YES)
8932  TARGET_INCLUDE_DIRECTORIES(qs8-gemm-bench PRIVATE . include src)
8933  TARGET_LINK_LIBRARIES(qs8-gemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool jit)
8934
8935  ADD_EXECUTABLE(qs8-requantization-bench bench/qs8-requantization.cc $<TARGET_OBJECTS:all_microkernels>)
8936  SET_TARGET_PROPERTIES(qs8-requantization-bench PROPERTIES
8937    CXX_STANDARD 11
8938    CXX_STANDARD_REQUIRED YES
8939    CXX_EXTENSIONS YES)
8940  TARGET_INCLUDE_DIRECTORIES(qs8-requantization-bench PRIVATE . include src)
8941  TARGET_LINK_LIBRARIES(qs8-requantization-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8942
8943  ADD_EXECUTABLE(qs8-vadd-bench bench/qs8-vadd.cc $<TARGET_OBJECTS:all_microkernels>)
8944  SET_TARGET_PROPERTIES(qs8-vadd-bench PROPERTIES
8945    CXX_STANDARD 11
8946    CXX_STANDARD_REQUIRED YES
8947    CXX_EXTENSIONS YES)
8948  TARGET_INCLUDE_DIRECTORIES(qs8-vadd-bench PRIVATE . include src)
8949  TARGET_LINK_LIBRARIES(qs8-vadd-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8950
8951  ADD_EXECUTABLE(qs8-vaddc-bench bench/qs8-vaddc.cc $<TARGET_OBJECTS:all_microkernels>)
8952  SET_TARGET_PROPERTIES(qs8-vaddc-bench PROPERTIES
8953    CXX_STANDARD 11
8954    CXX_STANDARD_REQUIRED YES
8955    CXX_EXTENSIONS YES)
8956  TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-bench PRIVATE . include src)
8957  TARGET_LINK_LIBRARIES(qs8-vaddc-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8958
8959  ADD_EXECUTABLE(qs8-vmul-bench bench/qs8-vmul.cc $<TARGET_OBJECTS:all_microkernels>)
8960  SET_TARGET_PROPERTIES(qs8-vmul-bench PROPERTIES
8961    CXX_STANDARD 11
8962    CXX_STANDARD_REQUIRED YES
8963    CXX_EXTENSIONS YES)
8964  TARGET_INCLUDE_DIRECTORIES(qs8-vmul-bench PRIVATE . include src)
8965  TARGET_LINK_LIBRARIES(qs8-vmul-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8966
8967  ADD_EXECUTABLE(qs8-vmulc-bench bench/qs8-vmulc.cc $<TARGET_OBJECTS:all_microkernels>)
8968  SET_TARGET_PROPERTIES(qs8-vmulc-bench PROPERTIES
8969    CXX_STANDARD 11
8970    CXX_STANDARD_REQUIRED YES
8971    CXX_EXTENSIONS YES)
8972  TARGET_INCLUDE_DIRECTORIES(qs8-vmulc-bench PRIVATE . include src)
8973  TARGET_LINK_LIBRARIES(qs8-vmulc-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8974
8975  ADD_EXECUTABLE(qu8-f32-vcvt-bench bench/qu8-f32-vcvt.cc $<TARGET_OBJECTS:all_microkernels>)
8976  SET_TARGET_PROPERTIES(qu8-f32-vcvt-bench PROPERTIES
8977    CXX_STANDARD 11
8978    CXX_STANDARD_REQUIRED YES
8979    CXX_EXTENSIONS YES)
8980  TARGET_INCLUDE_DIRECTORIES(qu8-f32-vcvt-bench PRIVATE . include src)
8981  TARGET_LINK_LIBRARIES(qu8-f32-vcvt-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8982
8983  ADD_EXECUTABLE(qu8-gemm-bench bench/qu8-gemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>)
8984  SET_TARGET_PROPERTIES(qu8-gemm-bench PROPERTIES
8985    CXX_STANDARD 11
8986    CXX_STANDARD_REQUIRED YES
8987    CXX_EXTENSIONS YES)
8988  TARGET_INCLUDE_DIRECTORIES(qu8-gemm-bench PRIVATE . include src)
8989  TARGET_LINK_LIBRARIES(qu8-gemm-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8990
8991  ADD_EXECUTABLE(qu8-requantization-bench bench/qu8-requantization.cc $<TARGET_OBJECTS:all_microkernels>)
8992  SET_TARGET_PROPERTIES(qu8-requantization-bench PROPERTIES
8993    CXX_STANDARD 11
8994    CXX_STANDARD_REQUIRED YES
8995    CXX_EXTENSIONS YES)
8996  TARGET_INCLUDE_DIRECTORIES(qu8-requantization-bench PRIVATE . include src)
8997  TARGET_LINK_LIBRARIES(qu8-requantization-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
8998
8999  ADD_EXECUTABLE(qu8-vadd-bench bench/qu8-vadd.cc $<TARGET_OBJECTS:all_microkernels>)
9000  SET_TARGET_PROPERTIES(qu8-vadd-bench PROPERTIES
9001    CXX_STANDARD 11
9002    CXX_STANDARD_REQUIRED YES
9003    CXX_EXTENSIONS YES)
9004  TARGET_INCLUDE_DIRECTORIES(qu8-vadd-bench PRIVATE . include src)
9005  TARGET_LINK_LIBRARIES(qu8-vadd-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9006
9007  ADD_EXECUTABLE(qu8-vaddc-bench bench/qu8-vaddc.cc $<TARGET_OBJECTS:all_microkernels>)
9008  SET_TARGET_PROPERTIES(qu8-vaddc-bench PROPERTIES
9009    CXX_STANDARD 11
9010    CXX_STANDARD_REQUIRED YES
9011    CXX_EXTENSIONS YES)
9012  TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-bench PRIVATE . include src)
9013  TARGET_LINK_LIBRARIES(qu8-vaddc-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9014
9015  ADD_EXECUTABLE(qu8-vmul-bench bench/qu8-vmul.cc $<TARGET_OBJECTS:all_microkernels>)
9016  SET_TARGET_PROPERTIES(qu8-vmul-bench PROPERTIES
9017    CXX_STANDARD 11
9018    CXX_STANDARD_REQUIRED YES
9019    CXX_EXTENSIONS YES)
9020  TARGET_INCLUDE_DIRECTORIES(qu8-vmul-bench PRIVATE . include src)
9021  TARGET_LINK_LIBRARIES(qu8-vmul-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9022
9023  ADD_EXECUTABLE(qu8-vmulc-bench bench/qu8-vmulc.cc $<TARGET_OBJECTS:all_microkernels>)
9024  SET_TARGET_PROPERTIES(qu8-vmulc-bench PROPERTIES
9025    CXX_STANDARD 11
9026    CXX_STANDARD_REQUIRED YES
9027    CXX_EXTENSIONS YES)
9028  TARGET_INCLUDE_DIRECTORIES(qu8-vmulc-bench PRIVATE . include src)
9029  TARGET_LINK_LIBRARIES(qu8-vmulc-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9030
9031  ADD_EXECUTABLE(rounding-bench bench/rounding.cc $<TARGET_OBJECTS:all_microkernels>)
9032  SET_TARGET_PROPERTIES(rounding-bench PROPERTIES
9033    CXX_STANDARD 11
9034    CXX_STANDARD_REQUIRED YES
9035    CXX_EXTENSIONS YES)
9036  TARGET_INCLUDE_DIRECTORIES(rounding-bench PRIVATE . include src)
9037  TARGET_LINK_LIBRARIES(rounding-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9038
9039  ADD_EXECUTABLE(x8-lut-bench bench/x8-lut.cc $<TARGET_OBJECTS:all_microkernels>)
9040  SET_TARGET_PROPERTIES(x8-lut-bench PROPERTIES
9041    CXX_STANDARD 11
9042    CXX_STANDARD_REQUIRED YES
9043    CXX_EXTENSIONS YES)
9044  TARGET_INCLUDE_DIRECTORIES(x8-lut-bench PRIVATE . include src)
9045  TARGET_LINK_LIBRARIES(x8-lut-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9046
9047  ADD_EXECUTABLE(x8-transpose-bench bench/x32-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
9048  SET_TARGET_PROPERTIES(x8-transpose-bench PROPERTIES
9049    CXX_STANDARD 11
9050    CXX_STANDARD_REQUIRED YES
9051    CXX_EXTENSIONS YES)
9052  TARGET_INCLUDE_DIRECTORIES(x8-transpose-bench PRIVATE . include src)
9053  TARGET_LINK_LIBRARIES(x8-transpose-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9054
9055  ADD_EXECUTABLE(x16-transpose-bench bench/x16-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
9056  SET_TARGET_PROPERTIES(x16-transpose-bench PROPERTIES
9057    CXX_STANDARD 11
9058    CXX_STANDARD_REQUIRED YES
9059    CXX_EXTENSIONS YES)
9060  TARGET_INCLUDE_DIRECTORIES(x16-transpose-bench PRIVATE . include src)
9061  TARGET_LINK_LIBRARIES(x16-transpose-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9062
9063  ADD_EXECUTABLE(x32-transpose-bench bench/x32-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
9064  SET_TARGET_PROPERTIES(x32-transpose-bench PROPERTIES
9065    CXX_STANDARD 11
9066    CXX_STANDARD_REQUIRED YES
9067    CXX_EXTENSIONS YES)
9068  TARGET_INCLUDE_DIRECTORIES(x32-transpose-bench PRIVATE . include src)
9069  TARGET_LINK_LIBRARIES(x32-transpose-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9070
9071  ADD_EXECUTABLE(x64-transpose-bench bench/x32-transpose.cc $<TARGET_OBJECTS:all_microkernels>)
9072  SET_TARGET_PROPERTIES(x64-transpose-bench PROPERTIES
9073    CXX_STANDARD 11
9074    CXX_STANDARD_REQUIRED YES
9075    CXX_EXTENSIONS YES)
9076  TARGET_INCLUDE_DIRECTORIES(x64-transpose-bench PRIVATE . include src)
9077  TARGET_LINK_LIBRARIES(x64-transpose-bench PRIVATE benchmark bench-utils cpuinfo fp16 pthreadpool)
9078ENDIF()
9079