From ecb7e5c8afe929ee38155db94de6b084ec32a645 Mon Sep 17 00:00:00 2001
From: Roman Divacky
Supports the GCC vector extensions, plus some stuff like V[1]. ext_vector -with V.xyzw syntax and other tidbits. See also __builtin_shufflevector.
+Supports the GCC vector extensions, plus some stuff like V[1].
+ +Also supports ext_vector, which additionally support for V.xyzw +syntax and other tidbits as seen in OpenCL. An example is:
+ +
+
+typedef float float4 __attribute__((ext_vector_type(4)));
+typedef float float2 __attribute__((ext_vector_type(2)));
+
+float4 foo(float2 a, float2 b) {
+ float4 c;
+ c.xz = a;
+ c.yw = b;
+ return c;
+}
+
Query for this feature with __has_feature(attribute_ext_vector_type).
+See also __builtin_shufflevector.
+