Author: David Majnemer Date: 2025-01-31T00:11:27Z New Revision: bce2cc15133a1458e4ad053085e58c7423c365b4
URL: https://github.com/llvm/llvm-project/commit/bce2cc15133a1458e4ad053085e58c7423c365b4 DIFF: https://github.com/llvm/llvm-project/commit/bce2cc15133a1458e4ad053085e58c7423c365b4.diff LOG: [clang] Set __GCC_*STRUCTIVE_SIZE on Aarch64 Before this change, we would set this to Clang's default of {64, 64}. Now, we explicitly set it to {256, 64} which matches our ARM behavior for ARMv8 targets and GCC's behavior for AArch64 targets. Added: Modified: clang/lib/Basic/Targets/AArch64.h clang/test/Preprocessor/init-aarch64.c Removed: ################################################################################ diff --git a/clang/lib/Basic/Targets/AArch64.h b/clang/lib/Basic/Targets/AArch64.h index 600940f5e4e23c..8695c0750ee32d 100644 --- a/clang/lib/Basic/Targets/AArch64.h +++ b/clang/lib/Basic/Targets/AArch64.h @@ -227,6 +227,11 @@ class LLVM_LIBRARY_VISIBILITY AArch64TargetInfo : public TargetInfo { bool validatePointerAuthKey(const llvm::APSInt &value) const override; const char *getBFloat16Mangling() const override { return "u6__bf16"; }; + + std::pair<unsigned, unsigned> hardwareInterferenceSizes() const override { + return std::make_pair(256, 64); + } + bool hasInt128Type() const override; bool hasBitIntType() const override { return true; } diff --git a/clang/test/Preprocessor/init-aarch64.c b/clang/test/Preprocessor/init-aarch64.c index 5f47de4b49b699..3036b496db25db 100644 --- a/clang/test/Preprocessor/init-aarch64.c +++ b/clang/test/Preprocessor/init-aarch64.c @@ -125,8 +125,8 @@ // AARCH64-NEXT: #define __FP_FAST_FMAF 1 // AARCH64-NEXT: #define __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL 202430 // AARCH64-NEXT: #define __GCC_ASM_FLAG_OUTPUTS__ 1 -// AARCH64-NEXT: #define __GCC_CONSTRUCTIVE_SIZE {{.+}} -// AARCH64-NEXT: #define __GCC_DESTRUCTIVE_SIZE {{.+}} +// AARCH64-NEXT: #define __GCC_CONSTRUCTIVE_SIZE 64 +// AARCH64-NEXT: #define __GCC_DESTRUCTIVE_SIZE 256 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1 // AARCH64-NEXT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits