File altivec.diff of Package compat-g77

--- gcc/config/rs6000/altivec.h.~1.20.18.5.~	2004-06-22 21:48:10.000000000 +0200
+++ gcc/config/rs6000/altivec.h	2004-10-09 17:34:47.978909835 +0200
@@ -7910,508 +7910,508 @@ vec_any_out (vector float a1, vector flo
 #define __ch(x, y, z)	__builtin_choose_expr (x, y, z)
 
 #define vec_step(t) \
-  __ch (__builtin_types_compatible_p (typeof (t), vector signed int), 4,      \
-  __ch (__builtin_types_compatible_p (typeof (t), vector unsigned int), 4,    \
-  __ch (__builtin_types_compatible_p (typeof (t), vector bool int), 4,        \
-  __ch (__builtin_types_compatible_p (typeof (t), vector signed short), 8,    \
-  __ch (__builtin_types_compatible_p (typeof (t), vector unsigned short), 8,  \
-  __ch (__builtin_types_compatible_p (typeof (t), vector bool short), 8,      \
-  __ch (__builtin_types_compatible_p (typeof (t), vector pixel), 8,           \
-  __ch (__builtin_types_compatible_p (typeof (t), vector signed char), 16,    \
-  __ch (__builtin_types_compatible_p (typeof (t), vector unsigned char), 16,  \
-  __ch (__builtin_types_compatible_p (typeof (t), vector bool char), 16,      \
-  __ch (__builtin_types_compatible_p (typeof (t), vector float), 4,           \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector signed int), 4,      \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector unsigned int), 4,    \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector __bool int), 4,        \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector signed short), 8,    \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector unsigned short), 8,  \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector __bool short), 8,      \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector __pixel), 8,           \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector signed char), 16,    \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector unsigned char), 16,  \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector __bool char), 16,      \
+  __ch (__builtin_types_compatible_p (typeof (t), __vector float), 4,           \
   __builtin_altivec_compiletime_error ("vec_step"))))))))))))
 
 #define vec_abs(a) \
-  __ch (__un_args_eq (vector signed char, (a)), \
-        ((vector signed char) __builtin_altivec_abs_v16qi ((vector signed char) (a))), \
-  __ch (__un_args_eq (vector signed short, (a)), \
-        ((vector signed short) __builtin_altivec_abs_v8hi ((vector signed short) (a))), \
-  __ch (__un_args_eq (vector signed int, (a)), \
-        ((vector signed int) __builtin_altivec_abs_v4si ((vector signed int) (a))), \
-  __ch (__un_args_eq (vector float, (a)), \
-        ((vector float) __builtin_altivec_abs_v4sf ((vector float) (a))), \
+  __ch (__un_args_eq (__vector signed char, (a)), \
+        ((__vector signed char) __builtin_altivec_abs_v16qi ((__vector signed char) (a))), \
+  __ch (__un_args_eq (__vector signed short, (a)), \
+        ((__vector signed short) __builtin_altivec_abs_v8hi ((__vector signed short) (a))), \
+  __ch (__un_args_eq (__vector signed int, (a)), \
+        ((__vector signed int) __builtin_altivec_abs_v4si ((__vector signed int) (a))), \
+  __ch (__un_args_eq (__vector float, (a)), \
+        ((__vector float) __builtin_altivec_abs_v4sf ((__vector float) (a))), \
   __builtin_altivec_compiletime_error ("vec_abs")))))
 
 #define vec_abss(a) \
-  __ch (__un_args_eq (vector signed char, (a)), \
-        ((vector signed char) __builtin_altivec_abss_v16qi ((vector signed char) (a))), \
-  __ch (__un_args_eq (vector signed short, (a)), \
-        ((vector signed short) __builtin_altivec_abss_v8hi ((vector signed short) (a))), \
-  __ch (__un_args_eq (vector signed int, (a)), \
-        ((vector signed int) __builtin_altivec_abss_v4si ((vector signed int) (a))), \
+  __ch (__un_args_eq (__vector signed char, (a)), \
+        ((__vector signed char) __builtin_altivec_abss_v16qi ((__vector signed char) (a))), \
+  __ch (__un_args_eq (__vector signed short, (a)), \
+        ((__vector signed short) __builtin_altivec_abss_v8hi ((__vector signed short) (a))), \
+  __ch (__un_args_eq (__vector signed int, (a)), \
+        ((__vector signed int) __builtin_altivec_abss_v4si ((__vector signed int) (a))), \
   __builtin_altivec_compiletime_error ("vec_abss"))))
 
 #define vec_vaddubm(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vaddubm")))))
 
 #define vec_vadduhm(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vadduhm")))))
 
 #define vec_vadduwm(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vadduwm")))))
 
 #define vec_vaddfp(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vaddfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vaddfp ((__vector float) (a1), (__vector float) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vaddfp"))
 
 #define vec_add(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vaddfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vaddfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_add"))))))))))))))))))))
 
 #define vec_addc(a1, a2) \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vaddcuw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vaddcuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_addc"))
 
 #define vec_adds(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddsbs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddsbs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddsbs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vaddshs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vaddshs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vaddshs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vaddsws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vaddsws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vaddsws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vaddshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vaddshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vaddshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vaddsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vaddsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vaddsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_adds")))))))))))))))))))
 
 #define vec_vaddsws(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vaddsws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vaddsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vaddsws"))
 
 #define vec_vadduws(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vadduws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vadduws ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vadduws"))))
 
 #define vec_vaddshs(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vaddshs ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vaddshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vaddshs"))
 
 #define vec_vadduhs(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vadduhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vadduhs"))))
 
 #define vec_vaddsbs(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vaddsbs ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vaddsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vaddsbs"))
 
 #define vec_vaddubs(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vaddubs ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vaddubs"))))
 
 #define vec_and(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector bool int, (a2)), \
-      ((vector float) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vand ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector __bool int, (a2)), \
+      ((__vector float) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vand ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_and")))))))))))))))))))))))))
 
 #define vec_andc(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector bool int, (a2)), \
-      ((vector float) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vandc ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector __bool int, (a2)), \
+      ((__vector float) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vandc ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_andc")))))))))))))))))))))))))
 
 #define vec_avg(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vavgub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vavgsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vavguh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vavgsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vavguw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vavgsw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vavgub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vavgsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vavguh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vavgsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vavguw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vavgsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_avg")))))))
 
 #define vec_vavgsw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vavgsw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vavgsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vavgsw"))
 
 #define vec_vavguw(a1, a2) \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vavguw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vavguw ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vavguw"))
 
 #define vec_vavgsh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vavgsh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vavgsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vavgsh"))
 
 #define vec_vavguh(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vavguh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vavguh ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vavguh"))
 
 #define vec_vavgsb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vavgsb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vavgsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vavgsb"))
 
 #define vec_vavgub(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vavgub ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vavgub ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vavgub"))
 
 #define vec_ceil(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vrfip ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vrfip ((__vector float) (a1))), \
   __builtin_altivec_compiletime_error ("vec_ceil"))
 
 #define vec_cmpb(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpbfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpbfp ((__vector float) (a1), (__vector float) (a2))), \
   __builtin_altivec_compiletime_error ("vec_cmpb"))
 
 #define vec_cmpeq(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector bool char) __builtin_altivec_vcmpequb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector bool char) __builtin_altivec_vcmpequb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector bool short) __builtin_altivec_vcmpequh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector bool short) __builtin_altivec_vcmpequh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpequw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpequw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpeqfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vcmpequb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vcmpequb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vcmpequh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vcmpequh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpequw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpequw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpeqfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_cmpeq"))))))))
 
 #define vec_vcmpeqfp(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpeqfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpeqfp ((__vector float) (a1), (__vector float) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpeqfp"))
 
 #define vec_vcmpequw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpequw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpequw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpequw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpequw ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpequw")))
 
 #define vec_vcmpequh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vcmpequh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vcmpequh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vcmpequh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vcmpequh ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpequh")))
 
 #define vec_vcmpequb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vcmpequb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vcmpequb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vcmpequb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vcmpequb ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpequb")))
 
 #define vec_cmpge(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgefp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgefp ((__vector float) (a1), (__vector float) (a2))), \
   __builtin_altivec_compiletime_error ("vec_cmpge"))
 
 #define vec_cmpgt(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector bool char) __builtin_altivec_vcmpgtub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector bool char) __builtin_altivec_vcmpgtsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector bool short) __builtin_altivec_vcmpgtuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector bool short) __builtin_altivec_vcmpgtsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgtuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgtsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgtfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vcmpgtub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vcmpgtsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vcmpgtuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vcmpgtsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgtuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgtsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgtfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_cmpgt"))))))))
 
 #define vec_vcmpgtfp(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpgtfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpgtfp ((__vector float) (a1), (__vector float) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpgtfp"))
 
 #define vec_vcmpgtsw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpgtsw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpgtsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_abs"))
 
 #define vec_vcmpgtuw(a1, a2) \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vcmpgtuw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vcmpgtuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_abs"))
 
 #define vec_vcmpgtsh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vcmpgtsh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vcmpgtsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpgtsh"))
 
 #define vec_vcmpgtuh(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vcmpgtuh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vcmpgtuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpgtuh"))
 
 #define vec_vcmpgtsb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vcmpgtsb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vcmpgtsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpgtsb"))
 
 #define vec_vcmpgtub(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vcmpgtub ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vcmpgtub ((__vector signed char) (a1), (__vector signed char) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcmpgtub"))
 
 #define vec_cmple(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgefp ((vector float) (a2), (vector float) (a1))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgefp ((__vector float) (a2), (__vector float) (a1))), \
   __builtin_altivec_compiletime_error ("vec_cmple"))
 
 #define vec_cmplt(a2, a1) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector bool char) __builtin_altivec_vcmpgtub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector bool char) __builtin_altivec_vcmpgtsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector bool short) __builtin_altivec_vcmpgtuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector bool short) __builtin_altivec_vcmpgtsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgtuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgtsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector bool int) __builtin_altivec_vcmpgtfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vcmpgtub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vcmpgtsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vcmpgtuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vcmpgtsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgtuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgtsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vcmpgtfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_cmplt"))))))))
 
 #define vec_ctf(a1, a2) \
-__ch (__un_args_eq (vector unsigned int, (a1)), \
-      ((vector float) __builtin_altivec_vcfux ((vector signed int) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector signed int, (a1)), \
-      ((vector float) __builtin_altivec_vcfsx ((vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned int, (a1)), \
+      ((__vector float) __builtin_altivec_vcfux ((__vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed int, (a1)), \
+      ((__vector float) __builtin_altivec_vcfsx ((__vector signed int) (a1), (const int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_ctf")))
 
 #define vec_vcfsx(a1, a2) \
-__ch (__un_args_eq (vector signed int, (a1)), \
-      ((vector float) __builtin_altivec_vcfsx ((vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed int, (a1)), \
+      ((__vector float) __builtin_altivec_vcfsx ((__vector signed int) (a1), (const int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcfsx"))
 
 #define vec_vcfux(a1, a2) \
-__ch (__un_args_eq (vector unsigned int, (a1)), \
-      ((vector float) __builtin_altivec_vcfux ((vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned int, (a1)), \
+      ((__vector float) __builtin_altivec_vcfux ((__vector signed int) (a1), (const int) (a2))), \
   __builtin_altivec_compiletime_error ("vec_vcfux"))
 
 #define vec_cts(a1, a2) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector signed int) __builtin_altivec_vctsxs ((vector float) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector signed int) __builtin_altivec_vctsxs ((__vector float) (a1), (const int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_cts"))
 
 #define vec_ctu(a1, a2) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vctuxs ((vector float) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vctuxs ((__vector float) (a1), (const int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_ctu"))
 
 #define vec_dss(a1) __builtin_altivec_dss ((const int) (a1));
@@ -8419,27 +8419,27 @@ __ch (__un_args_eq (vector float, (a1)),
 #define vec_dssall() __builtin_altivec_dssall ()
 
 #define vec_dst(a1, a2, a3) \
-__ch (__un_args_eq (const vector unsigned char, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned char, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed char, *(a1)), \
+__ch (__un_args_eq (const __vector signed char, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool char, *(a1)), \
+__ch (__un_args_eq (const __vector __bool char, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned short, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned short, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed short, *(a1)), \
+__ch (__un_args_eq (const __vector signed short, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool short, *(a1)), \
+__ch (__un_args_eq (const __vector __bool short, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector pixel, *(a1)), \
+__ch (__un_args_eq (const __vector __pixel, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned int, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned int, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed int, *(a1)), \
+__ch (__un_args_eq (const __vector signed int, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool int, *(a1)), \
+__ch (__un_args_eq (const __vector __bool int, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector float, *(a1)), \
+__ch (__un_args_eq (const __vector float, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
 __ch (__un_args_eq (const unsigned char, *(a1)), \
       __builtin_altivec_dst ((void *) (a1), (a2), (a3)), \
@@ -8462,27 +8462,27 @@ __ch (__un_args_eq (const float, *(a1)),
   __builtin_altivec_compiletime_error ("vec_dst")))))))))))))))))))))
 
 #define vec_dstst(a1, a2, a3) \
-__ch (__un_args_eq (const vector unsigned char, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned char, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed char, *(a1)), \
+__ch (__un_args_eq (const __vector signed char, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool char, *(a1)), \
+__ch (__un_args_eq (const __vector __bool char, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned short, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned short, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed short, *(a1)), \
+__ch (__un_args_eq (const __vector signed short, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool short, *(a1)), \
+__ch (__un_args_eq (const __vector __bool short, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector pixel, *(a1)), \
+__ch (__un_args_eq (const __vector __pixel, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned int, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned int, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed int, *(a1)), \
+__ch (__un_args_eq (const __vector signed int, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool int, *(a1)), \
+__ch (__un_args_eq (const __vector __bool int, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector float, *(a1)), \
+__ch (__un_args_eq (const __vector float, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
 __ch (__un_args_eq (const unsigned char, *(a1)), \
       __builtin_altivec_dstst ((void *) (a1), (a2), (a3)), \
@@ -8505,27 +8505,27 @@ __ch (__un_args_eq (const float, *(a1)),
   __builtin_altivec_compiletime_error ("vec_dstst")))))))))))))))))))))
 
 #define vec_dststt(a1, a2, a3) \
-__ch (__un_args_eq (const vector unsigned char, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned char, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed char, *(a1)), \
+__ch (__un_args_eq (const __vector signed char, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool char, *(a1)), \
+__ch (__un_args_eq (const __vector __bool char, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned short, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned short, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed short, *(a1)), \
+__ch (__un_args_eq (const __vector signed short, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool short, *(a1)), \
+__ch (__un_args_eq (const __vector __bool short, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector pixel, *(a1)), \
+__ch (__un_args_eq (const __vector __pixel, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned int, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned int, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed int, *(a1)), \
+__ch (__un_args_eq (const __vector signed int, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool int, *(a1)), \
+__ch (__un_args_eq (const __vector __bool int, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector float, *(a1)), \
+__ch (__un_args_eq (const __vector float, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
 __ch (__un_args_eq (const unsigned char, *(a1)), \
       __builtin_altivec_dststt ((void *) (a1), (a2), (a3)), \
@@ -8548,27 +8548,27 @@ __ch (__un_args_eq (const float, *(a1)),
   __builtin_altivec_compiletime_error ("vec_dststt")))))))))))))))))))))
 
 #define vec_dstt(a1, a2, a3) \
