c-rhodes accepted this revision. c-rhodes added a comment. This revision is now accepted and ready to land.
Left a couple of nits but mostly LGTM, cheers ================ Comment at: clang/lib/CodeGen/CGExprScalar.cpp:2025-2051 // Perform VLAT <-> VLST bitcast through memory. if ((isa<llvm::FixedVectorType>(SrcTy) && isa<llvm::ScalableVectorType>(DstTy)) || (isa<llvm::ScalableVectorType>(SrcTy) && isa<llvm::FixedVectorType>(DstTy))) { if (const CallExpr *CE = dyn_cast<CallExpr>(E)) { // Call expressions can't have a scalar return unless the return type ---------------- nit: it might be worth adding a comment stating we need to keep this around for casting between predicates, until we figure out a better way of doing that. The insert/extract intrinsics you've added require the element type to be identical and we represent fixed predicates with i8, whereas scalable predicates are represented as `<vscale x 16 x i1>`. ================ Comment at: llvm/include/llvm/IR/IRBuilder.h:925 } + CallInst *CreateExtractVector(Type *DstType, Value *SrcVec, Value *Idx, ---------------- `/// Create a call to the experimental.vector.extract intrinsic.` ================ Comment at: llvm/include/llvm/IR/IRBuilder.h:932 + } + + CallInst *CreateInsertVector(Type *DstType, Value *SrcVec, Value *SubVec, ---------------- `/// Create a call to the experimental.vector.insert intrinsic.` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92761/new/ https://reviews.llvm.org/D92761 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits