Most of NEON sema checking & fix to polynomial type detection
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105908 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp
index 07cce76..678a219 100644
--- a/lib/CodeGen/CGBuiltin.cpp
+++ b/lib/CodeGen/CGBuiltin.cpp
@@ -954,7 +954,7 @@
unsigned type = Result.getZExtValue();
bool usgn = type & 0x08;
bool quad = type & 0x10;
- bool poly = type & 0x20;
+ bool poly = (type & 0x7) == 5 || (type & 0x7) == 6;
bool splat = false;
const llvm::Type *Ty = GetNeonType(VMContext, type & 0x7, quad);