-__ch (__un_args_eq (const vector unsigned char, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned char, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed char, *(a1)), \
+__ch (__un_args_eq (const __vector signed char, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool char, *(a1)), \
+__ch (__un_args_eq (const __vector __bool char, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned short, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned short, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed short, *(a1)), \
+__ch (__un_args_eq (const __vector signed short, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool short, *(a1)), \
+__ch (__un_args_eq (const __vector __bool short, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector pixel, *(a1)), \
+__ch (__un_args_eq (const __vector __pixel, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector unsigned int, *(a1)), \
+__ch (__un_args_eq (const __vector unsigned int, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector signed int, *(a1)), \
+__ch (__un_args_eq (const __vector signed int, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector bool int, *(a1)), \
+__ch (__un_args_eq (const __vector __bool int, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
-__ch (__un_args_eq (const vector float, *(a1)), \
+__ch (__un_args_eq (const __vector float, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
 __ch (__un_args_eq (const unsigned char, *(a1)), \
       __builtin_altivec_dstt ((void *) (a1), (a2), (a3)), \
@@ -8591,2372 +8591,2372 @@ __ch (__un_args_eq (const float, *(a1)),
   __builtin_altivec_compiletime_error ("vec_dstt")))))))))))))))))))))
 
 #define vec_expte(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vexptefp ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vexptefp ((__vector float) (a1))), \
   __builtin_altivec_compiletime_error ("vec_expte"))
 
 #define vec_floor(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vrfim ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vrfim ((__vector float) (a1))), \
   __builtin_altivec_compiletime_error ("vec_floor"))
 
 #define vec_ld(a, b) \
