blob: 16b757e16fcbbee85ec498bbba9ba84dbb38a1ba [file] [log] [blame]
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_applicable_licenses: ["external_XNNPACK_license"],
}
// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
name: "external_XNNPACK_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-BSD",
],
license_text: [
"LICENSE",
],
}
OPERATOR_SRCS = [
"src/operators/argmax-pooling-nhwc.c",
"src/operators/average-pooling-nhwc.c",
"src/operators/binary-elementwise-nd.c",
"src/operators/channel-shuffle-nc.c",
"src/operators/constant-pad-nd.c",
"src/operators/convolution-nchw.c",
"src/operators/convolution-nhwc.c",
"src/operators/deconvolution-nhwc.c",
"src/operators/depth-to-space-nchw2nhwc.c",
"src/operators/depth-to-space-nhwc.c",
"src/operators/fully-connected-nc.c",
"src/operators/global-average-pooling-ncw.c",
"src/operators/global-average-pooling-nwc.c",
"src/operators/leaky-relu-nc.c",
"src/operators/max-pooling-nhwc.c",
"src/operators/prelu-nc.c",
"src/operators/resize-bilinear-nchw.c",
"src/operators/resize-bilinear-nhwc.c",
"src/operators/sigmoid-nc.c",
"src/operators/softmax-nc.c",
"src/operators/unary-elementwise-nc.c",
"src/operators/unpooling-nhwc.c",
]
LOGGING_SRCS = [
"src/operator-strings.c",
"src/subgraph-strings.c",
]
SUBGRAPH_SRCS = [
"src/subgraph/abs.c",
"src/subgraph/add2.c",
"src/subgraph/argmax-pooling-2d.c",
"src/subgraph/average-pooling-2d.c",
"src/subgraph/bankers-rounding.c",
"src/subgraph/ceiling.c",
"src/subgraph/clamp.c",
"src/subgraph/convolution-2d.c",
"src/subgraph/deconvolution-2d.c",
"src/subgraph/depth-to-space.c",
"src/subgraph/depthwise-convolution-2d.c",
"src/subgraph/divide.c",
"src/subgraph/elu.c",
"src/subgraph/floor.c",
"src/subgraph/fully-connected.c",
"src/subgraph/global-average-pooling-2d.c",
"src/subgraph/hardswish.c",
"src/subgraph/leaky-relu.c",
"src/subgraph/max-pooling-2d.c",
"src/subgraph/maximum2.c",
"src/subgraph/minimum2.c",
"src/subgraph/multiply2.c",
"src/subgraph/negate.c",
"src/subgraph/prelu.c",
"src/subgraph/sigmoid.c",
"src/subgraph/softmax.c",
"src/subgraph/square-root.c",
"src/subgraph/square.c",
"src/subgraph/squared-difference.c",
"src/subgraph/static-constant-pad.c",
"src/subgraph/static-reshape.c",
"src/subgraph/static-resize-bilinear-2d.c",
"src/subgraph/subtract.c",
"src/subgraph/unpooling-2d.c",
]
TABLE_SRCS = [
"src/tables/exp2-k-over-64.c",
"src/tables/exp2-k-over-2048.c",
"src/tables/exp2minus-k-over-4.c",
"src/tables/exp2minus-k-over-8.c",
"src/tables/exp2minus-k-over-16.c",
"src/tables/exp2minus-k-over-64.c",
"src/tables/exp2minus-k-over-2048.c",
]
SCALAR_UKERNELS = [
"src/f32-argmaxpool/4x-scalar-c1.c",
"src/f32-argmaxpool/9p8x-scalar-c1.c",
"src/f32-argmaxpool/9x-scalar-c1.c",
"src/f32-avgpool/9p8x-minmax-scalar-c1.c",
"src/f32-avgpool/9x-minmax-scalar-c1.c",
"src/f32-clamp/gen/scalar-x1.c",
"src/f32-clamp/gen/scalar-x2.c",
"src/f32-clamp/gen/scalar-x4.c",
"src/f32-conv-hwc/3x3s2p0p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc/3x3s2p1c3x4-scalar-1x1.c",
"src/f32-conv-hwc2chw/3x3s2p1c3x4-scalar-1x1.c",
"src/f32-dwconv/gen/up1x4-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/up1x4-minmax-scalar.c",
"src/f32-dwconv/gen/up1x4-scalar-acc2.c",
"src/f32-dwconv/gen/up1x4-scalar.c",
"src/f32-dwconv/gen/up1x9-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/up1x9-minmax-scalar.c",
"src/f32-dwconv/gen/up1x9-scalar-acc2.c",
"src/f32-dwconv/gen/up1x9-scalar.c",
"src/f32-dwconv/gen/up1x25-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/up1x25-minmax-scalar.c",
"src/f32-dwconv/gen/up1x25-scalar-acc2.c",
"src/f32-dwconv/gen/up1x25-scalar.c",
"src/f32-dwconv/gen/up2x4-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/up2x4-minmax-scalar.c",
"src/f32-dwconv/gen/up2x4-scalar-acc2.c",
"src/f32-dwconv/gen/up2x4-scalar.c",
"src/f32-dwconv/gen/up2x9-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/up2x9-minmax-scalar.c",
"src/f32-dwconv/gen/up2x9-scalar-acc2.c",
"src/f32-dwconv/gen/up2x9-scalar.c",
"src/f32-dwconv/gen/up2x25-minmax-scalar-acc2.c",
"src/f32-dwconv/gen/up2x25-minmax-scalar.c",
"src/f32-dwconv/gen/up2x25-scalar-acc2.c",
"src/f32-dwconv/gen/up2x25-scalar.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-1x1.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-2x1.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-3x1.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-4x1.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-5x1.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-scalar-6x1.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-1x1.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-2x1.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-3x1.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-scalar-4x1.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-1x1.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-2x1.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-scalar-3x1.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-1x1.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-2x1.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-scalar-3x1.c",
"src/f32-gavgpool-cw/scalar-x1.c",
"src/f32-gavgpool/7p7x-minmax-scalar-c1.c",
"src/f32-gavgpool/7x-minmax-scalar-c1.c",
"src/f32-gemm/gen-inc/1x4inc-minmax-scalar.c",
"src/f32-gemm/gen-inc/2x4inc-minmax-scalar.c",
"src/f32-gemm/gen-inc/4x4inc-minmax-scalar.c",
"src/f32-gemm/gen/1x4-minmax-scalar.c",
"src/f32-gemm/gen/1x4-relu-scalar.c",
"src/f32-gemm/gen/1x4-scalar.c",
"src/f32-gemm/gen/2x4-minmax-scalar.c",
"src/f32-gemm/gen/2x4-relu-scalar.c",
"src/f32-gemm/gen/2x4-scalar.c",
"src/f32-gemm/gen/4x2-minmax-scalar.c",
"src/f32-gemm/gen/4x2-relu-scalar.c",
"src/f32-gemm/gen/4x2-scalar.c",
"src/f32-gemm/gen/4x4-minmax-scalar.c",
"src/f32-gemm/gen/4x4-relu-scalar.c",
"src/f32-gemm/gen/4x4-scalar.c",
"src/f32-hswish/gen/hswish-scalar-x1.c",
"src/f32-hswish/gen/hswish-scalar-x2.c",
"src/f32-hswish/gen/hswish-scalar-x4.c",
"src/f32-ibilinear-chw/gen/scalar-p1.c",
"src/f32-ibilinear-chw/gen/scalar-p2.c",
"src/f32-ibilinear-chw/gen/scalar-p4.c",
"src/f32-ibilinear/gen/scalar-c1.c",
"src/f32-ibilinear/gen/scalar-c2.c",
"src/f32-ibilinear/gen/scalar-c4.c",
"src/f32-igemm/gen/1x4-minmax-scalar.c",
"src/f32-igemm/gen/1x4-relu-scalar.c",
"src/f32-igemm/gen/1x4-scalar.c",
"src/f32-igemm/gen/2x4-minmax-scalar.c",
"src/f32-igemm/gen/2x4-relu-scalar.c",
"src/f32-igemm/gen/2x4-scalar.c",
"src/f32-igemm/gen/4x2-minmax-scalar.c",
"src/f32-igemm/gen/4x2-relu-scalar.c",
"src/f32-igemm/gen/4x2-scalar.c",
"src/f32-igemm/gen/4x4-minmax-scalar.c",
"src/f32-igemm/gen/4x4-relu-scalar.c",
"src/f32-igemm/gen/4x4-scalar.c",
"src/f32-maxpool/9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/9p8x-minmax-scalar-c1.c",
"src/f32-pavgpool/9x-minmax-scalar-c1.c",
"src/f32-ppmm/gen/2x4-minmax-scalar.c",
"src/f32-ppmm/gen/3x3-minmax-scalar.c",
"src/f32-ppmm/gen/4x2-minmax-scalar.c",
"src/f32-ppmm/gen/4x4-minmax-scalar.c",
"src/f32-prelu/gen/scalar-2x1.c",
"src/f32-prelu/gen/scalar-2x4.c",
"src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x1.c",
"src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x2-acc2.c",
"src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x2.c",
"src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4-acc2.c",
"src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4-acc4.c",
"src/f32-raddstoreexpminusmax/gen/scalar-lut64-p2-x4.c",
"src/f32-raddstoreexpminusmax/gen/scalar-p5-x1.c",
"src/f32-raddstoreexpminusmax/gen/scalar-p5-x2-acc2.c",
"src/f32-raddstoreexpminusmax/gen/scalar-p5-x2.c",
"src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc2.c",
"src/f32-raddstoreexpminusmax/gen/scalar-p5-x4-acc4.c",
"src/f32-raddstoreexpminusmax/gen/scalar-p5-x4.c",
"src/f32-relu/gen/scalar-x1.c",
"src/f32-relu/gen/scalar-x2.c",
"src/f32-relu/gen/scalar-x4.c",
"src/f32-relu/gen/scalar-x8.c",
"src/f32-rmax/scalar.c",
"src/f32-sigmoid/gen/scalar-lut64-p2-div-x1.c",
"src/f32-sigmoid/gen/scalar-lut64-p2-div-x2.c",
"src/f32-sigmoid/gen/scalar-lut64-p2-div-x4.c",
"src/f32-sigmoid/gen/scalar-lut2048-p1-div-x1.c",
"src/f32-sigmoid/gen/scalar-lut2048-p1-div-x2.c",
"src/f32-sigmoid/gen/scalar-lut2048-p1-div-x4.c",
"src/f32-sigmoid/gen/scalar-p5-div-x1.c",
"src/f32-sigmoid/gen/scalar-p5-div-x2.c",
"src/f32-sigmoid/gen/scalar-p5-div-x4.c",
"src/f32-spmm/gen/1x1-minmax-scalar-pipelined.c",
"src/f32-spmm/gen/1x1-minmax-scalar.c",
"src/f32-spmm/gen/2x1-minmax-scalar-pipelined.c",
"src/f32-spmm/gen/2x1-minmax-scalar.c",
"src/f32-spmm/gen/4x1-minmax-scalar-pipelined.c",
"src/f32-spmm/gen/4x1-minmax-scalar.c",
"src/f32-spmm/gen/8x1-minmax-scalar-pipelined.c",
"src/f32-spmm/gen/8x1-minmax-scalar.c",
"src/f32-spmm/gen/8x2-minmax-scalar.c",
"src/f32-spmm/gen/8x4-minmax-scalar.c",
"src/f32-vbinary/gen/vadd-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vadd-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vadd-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vadd-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vadd-relu-scalar-x1.c",
"src/f32-vbinary/gen/vadd-relu-scalar-x2.c",
"src/f32-vbinary/gen/vadd-relu-scalar-x4.c",
"src/f32-vbinary/gen/vadd-relu-scalar-x8.c",
"src/f32-vbinary/gen/vadd-scalar-x1.c",
"src/f32-vbinary/gen/vadd-scalar-x2.c",
"src/f32-vbinary/gen/vadd-scalar-x4.c",
"src/f32-vbinary/gen/vadd-scalar-x8.c",
"src/f32-vbinary/gen/vaddc-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vaddc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vaddc-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vaddc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vaddc-relu-scalar-x1.c",
"src/f32-vbinary/gen/vaddc-relu-scalar-x2.c",
"src/f32-vbinary/gen/vaddc-relu-scalar-x4.c",
"src/f32-vbinary/gen/vaddc-relu-scalar-x8.c",
"src/f32-vbinary/gen/vaddc-scalar-x1.c",
"src/f32-vbinary/gen/vaddc-scalar-x2.c",
"src/f32-vbinary/gen/vaddc-scalar-x4.c",
"src/f32-vbinary/gen/vaddc-scalar-x8.c",
"src/f32-vbinary/gen/vdiv-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vdiv-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vdiv-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vdiv-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vdiv-relu-scalar-x1.c",
"src/f32-vbinary/gen/vdiv-relu-scalar-x2.c",
"src/f32-vbinary/gen/vdiv-relu-scalar-x4.c",
"src/f32-vbinary/gen/vdiv-relu-scalar-x8.c",
"src/f32-vbinary/gen/vdiv-scalar-x1.c",
"src/f32-vbinary/gen/vdiv-scalar-x2.c",
"src/f32-vbinary/gen/vdiv-scalar-x4.c",
"src/f32-vbinary/gen/vdiv-scalar-x8.c",
"src/f32-vbinary/gen/vdivc-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vdivc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vdivc-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vdivc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vdivc-relu-scalar-x1.c",
"src/f32-vbinary/gen/vdivc-relu-scalar-x2.c",
"src/f32-vbinary/gen/vdivc-relu-scalar-x4.c",
"src/f32-vbinary/gen/vdivc-relu-scalar-x8.c",
"src/f32-vbinary/gen/vdivc-scalar-x1.c",
"src/f32-vbinary/gen/vdivc-scalar-x2.c",
"src/f32-vbinary/gen/vdivc-scalar-x4.c",
"src/f32-vbinary/gen/vdivc-scalar-x8.c",
"src/f32-vbinary/gen/vmax-scalar-x1.c",
"src/f32-vbinary/gen/vmax-scalar-x2.c",
"src/f32-vbinary/gen/vmax-scalar-x4.c",
"src/f32-vbinary/gen/vmax-scalar-x8.c",
"src/f32-vbinary/gen/vmaxc-scalar-x1.c",
"src/f32-vbinary/gen/vmaxc-scalar-x2.c",
"src/f32-vbinary/gen/vmaxc-scalar-x4.c",
"src/f32-vbinary/gen/vmaxc-scalar-x8.c",
"src/f32-vbinary/gen/vmin-scalar-x1.c",
"src/f32-vbinary/gen/vmin-scalar-x2.c",
"src/f32-vbinary/gen/vmin-scalar-x4.c",
"src/f32-vbinary/gen/vmin-scalar-x8.c",
"src/f32-vbinary/gen/vminc-scalar-x1.c",
"src/f32-vbinary/gen/vminc-scalar-x2.c",
"src/f32-vbinary/gen/vminc-scalar-x4.c",
"src/f32-vbinary/gen/vminc-scalar-x8.c",
"src/f32-vbinary/gen/vmul-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vmul-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vmul-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vmul-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vmul-relu-scalar-x1.c",
"src/f32-vbinary/gen/vmul-relu-scalar-x2.c",
"src/f32-vbinary/gen/vmul-relu-scalar-x4.c",
"src/f32-vbinary/gen/vmul-relu-scalar-x8.c",
"src/f32-vbinary/gen/vmul-scalar-x1.c",
"src/f32-vbinary/gen/vmul-scalar-x2.c",
"src/f32-vbinary/gen/vmul-scalar-x4.c",
"src/f32-vbinary/gen/vmul-scalar-x8.c",
"src/f32-vbinary/gen/vmulc-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vmulc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vmulc-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vmulc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vmulc-relu-scalar-x1.c",
"src/f32-vbinary/gen/vmulc-relu-scalar-x2.c",
"src/f32-vbinary/gen/vmulc-relu-scalar-x4.c",
"src/f32-vbinary/gen/vmulc-relu-scalar-x8.c",
"src/f32-vbinary/gen/vmulc-scalar-x1.c",
"src/f32-vbinary/gen/vmulc-scalar-x2.c",
"src/f32-vbinary/gen/vmulc-scalar-x4.c",
"src/f32-vbinary/gen/vmulc-scalar-x8.c",
"src/f32-vbinary/gen/vrdivc-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vrdivc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vrdivc-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vrdivc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vrdivc-relu-scalar-x1.c",
"src/f32-vbinary/gen/vrdivc-relu-scalar-x2.c",
"src/f32-vbinary/gen/vrdivc-relu-scalar-x4.c",
"src/f32-vbinary/gen/vrdivc-relu-scalar-x8.c",
"src/f32-vbinary/gen/vrdivc-scalar-x1.c",
"src/f32-vbinary/gen/vrdivc-scalar-x2.c",
"src/f32-vbinary/gen/vrdivc-scalar-x4.c",
"src/f32-vbinary/gen/vrdivc-scalar-x8.c",
"src/f32-vbinary/gen/vrsubc-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vrsubc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vrsubc-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vrsubc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vrsubc-relu-scalar-x1.c",
"src/f32-vbinary/gen/vrsubc-relu-scalar-x2.c",
"src/f32-vbinary/gen/vrsubc-relu-scalar-x4.c",
"src/f32-vbinary/gen/vrsubc-relu-scalar-x8.c",
"src/f32-vbinary/gen/vrsubc-scalar-x1.c",
"src/f32-vbinary/gen/vrsubc-scalar-x2.c",
"src/f32-vbinary/gen/vrsubc-scalar-x4.c",
"src/f32-vbinary/gen/vrsubc-scalar-x8.c",
"src/f32-vbinary/gen/vsqrdiff-scalar-x1.c",
"src/f32-vbinary/gen/vsqrdiff-scalar-x2.c",
"src/f32-vbinary/gen/vsqrdiff-scalar-x4.c",
"src/f32-vbinary/gen/vsqrdiff-scalar-x8.c",
"src/f32-vbinary/gen/vsqrdiffc-scalar-x1.c",
"src/f32-vbinary/gen/vsqrdiffc-scalar-x2.c",
"src/f32-vbinary/gen/vsqrdiffc-scalar-x4.c",
"src/f32-vbinary/gen/vsqrdiffc-scalar-x8.c",
"src/f32-vbinary/gen/vsub-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vsub-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vsub-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vsub-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vsub-relu-scalar-x1.c",
"src/f32-vbinary/gen/vsub-relu-scalar-x2.c",
"src/f32-vbinary/gen/vsub-relu-scalar-x4.c",
"src/f32-vbinary/gen/vsub-relu-scalar-x8.c",
"src/f32-vbinary/gen/vsub-scalar-x1.c",
"src/f32-vbinary/gen/vsub-scalar-x2.c",
"src/f32-vbinary/gen/vsub-scalar-x4.c",
"src/f32-vbinary/gen/vsub-scalar-x8.c",
"src/f32-vbinary/gen/vsubc-minmax-scalar-x1.c",
"src/f32-vbinary/gen/vsubc-minmax-scalar-x2.c",
"src/f32-vbinary/gen/vsubc-minmax-scalar-x4.c",
"src/f32-vbinary/gen/vsubc-minmax-scalar-x8.c",
"src/f32-vbinary/gen/vsubc-relu-scalar-x1.c",
"src/f32-vbinary/gen/vsubc-relu-scalar-x2.c",
"src/f32-vbinary/gen/vsubc-relu-scalar-x4.c",
"src/f32-vbinary/gen/vsubc-relu-scalar-x8.c",
"src/f32-vbinary/gen/vsubc-scalar-x1.c",
"src/f32-vbinary/gen/vsubc-scalar-x2.c",
"src/f32-vbinary/gen/vsubc-scalar-x4.c",
"src/f32-vbinary/gen/vsubc-scalar-x8.c",
"src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x1.c",
"src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x2.c",
"src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x3.c",
"src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x4.c",
"src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x5.c",
"src/f32-velu/gen/velu-scalar-rr2-lut16-p3-x6.c",
"src/f32-velu/gen/velu-scalar-rr2-p6-x1.c",
"src/f32-velu/gen/velu-scalar-rr2-p6-x2.c",
"src/f32-velu/gen/velu-scalar-rr2-p6-x3.c",
"src/f32-velu/gen/velu-scalar-rr2-p6-x4.c",
"src/f32-velu/gen/velu-scalar-rr2-p6-x5.c",
"src/f32-velu/gen/velu-scalar-rr2-p6-x6.c",
"src/f32-vlrelu/gen/vlrelu-scalar-x1.c",
"src/f32-vlrelu/gen/vlrelu-scalar-x2.c",
"src/f32-vlrelu/gen/vlrelu-scalar-x4.c",
"src/f32-vmulcaddc/gen/c1-minmax-scalar-2x.c",
"src/f32-vmulcaddc/gen/c2-minmax-scalar-2x.c",
"src/f32-vmulcaddc/gen/c4-minmax-scalar-2x.c",
"src/f32-vrnd/gen/vrndd-scalar-libm-x1.c",
"src/f32-vrnd/gen/vrndd-scalar-libm-x2.c",
"src/f32-vrnd/gen/vrndd-scalar-libm-x4.c",
"src/f32-vrnd/gen/vrndne-scalar-libm-x1.c",
"src/f32-vrnd/gen/vrndne-scalar-libm-x2.c",
"src/f32-vrnd/gen/vrndne-scalar-libm-x4.c",
"src/f32-vrnd/gen/vrndu-scalar-libm-x1.c",
"src/f32-vrnd/gen/vrndu-scalar-libm-x2.c",
"src/f32-vrnd/gen/vrndu-scalar-libm-x4.c",
"src/f32-vrnd/gen/vrndz-scalar-libm-x1.c",
"src/f32-vrnd/gen/vrndz-scalar-libm-x2.c",
"src/f32-vrnd/gen/vrndz-scalar-libm-x4.c",
"src/f32-vsqrt/gen/scalar-sqrt-x1.c",
"src/f32-vsqrt/gen/scalar-sqrt-x2.c",
"src/f32-vsqrt/gen/scalar-sqrt-x4.c",
"src/f32-vunary/gen/vabs-scalar-x1.c",
"src/f32-vunary/gen/vabs-scalar-x2.c",
"src/f32-vunary/gen/vabs-scalar-x4.c",
"src/f32-vunary/gen/vneg-scalar-x1.c",
"src/f32-vunary/gen/vneg-scalar-x2.c",
"src/f32-vunary/gen/vneg-scalar-x4.c",
"src/f32-vunary/gen/vsqr-scalar-x1.c",
"src/f32-vunary/gen/vsqr-scalar-x2.c",
"src/f32-vunary/gen/vsqr-scalar-x4.c",
"src/math/expm1minus-scalar-rr2-lut4-p4.c",
"src/math/expm1minus-scalar-rr2-lut8-p3.c",
"src/math/expm1minus-scalar-rr2-lut8-p4.c",
"src/math/expm1minus-scalar-rr2-lut16-p3.c",
"src/math/expm1minus-scalar-rr2-lut16-p4.c",
"src/math/expm1minus-scalar-rr2-p5.c",
"src/math/expm1minus-scalar-rr2-p6.c",
"src/math/expminus-scalar-rr2-lut64-p2.c",
"src/math/expminus-scalar-rr2-lut2048-p1.c",
"src/math/expminus-scalar-rr2-p5.c",
"src/math/roundd-scalar-addsub.c",
"src/math/roundd-scalar-cvt.c",
"src/math/roundd-scalar-floor.c",
"src/math/roundne-scalar-addsub.c",
"src/math/roundne-scalar-nearbyint.c",
"src/math/roundne-scalar-rint.c",
"src/math/roundu-scalar-addsub.c",
"src/math/roundu-scalar-ceil.c",
"src/math/roundu-scalar-cvt.c",
"src/math/roundz-scalar-addsub.c",
"src/math/roundz-scalar-cvt.c",
"src/math/roundz-scalar-trunc.c",
"src/math/sigmoid-scalar-rr2-lut64-p2-div.c",
"src/math/sigmoid-scalar-rr2-lut2048-p1-div.c",
"src/math/sigmoid-scalar-rr2-p5-div.c",
"src/qs8-requantization/fp32-scalar-lrintf.c",
"src/qs8-requantization/fp32-scalar-magic.c",
"src/qs8-requantization/precise-scalar-signed64.c",
"src/qs8-requantization/precise-scalar-unsigned32.c",
"src/qs8-requantization/precise-scalar-unsigned64.c",
"src/qs8-requantization/q31-scalar.c",
"src/qu8-avgpool/9p8x-minmax-scalar-c1.c",
"src/qu8-avgpool/9x-minmax-scalar-c1.c",
"src/qu8-dwconv/up1x9-minmax-scalar.c",
"src/qu8-gavgpool/7p7x-minmax-scalar-c1.c",
"src/qu8-gavgpool/7x-minmax-scalar-c1.c",
"src/qu8-gemm/2x2-minmax-scalar.c",
"src/qu8-igemm/2x2-minmax-scalar.c",
"src/qu8-requantization/fp32-scalar-lrintf.c",
"src/qu8-requantization/fp32-scalar-magic.c",
"src/qu8-requantization/precise-scalar-signed64.c",
"src/qu8-requantization/precise-scalar-unsigned32.c",
"src/qu8-requantization/precise-scalar-unsigned64.c",
"src/qu8-requantization/q31-scalar.c",
"src/qu8-vadd/minmax-scalar.c",
"src/u8-clamp/scalar-x4.c",
"src/u8-lut32norm/scalar.c",
"src/u8-maxpool/9p8x-minmax-scalar-c1.c",
"src/u8-rmax/scalar.c",
"src/x8-lut/scalar.c",
"src/x8-zip/x2-scalar.c",
"src/x8-zip/x3-scalar.c",
"src/x8-zip/x4-scalar.c",
"src/x8-zip/xm-scalar.c",
"src/x32-depthtospace2d-chw2hwc/scalar.c",
"src/x32-fill/scalar-float.c",
"src/x32-fill/scalar-int.c",
"src/x32-packx/x2-scalar.c",
"src/x32-packx/x3-scalar.c",
"src/x32-packx/x4-scalar.c",
"src/x32-pad/scalar-float.c",
"src/x32-pad/scalar-int.c",
"src/x32-unpool/scalar.c",
"src/x32-zip/x2-scalar.c",
"src/x32-zip/x3-scalar.c",
"src/x32-zip/x4-scalar.c",
"src/x32-zip/xm-scalar.c",
"src/xx-copy/memcpy.c",
]
// ISA-specific micro-kernels
NEON_UKERNELS = [
"src/f32-argmaxpool/4x-neon-c4.c",
"src/f32-argmaxpool/9p8x-neon-c4.c",
"src/f32-argmaxpool/9x-neon-c4.c",
"src/f32-avgpool/9p8x-minmax-neon-c4.c",
"src/f32-avgpool/9x-minmax-neon-c4.c",
"src/f32-clamp/gen/neon-x4.c",
"src/f32-clamp/gen/neon-x8.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neon-2x2.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neon-2x2.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x4-neon-2x2.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x8-neon-2x2.c",
"src/f32-conv-hwc2chw/3x3s2p1c3x4-neon-2x2.c",
"src/f32-dwconv/gen/up4x4-minmax-neon-acc2.c",
"src/f32-dwconv/gen/up4x4-minmax-neon.c",
"src/f32-dwconv/gen/up4x9-minmax-neon-acc2.c",
"src/f32-dwconv/gen/up4x9-minmax-neon.c",
"src/f32-dwconv/gen/up4x25-minmax-neon-acc2.c",
"src/f32-dwconv/gen/up4x25-minmax-neon.c",
"src/f32-dwconv/gen/up8x4-minmax-neon-acc2.c",
"src/f32-dwconv/gen/up8x4-minmax-neon.c",
"src/f32-dwconv/gen/up8x9-minmax-neon-acc2.c",
"src/f32-dwconv/gen/up8x9-minmax-neon.c",
"src/f32-dwconv/gen/up8x25-minmax-neon-acc2.c",
"src/f32-dwconv/gen/up8x25-minmax-neon.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-4x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-5x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neon-6x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neon-4x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-1x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-2x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-3x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-4x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neon-5x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-1x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-2x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neon-3x4.c",
"src/f32-gavgpool-cw/neon-x4.c",
"src/f32-gavgpool/7p7x-minmax-neon-c4.c",
"src/f32-gavgpool/7x-minmax-neon-c4.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-neon-dup-ld64.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen-inc/1x8s4inc-minmax-neon.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld64.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neon-dup-ld128.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neon-lane-ld128.c",
"src/f32-gemm/gen-inc/4x8s4inc-minmax-neon.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld64.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neon-dup-ld128.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neon-lane-ld128.c",
"src/f32-gemm/gen-inc/6x8s4inc-minmax-neon.c",
"src/f32-gemm/gen-inc/8x8s4inc-minmax-neon.c",
"src/f32-gemm/gen/1x8-minmax-neon-dup-ld64.c",
"src/f32-gemm/gen/1x8-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/1x8s4-minmax-neon.c",
"src/f32-gemm/gen/4x2-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/4x8-minmax-neon-dup-ld64.c",
"src/f32-gemm/gen/4x8-minmax-neon-dup-ld128.c",
"src/f32-gemm/gen/4x8-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/4x8-minmax-neon-lane-ld128.c",
"src/f32-gemm/gen/4x8s4-minmax-neon.c",
"src/f32-gemm/gen/5x8-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/6x8-minmax-neon-dup-ld64.c",
"src/f32-gemm/gen/6x8-minmax-neon-dup-ld128.c",
"src/f32-gemm/gen/6x8-minmax-neon-lane-ld64.c",
"src/f32-gemm/gen/6x8-minmax-neon-lane-ld128.c",
"src/f32-gemm/gen/6x8s4-minmax-neon.c",
"src/f32-gemm/gen/8x8s4-minmax-neon.c",
"src/f32-hswish/gen/hswish-neon-x4.c",
"src/f32-hswish/gen/hswish-neon-x8.c",
"src/f32-hswish/gen/hswish-neon-x16.c",
"src/f32-ibilinear-chw/gen/neon-p4.c",
"src/f32-ibilinear-chw/gen/neon-p8.c",
"src/f32-ibilinear/gen/neon-c4.c",
"src/f32-ibilinear/gen/neon-c8.c",
"src/f32-igemm/gen/1x8-minmax-neon-dup-ld64.c",
"src/f32-igemm/gen/1x8-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/1x8s4-minmax-neon.c",
"src/f32-igemm/gen/4x2-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/4x4-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/4x8-minmax-neon-dup-ld64.c",
"src/f32-igemm/gen/4x8-minmax-neon-dup-ld128.c",
"src/f32-igemm/gen/4x8-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/4x8-minmax-neon-lane-ld128.c",
"src/f32-igemm/gen/4x8s4-minmax-neon.c",
"src/f32-igemm/gen/6x8-minmax-neon-dup-ld64.c",
"src/f32-igemm/gen/6x8-minmax-neon-dup-ld128.c",
"src/f32-igemm/gen/6x8-minmax-neon-lane-ld64.c",
"src/f32-igemm/gen/6x8-minmax-neon-lane-ld128.c",
"src/f32-igemm/gen/6x8s4-minmax-neon.c",
"src/f32-igemm/gen/8x8s4-minmax-neon.c",
"src/f32-maxpool/9p8x-minmax-neon-c4.c",
"src/f32-pavgpool/9p8x-minmax-neon-c4.c",
"src/f32-pavgpool/9x-minmax-neon-c4.c",
"src/f32-ppmm/gen/4x8-minmax-neon.c",
"src/f32-ppmm/gen/8x8-minmax-neon.c",
"src/f32-prelu/gen/neon-1x4.c",
"src/f32-prelu/gen/neon-1x8.c",
"src/f32-prelu/gen/neon-1x16.c",
"src/f32-prelu/gen/neon-2x4.c",
"src/f32-prelu/gen/neon-2x8.c",
"src/f32-prelu/gen/neon-2x16.c",
"src/f32-prelu/gen/neon-4x4.c",
"src/f32-prelu/gen/neon-4x8.c",
"src/f32-prelu/gen/neon-4x16.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x4.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x8.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12-acc3.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x12.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16-acc4.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x16.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20-acc5.c",
"src/f32-raddstoreexpminusmax/gen/neon-lut64-p2-x20.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x4.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x8-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x8.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x12-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x12-acc3.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x12.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x16-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x16-acc4.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x16.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x20-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x20-acc5.c",
"src/f32-raddstoreexpminusmax/gen/neon-p5-x20.c",
"src/f32-relu/gen/neon-x4.c",
"src/f32-relu/gen/neon-x8.c",
"src/f32-rmax/neon.c",
"src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x4.c",
"src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x8.c",
"src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x12.c",
"src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x16.c",
"src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x20.c",
"src/f32-sigmoid/gen/neon-rr2-lut64-p2-nr2recps-x24.c",
"src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x4.c",
"src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x8.c",
"src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x12.c",
"src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x16.c",
"src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x20.c",
"src/f32-sigmoid/gen/neon-rr2-lut2048-p1-nr2recps-x24.c",
"src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x4.c",
"src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x8.c",
"src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x12.c",
"src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x16.c",
"src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x20.c",
"src/f32-sigmoid/gen/neon-rr2-p5-nr2recps-x24.c",
"src/f32-spmm/gen/4x1-minmax-neon-pipelined.c",
"src/f32-spmm/gen/4x1-minmax-neon-x2.c",
"src/f32-spmm/gen/4x1-minmax-neon.c",
"src/f32-spmm/gen/8x1-minmax-neon-pipelined.c",
"src/f32-spmm/gen/8x1-minmax-neon-x2.c",
"src/f32-spmm/gen/8x1-minmax-neon.c",
"src/f32-spmm/gen/12x1-minmax-neon.c",
"src/f32-spmm/gen/16x1-minmax-neon-pipelined.c",
"src/f32-spmm/gen/16x1-minmax-neon-x2.c",
"src/f32-spmm/gen/16x1-minmax-neon.c",
"src/f32-spmm/gen/32x1-minmax-neon-pipelined.c",
"src/f32-spmm/gen/32x1-minmax-neon-x2.c",
"src/f32-spmm/gen/32x1-minmax-neon.c",
"src/f32-vbinary/gen/vadd-minmax-neon-x4.c",
"src/f32-vbinary/gen/vadd-minmax-neon-x8.c",
"src/f32-vbinary/gen/vaddc-minmax-neon-x4.c",
"src/f32-vbinary/gen/vaddc-minmax-neon-x8.c",
"src/f32-vbinary/gen/vmax-neon-x4.c",
"src/f32-vbinary/gen/vmax-neon-x8.c",
"src/f32-vbinary/gen/vmaxc-neon-x4.c",
"src/f32-vbinary/gen/vmaxc-neon-x8.c",
"src/f32-vbinary/gen/vmin-neon-x4.c",
"src/f32-vbinary/gen/vmin-neon-x8.c",
"src/f32-vbinary/gen/vminc-neon-x4.c",
"src/f32-vbinary/gen/vminc-neon-x8.c",
"src/f32-vbinary/gen/vmul-minmax-neon-x4.c",
"src/f32-vbinary/gen/vmul-minmax-neon-x8.c",
"src/f32-vbinary/gen/vmulc-minmax-neon-x4.c",
"src/f32-vbinary/gen/vmulc-minmax-neon-x8.c",
"src/f32-vbinary/gen/vrsubc-minmax-neon-x4.c",
"src/f32-vbinary/gen/vrsubc-minmax-neon-x8.c",
"src/f32-vbinary/gen/vsqrdiff-neon-x4.c",
"src/f32-vbinary/gen/vsqrdiff-neon-x8.c",
"src/f32-vbinary/gen/vsqrdiffc-neon-x4.c",
"src/f32-vbinary/gen/vsqrdiffc-neon-x8.c",
"src/f32-vbinary/gen/vsub-minmax-neon-x4.c",
"src/f32-vbinary/gen/vsub-minmax-neon-x8.c",
"src/f32-vbinary/gen/vsubc-minmax-neon-x4.c",
"src/f32-vbinary/gen/vsubc-minmax-neon-x8.c",
"src/f32-velu/gen/velu-neon-rr2-lut16-p3-x4.c",
"src/f32-velu/gen/velu-neon-rr2-lut16-p3-x8.c",
"src/f32-velu/gen/velu-neon-rr2-lut16-p3-x12.c",
"src/f32-velu/gen/velu-neon-rr2-lut16-p3-x16.c",
"src/f32-velu/gen/velu-neon-rr2-lut16-p3-x20.c",
"src/f32-velu/gen/velu-neon-rr2-lut16-p3-x24.c",
"src/f32-velu/gen/velu-neon-rr2-p6-x4.c",
"src/f32-velu/gen/velu-neon-rr2-p6-x8.c",
"src/f32-velu/gen/velu-neon-rr2-p6-x12.c",
"src/f32-velu/gen/velu-neon-rr2-p6-x16.c",
"src/f32-velu/gen/velu-neon-rr2-p6-x20.c",
"src/f32-velu/gen/velu-neon-rr2-p6-x24.c",
"src/f32-vlrelu/gen/vlrelu-neon-x4.c",
"src/f32-vlrelu/gen/vlrelu-neon-x8.c",
"src/f32-vmulcaddc/gen/c4-minmax-neon-2x.c",
"src/f32-vmulcaddc/gen/c8-minmax-neon-2x.c",
"src/f32-vrnd/gen/vrndd-neon-x4.c",
"src/f32-vrnd/gen/vrndd-neon-x8.c",
"src/f32-vrnd/gen/vrndne-neon-x4.c",
"src/f32-vrnd/gen/vrndne-neon-x8.c",
"src/f32-vrnd/gen/vrndu-neon-x4.c",
"src/f32-vrnd/gen/vrndu-neon-x8.c",
"src/f32-vrnd/gen/vrndz-neon-x4.c",
"src/f32-vrnd/gen/vrndz-neon-x8.c",
"src/f32-vunary/gen/vabs-neon-x4.c",
"src/f32-vunary/gen/vabs-neon-x8.c",
"src/f32-vunary/gen/vneg-neon-x4.c",
"src/f32-vunary/gen/vneg-neon-x8.c",
"src/f32-vunary/gen/vsqr-neon-x4.c",
"src/f32-vunary/gen/vsqr-neon-x8.c",
"src/math/expm1minus-neon-rr2-lut16-p3.c",
"src/math/expm1minus-neon-rr2-p6.c",
"src/math/roundd-neon-addsub.c",
"src/math/roundd-neon-cvt.c",
"src/math/roundne-neon-addsub.c",
"src/math/roundu-neon-addsub.c",
"src/math/roundu-neon-cvt.c",
"src/math/roundz-neon-addsub.c",
"src/math/roundz-neon-cvt.c",
"src/math/sigmoid-neon-rr2-lut64-p2-nr2recps.c",
"src/math/sigmoid-neon-rr2-lut2048-p1-nr2recps.c",
"src/math/sigmoid-neon-rr2-p5-nr2recps.c",
"src/math/sqrt-neon-nr1rsqrts.c",
"src/math/sqrt-neon-nr2rsqrts.c",
"src/math/sqrt-neon-nr3rsqrts.c",
"src/qs8-dwconv/gen/up8x9-minmax-neon-mul16.c",
"src/qs8-dwconv/gen/up16x9-minmax-neon-mul16.c",
"src/qs8-dwconv/gen/up24x9-minmax-neon-mul16.c",
"src/qs8-dwconv/gen/up32x9-minmax-neon-mul16.c",
"src/qs8-gavgpool/gen/7p7x-minmax-neon-c8-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-neon-c16-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-neon-c24-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-neon-c32-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-neon-c8-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-neon-c16-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-neon-c24-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-neon-c32-acc2.c",
"src/qs8-gemm/gen/1x8-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/1x8-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/1x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/1x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/1x8c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/1x8c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/1x8c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/1x16-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/1x16-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/1x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/1x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/1x16c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/1x16c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/1x16c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/2x8-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/2x8-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/2x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/2x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/2x8c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/2x8c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/2x8c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/2x16-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/2x16-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/2x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/2x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/2x16c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/2x16c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/2x16c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/3x8-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/3x8-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/3x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/3x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/3x8c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/3x8c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/3x8c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/3x16-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/3x16-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/3x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/3x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/3x16c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/3x16c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/3x16c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/4x8-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/4x8-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/4x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/4x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/4x8c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/4x8c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/4x8c16-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/4x16-minmax-neon-mlal-lane.c",
"src/qs8-gemm/gen/4x16-minmax-neon-mull-addw-dup.c",
"src/qs8-gemm/gen/4x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-gemm/gen/4x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-gemm/gen/4x16c8-minmax-neon-mlal-padal.c",
"src/qs8-gemm/gen/4x16c8-minmax-neon-mull-padal.c",
"src/qs8-gemm/gen/4x16c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/1x8-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/1x8-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/1x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/1x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/1x8c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/1x8c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/1x8c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/1x16-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/1x16-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/1x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/1x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/1x16c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/1x16c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/1x16c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/2x8-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/2x8-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/2x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/2x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/2x8c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/2x8c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/2x8c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/2x16-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/2x16-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/2x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/2x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/2x16c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/2x16c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/2x16c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/3x8-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/3x8-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/3x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/3x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/3x8c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/3x8c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/3x8c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/3x16-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/3x16-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/3x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/3x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/3x16c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/3x16c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/3x16c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/4x8-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/4x8-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/4x8c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/4x8c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/4x8c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/4x8c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/4x8c16-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/4x16-minmax-neon-mlal-lane.c",
"src/qs8-igemm/gen/4x16-minmax-neon-mull-addw-dup.c",
"src/qs8-igemm/gen/4x16c2-minmax-neon-mlal-padal-dup.c",
"src/qs8-igemm/gen/4x16c2-minmax-neon-mull-padal-dup.c",
"src/qs8-igemm/gen/4x16c8-minmax-neon-mlal-padal.c",
"src/qs8-igemm/gen/4x16c8-minmax-neon-mull-padal.c",
"src/qs8-igemm/gen/4x16c16-minmax-neon-mlal-padal.c",
"src/qs8-requantization/fp32-neon.c",
"src/qs8-requantization/precise-neon.c",
"src/qs8-requantization/q31-neon.c",
"src/qs8-vadd/gen/minmax-neon-ld64-x8.c",
"src/qs8-vadd/gen/minmax-neon-ld64-x16.c",
"src/qs8-vadd/gen/minmax-neon-ld64-x24.c",
"src/qs8-vadd/gen/minmax-neon-ld64-x32.c",
"src/qs8-vaddc/gen/minmax-neon-ld64-x8.c",
"src/qs8-vaddc/gen/minmax-neon-ld64-x16.c",
"src/qs8-vaddc/gen/minmax-neon-ld64-x24.c",
"src/qs8-vaddc/gen/minmax-neon-ld64-x32.c",
"src/qu8-avgpool/9p8x-minmax-neon-c8.c",
"src/qu8-avgpool/9x-minmax-neon-c8.c",
"src/qu8-dwconv/up8x9-minmax-neon.c",
"src/qu8-gavgpool/7p7x-minmax-neon-c8.c",
"src/qu8-gavgpool/7x-minmax-neon-c8.c",
"src/qu8-gemm/4x8-minmax-neon.c",
"src/qu8-gemm/8x8-minmax-neon.c",
"src/qu8-igemm/4x8-minmax-neon.c",
"src/qu8-igemm/8x8-minmax-neon.c",
"src/qu8-requantization/fp32-neon.c",
"src/qu8-requantization/precise-neon.c",
"src/qu8-requantization/q31-neon.c",
"src/qu8-vadd/minmax-neon.c",
"src/u8-clamp/neon-x64.c",
"src/u8-maxpool/9p8x-minmax-neon-c16.c",
"src/u8-rmax/neon.c",
"src/x8-zip/x2-neon.c",
"src/x8-zip/x3-neon.c",
"src/x8-zip/x4-neon.c",
"src/x8-zip/xm-neon.c",
"src/x32-fill/neon.c",
"src/x32-packx/x4-neon-st4.c",
"src/x32-pad/neon.c",
"src/x32-unpool/neon.c",
"src/x32-zip/x2-neon.c",
"src/x32-zip/x3-neon.c",
"src/x32-zip/x4-neon.c",
"src/x32-zip/xm-neon.c",
]
NEONFMA_UKERNELS = [
"src/f32-dwconv/gen/up4x4-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/up4x4-minmax-neonfma.c",
"src/f32-dwconv/gen/up4x9-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/up4x9-minmax-neonfma.c",
"src/f32-dwconv/gen/up4x25-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/up4x25-minmax-neonfma.c",
"src/f32-dwconv/gen/up8x4-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/up8x4-minmax-neonfma.c",
"src/f32-dwconv/gen/up8x9-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/up8x9-minmax-neonfma.c",
"src/f32-dwconv/gen/up8x25-minmax-neonfma-acc2.c",
"src/f32-dwconv/gen/up8x25-minmax-neonfma.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-dup-ld64.c",
"src/f32-gemm/gen-inc/1x8s4inc-minmax-neonfma.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld64.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-dup-ld128.c",
"src/f32-gemm/gen-inc/4x8s4inc-minmax-neonfma.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld64.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-dup-ld128.c",
"src/f32-gemm/gen-inc/6x8s4inc-minmax-neonfma.c",
"src/f32-gemm/gen-inc/8x8s4inc-minmax-neonfma.c",
"src/f32-gemm/gen/1x8-minmax-neonfma-dup-ld64.c",
"src/f32-gemm/gen/1x8s4-minmax-neonfma.c",
"src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld64.c",
"src/f32-gemm/gen/4x8-minmax-neonfma-dup-ld128.c",
"src/f32-gemm/gen/4x8s4-minmax-neonfma.c",
"src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld64.c",
"src/f32-gemm/gen/6x8-minmax-neonfma-dup-ld128.c",
"src/f32-gemm/gen/6x8s4-minmax-neonfma.c",
"src/f32-gemm/gen/8x8s4-minmax-neonfma.c",
"src/f32-ibilinear-chw/gen/neonfma-p4.c",
"src/f32-ibilinear-chw/gen/neonfma-p8.c",
"src/f32-ibilinear/gen/neonfma-c4.c",
"src/f32-ibilinear/gen/neonfma-c8.c",
"src/f32-igemm/gen/1x8-minmax-neonfma-dup-ld64.c",
"src/f32-igemm/gen/1x8s4-minmax-neonfma.c",
"src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld64.c",
"src/f32-igemm/gen/4x8-minmax-neonfma-dup-ld128.c",
"src/f32-igemm/gen/4x8s4-minmax-neonfma.c",
"src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld64.c",
"src/f32-igemm/gen/6x8-minmax-neonfma-dup-ld128.c",
"src/f32-igemm/gen/6x8s4-minmax-neonfma.c",
"src/f32-igemm/gen/8x8s4-minmax-neonfma.c",
"src/f32-ppmm/gen/4x8-minmax-neonfma.c",
"src/f32-ppmm/gen/8x8-minmax-neonfma.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x4.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x8-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x8.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12-acc3.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x12.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16-acc4.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x16.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20-acc5.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-lut64-p2-x20.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x4.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x8-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x8.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12-acc3.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x12.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16-acc4.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x16.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20-acc2.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20-acc5.c",
"src/f32-raddstoreexpminusmax/gen/neonfma-p5-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr1recps1fma-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2fma-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-nr2recps-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr1recps1fma-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2fma-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-nr2recps-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr1recps1fma-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2fma-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-nr2recps-x24.c",
"src/f32-spmm/gen/4x1-minmax-neonfma-pipelined.c",
"src/f32-spmm/gen/4x1-minmax-neonfma-x2.c",
"src/f32-spmm/gen/4x1-minmax-neonfma.c",
"src/f32-spmm/gen/8x1-minmax-neonfma-pipelined.c",
"src/f32-spmm/gen/8x1-minmax-neonfma-x2.c",
"src/f32-spmm/gen/8x1-minmax-neonfma.c",
"src/f32-spmm/gen/12x1-minmax-neonfma.c",
"src/f32-spmm/gen/16x1-minmax-neonfma-pipelined.c",
"src/f32-spmm/gen/16x1-minmax-neonfma-x2.c",
"src/f32-spmm/gen/16x1-minmax-neonfma.c",
"src/f32-spmm/gen/32x1-minmax-neonfma-pipelined.c",
"src/f32-spmm/gen/32x1-minmax-neonfma-x2.c",
"src/f32-spmm/gen/32x1-minmax-neonfma.c",
"src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x4.c",
"src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x8.c",
"src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x12.c",
"src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x16.c",
"src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x20.c",
"src/f32-velu/gen/velu-neonfma-rr1-lut16-p3-x24.c",
"src/f32-velu/gen/velu-neonfma-rr1-p6-x4.c",
"src/f32-velu/gen/velu-neonfma-rr1-p6-x8.c",
"src/f32-velu/gen/velu-neonfma-rr1-p6-x12.c",
"src/f32-velu/gen/velu-neonfma-rr1-p6-x16.c",
"src/f32-velu/gen/velu-neonfma-rr1-p6-x20.c",
"src/f32-velu/gen/velu-neonfma-rr1-p6-x24.c",
"src/f32-vmulcaddc/gen/c4-minmax-neonfma-2x.c",
"src/f32-vmulcaddc/gen/c8-minmax-neonfma-2x.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x4.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x8.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x12.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x16.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x20.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x24.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x28.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x32.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x36.c",
"src/f32-vsqrt/gen/neonfma-nr1rsqrts1fma1adj-x40.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x4.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x8.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x12.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x16.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x20.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x24.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x28.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x32.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x36.c",
"src/f32-vsqrt/gen/neonfma-nr2fma1adj-x40.c",
"src/math/exp-neonfma-rr2-lut64-p2.c",
"src/math/exp-neonfma-rr2-p5.c",
"src/math/expm1minus-neonfma-rr1-lut16-p3.c",
"src/math/expm1minus-neonfma-rr1-p6.c",
"src/math/expminus-neonfma-rr2-lut64-p2.c",
"src/math/expminus-neonfma-rr2-lut2048-p1.c",
"src/math/expminus-neonfma-rr2-p5.c",
"src/math/sigmoid-neonfma-rr1-lut64-p2-nr1recps1fma.c",
"src/math/sigmoid-neonfma-rr1-lut64-p2-nr2fma.c",
"src/math/sigmoid-neonfma-rr1-lut64-p2-nr2recps.c",
"src/math/sigmoid-neonfma-rr1-lut2048-p1-nr1recps1fma.c",
"src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2fma.c",
"src/math/sigmoid-neonfma-rr1-lut2048-p1-nr2recps.c",
"src/math/sigmoid-neonfma-rr1-p5-nr1recps1fma.c",
"src/math/sigmoid-neonfma-rr1-p5-nr2fma.c",
"src/math/sigmoid-neonfma-rr1-p5-nr2recps.c",
"src/math/sigmoid-neonfma-rr2-lut64-p2-nr1recps1fma.c",
"src/math/sigmoid-neonfma-rr2-lut64-p2-nr2fma.c",
"src/math/sigmoid-neonfma-rr2-lut64-p2-nr2recps.c",
"src/math/sigmoid-neonfma-rr2-lut2048-p1-nr1recps1fma.c",
"src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2fma.c",
"src/math/sigmoid-neonfma-rr2-lut2048-p1-nr2recps.c",
"src/math/sigmoid-neonfma-rr2-p5-nr1recps1fma.c",
"src/math/sigmoid-neonfma-rr2-p5-nr2fma.c",
"src/math/sigmoid-neonfma-rr2-p5-nr2recps.c",
"src/math/sqrt-neonfma-nr1fma.c",
"src/math/sqrt-neonfma-nr1rsqrts1fma1adj.c",
"src/math/sqrt-neonfma-nr2fma.c",
"src/math/sqrt-neonfma-nr2fma1adj.c",
"src/math/sqrt-neonfma-nr3fma.c",
]
AARCH64_NEONFMA_UKERNELS = [
"src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x4-neonfma-2x2.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p0p1c3x8-neonfma-2x2.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x4-neonfma-2x2.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x1.c",
"src/f32-conv-hwc/gen/3x3s2p1c3x8-neonfma-2x2.c",
"src/f32-conv-hwc2chw/3x3s2p1c3x4-neonfma-2x2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-4x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-5x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-neonfma-6x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-neonfma-4x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-1x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-2x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-3x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-4x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-neonfma-5x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-1x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-2x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-neonfma-3x4.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-neonfma-lane-ld128.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-neonfma-lane-ld128.c",
"src/f32-gemm/gen/1x8-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen/4x2-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen/4x8-minmax-neonfma-lane-ld128.c",
"src/f32-gemm/gen/5x8-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld64.c",
"src/f32-gemm/gen/6x8-minmax-neonfma-lane-ld128.c",
"src/f32-igemm/gen/1x8-minmax-neonfma-lane-ld64.c",
"src/f32-igemm/gen/4x2-minmax-neonfma-lane-ld64.c",
"src/f32-igemm/gen/4x4-minmax-neonfma-lane-ld64.c",
"src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld64.c",
"src/f32-igemm/gen/4x8-minmax-neonfma-lane-ld128.c",
"src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld64.c",
"src/f32-igemm/gen/6x8-minmax-neonfma-lane-ld128.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut64-p2-div-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-lut2048-p1-div-x24.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-div-x4.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-div-x8.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-div-x12.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-div-x16.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-div-x20.c",
"src/f32-sigmoid/gen/neonfma-rr1-p5-div-x24.c",
"src/f32-spmm/gen/4x2-minmax-neonfma.c",
"src/f32-spmm/gen/4x4-minmax-neonfma.c",
"src/f32-spmm/gen/8x2-minmax-neonfma.c",
"src/f32-spmm/gen/8x4-minmax-neonfma.c",
"src/f32-spmm/gen/12x2-minmax-neonfma.c",
"src/f32-spmm/gen/12x4-minmax-neonfma.c",
"src/f32-spmm/gen/16x2-minmax-neonfma.c",
"src/f32-spmm/gen/16x4-minmax-neonfma.c",
"src/f32-spmm/gen/32x2-minmax-neonfma.c",
"src/f32-spmm/gen/32x4-minmax-neonfma.c",
"src/f32-vbinary/gen/vdiv-minmax-neon-x4.c",
"src/f32-vbinary/gen/vdiv-minmax-neon-x8.c",
"src/f32-vbinary/gen/vdivc-minmax-neon-x4.c",
"src/f32-vbinary/gen/vdivc-minmax-neon-x8.c",
"src/f32-vbinary/gen/vrdivc-minmax-neon-x4.c",
"src/f32-vbinary/gen/vrdivc-minmax-neon-x8.c",
"src/f32-vsqrt/gen/neon-sqrt-x4.c",
"src/f32-vsqrt/gen/neon-sqrt-x8.c",
"src/math/sigmoid-neonfma-rr1-lut64-p2-div.c",
"src/math/sigmoid-neonfma-rr1-lut2048-p1-div.c",
"src/math/sigmoid-neonfma-rr1-p5-div.c",
"src/math/sigmoid-neonfma-rr2-lut64-p2-div.c",
"src/math/sigmoid-neonfma-rr2-lut2048-p1-div.c",
"src/math/sigmoid-neonfma-rr2-p5-div.c",
]
NEONV8_UKERNELS = [
"src/f32-vrnd/gen/vrndd-neonv8-x4.c",
"src/f32-vrnd/gen/vrndd-neonv8-x8.c",
"src/f32-vrnd/gen/vrndne-neonv8-x4.c",
"src/f32-vrnd/gen/vrndne-neonv8-x8.c",
"src/f32-vrnd/gen/vrndu-neonv8-x4.c",
"src/f32-vrnd/gen/vrndu-neonv8-x8.c",
"src/f32-vrnd/gen/vrndz-neonv8-x4.c",
"src/f32-vrnd/gen/vrndz-neonv8-x8.c",
"src/math/roundd-neonv8.c",
"src/math/roundne-neonv8.c",
"src/math/roundu-neonv8.c",
"src/math/roundz-neonv8.c",
]
AARCH64_NEONFP16ARITH_UKERNELS = [
"src/f16-clamp/gen/neonfp16arith-x8.c",
"src/f16-clamp/gen/neonfp16arith-x16.c",
"src/f16-dwconv/gen/up8x4-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv/gen/up8x4-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/up8x9-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv/gen/up8x9-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/up8x25-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv/gen/up8x25-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/up16x4-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv/gen/up16x4-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/up16x9-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv/gen/up16x9-minmax-neonfp16arith.c",
"src/f16-dwconv/gen/up16x25-minmax-neonfp16arith-acc2.c",
"src/f16-dwconv/gen/up16x25-minmax-neonfp16arith.c",
"src/f16-gavgpool/7p7x-minmax-neonfp16arith-c8.c",
"src/f16-gavgpool/7x-minmax-neonfp16arith-c8.c",
"src/f16-gemm/gen-inc/1x8inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/1x16inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/4x8inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/4x16inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/6x8inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/6x16inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/8x8inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen-inc/8x16inc-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/1x8-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/1x16-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/4x8-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/4x16-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/6x8-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/6x16-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/8x8-minmax-neonfp16arith-ld64.c",
"src/f16-gemm/gen/8x16-minmax-neonfp16arith-ld64.c",
"src/f16-hswish/gen/hswish-neonfp16arith-x8.c",
"src/f16-hswish/gen/hswish-neonfp16arith-x16.c",
"src/f16-igemm/gen/1x8-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/1x16-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/4x8-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/4x16-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/6x8-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/6x16-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/8x8-minmax-neonfp16arith-ld64.c",
"src/f16-igemm/gen/8x16-minmax-neonfp16arith-ld64.c",
"src/f16-prelu/gen/neonfp16arith-2x8.c",
"src/f16-prelu/gen/neonfp16arith-2x16.c",
"src/f16-relu/gen/neonfp16arith-x8.c",
"src/f16-relu/gen/neonfp16arith-x16.c",
"src/f16-spmm/gen/8x1-minmax-neonfp16arith-x2.c",
"src/f16-spmm/gen/8x1-minmax-neonfp16arith.c",
"src/f16-spmm/gen/16x1-minmax-neonfp16arith-x2.c",
"src/f16-spmm/gen/16x1-minmax-neonfp16arith.c",
"src/f16-spmm/gen/24x1-minmax-neonfp16arith-x2.c",
"src/f16-spmm/gen/24x1-minmax-neonfp16arith.c",
"src/f16-spmm/gen/32x1-minmax-neonfp16arith-x2.c",
"src/f16-spmm/gen/32x1-minmax-neonfp16arith.c",
"src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vadd-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vaddc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vdiv-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vdivc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vmaxc-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vmaxc-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vmin-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vmin-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vminc-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vminc-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vmul-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vmulc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vrdivc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vrsubc-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vsub-minmax-neonfp16arith-x16.c",
"src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x8.c",
"src/f16-vbinary/gen/vsubc-minmax-neonfp16arith-x16.c",
"src/f16-vmulcaddc/gen/c8-minmax-neonfp16arith-2x.c",
"src/f16-vmulcaddc/gen/c16-minmax-neonfp16arith-2x.c",
]
NEONDOT_UKERNELS = [
"src/qs8-gemm/gen/1x8c4-minmax-neondot.c",
"src/qs8-gemm/gen/1x16c4-minmax-neondot.c",
"src/qs8-gemm/gen/4x8c4-minmax-neondot.c",
"src/qs8-gemm/gen/4x16c4-minmax-neondot.c",
"src/qs8-gemm/gen/6x8c4-minmax-neondot.c",
"src/qs8-gemm/gen/6x16c4-minmax-neondot.c",
"src/qs8-gemm/gen/8x8c4-minmax-neondot.c",
"src/qs8-gemm/gen/8x16c4-minmax-neondot.c",
"src/qs8-igemm/gen/1x8c4-minmax-neondot.c",
"src/qs8-igemm/gen/1x16c4-minmax-neondot.c",
"src/qs8-igemm/gen/4x8c4-minmax-neondot.c",
"src/qs8-igemm/gen/4x16c4-minmax-neondot.c",
"src/qs8-igemm/gen/6x8c4-minmax-neondot.c",
"src/qs8-igemm/gen/6x16c4-minmax-neondot.c",
"src/qs8-igemm/gen/8x8c4-minmax-neondot.c",
"src/qs8-igemm/gen/8x16c4-minmax-neondot.c",
]
SSE_UKERNELS = [
"src/f32-avgpool/9p8x-minmax-sse-c4.c",
"src/f32-avgpool/9x-minmax-sse-c4.c",
"src/f32-clamp/gen/sse-x4.c",
"src/f32-clamp/gen/sse-x8.c",
"src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-1x1.c",
"src/f32-conv-hwc2chw/3x3s2p1c3x4-sse-2x2.c",
"src/f32-dwconv/gen/up4x4-minmax-sse-acc2.c",
"src/f32-dwconv/gen/up4x4-minmax-sse.c",
"src/f32-dwconv/gen/up4x9-minmax-sse-acc2.c",
"src/f32-dwconv/gen/up4x9-minmax-sse.c",
"src/f32-dwconv/gen/up4x25-minmax-sse-acc2.c",
"src/f32-dwconv/gen/up4x25-minmax-sse.c",
"src/f32-dwconv/gen/up8x4-minmax-sse-acc2.c",
"src/f32-dwconv/gen/up8x4-minmax-sse.c",
"src/f32-dwconv/gen/up8x9-minmax-sse-acc2.c",
"src/f32-dwconv/gen/up8x9-minmax-sse.c",
"src/f32-dwconv/gen/up8x25-minmax-sse-acc2.c",
"src/f32-dwconv/gen/up8x25-minmax-sse.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-4x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-5x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-sse-6x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3s2p1-minmax-sse-4x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-1x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-2x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-3x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-4x4.c",
"src/f32-dwconv2d-chw/gen/5x5p2-minmax-sse-5x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4-acc5.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-1x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4-acc3.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-2x4.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4-acc2.c",
"src/f32-dwconv2d-chw/gen/5x5s2p2-minmax-sse-3x4.c",
"src/f32-gavgpool-cw/sse-x4.c",
"src/f32-gavgpool/7p7x-minmax-sse-c4.c",
"src/f32-gavgpool/7x-minmax-sse-c4.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-sse-dup.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-sse-load1.c",
"src/f32-gemm/gen-inc/1x8s4inc-minmax-sse.c",
"src/f32-gemm/gen-inc/3x8inc-minmax-sse-dup.c",
"src/f32-gemm/gen-inc/3x8inc-minmax-sse-load1.c",
"src/f32-gemm/gen-inc/3x8s4inc-minmax-sse.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-sse-dup.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-sse-load1.c",
"src/f32-gemm/gen-inc/4x8s4inc-minmax-sse.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-sse-dup.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-sse-load1.c",
"src/f32-gemm/gen-inc/5x8s4inc-minmax-sse.c",
"src/f32-gemm/gen/1x8-minmax-sse-dup.c",
"src/f32-gemm/gen/1x8-minmax-sse-load1.c",
"src/f32-gemm/gen/1x8s4-minmax-sse.c",
"src/f32-gemm/gen/3x8-minmax-sse-dup.c",
"src/f32-gemm/gen/3x8-minmax-sse-load1.c",
"src/f32-gemm/gen/3x8s4-minmax-sse.c",
"src/f32-gemm/gen/4x2c4-minmax-sse.c",
"src/f32-gemm/gen/4x8-minmax-sse-dup.c",
"src/f32-gemm/gen/4x8-minmax-sse-load1.c",
"src/f32-gemm/gen/4x8s4-minmax-sse.c",
"src/f32-gemm/gen/5x8-minmax-sse-dup.c",
"src/f32-gemm/gen/5x8-minmax-sse-load1.c",
"src/f32-gemm/gen/5x8s4-minmax-sse.c",
"src/f32-hswish/gen/hswish-sse-x4.c",
"src/f32-hswish/gen/hswish-sse-x8.c",
"src/f32-ibilinear/gen/sse-c4.c",
"src/f32-ibilinear/gen/sse-c8.c",
"src/f32-igemm/gen/1x8-minmax-sse-dup.c",
"src/f32-igemm/gen/1x8-minmax-sse-load1.c",
"src/f32-igemm/gen/1x8s4-minmax-sse.c",
"src/f32-igemm/gen/3x8-minmax-sse-dup.c",
"src/f32-igemm/gen/3x8-minmax-sse-load1.c",
"src/f32-igemm/gen/3x8s4-minmax-sse.c",
"src/f32-igemm/gen/4x2c4-minmax-sse.c",
"src/f32-igemm/gen/4x8-minmax-sse-dup.c",
"src/f32-igemm/gen/4x8-minmax-sse-load1.c",
"src/f32-igemm/gen/4x8s4-minmax-sse.c",
"src/f32-igemm/gen/5x8-minmax-sse-dup.c",
"src/f32-igemm/gen/5x8-minmax-sse-load1.c",
"src/f32-igemm/gen/5x8s4-minmax-sse.c",
"src/f32-maxpool/9p8x-minmax-sse-c4.c",
"src/f32-pavgpool/9p8x-minmax-sse-c4.c",
"src/f32-pavgpool/9x-minmax-sse-c4.c",
"src/f32-ppmm/gen/4x8-minmax-sse.c",
"src/f32-prelu/gen/sse-2x4.c",
"src/f32-prelu/gen/sse-2x8.c",
"src/f32-relu/gen/sse-x4.c",
"src/f32-relu/gen/sse-x8.c",
"src/f32-rmax/sse.c",
"src/f32-spmm/gen/4x1-minmax-sse.c",
"src/f32-spmm/gen/8x1-minmax-sse.c",
"src/f32-spmm/gen/16x1-minmax-sse.c",
"src/f32-spmm/gen/32x1-minmax-sse.c",
"src/f32-vbinary/gen/vadd-minmax-sse-x4.c",
"src/f32-vbinary/gen/vadd-minmax-sse-x8.c",
"src/f32-vbinary/gen/vaddc-minmax-sse-x4.c",
"src/f32-vbinary/gen/vaddc-minmax-sse-x8.c",
"src/f32-vbinary/gen/vdiv-minmax-sse-x4.c",
"src/f32-vbinary/gen/vdiv-minmax-sse-x8.c",
"src/f32-vbinary/gen/vdivc-minmax-sse-x4.c",
"src/f32-vbinary/gen/vdivc-minmax-sse-x8.c",
"src/f32-vbinary/gen/vmax-sse-x4.c",
"src/f32-vbinary/gen/vmax-sse-x8.c",
"src/f32-vbinary/gen/vmaxc-sse-x4.c",
"src/f32-vbinary/gen/vmaxc-sse-x8.c",
"src/f32-vbinary/gen/vmin-sse-x4.c",
"src/f32-vbinary/gen/vmin-sse-x8.c",
"src/f32-vbinary/gen/vminc-sse-x4.c",
"src/f32-vbinary/gen/vminc-sse-x8.c",
"src/f32-vbinary/gen/vmul-minmax-sse-x4.c",
"src/f32-vbinary/gen/vmul-minmax-sse-x8.c",
"src/f32-vbinary/gen/vmulc-minmax-sse-x4.c",
"src/f32-vbinary/gen/vmulc-minmax-sse-x8.c",
"src/f32-vbinary/gen/vrdivc-minmax-sse-x4.c",
"src/f32-vbinary/gen/vrdivc-minmax-sse-x8.c",
"src/f32-vbinary/gen/vrsubc-minmax-sse-x4.c",
"src/f32-vbinary/gen/vrsubc-minmax-sse-x8.c",
"src/f32-vbinary/gen/vsqrdiff-sse-x4.c",
"src/f32-vbinary/gen/vsqrdiff-sse-x8.c",
"src/f32-vbinary/gen/vsqrdiffc-sse-x4.c",
"src/f32-vbinary/gen/vsqrdiffc-sse-x8.c",
"src/f32-vbinary/gen/vsub-minmax-sse-x4.c",
"src/f32-vbinary/gen/vsub-minmax-sse-x8.c",
"src/f32-vbinary/gen/vsubc-minmax-sse-x4.c",
"src/f32-vbinary/gen/vsubc-minmax-sse-x8.c",
"src/f32-vlrelu/gen/vlrelu-sse-x4.c",
"src/f32-vlrelu/gen/vlrelu-sse-x8.c",
"src/f32-vmulcaddc/gen/c4-minmax-sse-2x.c",
"src/f32-vmulcaddc/gen/c8-minmax-sse-2x.c",
"src/f32-vsqrt/gen/sse-sqrt-x4.c",
"src/f32-vsqrt/gen/sse-sqrt-x8.c",
"src/f32-vunary/gen/vabs-sse-x4.c",
"src/f32-vunary/gen/vabs-sse-x8.c",
"src/f32-vunary/gen/vneg-sse-x4.c",
"src/f32-vunary/gen/vneg-sse-x8.c",
"src/f32-vunary/gen/vsqr-sse-x4.c",
"src/f32-vunary/gen/vsqr-sse-x8.c",
"src/math/roundd-sse-addsub.c",
"src/math/roundne-sse-addsub.c",
"src/math/roundu-sse-addsub.c",
"src/math/roundz-sse-addsub.c",
"src/math/sqrt-sse-hh1mac.c",
"src/math/sqrt-sse-nr1mac.c",
"src/math/sqrt-sse-nr2mac.c",
"src/x32-fill/sse.c",
"src/x32-packx/x4-sse.c",
"src/x32-pad/sse.c",
]
SSE2_UKERNELS = [
"src/f32-argmaxpool/4x-sse2-c4.c",
"src/f32-argmaxpool/9p8x-sse2-c4.c",
"src/f32-argmaxpool/9x-sse2-c4.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-sse2-dup.c",
"src/f32-gemm/gen-inc/3x8inc-minmax-sse2-dup.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-sse2-dup.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-sse2-dup.c",
"src/f32-gemm/gen/1x8-minmax-sse2-dup.c",
"src/f32-gemm/gen/3x8-minmax-sse2-dup.c",
"src/f32-gemm/gen/4x8-minmax-sse2-dup.c",
"src/f32-gemm/gen/5x8-minmax-sse2-dup.c",
"src/f32-igemm/gen/1x8-minmax-sse2-dup.c",
"src/f32-igemm/gen/3x8-minmax-sse2-dup.c",
"src/f32-igemm/gen/4x8-minmax-sse2-dup.c",
"src/f32-igemm/gen/5x8-minmax-sse2-dup.c",
"src/f32-prelu/gen/sse2-2x4.c",
"src/f32-prelu/gen/sse2-2x8.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x4.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x8-acc2.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x8.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x12-acc2.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x12-acc3.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x12.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x16-acc2.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x16-acc4.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x16.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc2.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x20-acc5.c",
"src/f32-raddstoreexpminusmax/gen/sse2-p5-x20.c",
"src/f32-sigmoid/gen/sse2-lut64-p2-div-x4.c",
"src/f32-sigmoid/gen/sse2-lut64-p2-div-x8.c",
"src/f32-sigmoid/gen/sse2-lut64-p2-div-x12.c",
"src/f32-sigmoid/gen/sse2-lut64-p2-div-x16.c",
"src/f32-sigmoid/gen/sse2-lut64-p2-div-x20.c",
"src/f32-sigmoid/gen/sse2-lut64-p2-div-x24.c",
"src/f32-sigmoid/gen/sse2-p5-div-x4.c",
"src/f32-sigmoid/gen/sse2-p5-div-x8.c",
"src/f32-sigmoid/gen/sse2-p5-div-x12.c",
"src/f32-sigmoid/gen/sse2-p5-div-x16.c",
"src/f32-sigmoid/gen/sse2-p5-div-x20.c",
"src/f32-sigmoid/gen/sse2-p5-div-x24.c",
"src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x4.c",
"src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x8.c",
"src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x12.c",
"src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x16.c",
"src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x20.c",
"src/f32-velu/gen/velu-sse2-rr2-lut16-p3-x24.c",
"src/f32-velu/gen/velu-sse2-rr2-p6-x4.c",
"src/f32-velu/gen/velu-sse2-rr2-p6-x8.c",
"src/f32-velu/gen/velu-sse2-rr2-p6-x12.c",
"src/f32-velu/gen/velu-sse2-rr2-p6-x16.c",
"src/f32-velu/gen/velu-sse2-rr2-p6-x20.c",
"src/f32-velu/gen/velu-sse2-rr2-p6-x24.c",
"src/f32-vlrelu/gen/vlrelu-sse2-x4.c",
"src/f32-vlrelu/gen/vlrelu-sse2-x8.c",
"src/f32-vrnd/gen/vrndd-sse2-x4.c",
"src/f32-vrnd/gen/vrndd-sse2-x8.c",
"src/f32-vrnd/gen/vrndne-sse2-x4.c",
"src/f32-vrnd/gen/vrndne-sse2-x8.c",
"src/f32-vrnd/gen/vrndu-sse2-x4.c",
"src/f32-vrnd/gen/vrndu-sse2-x8.c",
"src/f32-vrnd/gen/vrndz-sse2-x4.c",
"src/f32-vrnd/gen/vrndz-sse2-x8.c",
"src/math/exp-sse2-rr2-lut64-p2.c",
"src/math/exp-sse2-rr2-p5.c",
"src/math/expm1minus-sse2-rr2-lut16-p3.c",
"src/math/expm1minus-sse2-rr2-p6.c",
"src/math/expminus-sse2-rr2-p5.c",
"src/math/roundd-sse2-cvt.c",
"src/math/roundne-sse2-cvt.c",
"src/math/roundu-sse2-cvt.c",
"src/math/roundz-sse2-cvt.c",
"src/math/sigmoid-sse2-rr2-lut64-p2-div.c",
"src/math/sigmoid-sse2-rr2-lut64-p2-nr1.c",
"src/math/sigmoid-sse2-rr2-lut64-p2-nr2.c",
"src/math/sigmoid-sse2-rr2-p5-div.c",
"src/math/sigmoid-sse2-rr2-p5-nr1.c",
"src/math/sigmoid-sse2-rr2-p5-nr2.c",
"src/qs8-dwconv/gen/up8x9-minmax-sse2-mul16.c",
"src/qs8-dwconv/gen/up16x9-minmax-sse2-mul16.c",
"src/qs8-dwconv/gen/up24x9-minmax-sse2-mul16.c",
"src/qs8-gavgpool/gen/7p7x-minmax-sse2-c8-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-sse2-c16-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-sse2-c24-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-sse2-c8-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-sse2-c16-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-sse2-c24-acc2.c",
"src/qs8-gemm/gen/1x4c2-minmax-sse2-ld64.c",
"src/qs8-gemm/gen/1x4c2-minmax-sse2-ld128.c",
"src/qs8-gemm/gen/1x4c2-xw-minmax-sse2.c",
"src/qs8-gemm/gen/1x4c8-minmax-sse2-ld64.c",
"src/qs8-gemm/gen/1x4c8-minmax-sse2-ld128.c",
"src/qs8-gemm/gen/1x4c8-xw-minmax-sse2.c",
"src/qs8-gemm/gen/2x4c8-minmax-sse2-ld64.c",
"src/qs8-gemm/gen/2x4c8-minmax-sse2-ld128.c",
"src/qs8-gemm/gen/2x4c8-xw-minmax-sse2.c",
"src/qs8-gemm/gen/3x4c8-minmax-sse2-ld64.c",
"src/qs8-gemm/gen/3x4c8-minmax-sse2-ld128.c",
"src/qs8-gemm/gen/3x4c8-xw-minmax-sse2.c",
"src/qs8-gemm/gen/4x4c2-minmax-sse2-ld64.c",
"src/qs8-gemm/gen/4x4c2-minmax-sse2-ld128.c",
"src/qs8-gemm/gen/4x4c2-xw-minmax-sse2.c",
"src/qs8-igemm/gen/1x4c2-minmax-sse2-ld64.c",
"src/qs8-igemm/gen/1x4c2-minmax-sse2-ld128.c",
"src/qs8-igemm/gen/1x4c8-minmax-sse2-ld64.c",
"src/qs8-igemm/gen/1x4c8-minmax-sse2-ld128.c",
"src/qs8-igemm/gen/2x4c8-minmax-sse2-ld64.c",
"src/qs8-igemm/gen/2x4c8-minmax-sse2-ld128.c",
"src/qs8-igemm/gen/3x4c8-minmax-sse2-ld64.c",
"src/qs8-igemm/gen/3x4c8-minmax-sse2-ld128.c",
"src/qs8-igemm/gen/4x4c2-minmax-sse2-ld64.c",
"src/qs8-igemm/gen/4x4c2-minmax-sse2-ld128.c",
"src/qs8-requantization/fp32-sse2.c",
"src/qs8-requantization/precise-sse2.c",
"src/qs8-requantization/q31-sse2.c",
"src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x8.c",
"src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x16.c",
"src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x24.c",
"src/qs8-vadd/gen/minmax-sse2-mul16-ld64-x32.c",
"src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x8.c",
"src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x16.c",
"src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x24.c",
"src/qs8-vaddc/gen/minmax-sse2-mul16-ld64-x32.c",
"src/qu8-avgpool/9p8x-minmax-sse2-c8.c",
"src/qu8-avgpool/9x-minmax-sse2-c8.c",
"src/qu8-dwconv/up8x9-minmax-sse2.c",
"src/qu8-gavgpool/7p7x-minmax-sse2-c8.c",
"src/qu8-gavgpool/7x-minmax-sse2-c8.c",
"src/qu8-gemm/2x4c8-minmax-sse2.c",
"src/qu8-gemm/4x4c2-minmax-sse2.c",
"src/qu8-igemm/4x4c2-minmax-sse2.c",
"src/qu8-requantization/fp32-sse2.c",
"src/qu8-requantization/precise-sse2.c",
"src/qu8-requantization/q31-sse2.c",
"src/qu8-vadd/minmax-sse2.c",
"src/u8-clamp/sse2-x64.c",
"src/u8-maxpool/9p8x-minmax-sse2-c16.c",
"src/u8-rmax/sse2.c",
"src/x8-zip/x2-sse2.c",
"src/x8-zip/x3-sse2.c",
"src/x8-zip/x4-sse2.c",
"src/x8-zip/xm-sse2.c",
"src/x32-unpool/sse2.c",
"src/x32-zip/x2-sse2.c",
"src/x32-zip/x3-sse2.c",
"src/x32-zip/x4-sse2.c",
"src/x32-zip/xm-sse2.c",
]
SSSE3_UKERNELS = [
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc3.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4-acc4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-1x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4-acc2.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-2x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-3x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-4x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-5x4.c",
"src/f32-dwconv2d-chw/gen/3x3p1-minmax-ssse3-6x4.c",
"src/qs8-dwconv/gen/up8x9-minmax-ssse3-mul16.c",
"src/qs8-dwconv/gen/up16x9-minmax-ssse3-mul16.c",
"src/qs8-dwconv/gen/up24x9-minmax-ssse3-mul16.c",
"src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c8-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c16-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-ssse3-c24-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-ssse3-c8-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-ssse3-c16-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-ssse3-c24-acc2.c",
"src/qs8-gemm/gen/1x4c2-minmax-ssse3-ld64.c",
"src/qs8-gemm/gen/1x4c2-minmax-ssse3-ld128.c",
"src/qs8-gemm/gen/1x4c2-xw-minmax-ssse3.c",
"src/qs8-gemm/gen/1x4c8-minmax-ssse3-ld64.c",
"src/qs8-gemm/gen/1x4c8-minmax-ssse3-ld128.c",
"src/qs8-gemm/gen/1x4c8-xw-minmax-ssse3.c",
"src/qs8-gemm/gen/2x4c8-minmax-ssse3-ld64.c",
"src/qs8-gemm/gen/2x4c8-minmax-ssse3-ld128.c",
"src/qs8-gemm/gen/2x4c8-xw-minmax-ssse3.c",
"src/qs8-gemm/gen/3x4c8-minmax-ssse3-ld64.c",
"src/qs8-gemm/gen/3x4c8-minmax-ssse3-ld128.c",
"src/qs8-gemm/gen/3x4c8-xw-minmax-ssse3.c",
"src/qs8-gemm/gen/4x4c2-minmax-ssse3-ld64.c",
"src/qs8-gemm/gen/4x4c2-minmax-ssse3-ld128.c",
"src/qs8-gemm/gen/4x4c2-xw-minmax-ssse3.c",
"src/qs8-igemm/gen/1x4c2-minmax-ssse3-ld64.c",
"src/qs8-igemm/gen/1x4c2-minmax-ssse3-ld128.c",
"src/qs8-igemm/gen/1x4c8-minmax-ssse3-ld64.c",
"src/qs8-igemm/gen/1x4c8-minmax-ssse3-ld128.c",
"src/qs8-igemm/gen/2x4c8-minmax-ssse3-ld64.c",
"src/qs8-igemm/gen/2x4c8-minmax-ssse3-ld128.c",
"src/qs8-igemm/gen/3x4c8-minmax-ssse3-ld64.c",
"src/qs8-igemm/gen/3x4c8-minmax-ssse3-ld128.c",
"src/qs8-igemm/gen/4x4c2-minmax-ssse3-ld64.c",
"src/qs8-igemm/gen/4x4c2-minmax-ssse3-ld128.c",
"src/qs8-requantization/precise-ssse3.c",
"src/qs8-requantization/q31-ssse3.c",
"src/qu8-requantization/precise-ssse3.c",
"src/qu8-requantization/q31-ssse3.c",
]
SSE41_UKERNELS = [
"src/f32-prelu/gen/sse41-2x4.c",
"src/f32-prelu/gen/sse41-2x8.c",
"src/f32-sigmoid/gen/sse41-lut64-p2-div-x4.c",
"src/f32-sigmoid/gen/sse41-lut64-p2-div-x8.c",
"src/f32-sigmoid/gen/sse41-lut64-p2-div-x12.c",
"src/f32-sigmoid/gen/sse41-lut64-p2-div-x16.c",
"src/f32-sigmoid/gen/sse41-lut64-p2-div-x20.c",
"src/f32-sigmoid/gen/sse41-lut64-p2-div-x24.c",
"src/f32-sigmoid/gen/sse41-p5-div-x4.c",
"src/f32-sigmoid/gen/sse41-p5-div-x8.c",
"src/f32-sigmoid/gen/sse41-p5-div-x12.c",
"src/f32-sigmoid/gen/sse41-p5-div-x16.c",
"src/f32-sigmoid/gen/sse41-p5-div-x20.c",
"src/f32-sigmoid/gen/sse41-p5-div-x24.c",
"src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x4.c",
"src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x8.c",
"src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x12.c",
"src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x16.c",
"src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x20.c",
"src/f32-velu/gen/velu-sse41-rr2-lut16-p3-x24.c",
"src/f32-velu/gen/velu-sse41-rr2-p6-x4.c",
"src/f32-velu/gen/velu-sse41-rr2-p6-x8.c",
"src/f32-velu/gen/velu-sse41-rr2-p6-x12.c",
"src/f32-velu/gen/velu-sse41-rr2-p6-x16.c",
"src/f32-velu/gen/velu-sse41-rr2-p6-x20.c",
"src/f32-velu/gen/velu-sse41-rr2-p6-x24.c",
"src/f32-vlrelu/gen/vlrelu-sse41-x4.c",
"src/f32-vlrelu/gen/vlrelu-sse41-x8.c",
"src/f32-vrnd/gen/vrndd-sse41-x4.c",
"src/f32-vrnd/gen/vrndd-sse41-x8.c",
"src/f32-vrnd/gen/vrndne-sse41-x4.c",
"src/f32-vrnd/gen/vrndne-sse41-x8.c",
"src/f32-vrnd/gen/vrndu-sse41-x4.c",
"src/f32-vrnd/gen/vrndu-sse41-x8.c",
"src/f32-vrnd/gen/vrndz-sse41-x4.c",
"src/f32-vrnd/gen/vrndz-sse41-x8.c",
"src/math/roundd-sse41.c",
"src/math/roundne-sse41.c",
"src/math/roundu-sse41.c",
"src/math/roundz-sse41.c",
"src/qs8-dwconv/gen/up8x9-minmax-sse41-mul16.c",
"src/qs8-dwconv/gen/up16x9-minmax-sse41-mul16.c",
"src/qs8-dwconv/gen/up24x9-minmax-sse41-mul16.c",
"src/qs8-gavgpool/gen/7p7x-minmax-sse41-c8-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-sse41-c16-acc2.c",
"src/qs8-gavgpool/gen/7p7x-minmax-sse41-c24-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-sse41-c8-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-sse41-c16-acc2.c",
"src/qs8-gavgpool/gen/7x-minmax-sse41-c24-acc2.c",
"src/qs8-gemm/gen/1x4c2-minmax-sse41-ld64.c",
"src/qs8-gemm/gen/1x4c2-minmax-sse41-ld128.c",
"src/qs8-gemm/gen/1x4c2-xw-minmax-sse41.c",
"src/qs8-gemm/gen/1x4c8-minmax-sse41-ld64.c",
"src/qs8-gemm/gen/1x4c8-minmax-sse41-ld128.c",
"src/qs8-gemm/gen/1x4c8-xw-minmax-sse41.c",
"src/qs8-gemm/gen/2x4c8-minmax-sse41-ld64.c",
"src/qs8-gemm/gen/2x4c8-minmax-sse41-ld128.c",
"src/qs8-gemm/gen/2x4c8-xw-minmax-sse41.c",
"src/qs8-gemm/gen/3x4c8-minmax-sse41-ld64.c",
"src/qs8-gemm/gen/3x4c8-minmax-sse41-ld128.c",
"src/qs8-gemm/gen/3x4c8-xw-minmax-sse41.c",
"src/qs8-gemm/gen/4x4c2-minmax-sse41-ld64.c",
"src/qs8-gemm/gen/4x4c2-minmax-sse41-ld128.c",
"src/qs8-gemm/gen/4x4c2-xw-minmax-sse41.c",
"src/qs8-igemm/gen/1x4c2-minmax-sse41-ld64.c",
"src/qs8-igemm/gen/1x4c2-minmax-sse41-ld128.c",
"src/qs8-igemm/gen/1x4c8-minmax-sse41-ld64.c",
"src/qs8-igemm/gen/1x4c8-minmax-sse41-ld128.c",
"src/qs8-igemm/gen/2x4c8-minmax-sse41-ld64.c",
"src/qs8-igemm/gen/2x4c8-minmax-sse41-ld128.c",
"src/qs8-igemm/gen/3x4c8-minmax-sse41-ld64.c",
"src/qs8-igemm/gen/3x4c8-minmax-sse41-ld128.c",
"src/qs8-igemm/gen/4x4c2-minmax-sse41-ld64.c",
"src/qs8-igemm/gen/4x4c2-minmax-sse41-ld128.c",
"src/qs8-requantization/fp32-sse4.c",
"src/qs8-requantization/precise-sse4.c",
"src/qs8-requantization/q31-sse4.c",
"src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x8.c",
"src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x16.c",
"src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x24.c",
"src/qs8-vadd/gen/minmax-sse41-mul16-ld64-x32.c",
"src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x8.c",
"src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x16.c",
"src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x24.c",
"src/qs8-vadd/gen/minmax-sse41-mul32-ld32-x32.c",
"src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x8.c",
"src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x16.c",
"src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x24.c",
"src/qs8-vaddc/gen/minmax-sse41-mul16-ld64-x32.c",
"src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x8.c",
"src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x16.c",
"src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x24.c",
"src/qs8-vaddc/gen/minmax-sse41-mul32-ld32-x32.c",
"src/qu8-requantization/precise-sse4.c",
"src/qu8-requantization/q31-sse4.c",
]
AVX_UKERNELS = [
"src/f32-clamp/gen/avx-x8.c",
"src/f32-clamp/gen/avx-x16.c",
"src/f32-dwconv/gen/up8x4-minmax-avx-acc2.c",
"src/f32-dwconv/gen/up8x4-minmax-avx.c",
"src/f32-dwconv/gen/up8x9-minmax-avx-acc2.c",
"src/f32-dwconv/gen/up8x9-minmax-avx.c",
"src/f32-dwconv/gen/up8x25-minmax-avx-acc2.c",
"src/f32-dwconv/gen/up8x25-minmax-avx.c",
"src/f32-dwconv/gen/up16x4-minmax-avx-acc2.c",
"src/f32-dwconv/gen/up16x4-minmax-avx.c",
"src/f32-dwconv/gen/up16x9-minmax-avx-acc2.c",
"src/f32-dwconv/gen/up16x9-minmax-avx.c",
"src/f32-dwconv/gen/up16x25-minmax-avx-acc2.c",
"src/f32-dwconv/gen/up16x25-minmax-avx.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/1x16inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/3x16inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/4x16inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/5x16inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen-inc/7x8inc-minmax-avx-broadcast.c",
"src/f32-gemm/gen/1x8-minmax-avx-broadcast.c",
"src/f32-gemm/gen/1x16-minmax-avx-broadcast.c",
"src/f32-gemm/gen/3x16-minmax-avx-broadcast.c",
"src/f32-gemm/gen/4x8-minmax-avx-broadcast.c",
"src/f32-gemm/gen/4x16-minmax-avx-broadcast.c",
"src/f32-gemm/gen/5x8-minmax-avx-broadcast.c",
"src/f32-gemm/gen/5x16-minmax-avx-broadcast.c",
"src/f32-gemm/gen/6x8-minmax-avx-broadcast.c",
"src/f32-gemm/gen/7x8-minmax-avx-broadcast.c",
"src/f32-hswish/gen/hswish-avx-x8.c",
"src/f32-hswish/gen/hswish-avx-x16.c",
"src/f32-igemm/gen/1x8-minmax-avx-broadcast.c",
"src/f32-igemm/gen/1x16-minmax-avx-broadcast.c",
"src/f32-igemm/gen/3x16-minmax-avx-broadcast.c",
"src/f32-igemm/gen/4x8-minmax-avx-broadcast.c",
"src/f32-igemm/gen/4x16-minmax-avx-broadcast.c",
"src/f32-igemm/gen/5x8-minmax-avx-broadcast.c",
"src/f32-igemm/gen/5x16-minmax-avx-broadcast.c",
"src/f32-igemm/gen/6x8-minmax-avx-broadcast.c",
"src/f32-igemm/gen/7x8-minmax-avx-broadcast.c",
"src/f32-prelu/gen/avx-2x8.c",
"src/f32-prelu/gen/avx-2x16.c",
"src/f32-relu/gen/avx-x8.c",
"src/f32-relu/gen/avx-x16.c",
"src/f32-rmax/avx.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x8.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x16.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x24.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x32.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x40.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x48.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x56.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x64.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x72.c",
"src/f32-sigmoid/gen/avx-rr2-p5-div-x80.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x8.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x16.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x24.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x32.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x40.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x48.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x56.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x64.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x72.c",
"src/f32-sigmoid/gen/avx-rr2-p5-nr2-x80.c",
"src/f32-vbinary/gen/vadd-minmax-avx-x8.c",
"src/f32-vbinary/gen/vadd-minmax-avx-x16.c",
"src/f32-vbinary/gen/vaddc-minmax-avx-x8.c",
"src/f32-vbinary/gen/vaddc-minmax-avx-x16.c",
"src/f32-vbinary/gen/vdiv-minmax-avx-x8.c",
"src/f32-vbinary/gen/vdiv-minmax-avx-x16.c",
"src/f32-vbinary/gen/vdivc-minmax-avx-x8.c",
"src/f32-vbinary/gen/vdivc-minmax-avx-x16.c",
"src/f32-vbinary/gen/vmax-avx-x8.c",
"src/f32-vbinary/gen/vmax-avx-x16.c",
"src/f32-vbinary/gen/vmaxc-avx-x8.c",
"src/f32-vbinary/gen/vmaxc-avx-x16.c",
"src/f32-vbinary/gen/vmin-avx-x8.c",
"src/f32-vbinary/gen/vmin-avx-x16.c",
"src/f32-vbinary/gen/vminc-avx-x8.c",
"src/f32-vbinary/gen/vminc-avx-x16.c",
"src/f32-vbinary/gen/vmul-minmax-avx-x8.c",
"src/f32-vbinary/gen/vmul-minmax-avx-x16.c",
"src/f32-vbinary/gen/vmulc-minmax-avx-x8.c",
"src/f32-vbinary/gen/vmulc-minmax-avx-x16.c",
"src/f32-vbinary/gen/vrdivc-minmax-avx-x8.c",
"src/f32-vbinary/gen/vrdivc-minmax-avx-x16.c",
"src/f32-vbinary/gen/vrsubc-minmax-avx-x8.c",
"src/f32-vbinary/gen/vrsubc-minmax-avx-x16.c",
"src/f32-vbinary/gen/vsqrdiff-avx-x8.c",
"src/f32-vbinary/gen/vsqrdiff-avx-x16.c",
"src/f32-vbinary/gen/vsqrdiffc-avx-x8.c",
"src/f32-vbinary/gen/vsqrdiffc-avx-x16.c",
"src/f32-vbinary/gen/vsub-minmax-avx-x8.c",
"src/f32-vbinary/gen/vsub-minmax-avx-x16.c",
"src/f32-vbinary/gen/vsubc-minmax-avx-x8.c",
"src/f32-vbinary/gen/vsubc-minmax-avx-x16.c",
"src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x8.c",
"src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x16.c",
"src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x24.c",
"src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x32.c",
"src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x40.c",
"src/f32-velu/gen/velu-avx-rr2-lut4-p4-perm-x48.c",
"src/f32-velu/gen/velu-avx-rr2-lut16-p3-x8.c",
"src/f32-velu/gen/velu-avx-rr2-lut16-p3-x16.c",
"src/f32-velu/gen/velu-avx-rr2-lut16-p3-x24.c",
"src/f32-velu/gen/velu-avx-rr2-lut16-p3-x32.c",
"src/f32-velu/gen/velu-avx-rr2-lut16-p3-x40.c",
"src/f32-velu/gen/velu-avx-rr2-lut16-p3-x48.c",
"src/f32-velu/gen/velu-avx-rr2-p6-x8.c",
"src/f32-velu/gen/velu-avx-rr2-p6-x16.c",
"src/f32-velu/gen/velu-avx-rr2-p6-x24.c",
"src/f32-velu/gen/velu-avx-rr2-p6-x32.c",
"src/f32-velu/gen/velu-avx-rr2-p6-x40.c",
"src/f32-velu/gen/velu-avx-rr2-p6-x48.c",
"src/f32-vlrelu/gen/vlrelu-avx-x8.c",
"src/f32-vlrelu/gen/vlrelu-avx-x16.c",
"src/f32-vrnd/gen/vrndd-avx-x8.c",
"src/f32-vrnd/gen/vrndd-avx-x16.c",
"src/f32-vrnd/gen/vrndne-avx-x8.c",
"src/f32-vrnd/gen/vrndne-avx-x16.c",
"src/f32-vrnd/gen/vrndu-avx-x8.c",
"src/f32-vrnd/gen/vrndu-avx-x16.c",
"src/f32-vrnd/gen/vrndz-avx-x8.c",
"src/f32-vrnd/gen/vrndz-avx-x16.c",
"src/f32-vscale/avx-x32.c",
"src/f32-vsqrt/gen/avx-sqrt-x8.c",
"src/f32-vsqrt/gen/avx-sqrt-x16.c",
"src/f32-vunary/gen/vabs-avx-x8.c",
"src/f32-vunary/gen/vabs-avx-x16.c",
"src/f32-vunary/gen/vneg-avx-x8.c",
"src/f32-vunary/gen/vneg-avx-x16.c",
"src/f32-vunary/gen/vsqr-avx-x8.c",
"src/f32-vunary/gen/vsqr-avx-x16.c",
"src/math/exp-avx-rr2-p5.c",
"src/math/expm1minus-avx-rr2-lut4-p4-perm.c",
"src/math/expm1minus-avx-rr2-lut16-p3.c",
"src/math/expm1minus-avx-rr2-p6.c",
"src/math/sigmoid-avx-rr2-lut64-p2-div.c",
"src/math/sigmoid-avx-rr2-p5-div.c",
"src/math/sigmoid-avx-rr2-p5-nr1.c",
"src/math/sigmoid-avx-rr2-p5-nr2.c",
]
XOP_UKERNELS = [
"src/qs8-gemm/gen/1x4c2-minmax-xop-ld64.c",
"src/qs8-gemm/gen/1x4c2-minmax-xop-ld128.c",
"src/qs8-gemm/gen/1x4c2-xw-minmax-xop.c",
"src/qs8-gemm/gen/1x4c8-minmax-xop-ld64.c",
"src/qs8-gemm/gen/1x4c8-minmax-xop-ld128.c",
"src/qs8-gemm/gen/1x4c8-xw-minmax-xop.c",
"src/qs8-gemm/gen/2x4c8-minmax-xop-ld64.c",
"src/qs8-gemm/gen/2x4c8-minmax-xop-ld128.c",
"src/qs8-gemm/gen/2x4c8-xw-minmax-xop.c",
"src/qs8-gemm/gen/3x4c8-minmax-xop-ld64.c",
"src/qs8-gemm/gen/3x4c8-minmax-xop-ld128.c",
"src/qs8-gemm/gen/3x4c8-xw-minmax-xop.c",
"src/qs8-gemm/gen/4x4c2-minmax-xop-ld64.c",
"src/qs8-gemm/gen/4x4c2-minmax-xop-ld128.c",
"src/qs8-gemm/gen/4x4c2-xw-minmax-xop.c",
"src/qs8-igemm/gen/1x4c2-minmax-xop-ld64.c",
"src/qs8-igemm/gen/1x4c2-minmax-xop-ld128.c",
"src/qs8-igemm/gen/1x4c8-minmax-xop-ld64.c",
"src/qs8-igemm/gen/1x4c8-minmax-xop-ld128.c",
"src/qs8-igemm/gen/2x4c8-minmax-xop-ld64.c",
"src/qs8-igemm/gen/2x4c8-minmax-xop-ld128.c",
"src/qs8-igemm/gen/3x4c8-minmax-xop-ld64.c",
"src/qs8-igemm/gen/3x4c8-minmax-xop-ld128.c",
"src/qs8-igemm/gen/4x4c2-minmax-xop-ld64.c",
"src/qs8-igemm/gen/4x4c2-minmax-xop-ld128.c",
"src/qs8-vadd/gen/minmax-xop-mul32-ld32-x8.c",
"src/qs8-vadd/gen/minmax-xop-mul32-ld32-x16.c",
"src/qs8-vadd/gen/minmax-xop-mul32-ld32-x24.c",
"src/qs8-vadd/gen/minmax-xop-mul32-ld32-x32.c",
"src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x8.c",
"src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x16.c",
"src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x24.c",
"src/qs8-vaddc/gen/minmax-xop-mul32-ld32-x32.c",
]
FMA3_UKERNELS = [
"src/f32-dwconv/gen/up8x4-minmax-fma3-acc2.c",
"src/f32-dwconv/gen/up8x4-minmax-fma3.c",
"src/f32-dwconv/gen/up8x9-minmax-fma3-acc2.c",
"src/f32-dwconv/gen/up8x9-minmax-fma3.c",
"src/f32-dwconv/gen/up8x25-minmax-fma3-acc2.c",
"src/f32-dwconv/gen/up8x25-minmax-fma3.c",
"src/f32-dwconv/gen/up16x4-minmax-fma3-acc2.c",
"src/f32-dwconv/gen/up16x4-minmax-fma3.c",
"src/f32-dwconv/gen/up16x9-minmax-fma3-acc2.c",
"src/f32-dwconv/gen/up16x9-minmax-fma3.c",
"src/f32-dwconv/gen/up16x25-minmax-fma3-acc2.c",
"src/f32-dwconv/gen/up16x25-minmax-fma3.c",
"src/f32-gemm/gen-inc/1x8inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/1x16inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/1x16s4inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/3x16inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/3x16s4inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/4x8inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/4x16inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/4x16s4inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/5x8inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/5x16inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/5x16s4inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/6x8inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/7x8inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen-inc/8x8inc-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/1x8-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/1x16-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/1x16s4-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/3x16-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/3x16s4-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/4x8-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/4x16-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/4x16s4-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/5x8-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/5x16-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/5x16s4-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/6x8-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/7x8-minmax-fma3-broadcast.c",
"src/f32-gemm/gen/8x8-minmax-fma3-broadcast.c",
"src/f32-hswish/gen/hswish-fma3-x8.c",
"src/f32-hswish/gen/hswish-fma3-x16.c",
"src/f32-igemm/gen/1x8-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/1x16-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/1x16s4-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/3x16-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/3x16s4-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/4x8-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/4x16-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/4x16s4-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/5x8-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/5x16-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/5x16s4-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/6x8-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/7x8-minmax-fma3-broadcast.c",
"src/f32-igemm/gen/8x8-minmax-fma3-broadcast.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x8.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x16.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x24.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x32.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x40.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x48.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x56.c",
"src/f32-vsqrt/gen/fma3-nr1fma1adj-x64.c",
"src/math/sqrt-fma3-nr1fma.c",
"src/math/sqrt-fma3-nr1fma1adj.c",
"src/math/sqrt-fma3-nr2fma.c",
]
AVX2_UKERNELS = [
"src/f32-raddexpminusmax/gen/avx2-p5-x64-acc2.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x64-acc4.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x64.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x72-acc3.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x72.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x80-acc2.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x80-acc5.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x80.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x96-acc2.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x96-acc3.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x96-acc6.c",
"src/f32-raddexpminusmax/gen/avx2-p5-x96.c",
"src/f32-raddextexp/gen/avx2-p5-x64-acc2.c",
"src/f32-raddextexp/gen/avx2-p5-x64-acc4.c",
"src/f32-raddextexp/gen/avx2-p5-x64.c",
"src/f32-raddextexp/gen/avx2-p5-x72-acc3.c",
"src/f32-raddextexp/gen/avx2-p5-x72.c",
"src/f32-raddextexp/gen/avx2-p5-x80-acc2.c",
"src/f32-raddextexp/gen/avx2-p5-x80-acc5.c",
"src/f32-raddextexp/gen/avx2-p5-x80.c",
"src/f32-raddextexp/gen/avx2-p5-x96-acc2.c",
"src/f32-raddextexp/gen/avx2-p5-x96-acc3.c",
"src/f32-raddextexp/gen/avx2-p5-x96-acc6.c",
"src/f32-raddextexp/gen/avx2-p5-x96.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x64-acc2.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x64-acc4.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x64.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x72-acc3.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x72.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x80-acc2.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x80-acc5.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x80.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc2.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc3.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x96-acc6.c",
"src/f32-raddstoreexpminusmax/gen/avx2-p5-x96.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x8.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x16.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x24.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x32.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x40.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x48.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x56.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x64.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x72.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-div-x80.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x8.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x16.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x24.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x32.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x40.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x48.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x56.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x64.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x72.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr1fma-x80.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x8.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x16.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x24.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x32.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x40.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x48.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x56.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x64.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x72.c",
"src/f32-sigmoid/gen/avx2-rr1-p5-nr2fma-x80.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x8.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x16.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x24.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x32.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x40.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x48.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x56.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x64.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x72.c",
"src/f32-velu/gen/velu-avx2-rr1-lut4-p4-perm-x80.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x8.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x16.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x24.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x32.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x40.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x48.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x56.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x64.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x72.c",
"src/f32-velu/gen/velu-avx2-rr1-lut8-p4-perm-x80.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x8.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x16.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x24.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x32.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x40.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x48.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x56.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x64.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x72.c",
"src/f32-velu/gen/velu-avx2-rr1-lut16-p3-gather-x80.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x8.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x16.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x24.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x32.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x40.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x48.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x56.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x64.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x72.c",
"src/f32-velu/gen/velu-avx2-rr1-p6-x80.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x8.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x16.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x24.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x32.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x40.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x48.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x56.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x64.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x72.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x80.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x88.c",
"src/f32-vscaleexpminusmax/gen/avx2-p5-x96.c",
"src/f32-vscaleextexp/gen/avx2-p5-x8.c",
"src/f32-vscaleextexp/gen/avx2-p5-x16.c",
"src/f32-vscaleextexp/gen/avx2-p5-x24.c",
"src/f32-vscaleextexp/gen/avx2-p5-x32.c",
"src/f32-vscaleextexp/gen/avx2-p5-x40.c",
"src/f32-vscaleextexp/gen/avx2-p5-x48.c",
"src/f32-vscaleextexp/gen/avx2-p5-x56.c",
"src/f32-vscaleextexp/gen/avx2-p5-x64.c",
"src/f32-vscaleextexp/gen/avx2-p5-x72.c",
"src/f32-vscaleextexp/gen/avx2-p5-x80.c",
"src/f32-vscaleextexp/gen/avx2-p5-x88.c",
"src/f32-vscaleextexp/gen/avx2-p5-x96.c",
"src/math/exp-avx2-rr2-lut8-p3-perm.c",
"src/math/exp-avx2-rr2-lut8-p4-perm.c",
"src/math/exp-avx2-rr2-p5.c",
"src/math/expm1minus-avx2-rr1-lut4-p4-perm.c",
"src/math/expm1minus-avx2-rr1-lut8-p4-perm.c",
"src/math/expm1minus-avx2-rr1-lut16-p3-gather.c",
"src/math/expm1minus-avx2-rr1-p6.c",
"src/math/expminus-avx2-rr2-p5.c",
"src/math/extexp-avx2-p5.c",
"src/math/sigmoid-avx2-rr1-lut64-p2-gather-div.c",
"src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr1fma.c",
"src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma.c",
"src/math/sigmoid-avx2-rr1-lut64-p2-gather-nr2fma1adj.c",
"src/math/sigmoid-avx2-rr1-p5-div.c",
"src/math/sigmoid-avx2-rr1-p5-nr1fma.c",
"src/math/sigmoid-avx2-rr1-p5-nr2fma.c",
"src/math/sigmoid-avx2-rr2-lut64-p2-gather-div.c",
"src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr1fma.c",
"src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma.c",
"src/math/sigmoid-avx2-rr2-lut64-p2-gather-nr2fma1adj.c",
"src/math/sigmoid-avx2-rr2-p5-div.c",
"src/math/sigmoid-avx2-rr2-p5-nr1fma.c",
"src/math/sigmoid-avx2-rr2-p5-nr2fma.c",
"src/qs8-dwconv/gen/up8x9-minmax-avx2-mul32.c",
"src/qs8-dwconv/gen/up16x9-minmax-avx2-mul16.c",
"src/qs8-dwconv/gen/up16x9-minmax-avx2-mul32.c",
"src/qs8-dwconv/gen/up24x9-minmax-avx2-mul32.c",
"src/qs8-dwconv/gen/up32x9-minmax-avx2-mul16.c",
"src/qs8-dwconv/gen/up32x9-minmax-avx2-mul32.c",
"src/qs8-gemm/gen/1x8c8-minmax-avx2.c",
"src/qs8-gemm/gen/1x8c8-xw-minmax-avx2.c",
"src/qs8-gemm/gen/2x8c8-minmax-avx2.c",
"src/qs8-gemm/gen/2x8c8-xw-minmax-avx2.c",
"src/qs8-gemm/gen/3x8c8-minmax-avx2.c",
"src/qs8-gemm/gen/3x8c8-xw-minmax-avx2.c",
"src/qs8-igemm/gen/1x8c8-minmax-avx2.c",
"src/qs8-igemm/gen/2x8c8-minmax-avx2.c",
"src/qs8-igemm/gen/3x8c8-minmax-avx2.c",
"src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x8.c",
"src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x16.c",
"src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x24.c",
"src/qs8-vadd/gen/minmax-avx2-mul32-ld64-x32.c",
"src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x8.c",
"src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x16.c",
"src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x24.c",
"src/qs8-vaddc/gen/minmax-avx2-mul32-ld64-x32.c",
]
AVX512F_UKERNELS = [
"src/f32-clamp/gen/avx512f-x16.c",
"src/f32-clamp/gen/avx512f-x32.c",
"src/f32-dwconv/gen/up16x4-minmax-avx512f-acc2.c",
"src/f32-dwconv/gen/up16x4-minmax-avx512f.c",
"src/f32-dwconv/gen/up16x9-minmax-avx512f-acc2.c",
"src/f32-dwconv/gen/up16x9-minmax-avx512f.c",
"src/f32-dwconv/gen/up16x25-minmax-avx512f-acc2.c",
"src/f32-dwconv/gen/up16x25-minmax-avx512f.c",
"src/f32-dwconv/gen/up32x4-minmax-avx512f-acc2.c",
"src/f32-dwconv/gen/up32x4-minmax-avx512f.c",
"src/f32-dwconv/gen/up32x9-minmax-avx512f-acc2.c",
"src/f32-dwconv/gen/up32x9-minmax-avx512f.c",
"src/f32-dwconv/gen/up32x25-minmax-avx512f-acc2.c",
"src/f32-dwconv/gen/up32x25-minmax-avx512f.c",
"src/f32-gemm/gen-inc/1x16inc-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen-inc/4x16inc-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen-inc/5x16inc-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen-inc/6x16inc-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen-inc/7x16inc-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen-inc/8x16inc-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen/1x16-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen/4x16-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen/5x16-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen/6x16-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen/7x16-minmax-avx512f-broadcast.c",
"src/f32-gemm/gen/8x16-minmax-avx512f-broadcast.c",
"src/f32-hswish/gen/hswish-avx512f-x16.c",
"src/f32-hswish/gen/hswish-avx512f-x32.c",
"src/f32-igemm/gen/1x16-minmax-avx512f-broadcast.c",
"src/f32-igemm/gen/4x16-minmax-avx512f-broadcast.c",
"src/f32-igemm/gen/5x16-minmax-avx512f-broadcast.c",
"src/f32-igemm/gen/6x16-minmax-avx512f-broadcast.c",
"src/f32-igemm/gen/7x16-minmax-avx512f-broadcast.c",
"src/f32-igemm/gen/8x16-minmax-avx512f-broadcast.c",
"src/f32-prelu/gen/avx512f-2x16.c",
"src/f32-prelu/gen/avx512f-2x32.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x128.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x144.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x160.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c",
"src/f32-raddexpminusmax/gen/avx512f-p5-scalef-x192.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc2.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x128-acc4.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x128.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x144-acc3.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x144.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc2.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x160-acc5.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x160.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc2.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc3.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x192-acc6.c",
"src/f32-raddextexp/gen/avx512f-p5-scalef-x192.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128-acc2.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128-acc4.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x128.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x144-acc3.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x144.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160-acc2.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160-acc5.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x160.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc2.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc3.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192-acc6.c",
"src/f32-raddstoreexpminusmax/gen/avx512f-p5-scalef-x192.c",
"src/f32-relu/gen/avx512f-x16.c",
"src/f32-relu/gen/avx512f-x32.c",
"src/f32-rmax/avx512f.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x16.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x32.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x48.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x64.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x80.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x96.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x112.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-div-x128.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x16.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x32.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x48.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x64.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x80.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x96.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x112.c",
"src/f32-sigmoid/gen/avx512f-rr1-lut16-p3-perm-scalef-nr1fma-x128.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x16.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x32.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x48.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x64.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x80.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x96.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x112.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-div-x128.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x16.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x32.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x48.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x64.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x80.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x96.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x112.c",
"src/f32-sigmoid/gen/avx512f-rr1-p5-scalef-nr1fma-x128.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x16.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x32.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x48.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x64.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x80.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x96.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x112.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-div-x128.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x16.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x32.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x48.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x64.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x80.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x96.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x112.c",
"src/f32-sigmoid/gen/avx512f-rr2-lut32-p2-perm2-scalef-nr1fma-x128.c",
"src/f32-vbinary/gen/vadd-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vadd-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vaddc-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vaddc-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vdiv-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vdiv-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vdivc-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vdivc-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vmax-avx512f-x16.c",
"src/f32-vbinary/gen/vmax-avx512f-x32.c",
"src/f32-vbinary/gen/vmaxc-avx512f-x16.c",
"src/f32-vbinary/gen/vmaxc-avx512f-x32.c",
"src/f32-vbinary/gen/vmin-avx512f-x16.c",
"src/f32-vbinary/gen/vmin-avx512f-x32.c",
"src/f32-vbinary/gen/vminc-avx512f-x16.c",
"src/f32-vbinary/gen/vminc-avx512f-x32.c",
"src/f32-vbinary/gen/vmul-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vmul-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vmulc-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vmulc-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vrdivc-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vrdivc-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vrsubc-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vrsubc-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vsqrdiff-avx512f-x16.c",
"src/f32-vbinary/gen/vsqrdiff-avx512f-x32.c",
"src/f32-vbinary/gen/vsqrdiffc-avx512f-x16.c",
"src/f32-vbinary/gen/vsqrdiffc-avx512f-x32.c",
"src/f32-vbinary/gen/vsub-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vsub-minmax-avx512f-x32.c",
"src/f32-vbinary/gen/vsubc-minmax-avx512f-x16.c",
"src/f32-vbinary/gen/vsubc-minmax-avx512f-x32.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x16.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x32.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x48.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x64.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x80.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x96.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x112.c",
"src/f32-velu/gen/velu-avx512f-rr1-lut16-p3-perm-x128.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x16.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x32.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x48.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x64.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x80.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x96.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x112.c",
"src/f32-velu/gen/velu-avx512f-rr1-p6-x128.c",
"src/f32-vlrelu/gen/vlrelu-avx512f-x16.c",
"src/f32-vlrelu/gen/vlrelu-avx512f-x32.c",
"src/f32-vrnd/gen/vrndd-avx512f-x16.c",
"src/f32-vrnd/gen/vrndd-avx512f-x32.c",
"src/f32-vrnd/gen/vrndne-avx512f-x16.c",
"src/f32-vrnd/gen/vrndne-avx512f-x32.c",
"src/f32-vrnd/gen/vrndu-avx512f-x16.c",
"src/f32-vrnd/gen/vrndu-avx512f-x32.c",
"src/f32-vrnd/gen/vrndz-avx512f-x16.c",
"src/f32-vrnd/gen/vrndz-avx512f-x32.c",
"src/f32-vscale/avx512f-x64.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x16.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x32.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x48.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x64.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x80.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x96.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x112.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x128.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x144.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x160.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x176.c",
"src/f32-vscaleexpminusmax/gen/avx512f-p5-scalef-x192.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x16.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x32.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x48.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x64.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x80.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x96.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x112.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x128.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x144.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x160.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x176.c",
"src/f32-vscaleextexp/gen/avx512f-p5-scalef-x192.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x16.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x32.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x48.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x64.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x80.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x96.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x112.c",
"src/f32-vsqrt/gen/avx512f-nr1fma1adj-x128.c",
"src/f32-vunary/gen/vabs-avx512f-x16.c",
"src/f32-vunary/gen/vabs-avx512f-x32.c",
"src/f32-vunary/gen/vneg-avx512f-x16.c",
"src/f32-vunary/gen/vneg-avx512f-x32.c",
"src/f32-vunary/gen/vsqr-avx512f-x16.c",
"src/f32-vunary/gen/vsqr-avx512f-x32.c",
"src/math/exp-avx512f-rr2-lut16-p3-perm-scalef.c",
"src/math/exp-avx512f-rr2-lut16-p3-perm.c",
"src/math/exp-avx512f-rr2-lut32-p2-perm2-scalef.c",
"src/math/exp-avx512f-rr2-lut32-p2-perm2.c",
"src/math/exp-avx512f-rr2-p5-scalef.c",
"src/math/exp-avx512f-rr2-p5.c",
"src/math/expm1minus-avx512f-rr1-lut16-p3-perm.c",
"src/math/expm1minus-avx512f-rr1-p6.c",
"src/math/extexp-avx512f-p5.c",
"src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-div.c",
"src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr1-lut16-p3-perm-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-div.c",
"src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr1-lut32-p2-perm2-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-div.c",
"src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr1-lut64-p2-gather-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr1-p5-scalef-div.c",
"src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr1-p5-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-div.c",
"src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr2-lut16-p3-perm-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div.c",
"src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr2-lut32-p2-perm2-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-div.c",
"src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr2-lut64-p2-gather-scalef-nr1fma1adj.c",
"src/math/sigmoid-avx512f-rr2-p5-scalef-div.c",
"src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma.c",
"src/math/sigmoid-avx512f-rr2-p5-scalef-nr1fma1adj.c",
"src/math/sqrt-avx512f-nr1fma.c",
"src/math/sqrt-avx512f-nr1fma1adj.c",
"src/math/sqrt-avx512f-nr2fma.c",
]
AVX512SKX_UKERNELS = [
"src/qs8-dwconv/gen/up16x9-minmax-avx512skx-mul32.c",
"src/qs8-dwconv/gen/up32x9-minmax-avx512skx-mul32.c",
"src/qs8-gemm/gen/1x16c8-minmax-avx512skx.c",
"src/qs8-gemm/gen/2x16c8-minmax-avx512skx.c",
"src/qs8-gemm/gen/3x16c8-minmax-avx512skx.c",
"src/qs8-gemm/gen/4x16c8-minmax-avx512skx.c",
"src/qs8-igemm/gen/1x16c8-minmax-avx512skx.c",
"src/qs8-igemm/gen/2x16c8-minmax-avx512skx.c",
"src/qs8-igemm/gen/3x16c8-minmax-avx512skx.c",
"src/qs8-igemm/gen/4x16c8-minmax-avx512skx.c",
]
AARCH32_ASM_UKERNELS = [
"src/f32-gemm/4x4-aarch32-vfp-ld64.S",
"src/f32-gemm/4x4-minmax-aarch32-vfp-ld64.S",
"src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a53.S",
"src/f32-gemm/4x8-minmax-aarch32-neon-cortex-a55.S",
"src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S",
"src/f32-gemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S",
"src/f32-gemm/gen/4x8-minmax-aarch32-neon-ld64.S",
"src/f32-gemm/gen/4x8-minmax-aarch32-neon-pld-cortex-a75.S",
"src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a53.S",
"src/f32-igemm/4x8-minmax-aarch32-neon-cortex-a55.S",
"src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a7.S",
"src/f32-igemm/gen/4x8-minmax-aarch32-neon-cortex-a75.S",
"src/f32-igemm/gen/4x8-minmax-aarch32-neon-ld64.S",
"src/f32-igemm/gen/4x8-minmax-aarch32-neon-pld-cortex-a75.S",
]
AARCH64_ASM_UKERNELS = [
"src/f16-gemm/gen-inc/1x8inc-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen-inc/1x16inc-minmax-aarch64-neonfp16arith-ld32.S",
"src/f16-gemm/gen-inc/4x8inc-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen-inc/4x16inc-minmax-aarch64-neonfp16arith-ld32.S",
"src/f16-gemm/gen-inc/6x8inc-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen-inc/6x16inc-minmax-aarch64-neonfp16arith-ld32.S",
"src/f16-gemm/gen-inc/8x8inc-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen/1x8-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen/1x16-minmax-aarch64-neonfp16arith-ld32.S",
"src/f16-gemm/gen/4x8-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen/4x16-minmax-aarch64-neonfp16arith-ld32.S",
"src/f16-gemm/gen/6x8-minmax-aarch64-neonfp16arith-ld64.S",
"src/f16-gemm/gen/6x16-minmax-aarch64-neonfp16arith-ld32.S",
"src/f16-gemm/gen/8x8-minmax-aarch64-neonfp16arith-ld64.S",
"src/f32-dwconv/up4x9-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-dwconv/up4x9-minmax-aarch64-neonfma.S",
"src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen-inc/1x8inc-minmax-aarch64-neonfma-ld64.S",
"src/f32-gemm/gen-inc/1x12inc-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld64.S",
"src/f32-gemm/gen-inc/4x8inc-minmax-aarch64-neonfma-ld128.S",
"src/f32-gemm/gen-inc/4x12inc-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen-inc/5x8inc-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a73.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld64.S",
"src/f32-gemm/gen-inc/6x8inc-minmax-aarch64-neonfma-ld128.S",
"src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen/1x8-minmax-aarch64-neonfma-ld64.S",
"src/f32-gemm/gen/1x12-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld64.S",
"src/f32-gemm/gen/4x8-minmax-aarch64-neonfma-ld128.S",
"src/f32-gemm/gen/4x12-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a73.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld64.S",
"src/f32-gemm/gen/6x8-minmax-aarch64-neonfma-ld128.S",
"src/f32-igemm/1x8-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-igemm/1x12-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-igemm/4x8-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-igemm/4x12-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a53.S",
"src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a55.S",
"src/f32-igemm/6x8-minmax-aarch64-neonfma-cortex-a73.S",
"src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-igemm/gen/1x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-igemm/gen/4x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-igemm/gen/5x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a57.S",
"src/f32-igemm/gen/6x8-minmax-aarch64-neonfma-cortex-a75.S",
"src/qs8-gemm/1x16c4-aarch64-neondot-ld32.S",
"src/qs8-gemm/1x16c4-aarch64-neondot-ld64.S",
"src/qs8-gemm/2x8c8-aarch64-neon-mull-padal.S",
"src/qs8-gemm/2x8c8-aarch64-neon-mlal-padal.S",
"src/qs8-gemm/2x8c16-aarch64-neon-mlal-padal.S",
"src/qs8-gemm/4x16c4-aarch64-neondot-cortex-a55.S",
"src/qs8-gemm/4x16c4-aarch64-neondot-ld32.S",
"src/qs8-gemm/4x16c4-aarch64-neondot-ld64.S",
"src/qs8-igemm/2x8c8-aarch64-neon-mlal-padal.S",
"src/qs8-igemm/2x8c16-aarch64-neon-mlal-padal.S",
"src/qs8-igemm/4x16c4-aarch64-neondot-cortex-a55.S",
"src/qs8-igemm/4x16c4-aarch64-neondot-ld64.S",
]
cc_defaults {
name: "xnnpack_internal_default",
vendor_available: true,
sdk_version: "current",
local_include_dirs: [
"include",
"src",
],
cflags: [
"-std=c99",
"-DXNN_LOG_LEVEL=2",
"-Wno-unused-parameter",
"-Wno-missing-field-initializers",
"-Wno-pointer-arith",
"-Wno-implicit-function-declaration",
],
stl: "libc++_static",
}
cc_library_static {
name: "xnnpack_tables",
defaults: ["xnnpack_internal_default"],
srcs: TABLE_SRCS,
}
cc_library_static {
name: "xnnpack_logging_utils",
defaults: ["xnnpack_internal_default"],
srcs: LOGGING_SRCS,
header_libs: [
"fp16_headers",
],
static_libs: [
"libclog",
"libpthreadpool",
],
}
cc_library_static {
name: "xnnpack_memory_planner",
defaults: ["xnnpack_internal_default"],
srcs: [
"src/memory-planner.c",
],
cflags: [
"-DXNN_ENABLE_MEMOPT=1",
],
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_logging_utils",
],
}
cc_library_static {
name: "xnnpack_im2col",
defaults: ["xnnpack_internal_default"],
srcs: [
"src/im2col.c",
],
}
cc_library_static {
name: "xnnpack_indirection",
defaults: ["xnnpack_internal_default"],
srcs: [
"src/indirection.c",
],
header_libs: [
"fp16_headers",
"fxdiv_headers",
],
static_libs: [
"libpthreadpool",
],
}
cc_library_static {
name: "xnnpack_packing",
defaults: ["xnnpack_internal_default"],
srcs: [
"src/packing.c",
],
header_libs: [
"fp16_headers",
"fxdiv_headers",
],
static_libs: [
"libpthreadpool",
],
}
cc_library_static {
name: "xnnpack_operator_run",
defaults: ["xnnpack_internal_default"],
srcs: [
"src/operator-run.c",
],
cflags: [
"-Wno-vla",
],
header_libs: [
"fp16_headers",
"fxdiv_headers",
],
static_libs: [
"libclog",
"libpthreadpool",
],
}
cc_library_static {
name: "xnnpack_operators",
defaults: ["xnnpack_internal_default"],
srcs: OPERATOR_SRCS + [
"src/memory.c",
"src/operator-delete.c",
],
header_libs: [
"fp16_headers",
"fxdiv_headers",
],
static_libs: [
"libclog",
"libpthreadpool",
"xnnpack_logging_utils",
"xnnpack_packing",
],
whole_static_libs: [
"xnnpack_indirection",
],
}
cc_library_static {
name: "xnnpack_scalar_ukernels",
defaults: ["xnnpack_internal_default"],
srcs: SCALAR_UKERNELS,
header_libs: [
"fp16_headers",
"fxdiv_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_neon_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: {
srcs: NEON_UKERNELS,
cflags: [
"-marm",
"-mfpu=neon",
],
},
arm64: {
srcs: NEON_UKERNELS,
},
x86: { enabled: false, },
x86_64: { enabled: false, },
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_neondot_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: {
srcs: NEONDOT_UKERNELS,
cflags: [
"-marm",
"-march=armv8.2-a+dotprod",
"-mfpu=neon-fp-armv8",
],
},
arm64: {
srcs: NEONDOT_UKERNELS,
cflags: [
"-march=armv8.2-a+dotprod",
],
},
x86: { enabled: false, },
x86_64: { enabled: false, },
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_neonfma_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: {
srcs: NEONFMA_UKERNELS,
cflags: [
"-marm",
"-march=armv7-a",
"-mfpu=neon-vfpv4",
],
},
arm64: {
srcs: NEONFMA_UKERNELS + AARCH64_NEONFMA_UKERNELS,
},
x86: { enabled: false, },
x86_64: { enabled: false, },
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_neonv8_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: {
srcs: NEONV8_UKERNELS,
cflags: [
"-marm",
"-march=armv8-a",
"-mfpu=neon-fp-armv8",
],
},
arm64: {
srcs: NEONV8_UKERNELS,
},
x86: { enabled: false, },
x86_64: { enabled: false, },
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_neonfp16arith_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: {
srcs: AARCH64_NEONFP16ARITH_UKERNELS,
cflags: [
"-march=armv8.2-a+fp16",
],
},
x86: { enabled: false, },
x86_64: { enabled: false, },
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_asm_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: {
srcs: AARCH32_ASM_UKERNELS,
},
arm64: {
srcs: AARCH64_ASM_UKERNELS,
clang_asflags: [
"-march=armv8.2-a+fp16+dotprod",
],
},
x86: { enabled: false, },
x86_64: { enabled: false, },
},
}
cc_library_static {
name: "xnnpack_sse2_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: SSE_UKERNELS + SSE2_UKERNELS,
cflags: [
"-msse2",
],
},
x86_64: {
srcs: SSE_UKERNELS + SSE2_UKERNELS,
cflags: [
"-msse2",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_ssse3_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: SSSE3_UKERNELS,
cflags: [
"-mssse3",
],
},
x86_64: {
srcs: SSSE3_UKERNELS,
cflags: [
"-mssse3",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_sse41_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: SSE41_UKERNELS,
cflags: [
"-msse4.1",
],
},
x86_64: {
srcs: SSE41_UKERNELS,
cflags: [
"-msse4.1",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_avx_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: AVX_UKERNELS,
cflags: [
"-mavx",
],
},
x86_64: {
srcs: AVX_UKERNELS,
cflags: [
"-mavx",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_xop_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: XOP_UKERNELS,
cflags: [
"-mxop",
],
},
x86_64: {
srcs: XOP_UKERNELS,
cflags: [
"-mxop",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_fma3_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: FMA3_UKERNELS,
cflags: [
"-mfma",
],
},
x86_64: {
srcs: FMA3_UKERNELS,
cflags: [
"-mfma",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_avx2_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: AVX2_UKERNELS,
cflags: [
"-mfma",
"-mavx2",
],
},
x86_64: {
srcs: AVX2_UKERNELS,
cflags: [
"-mfma",
"-mavx2",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_avx512skx_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: AVX512SKX_UKERNELS,
cflags: [
"-mavx512f",
"-mavx512cd",
"-mavx512bw",
"-mavx512dq",
"-mavx512vl",
],
},
x86_64: {
srcs: AVX512SKX_UKERNELS,
cflags: [
"-mavx512f",
"-mavx512cd",
"-mavx512bw",
"-mavx512dq",
"-mavx512vl",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_avx512f_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: { enabled: false, },
arm64: { enabled: false, },
x86: {
srcs: AVX512F_UKERNELS,
cflags: [
"-mavx512f",
],
},
x86_64: {
srcs: AVX512F_UKERNELS,
cflags: [
"-mavx512f",
],
},
},
header_libs: [
"fp16_headers",
],
static_libs: [
"libpthreadpool",
"xnnpack_tables",
],
}
cc_library_static {
name: "xnnpack_ukernels",
defaults: ["xnnpack_internal_default"],
arch: {
arm: {
whole_static_libs: [
"xnnpack_neon_ukernels",
"xnnpack_neonfma_ukernels",
"xnnpack_neonv8_ukernels",
"xnnpack_neondot_ukernels",
"xnnpack_asm_ukernels",
],
},
arm64: {
whole_static_libs: [
"xnnpack_neon_ukernels",
"xnnpack_neonfma_ukernels",
"xnnpack_neonv8_ukernels",
"xnnpack_neonfp16arith_ukernels",
"xnnpack_neondot_ukernels",
"xnnpack_asm_ukernels",
],
},
x86: {
whole_static_libs: [
"xnnpack_sse2_ukernels",
"xnnpack_ssse3_ukernels",
"xnnpack_sse41_ukernels",
"xnnpack_avx_ukernels",
"xnnpack_xop_ukernels",
"xnnpack_fma3_ukernels",
"xnnpack_avx2_ukernels",
"xnnpack_avx512f_ukernels",
"xnnpack_avx512skx_ukernels",
],
},
x86_64: {
whole_static_libs: [
"xnnpack_sse2_ukernels",
"xnnpack_ssse3_ukernels",
"xnnpack_sse41_ukernels",
"xnnpack_avx_ukernels",
"xnnpack_xop_ukernels",
"xnnpack_fma3_ukernels",
"xnnpack_avx2_ukernels",
"xnnpack_avx512f_ukernels",
"xnnpack_avx512skx_ukernels",
],
},
},
whole_static_libs: [
"xnnpack_scalar_ukernels",
"xnnpack_tables",
],
}
cc_library_static {
name: "libXNNPACK",
defaults: ["xnnpack_internal_default"],
export_include_dirs: ["include"],
srcs: [
"src/init.c",
"src/runtime.c",
"src/subgraph.c",
"src/tensor.c",
] + SUBGRAPH_SRCS,
header_libs: [
"fp16_headers",
],
whole_static_libs: [
"libclog",
"libcpuinfo",
"libpthreadpool",
"xnnpack_ukernels",
"xnnpack_operator_run",
"xnnpack_operators",
"xnnpack_logging_utils",
"xnnpack_memory_planner",
"xnnpack_packing",
],
}
// Tests and benchmarks
cc_defaults {
name: "xnnpack_tests_default",
vendor_available: true,
stl: "libc++_static",
local_include_dirs: [
"bench",
"models",
"test",
"src",
],
cflags: [
"-Wno-unused-function",
"-Wno-unused-parameter",
"-Wno-unused-private-field",
],
header_libs: [
"fp16_headers",
],
static_libs: [
"libXNNPACK",
"libpthreadpool",
"libgmock",
],
shared_libs: [
"liblog",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v1_fp32",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-mobilenet-v1.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v1_fp32_sparse",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-sparse-mobilenet-v1.cc",
],
}
cc_library_static {
name: "xnnpack_qs8_mobilenet_v1",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/qs8-mobilenet-v1.cc",
],
}
cc_library_static {
name: "xnnpack_qu8_mobilenet_v1",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/qu8-mobilenet-v1.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v1_fp16",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp16-mobilenet-v1.cc",
],
}
cc_library_static {
name: "xnnpack_qs8_mobilenet_v2",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/qs8-mobilenet-v2.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v2_fp32",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-mobilenet-v2.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v2_fp32_sparse",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-sparse-mobilenet-v2.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v2_fp16",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp16-mobilenet-v2.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v3_large_fp32",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-mobilenet-v3-large.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v3_large_fp32_sparse",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-sparse-mobilenet-v3-large.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v3_large_fp16",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp16-mobilenet-v3-large.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v3_small_fp32",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-mobilenet-v3-small.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v3_small_fp32_sparse",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp32-sparse-mobilenet-v3-small.cc",
],
}
cc_library_static {
name: "xnnpack_mobilenet_v3_small_fp16",
defaults: ["xnnpack_tests_default"],
srcs: [
"models/fp16-mobilenet-v3-small.cc",
],
}
cc_benchmark {
name: "xnnpack_end2end_bench",
defaults: ["xnnpack_tests_default"],
srcs: [
"bench/end2end.cc",
"bench/utils.cc",
],
cflags: [
"-Wno-unused-result"
],
static_libs: [
"libcpuinfo",
"libgoogle-benchmark",
"xnnpack_qs8_mobilenet_v1",
"xnnpack_mobilenet_v1_fp32",
"xnnpack_mobilenet_v1_fp32_sparse",
"xnnpack_mobilenet_v1_fp16",
"xnnpack_qs8_mobilenet_v2",
"xnnpack_mobilenet_v2_fp32",
"xnnpack_mobilenet_v2_fp32_sparse",
"xnnpack_mobilenet_v2_fp16",
"xnnpack_mobilenet_v3_large_fp32",
"xnnpack_mobilenet_v3_large_fp32_sparse",
"xnnpack_mobilenet_v3_large_fp16",
"xnnpack_mobilenet_v3_small_fp32",
"xnnpack_mobilenet_v3_small_fp32_sparse",
"xnnpack_mobilenet_v3_small_fp16",
"xnnpack_qu8_mobilenet_v1",
],
}
cc_test {
name: "xnnpack_abs_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/abs-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_add_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/add-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_argmax_pooling_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/argmax-pooling-nhwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_average_pooling_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/average-pooling-nhwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_bankers_rounding_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/bankers-rounding-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_ceiling_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/ceiling-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_channel_shuffle_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/channel-shuffle-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_clamp_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/clamp-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_constant_pad_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/constant-pad-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_convolution_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/convolution-nhwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_convolution_nchw_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/convolution-nchw.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_copy_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/copy-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_deconvolution_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/deconvolution-nhwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_divide_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/divide-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_fully_connected_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/fully-connected-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_floor_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/floor-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_global_average_pooling_nwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/global-average-pooling-nwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_global_average_pooling_ncw_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/global-average-pooling-ncw.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_hardswish_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/hardswish-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_leaky_relu_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/leaky-relu-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_max_pooling_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/max-pooling-nhwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_maximum_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/maximum-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_minimum_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/minimum-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_multiply_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/multiply-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_negate_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/negate-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_prelu_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/prelu-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_resize_bilinear_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/resize-bilinear-nhwc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_sigmoid_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/sigmoid-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_softmax_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/softmax-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_square_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/square-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_square_root_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/square-root-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_square_difference_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/squared-difference-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_subtract_nd_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/subtract-nd.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_truncation_nc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/truncation-nc.cc",
],
test_suites: [
"general-tests",
],
}
cc_test {
name: "xnnpack_unpooling_nhwc_test",
defaults: ["xnnpack_tests_default"],
srcs: [
"test/unpooling-nhwc.cc",
],
test_suites: [
"general-tests",
],
}