blob: efc263457125f8069122c6f63798fcbafb68b523 [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, \
36 const union xnn_f32_output_params* params);
37
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)
40
41
42#define DECLARE_F32_CONV_HWC2SPCHW_UKERNEL_FUNCTION(fn_name) \
43 XNN_INTERNAL void fn_name( \
44 size_t input_height, \
45 size_t input_width, \
46 size_t output_y_start, \
47 size_t output_y_end, \
48 const float* input, \
49 const float* zero, \
50 const float* weights, \
51 float* output, \
52 size_t input_padding_top, \
53 size_t output_channels, \
54 size_t output_height_stride, \
55 size_t output_channel_stride, \
56 const union xnn_f32_output_params* params);
57
58DECLARE_F32_CONV_HWC2SPCHW_UKERNEL_FUNCTION(xnn_f32_conv_hwc2spchw_ukernel_3x3s2p1c3x4__neonfma_2x2)
59
60
61#ifdef __cplusplus
Marat Dukhan80fc9322019-09-29 21:06:36 -070062} // extern "C"
XNNPACK Teamb455b122019-09-27 18:10:33 -070063#endif