Further refine types for operations which take scalars.
authorNate Begeman <natebegeman@mac.com>
Wed, 9 Jun 2010 18:02:26 +0000 (18:02 +0000)
committerNate Begeman <natebegeman@mac.com>
Wed, 9 Jun 2010 18:02:26 +0000 (18:02 +0000)
This will be used primarily by NEON shift intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105733 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/NeonEmitter.cpp

index 8b90bb18c1f5349a09bd04600f6a47df4635ffca..4443376995f0a6edc853b5a6307dad3926f20d5e 100644 (file)
@@ -310,13 +310,13 @@ static std::string BuiltinTypeString(const char mod, StringRef typestr,
       return quad ? "V48c" : "V24c";
     if (mod == '4')
       return quad ? "V64c" : "V32c";
-    if (mod == 'f' || (ck == ClassI && type == 'f'))
+    if (mod == 'f' || (ck != ClassB && type == 'f'))
       return quad ? "V4f" : "V2f";
-    if (ck == ClassI && type == 's')
+    if (ck != ClassB && type == 's')
       return quad ? "V8s" : "V4s";
-    if (ck == ClassI && type == 'i')
+    if (ck != ClassB && type == 'i')
       return quad ? "V4i" : "V2i";
-    if (ck == ClassI && type == 'l')
+    if (ck != ClassB && type == 'l')
       return quad ? "V2LLi" : "V1LLi";
     
     return quad ? "V16c" : "V8c";
@@ -330,13 +330,13 @@ static std::string BuiltinTypeString(const char mod, StringRef typestr,
   if (mod == '4')
     return quad ? "V16cV16cV16cV16c" : "V8cV8cV8cV8c";
 
-  if (mod == 'f' || (ck == ClassI && type == 'f'))
+  if (mod == 'f' || (ck != ClassB && type == 'f'))
     return quad ? "V4f" : "V2f";
-  if (ck == ClassI && type == 's')
+  if (ck != ClassB && type == 's')
     return quad ? "V8s" : "V4s";
-  if (ck == ClassI && type == 'i')
+  if (ck != ClassB && type == 'i')
     return quad ? "V4i" : "V2i";
-  if (ck == ClassI && type == 'l')
+  if (ck != ClassB && type == 'l')
     return quad ? "V2LLi" : "V1LLi";
   
   return quad ? "V16c" : "V8c";