[libcxx-commits] [clang] [libcxx] [clang] Add builtin to clear padding bytes (prework for P0528R3) (PR #75371)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon May 4 04:47:22 PDT 2026


================
@@ -2857,6 +2871,17 @@ struct PaddingClearer {
                          ElementQualType, /*VisitVirtualBase*/ true});
   }
 
+  void VisitVector(const clang::VectorType *VT, uint64_t StartBitOffset) {
+    ASTContext &Ctx = CGF.getContext();
+    uint64_t SizeBit = [&]() -> uint64_t {
+      if (VT->isPackedVectorBoolType(Ctx))
+        return VT->getNumElements();
+      return Ctx.getTypeInfo(VT->getElementType()).Width * VT->getNumElements();
----------------
huixie90 wrote:

@efriedma-quic  thanks for the review. Yes you are right, vecetor of long double, clang packs all the 10 bytes together leaving long tailing paddings in the end. fixed . could you please take another look?


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


More information about the libcxx-commits mailing list