Generalize QS8 VADD[C] templates to cover QU8 VADD[C] microkernels
- QU8 VADD[C] SSE2 MUL16 microkernels
- QU8 VADD[C] NEON microkernels
- QU8 VADD[C] WAsm SIMD microkernels
- QU8 VADD[C] scalar microkernels
- Unit tests
PiperOrigin-RevId: 385931044
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ef1faf..ba067fb 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -802,7 +802,12 @@
src/qu8-requantization/rndna-scalar-signed64.c
src/qu8-requantization/rndna-scalar-unsigned32.c
src/qu8-requantization/rndna-scalar-unsigned64.c
- src/qu8-vadd/minmax-scalar.c
+ src/qu8-vadd/gen/minmax-scalar-x1.c
+ src/qu8-vadd/gen/minmax-scalar-x2.c
+ src/qu8-vadd/gen/minmax-scalar-x4.c
+ src/qu8-vaddc/gen/minmax-scalar-x1.c
+ src/qu8-vaddc/gen/minmax-scalar-x2.c
+ src/qu8-vaddc/gen/minmax-scalar-x4.c
src/u8-lut32norm/scalar.c
src/u8-maxpool/9p8x-minmax-scalar-c1.c
src/u8-rmax/scalar.c
@@ -1349,7 +1354,10 @@
src/qu8-requantization/fp32-neon.c
src/qu8-requantization/gemmlowp-neon.c
src/qu8-requantization/rndna-neon.c
- src/qu8-vadd/minmax-neon.c
+ src/qu8-vadd/gen/minmax-neon-ld64-x8.c
+ src/qu8-vadd/gen/minmax-neon-ld64-x16.c
+ src/qu8-vaddc/gen/minmax-neon-ld64-x8.c
+ src/qu8-vaddc/gen/minmax-neon-ld64-x16.c
src/u8-maxpool/9p8x-minmax-neon-c16.c
src/u8-rmax/neon.c
src/u8-vclamp/neon-x64.c
@@ -5639,6 +5647,15 @@
TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE XNNPACK cpuinfo fp16 gtest gtest_main)
ADD_TEST(qu8-vadd-minmax-test qu8-vadd-minmax-test)
+ ADD_EXECUTABLE(qu8-vaddc-minmax-test test/qu8-vaddc-minmax.cc)
+ SET_TARGET_PROPERTIES(qu8-vaddc-minmax-test PROPERTIES
+ CXX_STANDARD 11
+ CXX_STANDARD_REQUIRED YES
+ CXX_EXTENSIONS YES)
+ TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-minmax-test PRIVATE src test)
+ TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE XNNPACK cpuinfo fp16 gtest gtest_main)
+ ADD_TEST(qu8-vaddc-minmax-test qu8-vaddc-minmax-test)
+
ADD_EXECUTABLE(u8-lut32norm-test test/u8-lut32norm.cc)
SET_TARGET_PROPERTIES(u8-lut32norm-test PROPERTIES
CXX_STANDARD 11