Update support for vector component access on ExtVectors.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62440 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 89cad41..6540b2c 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -1173,12 +1173,15 @@
 /// getEncodedElementAccess - We encode the fields as a llvm ConstantArray.
 void ExtVectorElementExpr::getEncodedElementAccess(
                                   llvm::SmallVectorImpl<unsigned> &Elts) const {
-  bool isHi =   Accessor.isStr("hi");
-  bool isLo =   Accessor.isStr("lo");
-  bool isEven = Accessor.isStr("e");
-  bool isOdd  = Accessor.isStr("o");
-    
   const char *compStr = Accessor.getName();
+  if (*compStr == 's')
+    compStr++;
+ 
+  bool isHi =   !strcmp(compStr, "hi");
+  bool isLo =   !strcmp(compStr, "lo");
+  bool isEven = !strcmp(compStr, "even");
+  bool isOdd  = !strcmp(compStr, "odd");
+    
   for (unsigned i = 0, e = getNumElements(); i != e; ++i) {
     uint64_t Index;