From d2bf0cdca441216b0ae7791a59516beac403682d Mon Sep 17 00:00:00 2001
From: Owen Anderson
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.
+