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
5declare void @llvm.arm.hint(i32) nounwind
6
7define void @hint_nop() {
8entry:
9  tail call void @llvm.arm.hint(i32 0) nounwind
10  ret void
11}
12
13; CHECK-LABEL: hint_nop
14; CHECK: nop
15
16define void @hint_yield() {
17entry:
18  tail call void @llvm.arm.hint(i32 1) nounwind
19  ret void
20}
21
22; CHECK-LABEL: hint_yield
23; CHECK: yield
24
25define void @hint_wfe() {
26entry:
27  tail call void @llvm.arm.hint(i32 2) nounwind
28  ret void
29}
30
31; CHECK-LABEL: hint_wfe
32; CHECK: wfe
33
34define void @hint_wfi() {
35entry:
36  tail call void @llvm.arm.hint(i32 3) nounwind
37  ret void
38}
39
40; CHECK-LABEL: hint_wfi
41; CHECK: wfi
42
43define void @hint_sev() {
44entry:
45  tail call void @llvm.arm.hint(i32 4) nounwind
46  ret void
47}
48
49; CHECK-LABEL: hint_sev
50; CHECK: sev
51
52define void @hint_sevl() {
53entry:
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
61define void @hint_undefined() {
62entry:
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