| ; RUN: llc -mtriple armv7-eabi -o - %s | FileCheck %s |
| ; RUN: llc -mtriple thumbv6m-eabi -o - %s | FileCheck %s |
| ; RUN: llc -mtriple thumbv7-eabi -o - %s | FileCheck %s |
| |
| declare void @llvm.arm.hint(i32) nounwind |
| |
| define void @hint_nop() { |
| entry: |
| tail call void @llvm.arm.hint(i32 0) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_nop |
| ; CHECK: nop |
| |
| define void @hint_yield() { |
| entry: |
| tail call void @llvm.arm.hint(i32 1) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_yield |
| ; CHECK: yield |
| |
| define void @hint_wfe() { |
| entry: |
| tail call void @llvm.arm.hint(i32 2) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_wfe |
| ; CHECK: wfe |
| |
| define void @hint_wfi() { |
| entry: |
| tail call void @llvm.arm.hint(i32 3) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_wfi |
| ; CHECK: wfi |
| |
| define void @hint_sev() { |
| entry: |
| tail call void @llvm.arm.hint(i32 4) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_sev |
| ; CHECK: sev |
| |
| define void @hint_sevl() { |
| entry: |
| tail call void @llvm.arm.hint(i32 5) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_sevl |
| ; CHECK: hint #5 |
| |
| define void @hint_undefined() { |
| entry: |
| tail call void @llvm.arm.hint(i32 8) nounwind |
| ret void |
| } |
| |
| ; CHECK-LABEL: hint_undefined |
| ; CHECK: hint #8 |
| |