The patch complements https://github.com/llvm/llvm-project/pull/68919 and adds AArch64 support for builtin `__builtin_cpu_supports("feature1+...+featureN")` which return true if all specified CPU features in argument are detected. Also compiler-rt aarch64 native run tests for features detection mechanism were added and 'cpu_model' check was fixed after its refactor merged https://github.com/llvm/llvm-project/pull/75635 Original RFC was https://reviews.llvm.org/D153153
16 lines
510 B
C
16 lines
510 B
C
// RUN: %clang_cc1 -fsyntax-only -triple arm64-- -DARM -verify %s
|
|
// RUN: %clang_cc1 -fsyntax-only -triple x86_64-- -DX86 -verify %s
|
|
// RUN: %clang_cc1 -fsyntax-only -triple powerpc64-unknown-linux-gnu -DPPC \
|
|
// RUN: -verify %s
|
|
// expected-no-diagnostics
|
|
#if __has_builtin(__builtin_cpu_is)
|
|
# ifdef ARM
|
|
# error "ARM shouldn't have __builtin_cpu_is"
|
|
# endif
|
|
#endif
|
|
#if __has_builtin(__builtin_cpu_init)
|
|
# if defined(ARM) || defined(PPC)
|
|
# error "ARM/PPC shouldn't have __builtin_cpu_init"
|
|
# endif
|
|
#endif
|