blob: 6f7b3ea86e75ab8ea37ec43550d713e481ee811f [file] [log] [blame]
Saleem Abdulrasool4bddd9d2014-07-02 17:41:27 +00001// 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
Saleem Abdulrasoolb9f07e32014-04-25 21:13:29 +00005// REQUIRES: arm-registered-target
6
7void test_yield_intrinsic() {
8 __yield();
9}
10
Saleem Abdulrasool4bddd9d2014-07-02 17:41:27 +000011// CHECK-MSVC: call void @llvm.arm.hint(i32 1)
12// CHECK-EABI-NOT: call void @llvm.arm.hint(i32 1)
13
14void 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
21void 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
28void 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
35void sevl() {
36 __sevl();
37}
38
39// CHECK-MSVC: call {{.*}} @llvm.arm.hint(i32 5)
40// CHECK-EABI-NOT: call {{.*}} @llvm.arm.hint(i32 5)
Saleem Abdulrasoolb9f07e32014-04-25 21:13:29 +000041