-__ch (__un_args_eq (const vector unsigned char, *(b)), \
-      ((vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector unsigned char, *(b)), \
+      ((__vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const unsigned char, *(b)), \
-      ((vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector signed char, *(b)), \
-      ((vector signed char) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector signed char, *(b)), \
+      ((__vector signed char) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const signed char, *(b)), \
-      ((vector signed char) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector bool char, *(b)), \
-      ((vector bool char) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector unsigned short, *(b)), \
-      ((vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector signed char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector __bool char, *(b)), \
+      ((__vector __bool char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector unsigned short, *(b)), \
+      ((__vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const unsigned short, *(b)), \
-      ((vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector signed short, *(b)), \
-      ((vector signed short) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector signed short, *(b)), \
+      ((__vector signed short) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const short, *(b)), \
-      ((vector signed short) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector bool short, *(b)), \
-      ((vector bool short) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector pixel, *(b)), \
-      ((vector pixel) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector unsigned int, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector signed short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector __bool short, *(b)), \
+      ((__vector __bool short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector __pixel, *(b)), \
+      ((__vector __pixel) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector unsigned int, *(b)), \
+      ((__vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const unsigned int, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const unsigned long, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector signed int, *(b)), \
-      ((vector signed int) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector signed int, *(b)), \
+      ((__vector signed int) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const int, *(b)), \
-      ((vector signed int) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const long, *(b)), \
-      ((vector signed int) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector bool int, *(b)), \
-      ((vector bool int) __builtin_altivec_lvx ((a), (b))), \
-__ch (__un_args_eq (const vector float, *(b)), \
-      ((vector float) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector __bool int, *(b)), \
+      ((__vector __bool int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (const __vector float, *(b)), \
+      ((__vector float) __builtin_altivec_lvx ((a), (b))), \
 __ch (__un_args_eq (const float, *(b)), \
-      ((vector float) __builtin_altivec_lvx ((a), (b))), \
+      ((__vector float) __builtin_altivec_lvx ((a), (b))), \
 __builtin_altivec_compiletime_error ("vec_ld")))))))))))))))))))))
 
 #define vec_lde(a, b) \
 __ch (__un_args_eq (const unsigned char, *(b)), \
-      ((vector unsigned char) __builtin_altivec_lvebx ((a), (b))), \
+      ((__vector unsigned char) __builtin_altivec_lvebx ((a), (b))), \
 __ch (__un_args_eq (const signed char, *(b)), \
-      ((vector signed char) __builtin_altivec_lvebx ((a), (b))), \
+      ((__vector signed char) __builtin_altivec_lvebx ((a), (b))), \
 __ch (__un_args_eq (const unsigned short, *(b)), \
-      ((vector unsigned short) __builtin_altivec_lvehx ((a), (b))), \
+      ((__vector unsigned short) __builtin_altivec_lvehx ((a), (b))), \
 __ch (__un_args_eq (const short, *(b)), \
-      ((vector signed short) __builtin_altivec_lvehx ((a), (b))), \
+      ((__vector signed short) __builtin_altivec_lvehx ((a), (b))), \
 __ch (__un_args_eq (const unsigned long, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (const long, *(b)), \
-      ((vector signed int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (const unsigned int, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (const int, *(b)), \
-      ((vector signed int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (const float, *(b)), \
-      ((vector float) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector float) __builtin_altivec_lvewx ((a), (b))), \
 __builtin_altivec_compiletime_error ("vec_lde"))))))))))
 
 #define vec_lvewx(a, b) \
 __ch (__un_args_eq (unsigned int, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (signed int, *(b)), \
-      ((vector signed int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (unsigned long, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (signed long, *(b)), \
-      ((vector signed int) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvewx ((a), (b))), \
 __ch (__un_args_eq (float, *(b)), \
-      ((vector float) __builtin_altivec_lvewx ((a), (b))), \
+      ((__vector float) __builtin_altivec_lvewx ((a), (b))), \
 __builtin_altivec_compiletime_error ("vec_lvewx"))))))
 
 #define vec_lvehx(a, b) \
 __ch (__un_args_eq (unsigned short, *(b)), \
-      ((vector unsigned short) __builtin_altivec_lvehx ((a), (b))), \
+      ((__vector unsigned short) __builtin_altivec_lvehx ((a), (b))), \
 __ch (__un_args_eq (signed short, *(b)), \
-      ((vector signed short) __builtin_altivec_lvehx ((a), (b))), \
+      ((__vector signed short) __builtin_altivec_lvehx ((a), (b))), \
 __builtin_altivec_compiletime_error ("vec_lvehx")))
 
 #define vec_lvebx(a, b) \
 __ch (__un_args_eq (unsigned char, *(b)), \
-      ((vector unsigned char) __builtin_altivec_lvebx ((a), (b))), \
+      ((__vector unsigned char) __builtin_altivec_lvebx ((a), (b))), \
 __ch (__un_args_eq (signed char, *(b)), \
-      ((vector signed char) __builtin_altivec_lvebx ((a), (b))), \
+      ((__vector signed char) __builtin_altivec_lvebx ((a), (b))), \
 __builtin_altivec_compiletime_error ("vec_lvebx")))
 
 #define vec_ldl(a, b) \
-__ch (__un_args_eq (const vector unsigned char, *(b)), \
-      ((vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector unsigned char, *(b)), \
+      ((__vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const unsigned char, *(b)), \
-      ((vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector signed char, *(b)), \
-      ((vector signed char) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector signed char, *(b)), \
+      ((__vector signed char) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const signed char, *(b)), \
-      ((vector signed char) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector bool char, *(b)), \
-      ((vector bool char) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector unsigned short, *(b)), \
-      ((vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector signed char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector __bool char, *(b)), \
+      ((__vector __bool char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector unsigned short, *(b)), \
+      ((__vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const unsigned short, *(b)), \
-      ((vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector signed short, *(b)), \
-      ((vector signed short) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector signed short, *(b)), \
+      ((__vector signed short) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const short, *(b)), \
-      ((vector signed short) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector bool short, *(b)), \
-      ((vector bool short) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector pixel, *(b)), \
-      ((vector pixel) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector unsigned int, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector signed short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector __bool short, *(b)), \
+      ((__vector __bool short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector __pixel, *(b)), \
+      ((__vector __pixel) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector unsigned int, *(b)), \
+      ((__vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const unsigned int, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const unsigned long, *(b)), \
-      ((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector signed int, *(b)), \
-      ((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector signed int, *(b)), \
+      ((__vector signed int) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const int, *(b)), \
-      ((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const long, *(b)), \
-      ((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector bool int, *(b)), \
-      ((vector bool int) __builtin_altivec_lvxl ((a), (b))), \
-__ch (__un_args_eq (const vector float, *(b)), \
-      ((vector float) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector signed int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector __bool int, *(b)), \
+      ((__vector __bool int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (const __vector float, *(b)), \
+      ((__vector float) __builtin_altivec_lvxl ((a), (b))), \
 __ch (__un_args_eq (const float, *(b)), \
-      ((vector float) __builtin_altivec_lvxl ((a), (b))), \
+      ((__vector float) __builtin_altivec_lvxl ((a), (b))), \
 __builtin_altivec_compiletime_error ("vec_ldl")))))))))))))))))))))
 
 #define vec_loge(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vlogefp ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vlogefp ((__vector float) (a1))), \
   __builtin_altivec_compiletime_error ("vec_loge"))
 
 #define vec_lvsl(a1, a2) \
 __ch (__un_args_eq (const volatile unsigned char, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed char, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile unsigned short, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed short, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile unsigned int, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed int, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile unsigned long, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed long, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile float, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsl ((a1), (void *) (a2))), \
 __builtin_altivec_compiletime_error ("vec_lvsl"))))))))))
 
 #define vec_lvsr(a1, a2) \
 __ch (__un_args_eq (const volatile unsigned char, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed char, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile unsigned short, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed short, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile unsigned int, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed int, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile unsigned long, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile signed long, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __ch (__un_args_eq (const volatile float, *(a2)), \
-      ((vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
+      ((__vector unsigned char) __builtin_altivec_lvsr ((a1), (void *) (a2))), \
 __builtin_altivec_compiletime_error ("vec_lvsr"))))))))))
 
 #define vec_madd(a1, a2, a3) \
-__ch (__tern_args_eq (vector float, (a1), vector float, (a2), vector float, (a3)), \
-      ((vector float) __builtin_altivec_vmaddfp ((a1), (a2), (a3))), \
+__ch (__tern_args_eq (__vector float, (a1), __vector float, (a2), __vector float, (a3)), \
+      ((__vector float) __builtin_altivec_vmaddfp ((a1), (a2), (a3))), \
 __builtin_altivec_compiletime_error ("vec_madd"))
 
 #define vec_madds(a1, a2, a3) \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed short, (a3)), \
-      ((vector signed short) __builtin_altivec_vmhaddshs ((a1), (a2), (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vmhaddshs ((a1), (a2), (a3))), \
 __builtin_altivec_compiletime_error ("vec_madds"))
 
 #define vec_max(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmaxsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmaxsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmaxsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmaxsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmaxsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmaxsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmaxsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmaxsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmaxsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vmaxfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmaxub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmaxub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmaxub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmaxsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmaxsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmaxsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmaxuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmaxuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmaxuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmaxsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmaxsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmaxsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmaxuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmaxuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmaxuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmaxsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmaxsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmaxsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vmaxfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_max"))))))))))))))))))))
 
 #define vec_vmaxfp(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vmaxfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vmaxfp ((__vector float) (a1), (__vector float) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxfp"))
 
 #define vec_vmaxsw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmaxsw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmaxsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxsw"))
 
 #define vec_vmaxuw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmaxuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmaxuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmaxuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxuw"))))
 
 #define vec_vmaxsh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmaxsh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmaxsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxsh"))
 
 #define vec_vmaxuh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmaxuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmaxuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmaxuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxuh"))))
 
 #define vec_vmaxsb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmaxsb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmaxsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxsb"))
 
 #define vec_vmaxub(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmaxub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmaxub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmaxub ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmaxub"))))
 
 #define vec_mergeh(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmrghb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmrghb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vmrghb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmrghh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmrghh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vmrghh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      ((vector pixel) __builtin_altivec_vmrghh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmrghb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmrghb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vmrghb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmrghh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmrghh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vmrghh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vmrghh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_mergeh"))))))))))))
 
 #define vec_vmrghw(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmrghw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmrghw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmrghw"))))
 
 #define vec_vmrghh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmrghh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmrghh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmrghh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmrghh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmrghh")))
 
 #define vec_vmrghb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmrghb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmrghb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmrghb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmrghb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmrghb")))
 
 #define vec_mergel(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      ((vector pixel) __builtin_altivec_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmrglb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmrglb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vmrglb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmrglh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmrglh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vmrglh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vmrglh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_mergel"))))))))))))
 
 #define vec_vmrglw(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmrglw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmrglw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmrglw"))))
 
 #define vec_vmrglh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmrglh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmrglh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmrglh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmrglh")))
 
 #define vec_vmrglb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vmrglb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vmrglb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vmrglb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmrglb")))
 
-#define vec_mfvscr()  (((vector unsigned short) __builtin_altivec_mfvscr ()))
+#define vec_mfvscr()  (((__vector unsigned short) __builtin_altivec_mfvscr ()))
 
 #define vec_min(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vminub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vminub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vminub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vminsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vminsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vminsb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vminuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vminuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vminuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vminsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vminsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vminsh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vminuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vminuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vminuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vminsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vminsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vminsw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vminfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vminub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vminub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vminub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vminsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vminsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vminsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vminuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vminuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vminuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vminsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vminsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vminsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vminuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vminuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vminuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vminsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vminsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vminsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vminfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_min"))))))))))))))))))))
 
 #define vec_vminfp(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vminfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vminfp ((__vector float) (a1), (__vector float) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vminfp"))
 
 #define vec_vminsw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vminsw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vminsw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vminsw"))
 
 #define vec_vminuw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vminuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vminuw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vminuw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vminuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vminuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vminuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vminuw"))))
 
 #define vec_vminsh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vminsh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vminsh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vminsh"))
 
 #define vec_vminuh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vminuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vminuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vminuh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vminuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vminuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vminuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vminuh"))))
 
 #define vec_vminsb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vminsb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vminsb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_abs"))
 
 #define vec_vminub(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vminub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vminub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vminub ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vminub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vminub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vminub ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vminub"))))
 
 #define vec_mladd(a1, a2, a3) \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed short, (a3)), \
-      ((vector signed short) __builtin_altivec_vmladduhm ((vector signed short) (a1), (vector signed short) (a2), (vector signed short) (a3))), \
-__ch (__tern_args_eq (vector signed short, (a1), vector unsigned short, (a2), vector unsigned short, (a3)), \
-      ((vector signed short) __builtin_altivec_vmladduhm ((vector signed short) (a1), (vector signed short) (a2), (vector signed short) (a3))), \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector signed short, (a2), vector signed short, (a3)), \
-      ((vector signed short) __builtin_altivec_vmladduhm ((vector signed short) (a1), (vector signed short) (a2), (vector signed short) (a3))), \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned short, (a3)), \
-      ((vector unsigned short) __builtin_altivec_vmladduhm ((vector signed short) (a1), (vector signed short) (a2), (vector signed short) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vmladduhm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed short) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector unsigned short, (a2), __vector unsigned short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vmladduhm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed short) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector signed short, (a2), __vector signed short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vmladduhm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed short) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned short, (a3)), \
+      ((__vector unsigned short) __builtin_altivec_vmladduhm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed short) (a3))), \
     __builtin_altivec_compiletime_error ("vec_mladd")))))
 
 #define vec_mradds(a1, a2, a3) \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed short, (a3)), \
