blob: be539a4d4cdd4937ec7d285dbb07a5c3fa48f2f6 [file] [log] [blame]
XNNPACK Teamb455b122019-09-27 18:10:33 -07001// Copyright 2019 Google LLC
2//
3// This source code is licensed under the BSD-style license found in the
4// LICENSE file in the root directory of this source tree.
5
6#pragma once
7
8#include <stddef.h>
9#include <stdint.h>
10
11#include <xnnpack/params.h>
12#include <xnnpack/common.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18
Marat Dukhande06f492020-04-09 00:19:31 -070019#define DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(fn_name) \
XNNPACK Teamb455b122019-09-27 18:10:33 -070020 XNN_INTERNAL void fn_name( \
21 size_t mr, \
22 size_t nc, \
23 size_t kc, \
24 const float* a, \
25 const float* w, \
26 float* c, \
27 size_t cm_stride, \
28 size_t cn_stride, \
Marat Dukhaneb09a6b2020-04-08 17:34:32 -070029 const union xnn_f32_minmax_params* params);
XNNPACK Teamb455b122019-09-27 18:10:33 -070030
Marat Dukhan0d0d8822020-07-23 23:37:56 -070031DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x8__neon)
32DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_8x8__neon)
33
34DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x8__neonfma)
35DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_8x8__neonfma)
36
37DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x8__sse)
38
Marat Dukhan0d0d8822020-07-23 23:37:56 -070039DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x8__wasmsimd_splat_arm)
40DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x8__wasmsimd_splat_x86)
41
Marat Dukhande06f492020-04-09 00:19:31 -070042DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_2x4__scalar)
43DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_3x3__scalar)
44DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x2__scalar)
45DECLARE_F32_PPMM_MINMAX_UKERNEL_FUNCTION(xnn_f32_ppmm_minmax_ukernel_4x4__scalar)
XNNPACK Teamb455b122019-09-27 18:10:33 -070046
47
48#ifdef __cplusplus
Marat Dukhan80fc9322019-09-29 21:06:36 -070049} // extern "C"
XNNPACK Teamb455b122019-09-27 18:10:33 -070050#endif