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