60 lines · plain
1# RUN: llvm-mc -triple thumbv7 -mattr=virtualization -show-encoding %s | FileCheck %s --check-prefix=CHECK-THUMB2 3 hvc #14 hvc #75 hvc #2576 hvc #655357# CHECK-THUMB: [0xe0,0xf7,0x01,0x80]8# CHECK-THUMB: [0xe0,0xf7,0x07,0x80]9# CHECK-THUMB: [0xe0,0xf7,0x01,0x81]10# CHECK-THUMB: [0xef,0xf7,0xff,0x8f]11 12 hvc.w #113 hvc.w #714 hvc.w #25715 hvc.w #6553516# CHECK-THUMB: [0xe0,0xf7,0x01,0x80]17# CHECK-THUMB: [0xe0,0xf7,0x07,0x80]18# CHECK-THUMB: [0xe0,0xf7,0x01,0x81]19# CHECK-THUMB: [0xef,0xf7,0xff,0x8f]20 21 eret22 it eq; ereteq23 it ne; eretne24 it hs; ereths25 it lo; eretlo26 it mi; eretmi27 it pl; eretpl28 it vs; eretvs29 it vc; eretvc30 it hi; erethi31 it ls; eretls32 it ge; eretge33 it lt; eretlt34 it gt; eretgt35 it le; eretle36# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]37# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]38# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]39# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]40# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]41# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]42# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]43# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]44# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]45# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]46# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]47# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]48# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]49# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]50# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]51 52# SUBS PC, LR, #0 should have the same encoding as ERET.53# The conditional forms can't be tested because the ARM assembler parser doesn't54# accept SUBS<cond> PC, LR, #<imm>, only the unconditonal form is allowed. This55# is due to the way that the custom parser handles optional operands; see the56# FIXME in ARM/AsmParser/ARMAsmParser.cpp.57 58 subs pc, lr, #059# CHECK-THUMB: [0xde,0xf3,0x00,0x8f]60