blob: 42c98f5a838241b9045ff35047b9a64da9b30686 [file] [log] [blame]
Timothy B. Terriberryb71962f2010-10-20 15:39:11 -07001/*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11
James Zernd2f49402013-12-15 18:36:00 -080012#ifndef VPX_PORTS_ARM_H_
13#define VPX_PORTS_ARM_H_
Timothy B. Terriberryb71962f2010-10-20 15:39:11 -070014#include <stdlib.h>
Attila Nagy1a7d25a2011-09-15 15:34:12 +030015#include "vpx_config.h"
Timothy B. Terriberryb71962f2010-10-20 15:39:11 -070016
James Zerna5d23f52014-01-18 12:16:11 -080017#ifdef __cplusplus
18extern "C" {
19#endif
20
Timothy B. Terriberryb71962f2010-10-20 15:39:11 -070021/*ARMv5TE "Enhanced DSP" instructions.*/
22#define HAS_EDSP 0x01
23/*ARMv6 "Parallel" or "Media" instructions.*/
24#define HAS_MEDIA 0x02
25/*ARMv7 optional NEON instructions.*/
26#define HAS_NEON 0x04
27
28int arm_cpu_caps(void);
29
Johannf6be2f32014-09-25 09:30:28 -070030// Earlier gcc compilers have issues with some neon intrinsics
31#if !defined(__clang__) && defined(__GNUC__) && \
32 __GNUC__ == 4 && __GNUC_MINOR__ <= 6
33#define VPX_INCOMPATIBLE_GCC
34#endif
35
James Zerna5d23f52014-01-18 12:16:11 -080036#ifdef __cplusplus
37} // extern "C"
38#endif
39
James Zernd2f49402013-12-15 18:36:00 -080040#endif // VPX_PORTS_ARM_H_
Timothy B. Terriberryb71962f2010-10-20 15:39:11 -070041