Further refine types for operations which take scalars.
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
diff --git a/utils/TableGen/NeonEmitter.cpp b/utils/TableGen/NeonEmitter.cpp
index 8b90bb1..4443376 100644
--- a/utils/TableGen/NeonEmitter.cpp
+++ b/utils/TableGen/NeonEmitter.cpp
@@ -310,13 +310,13 @@
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 @@
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";