1 // RUN: %clang_cc1 -triple thumbv7-windows -fms-compatibility -emit-llvm -o - %s \
2 // RUN:     | FileCheck %s -check-prefix CHECK-MSVC
3 // RUN: %clang_cc1 -triple armv7-eabi -emit-llvm %s -o - \
4 // RUN:     | FileCheck %s -check-prefix CHECK-EABI
5 // REQUIRES: arm-registered-target
6 
test_yield_intrinsic()7 void test_yield_intrinsic() {
8   __yield();
9 }
10 
11 // CHECK-MSVC: call void @llvm.arm.hint(i32 1)
12 // CHECK-EABI-NOT: call void @llvm.arm.hint(i32 1)
13 
wfe()14 void wfe() {
15   __wfe();
16 }
17 
18 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 2)
19 // CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 2)
20 
wfi()21 void wfi() {
22   __wfi();
23 }
24 
25 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 3)
26 // CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 3)
27 
sev()28 void sev() {
29   __sev();
30 }
31 
32 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 4)
33 // CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 4)
34 
sevl()35 void sevl() {
36   __sevl();
37 }
38 
39 // CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 5)
40 // CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 5)
41 
42