Fix getNode to allow a vector for the shift amount for shifts of vectors.
Fix the shift amount when unrolling a vector shift into scalar shifts.
Fix problem in getShuffleScalarElt where it assumes that the input of
a bit convert must be a vector.
llvm-svn: 60740
diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html
index 74027ce..48b619a 100644
--- a/llvm/docs/LangRef.html
+++ b/llvm/docs/LangRef.html
@@ -2591,6 +2591,7 @@
   <result> = shl i32 4, 2      <i>; yields {i32}: 16</i>
   <result> = shl i32 1, 10     <i>; yields {i32}: 1024</i>
   <result> = shl i32 1, 32     <i>; undefined</i>
+  <result> = shl <2 x i32> < i32 1, i32 1>, < i32 1, i32 2>   <i>; yields: result=<2 x i32> < i32 2, i32 4></i>
 </pre>
 </div>
 <!-- _______________________________________________________________________ -->
@@ -2624,6 +2625,7 @@
   <result> = lshr i8  4, 3   <i>; yields {i8}:result = 0</i>
   <result> = lshr i8 -2, 1   <i>; yields {i8}:result = 0x7FFFFFFF </i>
   <result> = lshr i32 1, 32  <i>; undefined</i>
+  <result> = lshr <2 x i32> < i32 -2, i32 4>, < i32 1, i32 2>   <i>; yields: result=<2 x i32> < i32 0x7FFFFFFF, i32 1></i>
 </pre>
 </div>
 
@@ -2659,6 +2661,7 @@
   <result> = ashr i8  4, 3   <i>; yields {i8}:result = 0</i>
   <result> = ashr i8 -2, 1   <i>; yields {i8}:result = -1</i>
   <result> = ashr i32 1, 32  <i>; undefined</i>
+  <result> = ashr <2 x i32> < i32 -2, i32 4>, < i32 1, i32 3>   <i>; yields: result=<2 x i32> < i32 -1, i32 0></i>
 </pre>
 </div>