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