28#ifndef OZZ_OZZ_BASE_MATHS_INTERNAL_SIMD_MATH_CONFIG_H_
29#define OZZ_OZZ_BASE_MATHS_INTERNAL_SIMD_MATH_CONFIG_H_
31#include "ozz/base/platform.h"
35#if !defined(OZZ_BUILD_SIMD_REF)
38#if defined(__AVX2__) || defined(OZZ_SIMD_AVX2)
44#if defined(__FMA__) || defined(OZZ_SIMD_FMA)
49#if defined(__AVX__) || defined(OZZ_SIMD_AVX)
52#define OZZ_SIMD_SSE4_2
55#if defined(__SSE4_2__) || defined(OZZ_SIMD_SSE4_2)
57#define OZZ_SIMD_SSE4_2
58#define OZZ_SIMD_SSE4_1
61#if defined(__SSE4_1__) || defined(OZZ_SIMD_SSE4_1)
63#define OZZ_SIMD_SSE4_1
67#if defined(__SSSE3__) || defined(OZZ_SIMD_SSSE3)
73#if defined(__SSE3__) || defined(OZZ_SIMD_SSE3)
81#if defined(__SSE2__) || defined(_M_AMD64) || defined(_M_X64) || \
82 (_M_IX86_FP >= 2) || defined(OZZ_SIMD_SSE2)
92#if defined(OZZ_SIMD_SSEx)
98typedef __m128 SimdFloat4;
101typedef const __m128 _SimdFloat4;
104typedef __m128i SimdInt4;
107typedef const __m128i _SimdInt4;
143typedef const SimdFloat4& _SimdFloat4;
149typedef const SimdInt4& _SimdInt4;
157#if !defined(OZZ_SIMD_REF) && (defined(__GNUC__) || defined(__llvm__))
158#define OZZ_DISABLE_SSE_NATIVE_OPERATORS
Definition simd_math_config.h:121
Definition simd_math_config.h:129