diff options
| -rw-r--r-- | clang/lib/Headers/arm_acle.h | 24 | ||||
| -rw-r--r-- | clang/test/Headers/arm-acle-header.c | 10 |
2 files changed, 30 insertions, 4 deletions
diff --git a/clang/lib/Headers/arm_acle.h b/clang/lib/Headers/arm_acle.h index a7406fbf0a8..460f2975d46 100644 --- a/clang/lib/Headers/arm_acle.h +++ b/clang/lib/Headers/arm_acle.h @@ -34,6 +34,30 @@ extern "C" { #endif +/* 8.4 - Hints */ + +#if !defined(_MSC_VER) +static __inline__ void __attribute__((always_inline, nodebug)) __wfi(void) { + __builtin_arm_wfi(); +} + +static __inline__ void __attribute__((always_inline, nodebug)) __wfe(void) { + __builtin_arm_wfe(); +} + +static __inline__ void __attribute__((always_inline, nodebug)) __sev(void) { + __builtin_arm_sev(); +} + +static __inline__ void __attribute__((always_inline, nodebug)) __sevl(void) { + __builtin_arm_sevl(); +} + +static __inline__ void __attribute__((always_inline, nodebug)) __yield(void) { + __builtin_arm_yield(); +} +#endif + /* 9 DATA-PROCESSING INTRINSICS */ /* 9.2 Miscellaneous data-processing intrinsics */ static __inline__ uint32_t __attribute__((always_inline, nodebug)) diff --git a/clang/test/Headers/arm-acle-header.c b/clang/test/Headers/arm-acle-header.c index 523e77e4866..d9d2e04c945 100644 --- a/clang/test/Headers/arm-acle-header.c +++ b/clang/test/Headers/arm-acle-header.c @@ -1,7 +1,9 @@ -// RUN: %clang_cc1 -triple armv7 -target-cpu cortex-a15 -fsyntax-only -ffreestanding %s -// RUN: %clang_cc1 -triple aarch64 -target-cpu cortex-a53 -fsyntax-only -ffreestanding %s -// RUN: %clang_cc1 -x c++ -triple armv7 -target-cpu cortex-a15 -fsyntax-only -ffreestanding %s -// RUN: %clang_cc1 -x c++ -triple aarch64 -target-cpu cortex-a57 -fsyntax-only -ffreestanding %s +// RUN: %clang_cc1 -triple armv7-eabi -target-cpu cortex-a15 -fsyntax-only -ffreestanding %s +// RUN: %clang_cc1 -triple aarch64-eabi -target-cpu cortex-a53 -fsyntax-only -ffreestanding %s +// RUN: %clang_cc1 -triple thumbv7-windows -target-cpu cortex-a53 -fsyntax-only -ffreestanding %s +// RUN: %clang_cc1 -x c++ -triple armv7-eabi -target-cpu cortex-a15 -fsyntax-only -ffreestanding %s +// RUN: %clang_cc1 -x c++ -triple aarch64-eabi -target-cpu cortex-a57 -fsyntax-only -ffreestanding %s +// RUN: %clang_cc1 -x c++ -triple thumbv7-windows -target-cpu cortex-a15 -fsyntax-only -ffreestanding %s // expected-no-diagnostics #include <arm_acle.h> |

