Skip to content

Commit 66de398

Browse files
dsharletgxnnpack-bot
authored andcommitted
Implement PRELU as a binary operator instead of a one-off operator type
This improves things in a few ways: - Removes a one-off operator implementation in favor of just using a standard binary operator. - The old PRELU packed weights, the new implementation just uses broadcasting like any other binary operator. - This should be more flexible and avoids initialization overhead and memory usage. PiperOrigin-RevId: 668770049
1 parent f416ab3 commit 66de398

File tree

156 files changed

+679
-19742
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

156 files changed

+679
-19742
lines changed

BUILD.bazel

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ OPERATOR_SRCS = [
6868
"src/operators/global-average-pooling-nwc.c",
6969
"src/operators/lut-elementwise-nc.c",
7070
"src/operators/max-pooling-nhwc.c",
71-
"src/operators/prelu-nc.c",
7271
"src/operators/reduce-nd.c",
7372
"src/operators/resize-bilinear-nchw.c",
7473
"src/operators/resize-bilinear-nhwc.c",
@@ -314,7 +313,6 @@ MICROKERNEL_HDRS = [
314313
"src/xnnpack/pad.h",
315314
"src/xnnpack/pavgpool.h",
316315
"src/xnnpack/ppmm.h",
317-
"src/xnnpack/prelu.h",
318316
"src/xnnpack/quantization.h",
319317
"src/xnnpack/raddexpminusmax.h",
320318
"src/xnnpack/raddextexp.h",
@@ -503,7 +501,6 @@ xnnpack_cc_library(
503501
"src/configs/lut32norm-config.c",
504502
"src/configs/maxpool-config.c",
505503
"src/configs/pavgpool-config.c",
506-
"src/configs/prelu-config.c",
507504
"src/configs/raddstoreexpminusmax-config.c",
508505
"src/configs/reduce-config.c",
509506
"src/configs/rmax-config.c",

CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,6 @@ SET(OPERATOR_SRCS
378378
src/operators/global-average-pooling-nwc.c
379379
src/operators/lut-elementwise-nc.c
380380
src/operators/max-pooling-nhwc.c
381-
src/operators/prelu-nc.c
382381
src/operators/reduce-nd.c
383382
src/operators/resize-bilinear-nchw.c
384383
src/operators/resize-bilinear-nhwc.c
@@ -474,7 +473,6 @@ SET(XNNPACK_SRCS
474473
src/configs/lut32norm-config.c
475474
src/configs/maxpool-config.c
476475
src/configs/pavgpool-config.c
477-
src/configs/prelu-config.c
478476
src/configs/raddstoreexpminusmax-config.c
479477
src/configs/reduce-config.c
480478
src/configs/rmax-config.c
@@ -1477,7 +1475,6 @@ IF(XNNPACK_BUILD_TESTS)
14771475
f16-ibilinear
14781476
f16-maxpool-minmax
14791477
f16-pavgpool-minmax
1480-
f16-prelu
14811478
f16-raddstoreexpminusmax
14821479
f16-rmax
14831480
f16-rsum
@@ -1491,7 +1488,6 @@ IF(XNNPACK_BUILD_TESTS)
14911488
f32-gavgpool-minmax
14921489
f32-ibilinear-chw
14931490
f32-ibilinear
1494-
f32-prelu
14951491
f32-raddexpminusmax
14961492
f32-raddextexp
14971493
f32-raddstoreexpminusmax

bench/prelu.cc

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,34 +42,34 @@ void xnnpack_prelu_f32(benchmark::State& state, const char* net) {
4242
std::generate(slope.begin(), slope.end(), std::ref(f32wrng));
4343
std::vector<float> output(batch_size * height * width * channels);
4444

45+
const size_t input_shape[4] = {batch_size, height, width, channels};
46+
const size_t slope_shape[1] = {channels};
47+
4548
xnn_status status = xnn_initialize(nullptr /* allocator */);
4649
if (status != xnn_status_success) {
4750
state.SkipWithError("failed to initialize XNNPACK");
4851
return;
4952
}
5053

5154
xnn_operator_t prelu_op = nullptr;
52-
status = xnn_create_prelu_nc_f32(
53-
channels, /*slope_channels=*/channels, /*input_stride=*/channels , /*output_stride=*/channels,
54-
slope.data(),
55-
0 /* flags */, nullptr, nullptr, &prelu_op);
55+
status = xnn_create_prelu_nd_f32(-std::numeric_limits<float>::infinity(),
56+
std::numeric_limits<float>::infinity(),
57+
0 /* flags */, &prelu_op);
5658
if (status != xnn_status_success) {
5759
state.SkipWithError("failed to create FP32 PReLU operator");
5860
return;
5961
}
6062

61-
status = xnn_reshape_prelu_nc_f32(
62-
prelu_op,
63-
batch_size * height * width,
64-
/*threadpool=*/nullptr);
63+
status =
64+
xnn_reshape_prelu_nd_f32(prelu_op, 4, &input_shape[0], 1, &slope_shape[0],
65+
/*threadpool=*/nullptr);
6566
if (status != xnn_status_success) {
6667
state.SkipWithError("failed to reshape FP32 PReLU operator");
6768
return;
6869
}
6970

70-
status = xnn_setup_prelu_nc_f32(
71-
prelu_op,
72-
input.data(), output.data());
71+
status = xnn_setup_prelu_nd_f32(prelu_op, input.data(), slope.data(),
72+
output.data());
7373
if (status != xnn_status_success) {
7474
state.SkipWithError("failed to setup FP32 PReLU operator");
7575
return;

cmake/gen/avx512f_microkernels.cmake

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ SET(PROD_AVX512F_MICROKERNEL_SRCS
1919
src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c
2020
src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c
2121
src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c
22-
src/f32-prelu/gen/f32-prelu-avx512f-2x16.c
2322
src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c
2423
src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c
2524
src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c
@@ -34,7 +33,10 @@ SET(PROD_AVX512F_MICROKERNEL_SRCS
3433
src/f32-vbinary/gen/f32-vminc-avx512f-u32.c
3534
src/f32-vbinary/gen/f32-vmul-minmax-avx512f-u32.c
3635
src/f32-vbinary/gen/f32-vmulc-minmax-avx512f-u32.c
36+
src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c
37+
src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c
3738
src/f32-vbinary/gen/f32-vrdivc-minmax-avx512f-u32.c
39+
src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c
3840
src/f32-vbinary/gen/f32-vrsubc-minmax-avx512f-u32.c
3941
src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c
4042
src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c
@@ -96,7 +98,6 @@ SET(NON_PROD_AVX512F_MICROKERNEL_SRCS
9698
src/f32-igemm/gen/f32-igemm-5x16-minmax-avx512f-broadcast.c
9799
src/f32-igemm/gen/f32-igemm-6x16-minmax-avx512f-broadcast.c
98100
src/f32-igemm/gen/f32-igemm-8x16-minmax-avx512f-broadcast.c
99-
src/f32-prelu/gen/f32-prelu-avx512f-2x32.c
100101
src/f32-raddexpminusmax/gen/f32-raddexpminusmax-avx512f-p5-scalef-u64-acc2.c
101102
src/f32-raddexpminusmax/gen/f32-raddexpminusmax-avx512f-p5-scalef-u64-acc4.c
102103
src/f32-raddexpminusmax/gen/f32-raddexpminusmax-avx512f-p5-scalef-u64.c
@@ -173,12 +174,9 @@ SET(NON_PROD_AVX512F_MICROKERNEL_SRCS
173174
src/f32-vbinary/gen/f32-vmul-minmax-avx512f-u16.c
174175
src/f32-vbinary/gen/f32-vmulc-minmax-avx512f-u16.c
175176
src/f32-vbinary/gen/f32-vprelu-avx512f-u16.c
176-
src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c
177177
src/f32-vbinary/gen/f32-vpreluc-avx512f-u16.c
178-
src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c
179178
src/f32-vbinary/gen/f32-vrdivc-minmax-avx512f-u16.c
180179
src/f32-vbinary/gen/f32-vrpreluc-avx512f-u16.c
181-
src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c
182180
src/f32-vbinary/gen/f32-vrsubc-minmax-avx512f-u16.c
183181
src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u16.c
184182
src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u16.c

cmake/gen/avx512fp16_microkernels.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ SET(PROD_AVX512FP16_MICROKERNEL_SRCS
2626
src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c
2727
src/f16-vbinary/gen/f16-vmul-minmax-avx512fp16-u64.c
2828
src/f16-vbinary/gen/f16-vmulc-minmax-avx512fp16-u64.c
29+
src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c
30+
src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c
2931
src/f16-vbinary/gen/f16-vrdivc-minmax-avx512fp16-u64.c
32+
src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c
3033
src/f16-vbinary/gen/f16-vrsubc-minmax-avx512fp16-u64.c
3134
src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c
3235
src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c
@@ -83,12 +86,9 @@ SET(NON_PROD_AVX512FP16_MICROKERNEL_SRCS
8386
src/f16-vbinary/gen/f16-vmul-minmax-avx512fp16-u32.c
8487
src/f16-vbinary/gen/f16-vmulc-minmax-avx512fp16-u32.c
8588
src/f16-vbinary/gen/f16-vprelu-avx512fp16-u32.c
86-
src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c
8789
src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u32.c
88-
src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c
8990
src/f16-vbinary/gen/f16-vrdivc-minmax-avx512fp16-u32.c
9091
src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u32.c
91-
src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c
9292
src/f16-vbinary/gen/f16-vrsubc-minmax-avx512fp16-u32.c
9393
src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u32.c
9494
src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u32.c

cmake/gen/avx_microkernels.cmake

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ SET(PROD_AVX_MICROKERNEL_SRCS
2121
src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c
2222
src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c
2323
src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c
24-
src/f32-prelu/gen/f32-prelu-avx-2x16.c
2524
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c
2625
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c
2726
src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c
@@ -42,7 +41,10 @@ SET(PROD_AVX_MICROKERNEL_SRCS
4241
src/f32-vbinary/gen/f32-vminc-avx-u16.c
4342
src/f32-vbinary/gen/f32-vmul-minmax-avx-u16.c
4443
src/f32-vbinary/gen/f32-vmulc-minmax-avx-u16.c
44+
src/f32-vbinary/gen/f32-vprelu-avx-u16.c
45+
src/f32-vbinary/gen/f32-vpreluc-avx-u16.c
4546
src/f32-vbinary/gen/f32-vrdivc-minmax-avx-u16.c
47+
src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c
4648
src/f32-vbinary/gen/f32-vrsubc-minmax-avx-u16.c
4749
src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c
4850
src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c
@@ -165,7 +167,6 @@ SET(NON_PROD_AVX_MICROKERNEL_SRCS
165167
src/f32-igemm/gen/f32-igemm-6x8-minmax-avx-broadcast.c
166168
src/f32-igemm/gen/f32-igemm-6x16-minmax-avx-broadcast.c
167169
src/f32-igemm/gen/f32-igemm-7x8-minmax-avx-broadcast.c
168-
src/f32-prelu/gen/f32-prelu-avx-2x8.c
169170
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-2x16-minmax-avx-broadcast.c
170171
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x16-minmax-avx-broadcast.c
171172
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-5x16-minmax-avx-broadcast.c
@@ -214,12 +215,9 @@ SET(NON_PROD_AVX_MICROKERNEL_SRCS
214215
src/f32-vbinary/gen/f32-vmul-minmax-avx-u8.c
215216
src/f32-vbinary/gen/f32-vmulc-minmax-avx-u8.c
216217
src/f32-vbinary/gen/f32-vprelu-avx-u8.c
217-
src/f32-vbinary/gen/f32-vprelu-avx-u16.c
218218
src/f32-vbinary/gen/f32-vpreluc-avx-u8.c
219-
src/f32-vbinary/gen/f32-vpreluc-avx-u16.c
220219
src/f32-vbinary/gen/f32-vrdivc-minmax-avx-u8.c
221220
src/f32-vbinary/gen/f32-vrpreluc-avx-u8.c
222-
src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c
223221
src/f32-vbinary/gen/f32-vrsubc-minmax-avx-u8.c
224222
src/f32-vbinary/gen/f32-vsqrdiff-avx-u8.c
225223
src/f32-vbinary/gen/f32-vsqrdiffc-avx-u8.c

cmake/gen/f16c_microkernels.cmake

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ SET(PROD_F16C_MICROKERNEL_SRCS
1818
src/f16-gavgpool/gen/f16-gavgpool-7p7x-minmax-f16c-c8.c
1919
src/f16-gavgpool/gen/f16-gavgpool-7x-minmax-f16c-c8.c
2020
src/f16-maxpool/f16-maxpool-9p8x-minmax-f16c-c8.c
21-
src/f16-prelu/gen/f16-prelu-f16c-2x16.c
2221
src/f16-rminmax/f16-rmax-f16c-u32.c
2322
src/f16-vbinary/gen/f16-vadd-minmax-f16c-u16.c
2423
src/f16-vbinary/gen/f16-vaddc-minmax-f16c-u16.c
@@ -30,7 +29,10 @@ SET(PROD_F16C_MICROKERNEL_SRCS
3029
src/f16-vbinary/gen/f16-vminc-f16c-u16.c
3130
src/f16-vbinary/gen/f16-vmul-minmax-f16c-u16.c
3231
src/f16-vbinary/gen/f16-vmulc-minmax-f16c-u16.c
32+
src/f16-vbinary/gen/f16-vprelu-f16c-u16.c
33+
src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c
3334
src/f16-vbinary/gen/f16-vrdivc-minmax-f16c-u8.c
35+
src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c
3436
src/f16-vbinary/gen/f16-vrsubc-minmax-f16c-u16.c
3537
src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c
3638
src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c
@@ -64,7 +66,6 @@ SET(NON_PROD_F16C_MICROKERNEL_SRCS
6466
src/f16-gavgpool/gen/f16-gavgpool-7x-minmax-f16c-c16.c
6567
src/f16-gavgpool/gen/f16-gavgpool-7x-minmax-f16c-c24.c
6668
src/f16-gavgpool/gen/f16-gavgpool-7x-minmax-f16c-c32.c
67-
src/f16-prelu/gen/f16-prelu-f16c-2x8.c
6869
src/f16-vbinary/gen/f16-vadd-minmax-f16c-u8.c
6970
src/f16-vbinary/gen/f16-vaddc-minmax-f16c-u8.c
7071
src/f16-vbinary/gen/f16-vdiv-minmax-f16c-u16.c
@@ -76,12 +77,9 @@ SET(NON_PROD_F16C_MICROKERNEL_SRCS
7677
src/f16-vbinary/gen/f16-vmul-minmax-f16c-u8.c
7778
src/f16-vbinary/gen/f16-vmulc-minmax-f16c-u8.c
7879
src/f16-vbinary/gen/f16-vprelu-f16c-u8.c
79-
src/f16-vbinary/gen/f16-vprelu-f16c-u16.c
8080
src/f16-vbinary/gen/f16-vpreluc-f16c-u8.c
81-
src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c
8281
src/f16-vbinary/gen/f16-vrdivc-minmax-f16c-u16.c
8382
src/f16-vbinary/gen/f16-vrpreluc-f16c-u8.c
84-
src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c
8583
src/f16-vbinary/gen/f16-vrsubc-minmax-f16c-u8.c
8684
src/f16-vbinary/gen/f16-vsqrdiff-f16c-u8.c
8785
src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u8.c

cmake/gen/neon_microkernels.cmake

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ SET(PROD_NEON_MICROKERNEL_SRCS
4141
src/f32-maxpool/f32-maxpool-9p8x-minmax-neon-c4.c
4242
src/f32-pavgpool/f32-pavgpool-9p8x-minmax-neon-c4.c
4343
src/f32-pavgpool/f32-pavgpool-9x-minmax-neon-c4.c
44-
src/f32-prelu/gen/f32-prelu-neon-2x8.c
4544
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c
4645
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c
4746
src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c
@@ -62,6 +61,9 @@ SET(PROD_NEON_MICROKERNEL_SRCS
6261
src/f32-vbinary/gen/f32-vminc-neon-u8.c
6362
src/f32-vbinary/gen/f32-vmul-minmax-neon-u8.c
6463
src/f32-vbinary/gen/f32-vmulc-minmax-neon-u8.c
64+
src/f32-vbinary/gen/f32-vprelu-neon-u8.c
65+
src/f32-vbinary/gen/f32-vpreluc-neon-u8.c
66+
src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c
6567
src/f32-vbinary/gen/f32-vrsubc-minmax-neon-u8.c
6668
src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c
6769
src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c
@@ -343,14 +345,6 @@ SET(NON_PROD_NEON_MICROKERNEL_SRCS
343345
src/f32-ppmm/gen/f32-ppmm-4x16-minmax-neon.c
344346
src/f32-ppmm/gen/f32-ppmm-8x8-minmax-neon-prfm.c
345347
src/f32-ppmm/gen/f32-ppmm-8x8-minmax-neon.c
346-
src/f32-prelu/gen/f32-prelu-neon-1x4.c
347-
src/f32-prelu/gen/f32-prelu-neon-1x8.c
348-
src/f32-prelu/gen/f32-prelu-neon-1x16.c
349-
src/f32-prelu/gen/f32-prelu-neon-2x4.c
350-
src/f32-prelu/gen/f32-prelu-neon-2x16.c
351-
src/f32-prelu/gen/f32-prelu-neon-4x4.c
352-
src/f32-prelu/gen/f32-prelu-neon-4x8.c
353-
src/f32-prelu/gen/f32-prelu-neon-4x16.c
354348
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-dup-ld64.c
355349
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-dup-ld64.c
356350
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-5x8-minmax-neon-lane-ld64.c
@@ -432,11 +426,8 @@ SET(NON_PROD_NEON_MICROKERNEL_SRCS
432426
src/f32-vbinary/gen/f32-vmul-minmax-neon-u4.c
433427
src/f32-vbinary/gen/f32-vmulc-minmax-neon-u4.c
434428
src/f32-vbinary/gen/f32-vprelu-neon-u4.c
435-
src/f32-vbinary/gen/f32-vprelu-neon-u8.c
436429
src/f32-vbinary/gen/f32-vpreluc-neon-u4.c
437-
src/f32-vbinary/gen/f32-vpreluc-neon-u8.c
438430
src/f32-vbinary/gen/f32-vrpreluc-neon-u4.c
439-
src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c
440431
src/f32-vbinary/gen/f32-vrsubc-minmax-neon-u4.c
441432
src/f32-vbinary/gen/f32-vsqrdiff-neon-u4.c
442433
src/f32-vbinary/gen/f32-vsqrdiffc-neon-u4.c

cmake/gen/neonfp16arith_microkernels.cmake

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ SET(PROD_NEONFP16ARITH_MICROKERNEL_SRCS
4040
src/f16-maxpool/f16-maxpool-9p8x-minmax-neonfp16arith-c8.c
4141
src/f16-pavgpool/f16-pavgpool-9p8x-minmax-neonfp16arith-c8.c
4242
src/f16-pavgpool/f16-pavgpool-9x-minmax-neonfp16arith-c8.c
43-
src/f16-prelu/gen/f16-prelu-neonfp16arith-2x16.c
4443
src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c
4544
src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c
4645
src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u40.c
@@ -55,6 +54,9 @@ SET(PROD_NEONFP16ARITH_MICROKERNEL_SRCS
5554
src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c
5655
src/f16-vbinary/gen/f16-vmul-minmax-neonfp16arith-u16.c
5756
src/f16-vbinary/gen/f16-vmulc-minmax-neonfp16arith-u16.c
57+
src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c
58+
src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c
59+
src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c
5860
src/f16-vbinary/gen/f16-vrsubc-minmax-neonfp16arith-u16.c
5961
src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c
6062
src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c
@@ -195,7 +197,6 @@ SET(NON_PROD_NEONFP16ARITH_MICROKERNEL_SRCS
195197
src/f16-igemm/gen/f16-igemm-4x16-minmax-neonfp16arith-ld64.c
196198
src/f16-igemm/gen/f16-igemm-8x8-minmax-neonfp16arith-ld64.c
197199
src/f16-igemm/gen/f16-igemm-8x16-minmax-neonfp16arith-ld64.c
198-
src/f16-prelu/gen/f16-prelu-neonfp16arith-2x8.c
199200
src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u8.c
200201
src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u16.c
201202
src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u24.c
@@ -271,11 +272,8 @@ SET(NON_PROD_NEONFP16ARITH_MICROKERNEL_SRCS
271272
src/f16-vbinary/gen/f16-vmul-minmax-neonfp16arith-u8.c
272273
src/f16-vbinary/gen/f16-vmulc-minmax-neonfp16arith-u8.c
273274
src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u8.c
274-
src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c
275275
src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u8.c
276-
src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c
277276
src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u8.c
278-
src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c
279277
src/f16-vbinary/gen/f16-vrsubc-minmax-neonfp16arith-u8.c
280278
src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u8.c
281279
src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u8.c

cmake/gen/scalar_microkernels.cmake

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ SET(PROD_SCALAR_MICROKERNEL_SRCS
7070
src/f32-maxpool/f32-maxpool-9p8x-minmax-scalar-c1.c
7171
src/f32-pavgpool/f32-pavgpool-9p8x-minmax-scalar-c1.c
7272
src/f32-pavgpool/f32-pavgpool-9x-minmax-scalar-c1.c
73-
src/f32-prelu/gen/f32-prelu-scalar-2x4.c
7473
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c
7574
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c
7675
src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c
@@ -99,7 +98,10 @@ SET(PROD_SCALAR_MICROKERNEL_SRCS
9998
src/f32-vbinary/gen/f32-vminc-scalar-u8.c
10099
src/f32-vbinary/gen/f32-vmul-minmax-scalar-u8.c
101100
src/f32-vbinary/gen/f32-vmulc-minmax-scalar-u8.c
101+
src/f32-vbinary/gen/f32-vprelu-scalar-u8.c
102+
src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c
102103
src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-u2.c
104+
src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c
103105
src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-u8.c
104106
src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c
105107
src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c
@@ -391,7 +393,6 @@ SET(NON_PROD_SCALAR_MICROKERNEL_SRCS
391393
src/f32-ppmm/gen/f32-ppmm-3x3-minmax-scalar.c
392394
src/f32-ppmm/gen/f32-ppmm-4x2-minmax-scalar.c
393395
src/f32-ppmm/gen/f32-ppmm-4x4-minmax-scalar.c
394-
src/f32-prelu/gen/f32-prelu-scalar-2x1.c
395396
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-2x4-minmax-scalar.c
396397
src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x2-minmax-scalar.c
397398
src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-relu-scalar.c
@@ -544,11 +545,9 @@ SET(NON_PROD_SCALAR_MICROKERNEL_SRCS
544545
src/f32-vbinary/gen/f32-vprelu-scalar-u1.c
545546
src/f32-vbinary/gen/f32-vprelu-scalar-u2.c
546547
src/f32-vbinary/gen/f32-vprelu-scalar-u4.c
547-
src/f32-vbinary/gen/f32-vprelu-scalar-u8.c
548548
src/f32-vbinary/gen/f32-vpreluc-scalar-u1.c
549549
src/f32-vbinary/gen/f32-vpreluc-scalar-u2.c
550550
src/f32-vbinary/gen/f32-vpreluc-scalar-u4.c
551-
src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c
552551
src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-u1.c
553552
src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-u4.c
554553
src/f32-vbinary/gen/f32-vrdivc-minmax-scalar-u8.c
@@ -563,7 +562,6 @@ SET(NON_PROD_SCALAR_MICROKERNEL_SRCS
563562
src/f32-vbinary/gen/f32-vrpreluc-scalar-u1.c
564563
src/f32-vbinary/gen/f32-vrpreluc-scalar-u2.c
565564
src/f32-vbinary/gen/f32-vrpreluc-scalar-u4.c
566-
src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c
567565
src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-u1.c
568566
src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-u2.c
569567
src/f32-vbinary/gen/f32-vrsubc-minmax-scalar-u4.c

0 commit comments

Comments
 (0)