Fix Wundef errors in simd intrinsics Change-Id: I551eda906c96fac77125e10e6f71e9a6edca5baf
diff --git a/aom_dsp/simd/v128_intrinsics_arm.h b/aom_dsp/simd/v128_intrinsics_arm.h index 035f958..e9fd06d 100644 --- a/aom_dsp/simd/v128_intrinsics_arm.h +++ b/aom_dsp/simd/v128_intrinsics_arm.h
@@ -54,7 +54,7 @@ SIMD_INLINE v128 v128_align(v128 a, v128 b, const unsigned int c) { // The following functions require an immediate. // Some compilers will check this during optimisation, others wont. -#if __OPTIMIZE__ && !__clang__ +#if defined(__OPTIMIZE__) && __OPTIMIZE__ && !defined(__clang__) return c ? vreinterpretq_s64_s8( vextq_s8(vreinterpretq_s8_s64(b), vreinterpretq_s8_s64(a), c)) : b; @@ -518,7 +518,7 @@ vshlq_s32(vreinterpretq_s32_s64(a), vdupq_n_s32(-c))); } -#if __OPTIMIZE__ && !__clang__ +#if defined(__OPTIMIZE__) && __OPTIMIZE__ && !defined(__clang__) SIMD_INLINE v128 v128_shl_n_byte(v128 a, const unsigned int n) { return n < 8
diff --git a/aom_dsp/simd/v128_intrinsics_x86.h b/aom_dsp/simd/v128_intrinsics_x86.h index 8319f03..1447602 100644 --- a/aom_dsp/simd/v128_intrinsics_x86.h +++ b/aom_dsp/simd/v128_intrinsics_x86.h
@@ -60,7 +60,7 @@ // The following function requires an immediate. // Some compilers will check this during optimisation, others wont. -#if __OPTIMIZE__ && !__clang__ +#if defined(__OPTIMIZE__) && __OPTIMIZE__ && !defined(__clang__) #if defined(__SSSE3__) SIMD_INLINE v128 v128_align(v128 a, v128 b, const unsigned int c) { return c ? _mm_alignr_epi8(a, b, c) : b;
diff --git a/aom_dsp/simd/v256_intrinsics_x86.h b/aom_dsp/simd/v256_intrinsics_x86.h index b5bdb53..fbba720 100644 --- a/aom_dsp/simd/v256_intrinsics_x86.h +++ b/aom_dsp/simd/v256_intrinsics_x86.h
@@ -20,8 +20,8 @@ // The _m256i type seems to cause problems for g++'s mangling prior to // version 5, but adding -fabi-version=0 fixes this. -#if !defined(__clang__) && __GNUC__ < 5 && defined(__AVX2__) && \ - defined(__cplusplus) +#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ < 5 && \ + defined(__AVX2__) && defined(__cplusplus) #pragma GCC optimize "-fabi-version=0" #endif
diff --git a/aom_dsp/simd/v64_intrinsics_arm.h b/aom_dsp/simd/v64_intrinsics_arm.h index b89939d..022347f 100644 --- a/aom_dsp/simd/v64_intrinsics_arm.h +++ b/aom_dsp/simd/v64_intrinsics_arm.h
@@ -64,12 +64,12 @@ } SIMD_INLINE void u32_store_unaligned(void *p, uint32_t a) { -#if __clang__ +#if defined(__clang__) vst1_lane_u32((uint32_t *)p, vreinterpret_u32_s64((uint64x1_t)(uint64_t)a), 0); -#elif __CC_ARM +#elif defined(__CC_ARM) *(__packed uint32_t *)p) = a; -#elif __GNUC__ +#elif defined(__GNUC__) *((__attribute((packed)) uint32_t *)p) = a; #else vst1_lane_u32((uint32_t *)p, vreinterpret_u32_s64((uint64x1_t)(uint64_t)a), @@ -96,7 +96,7 @@ // The following function requires an immediate. // Some compilers will check this if it's optimising, others wont. SIMD_INLINE v64 v64_align(v64 a, v64 b, const unsigned int c) { -#if __OPTIMIZE__ && !__clang__ +#if defined(__OPTIMIZE__) && __OPTIMIZE__ && !defined(__clang__) return c ? vreinterpret_s64_s8( vext_s8(vreinterpret_s8_s64(b), vreinterpret_s8_s64(a), c)) : b; @@ -479,7 +479,7 @@ // The following functions require an immediate. // Some compilers will check this during optimisation, others wont. -#if __OPTIMIZE__ && !__clang__ +#if defined(__OPTIMIZE__) && __OPTIMIZE__ && !defined(__clang__) SIMD_INLINE v64 v64_shl_n_byte(v64 a, const unsigned int c) { return vshl_n_s64(a, c * 8);
diff --git a/aom_dsp/simd/v64_intrinsics_x86.h b/aom_dsp/simd/v64_intrinsics_x86.h index bef43c4..5db76b4 100644 --- a/aom_dsp/simd/v64_intrinsics_x86.h +++ b/aom_dsp/simd/v64_intrinsics_x86.h
@@ -91,7 +91,7 @@ } // The following function requires an immediate. -#if __OPTIMIZE__ +#if defined(__OPTIMIZE__) && __OPTIMIZE__ #define v64_align(a, b, c) \ ((c) ? _mm_srli_si128(_mm_unpacklo_epi64(b, a), (c)) : b) #else