[clang] [CIR] Implement handling for VectorType with size 3 (PR #161232)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 29 14:57:11 PDT 2025
================
@@ -314,21 +314,36 @@ void CIRGenFunction::emitStoreOfScalar(mlir::Value value, Address addr,
bool isInit, bool isNontemporal) {
assert(!cir::MissingFeatures::opLoadStoreThreadLocal());
+ mlir::Type srcTy = addr.getElementType();
if (const auto *clangVecTy = ty->getAs<clang::VectorType>()) {
- // Boolean vectors use `iN` as storage type.
- if (clangVecTy->isExtVectorBoolType())
- cgm.errorNYI(addr.getPointer().getLoc(),
- "emitStoreOfScalar ExtVectorBoolType");
+ if (auto vecTy = dyn_cast<cir::VectorType>(srcTy)) {
----------------
andykaylor wrote:
At some point we may need to check that this is not a scalable vector type. Can you add a missing feature assert for scalable vectors here?
https://github.com/llvm/llvm-project/pull/161232
More information about the cfe-commits
mailing list