================ @@ -19,3 +19,19 @@ // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // RUN: %clang --target=arm64 -mlittle-endian -march=armv8.1-a -### -c %s 2>&1 | FileCheck -check-prefix=ARM64-GENERICV81A %s // ARM64-GENERICV81A: "-cc1"{{.*}} "-triple" "arm64{{.*}}" "-target-cpu" "generic"{{.*}} "-target-feature" "+v8.1a"{{.*}} "-target-feature" "+neon" + +// ===== Architecture extensions ===== + +// RUN: %clang -target aarch64 -march=armv8.1-a --print-enabled-extensions 2>&1 | FileCheck -check-prefix=ARCH-EXTENSION --implicit-check-not FEAT_ %s +// ARCH-EXTENSION: FEAT_ETE +// ARCH-EXTENSION: FEAT_LOR +// ARCH-EXTENSION: FEAT_TRBE +// ARCH-EXTENSION: FEAT_VHE +// ARCH-EXTENSION: FEAT_PAN +// ARCH-EXTENSION: FEAT_CRC32 +// FIXME: FEAT_FP is optional from v8.0a +// ARCH-EXTENSION: FEAT_FP +// ARCH-EXTENSION: FEAT_LSE +// ARCH-EXTENSION: FEAT_RDM +// FIXME: FEAT_AdvSIMD is optional from v8.0a ---------------- pratlucas wrote:
When adding those tests, I've noticed a few inconsistencies in the list of extensions enabled per architecture version. Usually, for arch versions, we only enable mandatory extensions by default, but these don't follow that approach. We've seen a few issues recently when adding new CPUs, where it can be tricky to get a match between the llvm and the TRMs due to this. I mostly wanted to double-check if this is something we want to re-visit/discuss. Do you have any thoughts on this? I'm happy to remove the FIXME lines otherwise. https://github.com/llvm/llvm-project/pull/95805 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits