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