Clarify the documentation of ext_vector, and add a small example. Hopefully
this will alleviate some confusion about the existence of this feature.
Comments/improvements welcome.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94645 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/LanguageExtensions.html b/docs/LanguageExtensions.html
index e2a44ea..d32842b 100644
--- a/docs/LanguageExtensions.html
+++ b/docs/LanguageExtensions.html
@@ -205,12 +205,28 @@
<h2 id="vectors">Vectors and Extended Vectors</h2>
<!-- ======================================================================= -->
-<p>Supports the GCC vector extensions, plus some stuff like V[1]. ext_vector
-with V.xyzw syntax and other tidbits. See also <a
-href="#__builtin_shufflevector">__builtin_shufflevector</a>.</p>
+<p>Supports the GCC vector extensions, plus some stuff like V[1].</p>
+
+<p>Also supports <tt>ext_vector</tt>, which additionally support for V.xyzw
+syntax and other tidbits as seen in OpenCL. An example is:</p>
+
+<blockquote>
+<pre>
+typedef float float4 <b>__attribute__((ext_vector_type(4)))</b>;
+typedef float float2 <b>__attribute__((ext_vector_type(2)))</b>;
+
+float4 foo(float2 a, float2 b) {
+ float4 c;
+ c.xz = a;
+ c.yw = b;
+ return c;
+}
+</blockquote>
<p>Query for this feature with __has_feature(attribute_ext_vector_type).</p>
+<p>See also <a href="#__builtin_shufflevector">__builtin_shufflevector</a>.</p>
+
<!-- ======================================================================= -->
<h2 id="checking_language_features">Checks for Standard Language Features</h2>
<!-- ======================================================================= -->