1*4bdc9457SAndroid Build Coastguard Worker // Copyright 2019 Google LLC 2*4bdc9457SAndroid Build Coastguard Worker // 3*4bdc9457SAndroid Build Coastguard Worker // This source code is licensed under the BSD-style license found in the 4*4bdc9457SAndroid Build Coastguard Worker // LICENSE file in the root directory of this source tree. 5*4bdc9457SAndroid Build Coastguard Worker 6*4bdc9457SAndroid Build Coastguard Worker #pragma once 7*4bdc9457SAndroid Build Coastguard Worker 8*4bdc9457SAndroid Build Coastguard Worker #include <stddef.h> 9*4bdc9457SAndroid Build Coastguard Worker #include <stdint.h> 10*4bdc9457SAndroid Build Coastguard Worker 11*4bdc9457SAndroid Build Coastguard Worker #include <xnnpack/common.h> 12*4bdc9457SAndroid Build Coastguard Worker 13*4bdc9457SAndroid Build Coastguard Worker #ifdef __cplusplus 14*4bdc9457SAndroid Build Coastguard Worker extern "C" { 15*4bdc9457SAndroid Build Coastguard Worker #endif 16*4bdc9457SAndroid Build Coastguard Worker 17*4bdc9457SAndroid Build Coastguard Worker #define DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(fn_name) \ 18*4bdc9457SAndroid Build Coastguard Worker XNN_INTERNAL void fn_name( \ 19*4bdc9457SAndroid Build Coastguard Worker size_t n, \ 20*4bdc9457SAndroid Build Coastguard Worker const float* input, \ 21*4bdc9457SAndroid Build Coastguard Worker float* output, \ 22*4bdc9457SAndroid Build Coastguard Worker float scale_mantissa, \ 23*4bdc9457SAndroid Build Coastguard Worker float scale_exponent); 24*4bdc9457SAndroid Build Coastguard Worker 25*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x8) 26*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x16) 27*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x24) 28*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x32) 29*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x40) 30*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x48) 31*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x56) 32*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x64) 33*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x72) 34*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x80) 35*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x88) 36*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx2_p5_x96) 37*4bdc9457SAndroid Build Coastguard Worker 38*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x16) 39*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x32) 40*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x48) 41*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x64) 42*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x80) 43*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x96) 44*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x112) 45*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x128) 46*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x144) 47*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x160) 48*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x176) 49*4bdc9457SAndroid Build Coastguard Worker DECLARE_F32_VSCALEEXTEXP_UKERNEL_FUNCTION(xnn_f32_vscaleextexp_ukernel__avx512f_p5_scalef_x192) 50*4bdc9457SAndroid Build Coastguard Worker 51*4bdc9457SAndroid Build Coastguard Worker #ifdef __cplusplus 52*4bdc9457SAndroid Build Coastguard Worker } /* extern "C" */ 53*4bdc9457SAndroid Build Coastguard Worker #endif 54