[llvm-commits] [llvm] r120632 - /llvm/trunk/utils/TableGen/NeonEmitter.cpp

Bob Wilson bob.wilson at apple.com
Wed Dec 1 16:24:59 PST 2010


Author: bwilson
Date: Wed Dec  1 18:24:59 2010
New Revision: 120632

URL: http://llvm.org/viewvc/llvm-project?rev=120632&view=rev
Log:
Avoid "char" for Neon vector elements; make it explicitly signed (or unsigned).

Modified:
    llvm/trunk/utils/TableGen/NeonEmitter.cpp

Modified: llvm/trunk/utils/TableGen/NeonEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/NeonEmitter.cpp?rev=120632&r1=120631&r2=120632&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/NeonEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/NeonEmitter.cpp Wed Dec  1 18:24:59 2010
@@ -325,6 +325,8 @@
 
     if (usgn)
       s.push_back('U');
+    else if (type == 'c')
+      s.push_back('S'); // make chars explicitly signed
     
     if (type == 'l') // 64-bit long
       s += "LLi";
@@ -354,16 +356,16 @@
     if (ck != ClassB && type == 'l')
       return quad ? "V2LLi" : "V1LLi";
     
-    return quad ? "V16c" : "V8c";
+    return quad ? "V16Sc" : "V8Sc";
   }    
 
   // Non-return array types are passed as individual vectors.
   if (mod == '2')
-    return quad ? "V16cV16c" : "V8cV8c";
+    return quad ? "V16ScV16Sc" : "V8ScV8Sc";
   if (mod == '3')
-    return quad ? "V16cV16cV16c" : "V8cV8cV8c";
+    return quad ? "V16ScV16ScV16Sc" : "V8ScV8ScV8Sc";
   if (mod == '4')
-    return quad ? "V16cV16cV16cV16c" : "V8cV8cV8cV8c";
+    return quad ? "V16ScV16ScV16ScV16Sc" : "V8ScV8ScV8ScV8Sc";
 
   if (mod == 'f' || (ck != ClassB && type == 'f'))
     return quad ? "V4f" : "V2f";
@@ -374,7 +376,7 @@
   if (ck != ClassB && type == 'l')
     return quad ? "V2LLi" : "V1LLi";
   
-  return quad ? "V16c" : "V8c";
+  return quad ? "V16Sc" : "V8Sc";
 }
 
 /// MangleName - Append a type or width suffix to a base neon function name, 





More information about the llvm-commits mailing list