1 // Copyright (c) Facebook, Inc. and its affiliates. 2 // All rights reserved. 3 // 4 // Copyright 2019 Google LLC 5 // 6 // This source code is licensed under the BSD-style license found in the 7 // LICENSE file in the root directory of this source tree. 8 9 #pragma once 10 11 #include <stddef.h> 12 #include <stdint.h> 13 14 #include <xnnpack/common.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 21 #define DECLARE_F16_RMAX_UKERNEL_FUNCTION(fn_name) \ 22 XNN_INTERNAL void fn_name( \ 23 size_t n, \ 24 const void* x, \ 25 void* y); 26 27 DECLARE_F16_RMAX_UKERNEL_FUNCTION(xnn_f16_rmax_ukernel__f16c) 28 DECLARE_F16_RMAX_UKERNEL_FUNCTION(xnn_f16_rmax_ukernel__neonfp16arith) 29 30 31 #define DECLARE_F32_RMAX_UKERNEL_FUNCTION(fn_name) \ 32 XNN_INTERNAL void fn_name( \ 33 size_t n, \ 34 const float* x, \ 35 float* y); 36 37 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__avx) 38 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__avx512f) 39 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__neon) 40 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__scalar) 41 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__sse) 42 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__wasmsimd_arm) 43 DECLARE_F32_RMAX_UKERNEL_FUNCTION(xnn_f32_rmax_ukernel__wasmsimd_x86) 44 45 46 #define DECLARE_U8_RMAX_UKERNEL_FUNCTION(fn_name) \ 47 XNN_INTERNAL void fn_name( \ 48 size_t n, \ 49 const uint8_t* x, \ 50 uint8_t* y); 51 52 DECLARE_U8_RMAX_UKERNEL_FUNCTION(xnn_u8_rmax_ukernel__neon) 53 DECLARE_U8_RMAX_UKERNEL_FUNCTION(xnn_u8_rmax_ukernel__scalar) 54 DECLARE_U8_RMAX_UKERNEL_FUNCTION(xnn_u8_rmax_ukernel__sse2) 55 56 57 #ifdef __cplusplus 58 } // extern "C" 59 #endif 60