blob: 9d0c0cb52ba5d2348450903e2e26f2a0f107ddd0 [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
22#define DECLARE_F32_CONV_HWC_UKERNEL_FUNCTION(fn_name) \
23 XNN_INTERNAL void fn_name( \
24 size_t input_height, \
25 size_t input_width, \
26 size_t output_y_start, \
27 size_t output_y_end, \
28 const float* input, \
29 const float* zero, \
30 const float* weights, \
31 float* output, \
32 size_t input_padding_top, \
33 size_t output_channels, \
34 size_t output_height_stride, \
35 size_t output_width_stride, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070036 const union xnn_f32_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070037
38DECLARE_F32_CONV_HWC_UKERNEL_FUNCTION(xnn_f32_conv_hwc_ukernel_3x3s2p1c3x8__neonfma_2x2)
39DECLARE_F32_CONV_HWC_UKERNEL_FUNCTION(xnn_f32_conv_hwc_ukernel_3x3s2p1c3x4__neonfma_2x2)
Marat Dukhan441e2212019-12-04 18:30:49 -080040DECLARE_F32_CONV_HWC_UKERNEL_FUNCTION(xnn_f32_conv_hwc_ukernel_3x3s2p0p1c3x4__scalar_1x1)
Marat Dukhan6b7dfae2019-12-04 16:00:52 -080041DECLARE_F32_CONV_HWC_UKERNEL_FUNCTION(xnn_f32_conv_hwc_ukernel_3x3s2p1c3x4__scalar_1x1)
XNNPACK Teamb455b122019-09-27 18:10:33 -070042
43
44#define DECLARE_F32_CONV_HWC2SPCHW_UKERNEL_FUNCTION(fn_name) \
45 XNN_INTERNAL void fn_name( \
46 size_t input_height, \
47 size_t input_width, \
48 size_t output_y_start, \
49 size_t output_y_end, \
50 const float* input, \
51 const float* zero, \
52 const float* weights, \
53 float* output, \
54 size_t input_padding_top, \
55 size_t output_channels, \
56 size_t output_height_stride, \
57 size_t output_channel_stride, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070058 const union xnn_f32_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070059
60DECLARE_F32_CONV_HWC2SPCHW_UKERNEL_FUNCTION(xnn_f32_conv_hwc2spchw_ukernel_3x3s2p1c3x4__neonfma_2x2)
Erich Elsen563df5f2019-10-23 08:02:21 -070061DECLARE_F32_CONV_HWC2SPCHW_UKERNEL_FUNCTION(xnn_f32_conv_hwc2spchw_ukernel_3x3s2p1c3x4__scalar_1x1)
XNNPACK Teamb455b122019-09-27 18:10:33 -070062
63
64#ifdef __cplusplus
Marat Dukhan80fc9322019-09-29 21:06:36 -070065} // extern "C"
XNNPACK Teamb455b122019-09-27 18:10:33 -070066#endif