Steinar Midtskogen | a5f8ea1 | 2016-08-03 13:17:33 +0200 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2016, Alliance for Open Media. All rights reserved |
| 3 | * |
| 4 | * This source code is subject to the terms of the BSD 2 Clause License and |
| 5 | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
| 6 | * was not distributed with this source code in the LICENSE file, you can |
| 7 | * obtain it at www.aomedia.org/license/software. If the Alliance for Open |
| 8 | * Media Patent License 1.0 was not distributed with this source code in the |
| 9 | * PATENTS file, you can obtain it at www.aomedia.org/license/patent. |
| 10 | */ |
| 11 | |
Steinar Midtskogen | c38afed | 2016-10-18 08:04:28 +0200 | [diff] [blame] | 12 | #ifndef AOM_DSP_AOM_AOM_SIMD_H_ |
| 13 | #define AOM_DSP_AOM_AOM_SIMD_H_ |
Steinar Midtskogen | a5f8ea1 | 2016-08-03 13:17:33 +0200 | [diff] [blame] | 14 | |
| 15 | #include <stdint.h> |
| 16 | |
| 17 | #if defined(_WIN32) |
| 18 | #include <intrin.h> |
| 19 | #endif |
| 20 | |
| 21 | #include "./aom_config.h" |
Steinar Midtskogen | c38afed | 2016-10-18 08:04:28 +0200 | [diff] [blame] | 22 | #include "./aom_simd_inline.h" |
Steinar Midtskogen | a5f8ea1 | 2016-08-03 13:17:33 +0200 | [diff] [blame] | 23 | |
Steinar Midtskogen | ea42c4e | 2016-12-12 09:40:34 +0100 | [diff] [blame] | 24 | #define SIMD_CHECK 1 // Sanity checks in C equivalents |
| 25 | |
Steinar Midtskogen | a5f8ea1 | 2016-08-03 13:17:33 +0200 | [diff] [blame] | 26 | #if HAVE_NEON |
Steinar Midtskogen | 045d413 | 2016-10-18 12:20:05 +0200 | [diff] [blame] | 27 | #include "simd/v256_intrinsics_arm.h" |
Steinar Midtskogen | d954f2d | 2016-12-13 15:21:53 +0100 | [diff] [blame] | 28 | // VS compiling for 32 bit targets does not support vector types in |
| 29 | // structs as arguments, which makes the v256 type of the intrinsics |
| 30 | // hard to support, so optimizations for this target are disabled. |
| 31 | #elif HAVE_SSE2 && (defined(_WIN64) || !defined(_MSC_VER) || defined(__clang__)) |
Steinar Midtskogen | 045d413 | 2016-10-18 12:20:05 +0200 | [diff] [blame] | 32 | #include "simd/v256_intrinsics_x86.h" |
Steinar Midtskogen | a5f8ea1 | 2016-08-03 13:17:33 +0200 | [diff] [blame] | 33 | #else |
Steinar Midtskogen | 045d413 | 2016-10-18 12:20:05 +0200 | [diff] [blame] | 34 | #include "simd/v256_intrinsics.h" |
Steinar Midtskogen | a5f8ea1 | 2016-08-03 13:17:33 +0200 | [diff] [blame] | 35 | #endif |
| 36 | |
Steinar Midtskogen | c38afed | 2016-10-18 08:04:28 +0200 | [diff] [blame] | 37 | #endif // AOM_DSP_AOM_AOM_SIMD_H_ |