Add tablegen support for vdup_lane


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110419 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/NeonEmitter.cpp b/utils/TableGen/NeonEmitter.cpp
index a754ce2..0a12f37 100644
--- a/utils/TableGen/NeonEmitter.cpp
+++ b/utils/TableGen/NeonEmitter.cpp
@@ -145,6 +145,9 @@
       type = 'f';
       usgn = false;
       break;
+    case 'g':
+      quad = false;
+      break;
     case 'w':
       type = Widen(type);
       quad = true;
@@ -686,15 +689,15 @@
   bool cnst = false;
   bool pntr = false;
   
-  // base type to get the type string for.
+  // Base type to get the type string for.
   char type = ClassifyType(typestr, quad, poly, usgn);
   
   // Based on the modifying character, change the type and width if necessary.
   type = ModType(mod, type, quad, poly, usgn, scal, cnst, pntr);
-  
+
   if (usgn)
     ret |= 0x08;
-  if (quad)
+  if (quad && proto[1] != 'g')
     ret |= 0x10;
   
   switch (type) {