-      ((vector signed short) __builtin_altivec_vmhraddshs ((a1), (a2), (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vmhraddshs ((a1), (a2), (a3))), \
 __builtin_altivec_compiletime_error ("vec_mradds"))
 
 #define vec_msum(a1, a2, a3) \
-__ch (__tern_args_eq (vector unsigned char, (a1), vector unsigned char, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vmsumubm ((vector signed char) (a1), (vector signed char) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed char, (a1), vector unsigned char, (a2), vector signed int, (a3)), \
-      ((vector signed int) __builtin_altivec_vmsummbm ((vector signed char) (a1), (vector signed char) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vmsumuhm ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed int, (a3)), \
-      ((vector signed int) __builtin_altivec_vmsumshm ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vmsumubm ((__vector signed char) (a1), (__vector signed char) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed char, (a1), __vector unsigned char, (a2), __vector signed int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vmsummbm ((__vector signed char) (a1), (__vector signed char) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vmsumuhm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vmsumshm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
     __builtin_altivec_compiletime_error ("vec_msum")))))
 
 #define vec_vmsumshm(a1, a2, a3) \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed int, (a3)), \
-      ((vector signed int) __builtin_altivec_vmsumshm ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vmsumshm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
 __builtin_altivec_compiletime_error ("vec_vmsumshm"))
 
 #define vec_vmsumuhm(a1, a2, a3) \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vmsumuhm ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vmsumuhm ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
 __builtin_altivec_compiletime_error ("vec_vmsumuhm"))
 
 #define vec_vmsummbm(a1, a2, a3) \
-__ch (__tern_args_eq (vector signed char, (a1), vector unsigned char, (a2), vector signed int, (a3)), \
-      ((vector signed int) __builtin_altivec_vmsummbm ((vector signed char) (a1), (vector signed char) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed char, (a1), __vector unsigned char, (a2), __vector signed int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vmsummbm ((__vector signed char) (a1), (__vector signed char) (a2), (__vector signed int) (a3))), \
 __builtin_altivec_compiletime_error ("vec_abs"))
 
 #define vec_vmsumubm(a1, a2, a3) \
-__ch (__tern_args_eq (vector unsigned char, (a1), vector unsigned char, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vmsumubm ((vector signed char) (a1), (vector signed char) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vmsumubm ((__vector signed char) (a1), (__vector signed char) (a2), (__vector signed int) (a3))), \
 __builtin_altivec_compiletime_error ("vec_vmsummbm"))
 
 #define vec_msums(a1, a2, a3) \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vmsumuhs ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed int, (a3)), \
-      ((vector signed int) __builtin_altivec_vmsumshs ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vmsumuhs ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vmsumshs ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
     __builtin_altivec_compiletime_error ("vec_msums")))
 
 #define vec_vmsumshs(a1, a2, a3) \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector signed int, (a3)), \
-      ((vector signed int) __builtin_altivec_vmsumshs ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector signed int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vmsumshs ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
 __builtin_altivec_compiletime_error ("vec_vmsumshs"))
 
 #define vec_vmsumuhs(a1, a2, a3) \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vmsumuhs ((vector signed short) (a1), (vector signed short) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vmsumuhs ((__vector signed short) (a1), (__vector signed short) (a2), (__vector signed int) (a3))), \
 __builtin_altivec_compiletime_error ("vec_vmsumuhs"))
 
 #define vec_mtvscr(a1) \
-__ch (__un_args_eq (vector signed int, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector unsigned int, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector bool int, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector unsigned short, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector bool short, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector pixel, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector unsigned char, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
-__ch (__un_args_eq (vector bool char, (a1)), \
-      __builtin_altivec_mtvscr ((vector signed int) (a1)), \
+__ch (__un_args_eq (__vector signed int, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector unsigned int, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector __bool int, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector unsigned short, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector __bool short, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector __pixel, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector unsigned char, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
+__ch (__un_args_eq (__vector __bool char, (a1)), \
+      __builtin_altivec_mtvscr ((__vector signed int) (a1)), \
     __builtin_altivec_compiletime_error ("vec_mtvscr")))))))))))
 
 #define vec_mule(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmuleub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed short) __builtin_altivec_vmulesb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmuleuh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed int) __builtin_altivec_vmulesh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmuleub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmulesb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmuleuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmulesh ((__vector signed short) (a1), (__vector signed short) (a2))), \
     __builtin_altivec_compiletime_error ("vec_mule")))))
 
 #define vec_vmulesh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed int) __builtin_altivec_vmulesh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmulesh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmulesh"))
 
 #define vec_vmuleuh(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmuleuh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmuleuh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmuleuh"))
 
 #define vec_vmulesb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed short) __builtin_altivec_vmulesb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmulesb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmulesb"))
 
 #define vec_vmuleub(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmuleub ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmuleub ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmuleub"))
 
 #define vec_mulo(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmuloub ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed short) __builtin_altivec_vmulosb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmulouh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed int) __builtin_altivec_vmulosh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmuloub ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmulosb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmulouh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmulosh ((__vector signed short) (a1), (__vector signed short) (a2))), \
     __builtin_altivec_compiletime_error ("vec_mulo")))))
 
 #define vec_vmulosh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed int) __builtin_altivec_vmulosh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed int) __builtin_altivec_vmulosh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmulosh"))
 
 #define vec_vmulouh(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vmulouh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vmulouh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmulouh"))
 
 #define vec_vmulosb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed short) __builtin_altivec_vmulosb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vmulosb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmulosb"))
 
 #define vec_vmuloub(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vmuloub ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vmuloub ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vmuloub"))
 
 #define vec_nmsub(a1, a2, a3) \
-__ch (__tern_args_eq (vector float, ((a1)), vector float, ((a2)) , vector float, ((a3))), \
-      ((vector float) __builtin_altivec_vnmsubfp ((vector float) ((a1)), (vector float) ((a2)), (vector float)((a3)))), \
+__ch (__tern_args_eq (__vector float, ((a1)), __vector float, ((a2)) , __vector float, ((a3))), \
+      ((__vector float) __builtin_altivec_vnmsubfp ((__vector float) ((a1)), (__vector float) ((a2)), (__vector float)((a3)))), \
     __builtin_altivec_compiletime_error ("vec_nmsub"))
 
 #define vec_nor(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vnor ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vnor ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_nor")))))))))))
 
 #define vec_or(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector bool int, (a2)), \
-      ((vector float) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vor ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector __bool int, (a2)), \
+      ((__vector float) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vor ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_or")))))))))))))))))))))))))
 
 #define vec_pack(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed char) __builtin_altivec_vpkuhum ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkuhum ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool char) __builtin_altivec_vpkuhum ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed short) __builtin_altivec_vpkuwum ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkuwum ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool short) __builtin_altivec_vpkuwum ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed char) __builtin_altivec_vpkuhum ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkuhum ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vpkuhum ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed short) __builtin_altivec_vpkuwum ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkuwum ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vpkuwum ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_pack")))))))
 
 #define vec_vpkuwum(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed short) __builtin_altivec_vpkuwum ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkuwum ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed short) __builtin_altivec_vpkuwum ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkuwum ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkuwum")))
 
 #define vec_vpkuhum(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed char) __builtin_altivec_vpkuhum ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkuhum ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed char) __builtin_altivec_vpkuhum ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkuhum ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkuhum")))
 
 #define vec_packpx(a1, a2) \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-  (vector pixel) __builtin_altivec_vpkpx ((vector signed int) (a1), (vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+  (__vector __pixel) __builtin_altivec_vpkpx ((__vector signed int) (a1), (__vector signed int) (a2)), \
 __builtin_altivec_compiletime_error ("vec_packpx"))
 
 #define vec_packs(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkuhus ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed char) __builtin_altivec_vpkshss ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkuwus ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed short) __builtin_altivec_vpkswss ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkuhus ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed char) __builtin_altivec_vpkshss ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkuwus ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed short) __builtin_altivec_vpkswss ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_packs")))))
 
 #define vec_vpkswss(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed short) __builtin_altivec_vpkswss ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed short) __builtin_altivec_vpkswss ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkswss"))
 
 #define vec_vpkuwus(a1, a2) \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkuwus ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkuwus ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkuwus"))
 
 #define vec_vpkshss(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed char) __builtin_altivec_vpkshss ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed char) __builtin_altivec_vpkshss ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkshss"))
 
 #define vec_vpkuhus(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkuhus ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkuhus ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkuhus"))
 
 #define vec_packsu(a1, a2) \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkuhus ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkshus ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkuwus ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkswus ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkuhus ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkshus ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkuwus ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkswus ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_packsu")))))
 
 #define vec_vpkswus(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vpkswus ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vpkswus ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkswus"))
 
 #define vec_vpkshus(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vpkshus ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vpkshus ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vpkshus"))
 
 #define vec_perm(a1, a2, a3) \
-__ch (__tern_args_eq (vector float, (a1), vector float, (a2), vector unsigned char, (a3)), \
-      ((vector float) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector signed int, (a1), vector signed int, (a2), vector unsigned char, (a3)), \
-      ((vector signed int) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector unsigned int, (a1), vector unsigned int, (a2), vector unsigned char, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector bool int, (a1), vector bool int, (a2), vector unsigned char, (a3)), \
-      ((vector bool int) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector unsigned char, (a3)), \
-      ((vector signed short) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned char, (a3)), \
-      ((vector unsigned short) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector bool short, (a1), vector bool short, (a2), vector unsigned char, (a3)), \
-      ((vector bool short) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector pixel, (a1), vector pixel, (a2), vector unsigned char, (a3)), \
-      ((vector pixel) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector signed char, (a1), vector signed char, (a2), vector unsigned char, (a3)), \
-      ((vector signed char) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector unsigned char, (a1), vector unsigned char, (a2), vector unsigned char, (a3)), \
-      ((vector unsigned char) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
-__ch (__tern_args_eq (vector bool char, (a1), vector bool char, (a2), vector unsigned char, (a3)), \
-      ((vector bool char) __builtin_altivec_vperm_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector float, (a1), __vector float, (a2), __vector unsigned char, (a3)), \
+      ((__vector float) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector signed int, (a1), __vector signed int, (a2), __vector unsigned char, (a3)), \
+      ((__vector signed int) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2), __vector unsigned char, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector __bool int, (a1), __vector __bool int, (a2), __vector unsigned char, (a3)), \
+      ((__vector __bool int) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector unsigned char, (a3)), \
+      ((__vector signed short) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned char, (a3)), \
+      ((__vector unsigned short) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector __bool short, (a1), __vector __bool short, (a2), __vector unsigned char, (a3)), \
+      ((__vector __bool short) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector __pixel, (a1), __vector __pixel, (a2), __vector unsigned char, (a3)), \
+      ((__vector __pixel) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector signed char, (a1), __vector signed char, (a2), __vector unsigned char, (a3)), \
+      ((__vector signed char) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2), __vector unsigned char, (a3)), \
+      ((__vector unsigned char) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
+__ch (__tern_args_eq (__vector __bool char, (a1), __vector __bool char, (a2), __vector unsigned char, (a3)), \
+      ((__vector __bool char) __builtin_altivec_vperm_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed char) (a3))), \
     __builtin_altivec_compiletime_error ("vec_perm"))))))))))))
 
 #define vec_re(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vrefp ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vrefp ((__vector float) (a1))), \
 __builtin_altivec_compiletime_error ("vec_re"))
 
 #define vec_rl(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vrlb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vrlb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vrlh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vrlh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vrlw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vrlw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vrlb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vrlb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vrlh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vrlh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vrlw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vrlw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_rl")))))))
 
 #define vec_vrlw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vrlw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vrlw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vrlw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vrlw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vrlw")))
 
 #define vec_vrlh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vrlh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vrlh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vrlh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vrlh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vrlh")))
 
 #define vec_vrlb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vrlb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vrlb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vrlb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vrlb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vrlb")))
 
 #define vec_round(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vrfin ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vrfin ((__vector float) (a1))), \
 __builtin_altivec_compiletime_error ("vec_round"))
 
 #define vec_rsqrte(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vrsqrtefp ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vrsqrtefp ((__vector float) (a1))), \
 __builtin_altivec_compiletime_error ("vec_rsqrte"))
 
 #define vec_sel(a1, a2, a3) \
