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