1 ; RUN: llc -mtriple armv7-eabi -o - %s | FileCheck %s 2 ; RUN: llc -mtriple thumbv6m-eabi -o - %s | FileCheck %s 3 ; RUN: llc -mtriple thumbv7-eabi -o - %s | FileCheck %s 4 5 declare void @llvm.arm.hint(i32) nounwind 6 7 define void @hint_nop() { 8 entry: 9 tail call void @llvm.arm.hint(i32 0) nounwind 10 ret void 11 } 12 13 ; CHECK-LABEL: hint_nop 14 ; CHECK: nop 15 16 define void @hint_yield() { 17 entry: 18 tail call void @llvm.arm.hint(i32 1) nounwind 19 ret void 20 } 21 22 ; CHECK-LABEL: hint_yield 23 ; CHECK: yield 24 25 define void @hint_wfe() { 26 entry: 27 tail call void @llvm.arm.hint(i32 2) nounwind 28 ret void 29 } 30 31 ; CHECK-LABEL: hint_wfe 32 ; CHECK: wfe 33 34 define void @hint_wfi() { 35 entry: 36 tail call void @llvm.arm.hint(i32 3) nounwind 37 ret void 38 } 39 40 ; CHECK-LABEL: hint_wfi 41 ; CHECK: wfi 42 43 define void @hint_sev() { 44 entry: 45 tail call void @llvm.arm.hint(i32 4) nounwind 46 ret void 47 } 48 49 ; CHECK-LABEL: hint_sev 50 ; CHECK: sev 51 52 define void @hint_sevl() { 53 entry: 54 tail call void @llvm.arm.hint(i32 5) nounwind 55 ret void 56 } 57 58 ; CHECK-LABEL: hint_sevl 59 ; CHECK: hint #5 60 61 define void @hint_undefined() { 62 entry: 63 tail call void @llvm.arm.hint(i32 8) nounwind 64 ret void 65 } 66 67 ; CHECK-LABEL: hint_undefined 68 ; CHECK: hint #8 69 70