-__ch (__tern_args_eq (vector float, (a1), vector float, (a2), vector bool int, (a3)), \
-      ((vector float) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector float, (a1), vector float, (a2), vector unsigned int, (a3)), \
-      ((vector float) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector bool int, (a1), vector bool int, (a2), vector bool int, (a3)), \
-      ((vector bool int) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector bool int, (a1), vector bool int, (a2), vector unsigned int, (a3)), \
-      ((vector bool int) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed int, (a1), vector signed int, (a2), vector bool int, (a3)), \
-      ((vector signed int) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed int, (a1), vector signed int, (a2), vector unsigned int, (a3)), \
-      ((vector signed int) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned int, (a1), vector unsigned int, (a2), vector bool int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned int, (a1), vector unsigned int, (a2), vector unsigned int, (a3)), \
-      ((vector unsigned int) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector bool short, (a1), vector bool short, (a2), vector bool short, (a3)), \
-      ((vector bool short) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector bool short, (a1), vector bool short, (a2), vector unsigned short, (a3)), \
-      ((vector bool short) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector bool short, (a3)), \
-      ((vector signed short) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed short, (a1), vector signed short, (a2), vector unsigned short, (a3)), \
-      ((vector signed short) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector bool short, (a3)), \
-      ((vector unsigned short) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned short, (a1), vector unsigned short, (a2), vector unsigned short, (a3)), \
-      ((vector unsigned short) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector bool char, (a1), vector bool char, (a2), vector bool char, (a3)), \
-      ((vector bool char) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector bool char, (a1), vector bool char, (a2), vector unsigned char, (a3)), \
-      ((vector bool char) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed char, (a1), vector signed char, (a2), vector bool char, (a3)), \
-      ((vector signed char) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector signed char, (a1), vector signed char, (a2), vector unsigned char, (a3)), \
-      ((vector signed char) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned char, (a1), vector unsigned char, (a2), vector bool char, (a3)), \
-      ((vector unsigned char) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
-__ch (__tern_args_eq (vector unsigned char, (a1), vector unsigned char, (a2), vector unsigned char, (a3)), \
-      ((vector unsigned char) __builtin_altivec_vsel_4si ((vector signed int) (a1), (vector signed int) (a2), (vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector float, (a1), __vector float, (a2), __vector __bool int, (a3)), \
+      ((__vector float) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector float, (a1), __vector float, (a2), __vector unsigned int, (a3)), \
+      ((__vector float) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector __bool int, (a1), __vector __bool int, (a2), __vector __bool int, (a3)), \
+      ((__vector __bool int) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector __bool int, (a1), __vector __bool int, (a2), __vector unsigned int, (a3)), \
+      ((__vector __bool int) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed int, (a1), __vector signed int, (a2), __vector __bool int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed int, (a1), __vector signed int, (a2), __vector unsigned int, (a3)), \
+      ((__vector signed int) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2), __vector __bool int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2), __vector unsigned int, (a3)), \
+      ((__vector unsigned int) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector __bool short, (a1), __vector __bool short, (a2), __vector __bool short, (a3)), \
+      ((__vector __bool short) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector __bool short, (a1), __vector __bool short, (a2), __vector unsigned short, (a3)), \
+      ((__vector __bool short) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector __bool short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed short, (a1), __vector signed short, (a2), __vector unsigned short, (a3)), \
+      ((__vector signed short) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector __bool short, (a3)), \
+      ((__vector unsigned short) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2), __vector unsigned short, (a3)), \
+      ((__vector unsigned short) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector __bool char, (a1), __vector __bool char, (a2), __vector __bool char, (a3)), \
+      ((__vector __bool char) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector __bool char, (a1), __vector __bool char, (a2), __vector unsigned char, (a3)), \
+      ((__vector __bool char) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed char, (a1), __vector signed char, (a2), __vector __bool char, (a3)), \
+      ((__vector signed char) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector signed char, (a1), __vector signed char, (a2), __vector unsigned char, (a3)), \
+      ((__vector signed char) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2), __vector __bool char, (a3)), \
+      ((__vector unsigned char) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
+__ch (__tern_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2), __vector unsigned char, (a3)), \
+      ((__vector unsigned char) __builtin_altivec_vsel_4si ((__vector signed int) (a1), (__vector signed int) (a2), (__vector signed int) (a3))), \
     __builtin_altivec_compiletime_error ("vec_sel")))))))))))))))))))))
 
 #define vec_sl(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vslb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vslb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vslh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vslh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vslw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vslw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vslb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vslb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vslh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vslh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vslw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vslw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sl")))))))
 
 #define vec_vslw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vslw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vslw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vslw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vslw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vslw")))
 
 #define vec_vslh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vslh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vslh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vslh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vslh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vslh")))
 
 #define vec_vslb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vslb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vslb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vslb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vslb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vslb")))
 
 #define vec_sld(a1, a2, a3) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      ((vector pixel) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vsldoi_4si ((vector signed int) (a1), (vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsldoi_4si ((__vector signed int) (a1), (__vector signed int) (a2), (const int) (a3))), \
     __builtin_altivec_compiletime_error ("vec_sld"))))))))))))
 
 #define vec_sll(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned short, (a2)), \
