================ @@ -251,6 +253,15 @@ bool RISCVABIInfo::detectFPCCEligibleStructHelper(QualType Ty, CharUnits CurOff, // bitwidth is XLen or less. if (getContext().getTypeSize(QTy) > XLen && BitWidth <= XLen) QTy = getContext().getIntTypeForBitwidth(XLen, false); + // Trim type to alignment/bitwidth if that is possible + else if (getContext().getTypeSize(QTy) > Alignment && ---------------- topperc wrote:
Is the alignment relevant? Should we just round the bitfield size to the smallest power of 2 always? Even without the packed attribute, gcc -O0 emits `sb` while clang emits `sw`. https://github.com/llvm/llvm-project/pull/110690 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits