diff options
Diffstat (limited to 'test/CodeGen/AArch64/hints.ll')
-rw-r--r-- | test/CodeGen/AArch64/hints.ll | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/CodeGen/AArch64/hints.ll b/test/CodeGen/AArch64/hints.ll new file mode 100644 index 0000000..d7d9e23 --- /dev/null +++ b/test/CodeGen/AArch64/hints.ll @@ -0,0 +1,67 @@ +; RUN: llc -mtriple aarch64-eabi -o - %s | FileCheck %s + +declare void @llvm.aarch64.hint(i32) nounwind + +define void @hint_nop() { +entry: + tail call void @llvm.aarch64.hint(i32 0) nounwind + ret void +} + +; CHECK-LABEL: hint_nop +; CHECK: nop + +define void @hint_yield() { +entry: + tail call void @llvm.aarch64.hint(i32 1) nounwind + ret void +} + +; CHECK-LABEL: hint_yield +; CHECK: yield + +define void @hint_wfe() { +entry: + tail call void @llvm.aarch64.hint(i32 2) nounwind + ret void +} + +; CHECK-LABEL: hint_wfe +; CHECK: wfe + +define void @hint_wfi() { +entry: + tail call void @llvm.aarch64.hint(i32 3) nounwind + ret void +} + +; CHECK-LABEL: hint_wfi +; CHECK: wfi + +define void @hint_sev() { +entry: + tail call void @llvm.aarch64.hint(i32 4) nounwind + ret void +} + +; CHECK-LABEL: hint_sev +; CHECK: sev + +define void @hint_sevl() { +entry: + tail call void @llvm.aarch64.hint(i32 5) nounwind + ret void +} + +; CHECK-LABEL: hint_sevl +; CHECK: sevl + +define void @hint_undefined() { +entry: + tail call void @llvm.aarch64.hint(i32 8) nounwind + ret void +} + +; CHECK-LABEL: hint_undefined +; CHECK: hint #0x8 + |