-      ((vector signed int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned char, (a2)), \
-      ((vector signed int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector bool int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned short, (a2)), \
-      ((vector bool int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned char, (a2)), \
-      ((vector bool int) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned int, (a2)), \
-      ((vector signed short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned char, (a2)), \
-      ((vector signed short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned int, (a2)), \
-      ((vector bool short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector bool short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned char, (a2)), \
-      ((vector bool short) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned int, (a2)), \
-      ((vector pixel) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned short, (a2)), \
-      ((vector pixel) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned char, (a2)), \
-      ((vector pixel) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned int, (a2)), \
-      ((vector signed char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned short, (a2)), \
-      ((vector signed char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned int, (a2)), \
-      ((vector bool char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned short, (a2)), \
-      ((vector bool char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector bool char) __builtin_altivec_vsl ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned int, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned short, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned char, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsl ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sll")))))))))))))))))))))))))))))))
 
 #define vec_slo(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector signed char, (a2)), \
-      ((vector float) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector unsigned char, (a2)), \
-      ((vector float) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed char, (a2)), \
-      ((vector signed int) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned char, (a2)), \
-      ((vector signed int) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed char, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed char, (a2)), \
-      ((vector signed short) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned char, (a2)), \
-      ((vector signed short) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector signed char, (a2)), \
-      ((vector pixel) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned char, (a2)), \
-      ((vector pixel) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vslo ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector signed char, (a2)), \
+      ((__vector float) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector unsigned char, (a2)), \
+      ((__vector float) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed char, (a2)), \
+      ((__vector signed int) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed int) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector signed char, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned char, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vslo ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_slo")))))))))))))))))
 
 #define vec_splat(a1, a2) \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      ((vector signed char) __builtin_altivec_vspltb ((vector signed char) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector unsigned char, (a1)), \
-      ((vector unsigned char) __builtin_altivec_vspltb ((vector signed char) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector bool char, (a1)), \
-      ((vector bool char) __builtin_altivec_vspltb ((vector signed char) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      ((vector signed short) __builtin_altivec_vsplth ((vector signed short) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector unsigned short, (a1)), \
-      ((vector unsigned short) __builtin_altivec_vsplth ((vector signed short) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector bool short, (a1)), \
-      ((vector bool short) __builtin_altivec_vsplth ((vector signed short) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector pixel, (a1)), \
-      ((vector pixel) __builtin_altivec_vsplth ((vector signed short) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector signed int, (a1)), \
-      ((vector signed int) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector unsigned int, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector bool int, (a1)), \
-      ((vector bool int) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      ((__vector signed char) __builtin_altivec_vspltb ((__vector signed char) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned char, (a1)), \
+      ((__vector unsigned char) __builtin_altivec_vspltb ((__vector signed char) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector __bool char, (a1)), \
+      ((__vector __bool char) __builtin_altivec_vspltb ((__vector signed char) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      ((__vector signed short) __builtin_altivec_vsplth ((__vector signed short) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned short, (a1)), \
+      ((__vector unsigned short) __builtin_altivec_vsplth ((__vector signed short) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector __bool short, (a1)), \
+      ((__vector __bool short) __builtin_altivec_vsplth ((__vector signed short) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector __pixel, (a1)), \
+      ((__vector __pixel) __builtin_altivec_vsplth ((__vector signed short) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed int, (a1)), \
+      ((__vector signed int) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned int, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector __bool int, (a1)), \
+      ((__vector __bool int) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_splat"))))))))))))
 
 #define vec_vspltw(a1, a2) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector signed int, (a1)), \
-      ((vector signed int) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector unsigned int, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vspltw ((vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed int, (a1)), \
+      ((__vector signed int) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned int, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vspltw ((__vector signed int) (a1), (const int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vspltw"))))
 
 #define vec_vsplth(a1, a2) \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      ((vector signed short) __builtin_altivec_vsplth ((vector signed short) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector unsigned short, (a1)), \
-      ((vector unsigned short) __builtin_altivec_vsplth ((vector signed short) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      ((__vector signed short) __builtin_altivec_vsplth ((__vector signed short) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned short, (a1)), \
+      ((__vector unsigned short) __builtin_altivec_vsplth ((__vector signed short) (a1), (const int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsplth")))
 
 #define vec_vspltb(a1, a2) \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      ((vector signed char) __builtin_altivec_vspltb ((vector signed char) (a1), (const int) (a2))), \
-__ch (__un_args_eq (vector unsigned char, (a1)), \
-      ((vector unsigned char) __builtin_altivec_vspltb ((vector signed char) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      ((__vector signed char) __builtin_altivec_vspltb ((__vector signed char) (a1), (const int) (a2))), \
+__ch (__un_args_eq (__vector unsigned char, (a1)), \
+      ((__vector unsigned char) __builtin_altivec_vspltb ((__vector signed char) (a1), (const int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vspltb")))
 
-#define vec_splat_s8(a1) ((vector signed char) __builtin_altivec_vspltisb (a1))
+#define vec_splat_s8(a1) ((__vector signed char) __builtin_altivec_vspltisb (a1))
 
-#define vec_splat_s16(a1) ((vector signed short) __builtin_altivec_vspltish (a1))
+#define vec_splat_s16(a1) ((__vector signed short) __builtin_altivec_vspltish (a1))
 
-#define vec_splat_s32(a1) ((vector signed int) __builtin_altivec_vspltisw (a1))
+#define vec_splat_s32(a1) ((__vector signed int) __builtin_altivec_vspltisw (a1))
 
-#define vec_splat_u8(a1) ((vector unsigned char) __builtin_altivec_vspltisb (a1))
+#define vec_splat_u8(a1) ((__vector unsigned char) __builtin_altivec_vspltisb (a1))
 
-#define vec_splat_u16(a1) ((vector unsigned short) __builtin_altivec_vspltish (a1))
+#define vec_splat_u16(a1) ((__vector unsigned short) __builtin_altivec_vspltish (a1))
 
-#define vec_splat_u32(a1) ((vector unsigned int) __builtin_altivec_vspltisw (a1))
+#define vec_splat_u32(a1) ((__vector unsigned int) __builtin_altivec_vspltisw (a1))
 
 #define vec_sr(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsrb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsrb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsrh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsrh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsrw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsrw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsrb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsrb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsrh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsrh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsrw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsrw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sr")))))))
 
 #define vec_vsrw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsrw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsrw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsrw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsrw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsrw")))
 
 #define vec_vsrh(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsrh ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsrh ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsrh ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsrh ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsrh")))
 
 #define vec_vsrb(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsrb ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsrb ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsrb ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsrb ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsrb")))
 
 #define vec_sra(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsrab ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsrab ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsrah ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsrah ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsraw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsraw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsrab ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsrab ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsrah ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsrah ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsraw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsraw ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sra")))))))
 
 #define vec_vsraw(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsraw ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsraw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsraw ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsraw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsraw")))
 
 #define vec_vsrah(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsrah ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsrah ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsrah ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsrah ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsrah")))
 
 #define vec_vsrab(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsrab ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsrab ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsrab ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsrab ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsrab")))
 
 #define vec_srl(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned short, (a2)), \
-      ((vector signed int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned char, (a2)), \
-      ((vector signed int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector bool int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned short, (a2)), \
-      ((vector bool int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned char, (a2)), \
-      ((vector bool int) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned int, (a2)), \
-      ((vector signed short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned char, (a2)), \
-      ((vector signed short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned int, (a2)), \
-      ((vector bool short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector bool short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned char, (a2)), \
-      ((vector bool short) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned int, (a2)), \
-      ((vector pixel) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned short, (a2)), \
-      ((vector pixel) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned char, (a2)), \
-      ((vector pixel) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned int, (a2)), \
-      ((vector signed char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned short, (a2)), \
-      ((vector signed char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned int, (a2)), \
-      ((vector bool char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned short, (a2)), \
-      ((vector bool char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector bool char) __builtin_altivec_vsr ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned int, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned short, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned char, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned int, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned short, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned int, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned short, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vsr ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_srl")))))))))))))))))))))))))))))))
 
 #define vec_sro(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector signed char, (a2)), \
-      ((vector float) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector unsigned char, (a2)), \
-      ((vector float) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed char, (a2)), \
-      ((vector signed int) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned char, (a2)), \
-      ((vector signed int) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed char, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed char, (a2)), \
-      ((vector signed short) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned char, (a2)), \
-      ((vector signed short) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector signed char, (a2)), \
-      ((vector pixel) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector pixel, (a1), vector unsigned char, (a2)), \
-      ((vector pixel) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsro ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector signed char, (a2)), \
+      ((__vector float) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector unsigned char, (a2)), \
+      ((__vector float) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed char, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector signed char, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector unsigned char, (a2)), \
+      ((__vector __pixel) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsro ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sro")))))))))))))))))
 
 #define vec_st(a1, a2, a3) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), unsigned char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed char, (a1), signed char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool char, (a1), unsigned char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool char, (a1), signed char, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), unsigned short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed short, (a1), short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool short, (a1), unsigned short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool short, (a1), short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector pixel, (a1), unsigned short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector pixel, (a1), short, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), unsigned int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed int, (a1), int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool int, (a1), unsigned int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool int, (a1), int, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector float, (a1), float, *(a3)), \
-  __builtin_altivec_stvx ((vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), unsigned char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed char, (a1), signed char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), unsigned char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), signed char, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), unsigned short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed short, (a1), short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), unsigned short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), unsigned short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), short, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), unsigned int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed int, (a1), int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), unsigned int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), int, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector float, (a1), float, *(a3)), \
+  __builtin_altivec_stvx ((__vector signed int) (a1), (a2), (void *) (a3)), \
 __builtin_altivec_compiletime_error ("vec_st")))))))))))))))))))))))))))
 
 #define vec_stl(a1, a2, a3) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), unsigned char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed char, (a1), signed char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool char, (a1), unsigned char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool char, (a1), signed char, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), unsigned short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed short, (a1), short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool short, (a1), unsigned short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool short, (a1), short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector pixel, (a1), unsigned short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector pixel, (a1), short, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), unsigned int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector signed int, (a1), int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool int, (a1), unsigned int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector bool int, (a1), int, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
-__ch (__bin_args_eq (vector float, (a1), float, *(a3)), \
-  __builtin_altivec_stvxl ((vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), unsigned char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed char, (a1), signed char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), unsigned char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), signed char, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), unsigned short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed short, (a1), short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), unsigned short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), unsigned short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), short, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), unsigned int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector signed int, (a1), int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), unsigned int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), int, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
+__ch (__bin_args_eq (__vector float, (a1), float, *(a3)), \
+  __builtin_altivec_stvxl ((__vector signed int) (a1), (a2), (void *) (a3)), \
 __builtin_altivec_compiletime_error ("vec_stl")))))))))))))))))))))))))))
 
 #define vec_ste(a, b, c) \
-__ch (__bin_args_eq (vector unsigned char, (a), unsigned char, *(c)), \
-      __builtin_altivec_stvebx ((vector signed char) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector signed char, (a), signed char, *(c)), \
-      __builtin_altivec_stvebx ((vector signed char) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector bool char, (a), unsigned char, *(c)), \
-      __builtin_altivec_stvebx ((vector signed char) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector bool char, (a), signed char, *(c)), \
-      __builtin_altivec_stvebx ((vector signed char) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector unsigned short, (a), unsigned short, *(c)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector signed short, (a), short, *(c)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector bool short, (a), unsigned short, *(c)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector bool short, (a), short, *(c)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector pixel, (a), unsigned short, *(c)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector pixel, (a), short, *(c)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector unsigned int, (a), unsigned int, *(c)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector signed int, (a), int, *(c)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector bool int, (a), unsigned int, *(c)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector bool int, (a), int, *(c)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (void *) (c)), \
-__ch (__bin_args_eq (vector float, (a), float, *(c)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector unsigned char, (a), unsigned char, *(c)), \
+      __builtin_altivec_stvebx ((__vector signed char) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector signed char, (a), signed char, *(c)), \
+      __builtin_altivec_stvebx ((__vector signed char) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __bool char, (a), unsigned char, *(c)), \
+      __builtin_altivec_stvebx ((__vector signed char) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __bool char, (a), signed char, *(c)), \
+      __builtin_altivec_stvebx ((__vector signed char) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector unsigned short, (a), unsigned short, *(c)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector signed short, (a), short, *(c)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __bool short, (a), unsigned short, *(c)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __bool short, (a), short, *(c)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __pixel, (a), unsigned short, *(c)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __pixel, (a), short, *(c)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector unsigned int, (a), unsigned int, *(c)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector signed int, (a), int, *(c)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __bool int, (a), unsigned int, *(c)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector __bool int, (a), int, *(c)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (void *) (c)), \
+__ch (__bin_args_eq (__vector float, (a), float, *(c)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (void *) (c)), \
      __builtin_altivec_compiletime_error ("vec_ste"))))))))))))))))
 
 #define vec_stvewx(a, b, c) \
