--- fftw-3.0.1/simd/altivec.c.orig 2003-03-15 21:29:43.000000000 +0100 +++ fftw-3.0.1/simd/altivec.c 2005-05-25 20:55:26.000000000 +0200 @@ -26,15 +26,14 @@ #if HAVE_ALTIVEC const vector unsigned int X(altivec_ld_selmsk) = - (vector unsigned int)VLIT(0, 0, 0xFFFFFFFF, 0xFFFFFFFF); + (const vector unsigned int)VLIT(0, 0, 0xFFFFFFFF, 0xFFFFFFFF); const vector unsigned int X(altivec_flipri_perm) = - (vector unsigned int)VLIT(0x04050607, 0x00010203, - 0x0c0d0e0f, 0x08090a0b); + (const vector unsigned int)VLIT(0x04050607, 0x00010203, 0x0c0d0e0f, 0x08090a0b); const vector float X(altivec_chsr_sgn) = - (vector float)VLIT(-1.0, 1.0, -1.0, 1.0); + (const vector float)VLIT(-1.0, 1.0, -1.0, 1.0); const vector float X(altivec_chsr_msk) = - (vector float)VLIT(-0.0, 0.0, -0.0, 0.0); + (const vector float)VLIT(-0.0, 0.0, -0.0, 0.0); #endif --- fftw-3.0.1/simd/simd-altivec.h.orig 2003-03-21 13:45:48.000000000 +0100 +++ fftw-3.0.1/simd/simd-altivec.h 2005-05-25 20:57:22.000000000 +0200 @@ -92,14 +92,15 @@ return (vector float) __builtin_altivec_vxor ((vector signed int) a1, (vector signed int) a2); } -#define VLIT(x0, x1, x2, x3) {x0, x1, x2, x3} - #else /* !__VEC__ */ -#define VLIT(x0, x1, x2, x3) (x0, x1, x2, x3) +/* gcc provides altivec builtins */ +#include #endif +#define VLIT(x0, x1, x2, x3) {x0, x1, x2, x3} + typedef vector float V; #define VADD(a, b) vec_add(a, b) #define VSUB(a, b) vec_sub(a, b)