Add tablegen support for vdup_lane

llvm-svn: 110419
diff --git a/llvm/utils/TableGen/NeonEmitter.cpp b/llvm/utils/TableGen/NeonEmitter.cpp
index a754ce2..0a12f37 100644
--- a/llvm/utils/TableGen/NeonEmitter.cpp
+++ b/llvm/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) {