[llvm-commits] [llvm] r112896 - in /llvm/trunk/lib/Target/X86: AsmPrinter/X86InstComments.cpp X86ShuffleDecode.h

Bruno Cardoso Lopes bruno.cardoso at gmail.com
Thu Sep 2 15:43:39 PDT 2010


Author: bruno
Date: Thu Sep  2 17:43:39 2010
New Revision: 112896

URL: http://llvm.org/viewvc/llvm-project?rev=112896&view=rev
Log:
Move insertps mask decoding to header file

Modified:
    llvm/trunk/lib/Target/X86/AsmPrinter/X86InstComments.cpp
    llvm/trunk/lib/Target/X86/X86ShuffleDecode.h

Modified: llvm/trunk/lib/Target/X86/AsmPrinter/X86InstComments.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmPrinter/X86InstComments.cpp?rev=112896&r1=112895&r2=112896&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmPrinter/X86InstComments.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmPrinter/X86InstComments.cpp Thu Sep  2 17:43:39 2010
@@ -20,34 +20,6 @@
 using namespace llvm;
 
 //===----------------------------------------------------------------------===//
-//  Vector Mask Decoding for non-shuffles
-//===----------------------------------------------------------------------===//
-
-static void DecodeINSERTPSMask(unsigned Imm,
-                               SmallVectorImpl<unsigned> &ShuffleMask) {
-  // Defaults the copying the dest value.
-  ShuffleMask.push_back(0);
-  ShuffleMask.push_back(1);
-  ShuffleMask.push_back(2);
-  ShuffleMask.push_back(3);
-
-  // Decode the immediate.
-  unsigned ZMask = Imm & 15;
-  unsigned CountD = (Imm >> 4) & 3;
-  unsigned CountS = (Imm >> 6) & 3;
-
-  // CountS selects which input element to use.
-  unsigned InVal = 4+CountS;
-  // CountD specifies which element of destination to update.
-  ShuffleMask[CountD] = InVal;
-  // ZMask zaps values, potentially overriding the CountD elt.
-  if (ZMask & 1) ShuffleMask[0] = SM_SentinelZero;
-  if (ZMask & 2) ShuffleMask[1] = SM_SentinelZero;
-  if (ZMask & 4) ShuffleMask[2] = SM_SentinelZero;
-  if (ZMask & 8) ShuffleMask[3] = SM_SentinelZero;
-}
-
-//===----------------------------------------------------------------------===//
 // Top Level Entrypoint
 //===----------------------------------------------------------------------===//
 

Modified: llvm/trunk/lib/Target/X86/X86ShuffleDecode.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ShuffleDecode.h?rev=112896&r1=112895&r2=112896&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ShuffleDecode.h (original)
+++ llvm/trunk/lib/Target/X86/X86ShuffleDecode.h Thu Sep  2 17:43:39 2010
@@ -26,6 +26,30 @@
   SM_SentinelZero = ~0U
 };
 
+static inline
+void DecodeINSERTPSMask(unsigned Imm, SmallVectorImpl<unsigned> &ShuffleMask) {
+  // Defaults the copying the dest value.
+  ShuffleMask.push_back(0);
+  ShuffleMask.push_back(1);
+  ShuffleMask.push_back(2);
+  ShuffleMask.push_back(3);
+
+  // Decode the immediate.
+  unsigned ZMask = Imm & 15;
+  unsigned CountD = (Imm >> 4) & 3;
+  unsigned CountS = (Imm >> 6) & 3;
+
+  // CountS selects which input element to use.
+  unsigned InVal = 4+CountS;
+  // CountD specifies which element of destination to update.
+  ShuffleMask[CountD] = InVal;
+  // ZMask zaps values, potentially overriding the CountD elt.
+  if (ZMask & 1) ShuffleMask[0] = SM_SentinelZero;
+  if (ZMask & 2) ShuffleMask[1] = SM_SentinelZero;
+  if (ZMask & 4) ShuffleMask[2] = SM_SentinelZero;
+  if (ZMask & 8) ShuffleMask[3] = SM_SentinelZero;
+}
+
 // <3,1> or <6,7,2,3>
 static void DecodeMOVHLPSMask(unsigned NElts,
                               SmallVectorImpl<unsigned> &ShuffleMask) {





More information about the llvm-commits mailing list