summaryrefslogtreecommitdiffstats
path: root/libmpeg2/idct_altivec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpeg2/idct_altivec.c')
-rw-r--r--libmpeg2/idct_altivec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libmpeg2/idct_altivec.c b/libmpeg2/idct_altivec.c
index 6b1b8586c0..3eec6b49d0 100644
--- a/libmpeg2/idct_altivec.c
+++ b/libmpeg2/idct_altivec.c
@@ -41,7 +41,7 @@ typedef vector unsigned short vector_u16_t;
typedef vector signed int vector_s32_t;
typedef vector unsigned int vector_u32_t;
-#if defined(HAVE_ALTIVEC_H) && (__GNUC__ * 100 + __GNUC_MINOR__ < 303)
+#if defined( HAVE_ALTIVEC_H ) && !defined( __APPLE_ALTIVEC__ ) && (__GNUC__ * 100 + __GNUC_MINOR__ < 303)
/* work around gcc <3.3 vec_mergel bug */
static inline vector_s16_t my_vec_mergel (vector_s16_t const A,
vector_s16_t const B)
@@ -56,10 +56,10 @@ static inline vector_s16_t my_vec_mergel (vector_s16_t const A,
#define vec_mergel my_vec_mergel
#endif
-#ifdef HAVE_ALTIVEC_H /* gnu */
-#define VEC_S16(a,b,c,d,e,f,g,h) {a, b, c, d, e, f, g, h}
-#else /* apple */
+#if defined( __APPLE_CC__ ) && defined( __APPLE_ALTIVEC__ ) /* apple */
#define VEC_S16(a,b,c,d,e,f,g,h) (vector_s16_t) (a, b, c, d, e, f, g, h)
+#else /* gnu */
+#define VEC_S16(a,b,c,d,e,f,g,h) {a, b, c, d, e, f, g, h}
#endif
static const vector_s16_t constants ATTR_ALIGN(16) =