[clang] [Clang][AArch64][SVE] Allow write to SVE vector elements using the subscript operator (PR #91965)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Mon May 13 09:38:28 PDT 2024


================
@@ -4180,8 +4180,10 @@ LValue CodeGenFunction::EmitArraySubscriptExpr(const ArraySubscriptExpr *E,
 
   // If the base is a vector type, then we are forming a vector element lvalue
   // with this subscript.
-  if (E->getBase()->getType()->isVectorType() &&
-      !isa<ExtVectorElementExpr>(E->getBase())) {
+  if (QualType BaseTy = E->getBase()->getType();
+      (BaseTy->isVectorType() && !isa<ExtVectorElementExpr>(E->getBase())) ||
+      (BaseTy->isBuiltinType() &&
+       BaseTy->getAs<BuiltinType>()->isSveVLSBuiltinType())) {
----------------
efriedma-quic wrote:

isSizelessVectorType()?

https://github.com/llvm/llvm-project/pull/91965


More information about the cfe-commits mailing list