summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMon P Wang <wangmp@apple.com>2008-12-10 08:55:09 +0000
committerMon P Wang <wangmp@apple.com>2008-12-10 08:55:09 +0000
commit01f8d09dd327a8534dac1d373a7ba52af91dd378 (patch)
treed717130e722b22f66a95ecfc9b54e035e1019e75 /docs
parentbae527d949949da0cf45d279990eee21e7c66108 (diff)
downloadllvm-01f8d09dd327a8534dac1d373a7ba52af91dd378.tar.gz
llvm-01f8d09dd327a8534dac1d373a7ba52af91dd378.tar.bz2
llvm-01f8d09dd327a8534dac1d373a7ba52af91dd378.tar.xz
Added a little more information that vector shifts require vector shift amount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60831 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/LangRef.html13
1 files changed, 9 insertions, 4 deletions
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 48b619a74b..384856043c 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -2584,7 +2584,9 @@ type. '<tt>op2</tt>' is treated as an unsigned value.</p>
<p>The value produced is <tt>op1</tt> * 2<sup><tt>op2</tt></sup> mod 2<sup>n</sup>,
where n is the width of the result. If <tt>op2</tt> is (statically or dynamically) negative or
-equal to or larger than the number of bits in <tt>op1</tt>, the result is undefined.</p>
+equal to or larger than the number of bits in <tt>op1</tt>, the result is undefined.
+If the arguments are vectors, each vector element of <tt>op1</tt> is shifted by the
+corresponding shift amount in <tt>op2</tt>.</p>
<h5>Example:</h5><pre>
&lt;result&gt; = shl i32 4, %var <i>; yields {i32}: 4 &lt;&lt; %var</i>
@@ -2616,7 +2618,9 @@ type. '<tt>op2</tt>' is treated as an unsigned value.</p>
<p>This instruction always performs a logical shift right operation. The most
significant bits of the result will be filled with zero bits after the
shift. If <tt>op2</tt> is (statically or dynamically) equal to or larger than
-the number of bits in <tt>op1</tt>, the result is undefined.</p>
+the number of bits in <tt>op1</tt>, the result is undefined. If the arguments are
+vectors, each vector element of <tt>op1</tt> is shifted by the corresponding shift
+amount in <tt>op2</tt>.</p>
<h5>Example:</h5>
<pre>
@@ -2651,8 +2655,9 @@ type. '<tt>op2</tt>' is treated as an unsigned value.</p>
<p>This instruction always performs an arithmetic shift right operation,
The most significant bits of the result will be filled with the sign bit
of <tt>op1</tt>. If <tt>op2</tt> is (statically or dynamically) equal to or
-larger than the number of bits in <tt>op1</tt>, the result is undefined.
-</p>
+larger than the number of bits in <tt>op1</tt>, the result is undefined. If the
+arguments are vectors, each vector element of <tt>op1</tt> is shifted by the
+corresponding shift amount in <tt>op2</tt>.</p>
<h5>Example:</h5>
<pre>