blob: cb7cf918a1ce565bfc091aa883f2aa1915849de0 [file] [log] [blame]
XNNPACK Teamb455b122019-09-27 18:10:33 -07001// 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/params.h>
15#include <xnnpack/common.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21
Marat Dukhan99936602020-04-11 16:47:01 -070022#define DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(fn_name) \
23 XNN_INTERNAL void fn_name( \
24 size_t output_pixels, \
25 size_t kernel_size, \
26 size_t channels, \
27 const float** input, \
28 size_t input_offset, \
29 float* output, \
30 size_t input_increment, \
31 size_t output_increment, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070032 const union xnn_f32_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070033
Marat Dukhan99936602020-04-11 16:47:01 -070034DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__sse_c4)
35DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__neon_c4)
36DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__psimd_c4)
Marat Dukhanf6e24802020-07-08 22:20:40 -070037DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__wasmsimd_arm_c4)
38DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__wasmsimd_x86_c4)
Marat Dukhan99936602020-04-11 16:47:01 -070039DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__wasm_c1)
40DECLARE_F32_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_f32_maxpool_minmax_ukernel_9p8x__scalar_c1)
XNNPACK Teamb455b122019-09-27 18:10:33 -070041
42
Marat Dukhan99936602020-04-11 16:47:01 -070043#define DECLARE_U8_MAXPOOL_MINMAX_UKERNEL_FUNCTION(fn_name) \
44 XNN_INTERNAL void fn_name( \
45 size_t output_pixels, \
46 size_t kernel_size, \
47 size_t channels, \
48 const uint8_t** input, \
49 size_t input_offset, \
50 uint8_t* output, \
51 size_t input_increment, \
52 size_t output_increment, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070053 const union xnn_u8_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070054
Marat Dukhan99936602020-04-11 16:47:01 -070055DECLARE_U8_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_u8_maxpool_minmax_ukernel_9p8x__neon_c16)
56DECLARE_U8_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_u8_maxpool_minmax_ukernel_9p8x__sse2_c16)
57DECLARE_U8_MAXPOOL_MINMAX_UKERNEL_FUNCTION(xnn_u8_maxpool_minmax_ukernel_9p8x__scalar_c1)
XNNPACK Teamb455b122019-09-27 18:10:33 -070058
59
60#ifdef __cplusplus
Marat Dukhan80fc9322019-09-29 21:06:36 -070061} // extern "C"
XNNPACK Teamb455b122019-09-27 18:10:33 -070062#endif