================
@@ -4226,9 +4242,21 @@ Value *CodeGenFunction::EmitSVEMaskedStore(const 
CallExpr *E,
                                            SmallVectorImpl<Value *> &Ops,
                                            unsigned IntrinsicID) {
   QualType LangPTy = E->getArg(1)->getType();
-  llvm::Type *MemEltTy = CGM.getTypes().ConvertTypeForMem(
+  llvm::Type *MemEltTy = CGM.getTypes().ConvertType(
       LangPTy->castAs<PointerType>()->getPointeeType());
 
+  // Mfloat8 types is stored as a vector, so extra work
+  // to extract sclar element type is necessary.
+  if (MemEltTy->isVectorTy()) {
+    #ifndef NDEBUG
+        auto *VecTy = cast<llvm::VectorType>(MemEltTy);
+        ElementCount EC = VecTy->getElementCount();
+        assert(EC.isScalar() && VecTy->getElementType() == Int8Ty &&
+              "Only <1 x i8> expected");
+    #endif
----------------
paulwalker-arm wrote:

As above.

https://github.com/llvm/llvm-project/pull/128019
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to