diff --git a/utils/TableGen/NeonEmitter.cpp b/utils/TableGen/NeonEmitter.cpp
index f3707f2..310d514 100644
--- a/utils/TableGen/NeonEmitter.cpp
+++ b/utils/TableGen/NeonEmitter.cpp
@@ -89,7 +89,7 @@
       return 'i';
     case 'f':
       return 'h';
-    default: throw "unhandled type in widen!";
+    default: throw "unhandled type in narrow!";
   }
   return '\0';
 }
@@ -155,6 +155,10 @@
     case 'n':
       type = Widen(type);
       break;
+    case 'i':
+      type = 'i';
+      scal = true;
+      break;
     case 'l':
       type = 'l';
       scal = true;
@@ -807,14 +811,27 @@
   
   for (unsigned i = 1, e = proto.size(); i != e; ++i, ++arg) {
     std::string args = std::string(&arg, 1);
+    bool argquad = quad;
+    bool scal = false;
+
+    (void) ModType(proto[i], type, argquad, dummy, dummy, scal, dummy, dummy);
+    bool explicitcast = define && !scal;
+
     if (define)
       args = "(" + args + ")";
+    if (explicitcast) {
+      unsigned builtinelts = quad ? 16 : 8;
+      args = "(__neon_int8x" + utostr(builtinelts) + "_t)(" + args;
+    }
     
     // Handle multiple-vector values specially, emitting each subvector as an
     // argument to the __builtin.
-    if (structTypes && (proto[i] == '2' || proto[i] == '3' || proto[i] == '4')){
+    if (structTypes && (proto[i] >= '2') && (proto[i] <= '4')) {
       for (unsigned vi = 0, ve = proto[i] - '0'; vi != ve; ++vi) {
         s += args + ".val[" + utostr(vi) + "].val";
+        if (explicitcast)
+          s += ")";
+        
         if ((vi + 1) < ve)
           s += ", ";
       }
@@ -829,10 +846,10 @@
     else
       s += args;
     
-    if (structTypes && proto[i] != 's' && proto[i] != 'i' && proto[i] != 'l' &&
-        proto[i] != 'p' && proto[i] != 'c' && proto[i] != 'a') {
+    if (structTypes && !scal)
       s += ".val";
-    }
+    if (explicitcast)
+      s += ")";
     if ((i + 1) < e)
       s += ", ";
   }
