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