================
@@ -548,10 +548,22 @@ class TargetInfo : public TransferrableTargetInfo,
 
   /// getBitIntAlign/Width - Return aligned size of '_BitInt' and
   /// 'unsigned _BitInt' for this target, in bits.
+  /// Note: 64-bit _BitInt types get special handling to ensure consistent
+  /// alignment with long long types, particularly important for x86-32 
targets.
   unsigned getBitIntWidth(unsigned NumBits) const {
     return llvm::alignTo(NumBits, getBitIntAlign(NumBits));
   }
   unsigned getBitIntAlign(unsigned NumBits) const {
+    // Special case: 64-bit _BitInt should have the same alignment behavior as 
long long
----------------
erichkeane wrote:

Based on the title, this doesn't seem right.  We probably want/need some sort 
of target specific code, but this works for ALL code.  AND checks bit-size, and 
not the size of the types.  This is just not the right approach at all.

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

Reply via email to