[x86] Teach the instruction printer to decode immediate operands to
[oota-llvm.git] / lib / Target / X86 / Utils / X86ShuffleDecode.cpp
index 863da74efbc54cb516ce354844f4625039f79d90..5da63bef4d74cbfd8acbba1858db3cad4f118f4a 100644 (file)
@@ -258,6 +258,13 @@ void DecodePSHUFBMask(ArrayRef<uint64_t> RawMask,
   }
 }
 
+void DecodeBLENDMask(MVT VT, unsigned Imm,
+                       SmallVectorImpl<int> &ShuffleMask) {
+  int NumElements = VT.getVectorNumElements();
+  for (int i = 0; i < NumElements; ++i)
+    ShuffleMask.push_back(((Imm >> i) & 1) ? NumElements + i : i);
+}
+
 /// DecodeVPERMMask - this decodes the shuffle masks for VPERMQ/VPERMPD.
 /// No VT provided since it only works on 256-bit, 4 element vectors.
 void DecodeVPERMMask(unsigned Imm, SmallVectorImpl<int> &ShuffleMask) {