Home | History | Annotate | Download | only in CodeGen
      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