ONE - On-device Neural Engine
Loading...
Searching...
No Matches
neon_check.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved
3
* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#ifndef __NNFW_RUY_NEON_CHECK_H__
19
#define __NNFW_RUY_NEON_CHECK_H__
20
21
#if defined(__ARM_NEON__) || defined(__ARM_NEON)
22
#define USE_NEON
23
#include <arm_neon.h>
24
#endif
25
26
// Disable X86_NEON
27
// #if defined __GNUC__ && defined __SSE4_1__ && !defined TF_LITE_DISABLE_X86_NEON
28
#if 0
29
#define USE_NEON
30
#pragma GCC diagnostic push
31
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
32
#pragma GCC diagnostic ignored "-Wattributes"
33
#pragma GCC diagnostic ignored "-Wnarrowing"
34
#pragma GCC diagnostic ignored "-Wsequence-point"
35
#include "NEON_2_SSE.h"
36
#pragma GCC diagnostic pop
37
#endif
38
39
// NEON_OR_PORTABLE(SomeFunc, args) calls NeonSomeFunc(args) if USE_NEON is
40
// defined, PortableSomeFunc(args) otherwise.
41
#ifdef USE_NEON
42
// Always use Neon code
43
#define NEON_OR_PORTABLE(funcname, ...) Neon##funcname(__VA_ARGS__)
44
45
#else
46
// No NEON available: Use Portable code
47
#define NEON_OR_PORTABLE(funcname, ...) Portable##funcname(__VA_ARGS__)
48
49
#endif
// defined(USE_NEON)
50
51
#endif
// __NNFW_RUY_NEON_CHECK_H__
compute
ruy
include
ruy
neon
neon_check.h
Generated by
1.9.8