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 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 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 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 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 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