1*4bdc9457SAndroid Build Coastguard Worker // Copyright (c) Facebook, Inc. and its affiliates. 2*4bdc9457SAndroid Build Coastguard Worker // All rights reserved. 3*4bdc9457SAndroid Build Coastguard Worker // 4*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 Google LLC 5*4bdc9457SAndroid Build Coastguard Worker // 6*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the 7*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree. 8*4bdc9457SAndroid Build Coastguard Worker 9*4bdc9457SAndroid Build Coastguard Worker #pragma once 10*4bdc9457SAndroid Build Coastguard Worker 11*4bdc9457SAndroid Build Coastguard Worker #include <stddef.h> 12*4bdc9457SAndroid Build Coastguard Worker #include <stdint.h> 13*4bdc9457SAndroid Build Coastguard Worker 14*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/common.h> 15*4bdc9457SAndroid Build Coastguard Worker 16*4bdc9457SAndroid Build Coastguard Worker #ifdef __cplusplus 17*4bdc9457SAndroid Build Coastguard Worker extern "C" { 18*4bdc9457SAndroid Build Coastguard Worker #endif 19*4bdc9457SAndroid Build Coastguard Worker 20*4bdc9457SAndroid Build Coastguard Worker 21*4bdc9457SAndroid Build Coastguard Worker #define DECLARE_X8_ZIPC_UKERNEL_FUNCTION(fn_name) \ 22*4bdc9457SAndroid Build Coastguard Worker XNN_INTERNAL void fn_name( \ 23*4bdc9457SAndroid Build Coastguard Worker size_t n, \ 24*4bdc9457SAndroid Build Coastguard Worker const uint8_t* x, \ 25*4bdc9457SAndroid Build Coastguard Worker uint8_t* y); 26*4bdc9457SAndroid Build Coastguard Worker 27*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x2_ukernel__neon) 28*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x2_ukernel__scalar) 29*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x2_ukernel__sse2) 30*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x3_ukernel__neon) 31*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x3_ukernel__scalar) 32*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x3_ukernel__sse2) 33*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x4_ukernel__neon) 34*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x4_ukernel__scalar) 35*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPC_UKERNEL_FUNCTION(xnn_x8_zip_x4_ukernel__sse2) 36*4bdc9457SAndroid Build Coastguard Worker 37*4bdc9457SAndroid Build Coastguard Worker 38*4bdc9457SAndroid Build Coastguard Worker #define DECLARE_X32_ZIPC_UKERNEL_FUNCTION(fn_name) \ 39*4bdc9457SAndroid Build Coastguard Worker XNN_INTERNAL void fn_name( \ 40*4bdc9457SAndroid Build Coastguard Worker size_t n, \ 41*4bdc9457SAndroid Build Coastguard Worker const uint32_t* x, \ 42*4bdc9457SAndroid Build Coastguard Worker uint32_t* y); 43*4bdc9457SAndroid Build Coastguard Worker 44*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x2_ukernel__neon) 45*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x2_ukernel__scalar) 46*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x2_ukernel__sse2) 47*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x2_ukernel__wasmsimd) 48*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x3_ukernel__neon) 49*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x3_ukernel__scalar) 50*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x3_ukernel__sse2) 51*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x3_ukernel__wasmsimd) 52*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x4_ukernel__neon) 53*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x4_ukernel__scalar) 54*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x4_ukernel__sse2) 55*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPC_UKERNEL_FUNCTION(xnn_x32_zip_x4_ukernel__wasmsimd) 56*4bdc9457SAndroid Build Coastguard Worker 57*4bdc9457SAndroid Build Coastguard Worker 58*4bdc9457SAndroid Build Coastguard Worker #define DECLARE_X8_ZIPV_UKERNEL_FUNCTION(fn_name) \ 59*4bdc9457SAndroid Build Coastguard Worker XNN_INTERNAL void fn_name( \ 60*4bdc9457SAndroid Build Coastguard Worker size_t n, \ 61*4bdc9457SAndroid Build Coastguard Worker size_t m, \ 62*4bdc9457SAndroid Build Coastguard Worker const uint8_t* x, \ 63*4bdc9457SAndroid Build Coastguard Worker uint8_t* y); 64*4bdc9457SAndroid Build Coastguard Worker 65*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPV_UKERNEL_FUNCTION(xnn_x8_zip_xm_ukernel__neon) 66*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPV_UKERNEL_FUNCTION(xnn_x8_zip_xm_ukernel__scalar) 67*4bdc9457SAndroid Build Coastguard Worker DECLARE_X8_ZIPV_UKERNEL_FUNCTION(xnn_x8_zip_xm_ukernel__sse2) 68*4bdc9457SAndroid Build Coastguard Worker 69*4bdc9457SAndroid Build Coastguard Worker 70*4bdc9457SAndroid Build Coastguard Worker #define DECLARE_X32_ZIPV_UKERNEL_FUNCTION(fn_name) \ 71*4bdc9457SAndroid Build Coastguard Worker XNN_INTERNAL void fn_name( \ 72*4bdc9457SAndroid Build Coastguard Worker size_t n, \ 73*4bdc9457SAndroid Build Coastguard Worker size_t m, \ 74*4bdc9457SAndroid Build Coastguard Worker const uint32_t* x, \ 75*4bdc9457SAndroid Build Coastguard Worker uint32_t* y); 76*4bdc9457SAndroid Build Coastguard Worker 77*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPV_UKERNEL_FUNCTION(xnn_x32_zip_xm_ukernel__neon) 78*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPV_UKERNEL_FUNCTION(xnn_x32_zip_xm_ukernel__scalar) 79*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPV_UKERNEL_FUNCTION(xnn_x32_zip_xm_ukernel__sse2) 80*4bdc9457SAndroid Build Coastguard Worker DECLARE_X32_ZIPV_UKERNEL_FUNCTION(xnn_x32_zip_xm_ukernel__wasmsimd) 81*4bdc9457SAndroid Build Coastguard Worker 82*4bdc9457SAndroid Build Coastguard Worker 83*4bdc9457SAndroid Build Coastguard Worker #ifdef __cplusplus 84*4bdc9457SAndroid Build Coastguard Worker } // extern "C" 85*4bdc9457SAndroid Build Coastguard Worker #endif 86