-__ch (__un_args_eq (vector unsigned int, (a)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (c)), \
-__ch (__un_args_eq (vector signed int, (a)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (c)), \
-__ch (__un_args_eq (vector float, (a)), \
-     __builtin_altivec_stvewx ((vector signed int) (a), (b), (c)), \
+__ch (__un_args_eq (__vector unsigned int, (a)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (c)), \
+__ch (__un_args_eq (__vector signed int, (a)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (c)), \
+__ch (__un_args_eq (__vector float, (a)), \
+     __builtin_altivec_stvewx ((__vector signed int) (a), (b), (c)), \
 __builtin_altivec_compiletime_error ("vec_stvewx"))))
 
 #define vec_stvehx(a, b, c) \
-__ch (__un_args_eq (vector unsigned short, (a)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (c)), \
-__ch (__un_args_eq (vector signed short, (a)), \
-     __builtin_altivec_stvehx ((vector signed short) (a), (b), (c)), \
+__ch (__un_args_eq (__vector unsigned short, (a)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (c)), \
+__ch (__un_args_eq (__vector signed short, (a)), \
+     __builtin_altivec_stvehx ((__vector signed short) (a), (b), (c)), \
 __builtin_altivec_compiletime_error ("vec_stvehx")))
 
 #define vec_stvebx(a, b, c) \
-__ch (__un_args_eq (vector unsigned char, (a)), \
-      __builtin_altivec_stvebx ((vector signed char) (a), (b), (c)), \
-__ch (__un_args_eq (vector signed char, (a)), \
-      __builtin_altivec_stvebx ((vector signed char) (a), (b), (c)), \
+__ch (__un_args_eq (__vector unsigned char, (a)), \
+      __builtin_altivec_stvebx ((__vector signed char) (a), (b), (c)), \
+__ch (__un_args_eq (__vector signed char, (a)), \
+      __builtin_altivec_stvebx ((__vector signed char) (a), (b), (c)), \
 __builtin_altivec_compiletime_error ("vec_stvebx")))
 
 #define vec_sub(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vsubfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vsubfp ((__vector float) (a1), (__vector float) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sub"))))))))))))))))))))
 
 #define vec_vsubfp(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vsubfp ((vector float) (a1), (vector float) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vsubfp ((__vector float) (a1), (__vector float) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubfp"))
 
 #define vec_vsubuwm(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuwm ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuwm ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubuwm")))))
 
 #define vec_vsubuhm(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhm ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhm ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubuhm")))))
 
 #define vec_vsububm(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububm ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububm ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsububm")))))
 
 #define vec_subc(a1, a2) \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-  ((vector unsigned int) __builtin_altivec_vsubcuw ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+  ((__vector unsigned int) __builtin_altivec_vsubcuw ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_subc"))
 
 #define vec_subs(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsubsbs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsubsbs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsubsbs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubshs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubshs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubshs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubsws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubsws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubsws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsubsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsubsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsubsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_subs")))))))))))))))))))
 
 #define vec_vsubsws(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsubsws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsubsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubsws"))
 
 #define vec_vsubuws(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector signed int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuws ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsubuws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector signed int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuws ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsubuws ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubuws"))))
 
 #define vec_vsubshs(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vsubshs ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vsubshs ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubshs"))
 
 #define vec_vsubuhs(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector signed short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhs ((vector signed short) (a1), (vector signed short) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vsubuhs ((vector signed short) (a1), (vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector signed short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vsubuhs ((__vector signed short) (a1), (__vector signed short) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubuhs"))))
 
 #define vec_vsubsbs(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vsubsbs ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vsubsbs ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsubsbs"))
 
 #define vec_vsububs(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector signed char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububs ((vector signed char) (a1), (vector signed char) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vsububs ((vector signed char) (a1), (vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector signed char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububs ((__vector signed char) (a1), (__vector signed char) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vsububs ((__vector signed char) (a1), (__vector signed char) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsububs"))))
 
 #define vec_sum4s(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsum4ubs ((vector signed char) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsum4sbs ((vector signed char) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsum4shs ((vector signed short) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsum4ubs ((__vector signed char) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsum4sbs ((__vector signed char) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsum4shs ((__vector signed short) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_sum4s"))))
 
 #define vec_vsum4shs(a1, a2) \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsum4shs ((vector signed short) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsum4shs ((__vector signed short) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsum4shs"))
 
 #define vec_vsum4sbs(a1, a2) \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsum4sbs ((vector signed char) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsum4sbs ((__vector signed char) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsum4sbs"))
 
 #define vec_vsum4ubs(a1, a2) \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vsum4ubs ((vector signed char) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vsum4ubs ((__vector signed char) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_vsum4ubs"))
 
 #define vec_sum2s(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsum2sws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsum2sws ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_sum2s"))
 
 #define vec_sums(a1, a2) \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vsumsws ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vsumsws ((__vector signed int) (a1), (__vector signed int) (a2))), \
 __builtin_altivec_compiletime_error ("vec_sums"))
 
 #define vec_trunc(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
-      ((vector float) __builtin_altivec_vrfiz ((vector float) (a1))), \
+__ch (__un_args_eq (__vector float, (a1)), \
+      ((__vector float) __builtin_altivec_vrfiz ((__vector float) (a1))), \
 __builtin_altivec_compiletime_error ("vec_trunc"))
 
 #define vec_unpackh(a1) \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      ((vector signed short) __builtin_altivec_vupkhsb ((vector signed char) (a1))), \
-__ch (__un_args_eq (vector bool char, (a1)), \
-      ((vector bool short) __builtin_altivec_vupkhsb ((vector signed char) (a1))), \
-__ch (__un_args_eq (vector pixel, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vupkhpx ((vector signed short) (a1))), \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      ((vector signed int) __builtin_altivec_vupkhsh ((vector signed short) (a1))), \
-__ch (__un_args_eq (vector bool short, (a1)), \
-      ((vector bool int) __builtin_altivec_vupkhsh ((vector signed short) (a1))), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      ((__vector signed short) __builtin_altivec_vupkhsb ((__vector signed char) (a1))), \
+__ch (__un_args_eq (__vector __bool char, (a1)), \
+      ((__vector __bool short) __builtin_altivec_vupkhsb ((__vector signed char) (a1))), \
+__ch (__un_args_eq (__vector __pixel, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vupkhpx ((__vector signed short) (a1))), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      ((__vector signed int) __builtin_altivec_vupkhsh ((__vector signed short) (a1))), \
+__ch (__un_args_eq (__vector __bool short, (a1)), \
+      ((__vector __bool int) __builtin_altivec_vupkhsh ((__vector signed short) (a1))), \
     __builtin_altivec_compiletime_error ("vec_unpackh"))))))
 
 #define vec_vupkhsh(a1) \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      ((vector signed int) __builtin_altivec_vupkhsh ((vector signed short) (a1))), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      ((__vector signed int) __builtin_altivec_vupkhsh ((__vector signed short) (a1))), \
 __builtin_altivec_compiletime_error ("vec_vupkhsh"))
 
 #define vec_vupkhpx(a1) \
-__ch (__un_args_eq (vector unsigned short, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vupkhpx ((vector signed short) (a1))), \
+__ch (__un_args_eq (__vector unsigned short, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vupkhpx ((__vector signed short) (a1))), \
 __builtin_altivec_compiletime_error ("vec_vupkhpx"))
 
 #define vec_vupkhsb(a1) \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      ((vector signed short) __builtin_altivec_vupkhsb ((vector signed char) (a1))), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      ((__vector signed short) __builtin_altivec_vupkhsb ((__vector signed char) (a1))), \
 __builtin_altivec_compiletime_error ("vec_vupkhsb"))
 
 #define vec_unpackl(a1) \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      ((vector signed short) __builtin_altivec_vupklsb ((vector signed char) (a1))), \
-__ch (__un_args_eq (vector bool char, (a1)), \
-      ((vector bool short) __builtin_altivec_vupklsb ((vector signed char) (a1))), \
-__ch (__un_args_eq (vector pixel, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vupklpx ((vector signed short) (a1))), \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      ((vector signed int) __builtin_altivec_vupklsh ((vector signed short) (a1))), \
-__ch (__un_args_eq (vector bool short, (a1)), \
-      ((vector bool int) __builtin_altivec_vupklsh ((vector signed short) (a1))), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      ((__vector signed short) __builtin_altivec_vupklsb ((__vector signed char) (a1))), \
+__ch (__un_args_eq (__vector __bool char, (a1)), \
+      ((__vector __bool short) __builtin_altivec_vupklsb ((__vector signed char) (a1))), \
+__ch (__un_args_eq (__vector __pixel, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vupklpx ((__vector signed short) (a1))), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      ((__vector signed int) __builtin_altivec_vupklsh ((__vector signed short) (a1))), \
+__ch (__un_args_eq (__vector __bool short, (a1)), \
+      ((__vector __bool int) __builtin_altivec_vupklsh ((__vector signed short) (a1))), \
     __builtin_altivec_compiletime_error ("vec_unpackl"))))))
 
 #define vec_vupklsh(a1) \
-__ch (__un_args_eq (vector signed short, (a1)), \
-      ((vector signed int) __builtin_altivec_vupklsh ((vector signed short) (a1))), \
+__ch (__un_args_eq (__vector signed short, (a1)), \
+      ((__vector signed int) __builtin_altivec_vupklsh ((__vector signed short) (a1))), \
 __builtin_altivec_compiletime_error ("vec_vupklsh"))
 
 #define vec_vupklpx(a1) \
-__ch (__un_args_eq (vector unsigned short, (a1)), \
-      ((vector unsigned int) __builtin_altivec_vupklpx ((vector signed short) (a1))), \
+__ch (__un_args_eq (__vector unsigned short, (a1)), \
+      ((__vector unsigned int) __builtin_altivec_vupklpx ((__vector signed short) (a1))), \
 __builtin_altivec_compiletime_error ("vec_vupklpx"))
 
 #define vec_vupklsb(a1) \
-__ch (__un_args_eq (vector signed char, (a1)), \
-      ((vector signed short) __builtin_altivec_vupklsb ((vector signed char) (a1))), \
+__ch (__un_args_eq (__vector signed char, (a1)), \
+      ((__vector signed short) __builtin_altivec_vupklsb ((__vector signed char) (a1))), \
 __builtin_altivec_compiletime_error ("vec_vupklsb"))
 
 #define vec_xor(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector float, (a1), vector bool int, (a2)), \
-      ((vector float) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector float, (a2)), \
-      ((vector float) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      ((vector bool int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      ((vector signed int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      ((vector signed int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      ((vector unsigned int) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      ((vector bool short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      ((vector signed short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      ((vector signed short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      ((vector unsigned short) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      ((vector bool char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      ((vector signed char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      ((vector signed char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      ((vector unsigned char) __builtin_altivec_vxor ((vector signed int) (a1), (vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector float, (a1), __vector __bool int, (a2)), \
+      ((__vector float) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector float, (a2)), \
+      ((__vector float) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      ((__vector __bool int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      ((__vector signed int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      ((__vector unsigned int) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      ((__vector __bool short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      ((__vector signed short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      ((__vector unsigned short) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      ((__vector __bool char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      ((__vector signed char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      ((__vector unsigned char) __builtin_altivec_vxor ((__vector signed int) (a1), (__vector signed int) (a2))), \
     __builtin_altivec_compiletime_error ("vec_xor")))))))))))))))))))))))))
 
 /* Predicates.  */
 
 #define vec_all_eq(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpeqfp_p (__CR6_LT, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpeqfp_p (__CR6_LT, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_eq"))))))))))))))))))))))))
 
 #define vec_all_ge(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgefp_p (__CR6_LT, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgefp_p (__CR6_LT, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_ge"))))))))))))))))))))
 
 #define vec_all_gt(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgtfp_p (__CR6_LT, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgtfp_p (__CR6_LT, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_gt"))))))))))))))))))))
 
 #define vec_all_in(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpbfp_p (__CR6_EQ, (a1), (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_in"))
 
 #define vec_all_le(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgefp_p (__CR6_LT, (vector float) (a2), (vector float) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgefp_p (__CR6_LT, (__vector float) (a2), (__vector float) (a1)), \
     __builtin_altivec_compiletime_error ("vec_all_le"))))))))))))))))))))
 
 #define vec_all_lt(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgtfp_p (__CR6_LT, (vector float) (a2), (vector float) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgtfp_p (__CR6_LT, (__vector float) (a2), (__vector float) (a1)), \
     __builtin_altivec_compiletime_error ("vec_all_lt"))))))))))))))))))))
 
 #define vec_all_nan(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
+__ch (__un_args_eq (__vector float, (a1)), \
       __builtin_altivec_vcmpeqfp_p (__CR6_EQ, (a1), (a1)), \
     __builtin_altivec_compiletime_error ("vec_all_nan"))
 
 #define vec_all_ne(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpeqfp_p (__CR6_EQ, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpeqfp_p (__CR6_EQ, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_ne"))))))))))))))))))))))))
 
 #define vec_all_nge(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgefp_p (__CR6_EQ, (a1), (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_nge"))
 
 #define vec_all_ngt(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgtfp_p (__CR6_EQ, (a1), (a2)), \
     __builtin_altivec_compiletime_error ("vec_all_ngt"))
 
 #define vec_all_nle(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgefp_p (__CR6_EQ, (a2), (a1)), \
     __builtin_altivec_compiletime_error ("vec_all_nle"))
 
 #define vec_all_nlt(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgtfp_p (__CR6_EQ, (a2), (a1)), \
     __builtin_altivec_compiletime_error ("vec_all_nlt"))
 
 #define vec_all_numeric(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
+__ch (__un_args_eq (__vector float, (a1)), \
       __builtin_altivec_vcmpeqfp_p (__CR6_LT, (a1), (a1)), \
     __builtin_altivec_compiletime_error ("vec_all_numeric"))
 
 #define vec_any_eq(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpeqfp_p (__CR6_EQ_REV, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpeqfp_p (__CR6_EQ_REV, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_eq"))))))))))))))))))))))))
 
 #define vec_any_ge(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgefp_p (__CR6_EQ_REV, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgefp_p (__CR6_EQ_REV, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_ge"))))))))))))))))))))
 
 #define vec_any_gt(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgtfp_p (__CR6_EQ_REV, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgtfp_p (__CR6_EQ_REV, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_gt"))))))))))))))))))))
 
 #define vec_any_le(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgefp_p (__CR6_EQ_REV, (vector float) (a2), (vector float) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgefp_p (__CR6_EQ_REV, (__vector float) (a2), (__vector float) (a1)), \
     __builtin_altivec_compiletime_error ("vec_any_le"))))))))))))))))))))
 
 #define vec_any_lt(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (vector signed char) (a2), (vector signed char) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (vector signed short) (a2), (vector signed short) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (vector signed int) (a2), (vector signed int) (a1)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpgtfp_p (__CR6_EQ_REV, (vector float) (a2), (vector float) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpgtub_p (__CR6_EQ_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpgtsb_p (__CR6_EQ_REV, (__vector signed char) (a2), (__vector signed char) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpgtuh_p (__CR6_EQ_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpgtsh_p (__CR6_EQ_REV, (__vector signed short) (a2), (__vector signed short) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpgtuw_p (__CR6_EQ_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpgtsw_p (__CR6_EQ_REV, (__vector signed int) (a2), (__vector signed int) (a1)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpgtfp_p (__CR6_EQ_REV, (__vector float) (a2), (__vector float) (a1)), \
     __builtin_altivec_compiletime_error ("vec_any_lt"))))))))))))))))))))
 
 #define vec_any_nan(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
+__ch (__un_args_eq (__vector float, (a1)), \
       __builtin_altivec_vcmpeqfp_p (__CR6_LT_REV, (a1), (a1)), \
     __builtin_altivec_compiletime_error ("vec_any_nan"))
 
 #define vec_any_ne(a1, a2) \
-__ch (__bin_args_eq (vector bool char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector signed char, (a1), vector signed char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector unsigned char, (a1), vector unsigned char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool char, (a1), vector bool char, (a2)), \
-      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (vector signed char) (a1), (vector signed char) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector signed short, (a1), vector signed short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector unsigned short, (a1), vector unsigned short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool short, (a1), vector bool short, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector pixel, (a1), vector pixel, (a2)), \
-      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (vector signed short) (a1), (vector signed short) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector signed int, (a1), vector signed int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector unsigned int, (a1), vector unsigned int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector bool int, (a1), vector bool int, (a2)), \
-      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (vector signed int) (a1), (vector signed int) (a2)), \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
-      __builtin_altivec_vcmpeqfp_p (__CR6_LT_REV, (vector float) (a1), (vector float) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector signed char, (a1), __vector signed char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector unsigned char, (a1), __vector unsigned char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool char, (a1), __vector __bool char, (a2)), \
+      __builtin_altivec_vcmpequb_p (__CR6_LT_REV, (__vector signed char) (a1), (__vector signed char) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector signed short, (a1), __vector signed short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector unsigned short, (a1), __vector unsigned short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool short, (a1), __vector __bool short, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __pixel, (a1), __vector __pixel, (a2)), \
+      __builtin_altivec_vcmpequh_p (__CR6_LT_REV, (__vector signed short) (a1), (__vector signed short) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector signed int, (a1), __vector signed int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector unsigned int, (a1), __vector unsigned int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector __bool int, (a1), __vector __bool int, (a2)), \
+      __builtin_altivec_vcmpequw_p (__CR6_LT_REV, (__vector signed int) (a1), (__vector signed int) (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
+      __builtin_altivec_vcmpeqfp_p (__CR6_LT_REV, (__vector float) (a1), (__vector float) (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_ne"))))))))))))))))))))))))
 
 #define vec_any_nge(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgefp_p (__CR6_LT_REV, (a1), (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_nge"))
 
 #define vec_any_ngt(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgtfp_p (__CR6_LT_REV, (a1), (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_ngt"))
 
 #define vec_any_nle(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgefp_p (__CR6_LT_REV, (a2), (a1)), \
     __builtin_altivec_compiletime_error ("vec_any_nle"))
 
 #define vec_any_nlt(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpgtfp_p (__CR6_LT_REV, (a2), (a1)), \
     __builtin_altivec_compiletime_error ("vec_any_nlt"))
 
 #define vec_any_numeric(a1) \
-__ch (__un_args_eq (vector float, (a1)), \
+__ch (__un_args_eq (__vector float, (a1)), \
       __builtin_altivec_vcmpeqfp_p (__CR6_EQ_REV, (a1), (a1)), \
     __builtin_altivec_compiletime_error ("vec_any_numeric"))
 
 #define vec_any_out(a1, a2) \
-__ch (__bin_args_eq (vector float, (a1), vector float, (a2)), \
+__ch (__bin_args_eq (__vector float, (a1), __vector float, (a2)), \
       __builtin_altivec_vcmpbfp_p (__CR6_EQ_REV, (a1), (a2)), \
     __builtin_altivec_compiletime_error ("vec_any_out"))
 
openSUSE Build Service is sponsored by