# RUN: llvm-mc -disassemble -triple thumbv7 -mcpu=cortex-a15 %s | FileCheck %s --check-prefix=CHECK-THUMB
# RUN: not llvm-mc -disassemble -triple thumbv7 -mcpu=cortex-a9 %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOVIRT
[0xe0,0xf7,0x01,0x80]
[0xe0,0xf7,0x07,0x80]
[0xe0,0xf7,0x01,0x81]
[0xef,0xf7,0xff,0x8f]
# CHECK-THUMB: hvc.w #1
# CHECK-THUMB: hvc.w #7
# CHECK-THUMB: hvc.w #257
# CHECK-THUMB: hvc.w #65535
# CHECK-NOVIRT: warning: invalid instruction encoding
# CHECK-NOVIRT: warning: invalid instruction encoding
# CHECK-NOVIRT: warning: invalid instruction encoding
# CHECK-NOVIRT: warning: invalid instruction encoding
[0xde,0xf3,0x00,0x8f]
[0x08,0xbf] [0xde,0xf3,0x00,0x8f]
[0x18,0xbf] [0xde,0xf3,0x00,0x8f]
[0x28,0xbf] [0xde,0xf3,0x00,0x8f]
[0x38,0xbf] [0xde,0xf3,0x00,0x8f]
[0x48,0xbf] [0xde,0xf3,0x00,0x8f]
[0x58,0xbf] [0xde,0xf3,0x00,0x8f]
[0x68,0xbf] [0xde,0xf3,0x00,0x8f]
[0x78,0xbf] [0xde,0xf3,0x00,0x8f]
[0x88,0xbf] [0xde,0xf3,0x00,0x8f]
[0x98,0xbf] [0xde,0xf3,0x00,0x8f]
[0xa8,0xbf] [0xde,0xf3,0x00,0x8f]
[0xb8,0xbf] [0xde,0xf3,0x00,0x8f]
[0xc8,0xbf] [0xde,0xf3,0x00,0x8f]
[0xd8,0xbf] [0xde,0xf3,0x00,0x8f]
# CHECK-THUMB: eret
# CHECK-THUMB: ereteq
# CHECK-THUMB: eretne
# CHECK-THUMB: ereths
# CHECK-THUMB: eretlo
# CHECK-THUMB: eretmi
# CHECK-THUMB: eretpl
# CHECK-THUMB: eretvs
# CHECK-THUMB: eretvc
# CHECK-THUMB: erethi
# CHECK-THUMB: eretls
# CHECK-THUMB: eretge
# CHECK-THUMB: eretlt
# CHECK-THUMB: eretgt
# CHECK-THUMB: eretle
# CHECK-NOVIRT: subs pc, lr, #0
# CHECK-NOVIRT: subseq pc, lr, #0
# CHECK-NOVIRT: subsne pc, lr, #0
# CHECK-NOVIRT: subshs pc, lr, #0
# CHECK-NOVIRT: subslo pc, lr, #0
# CHECK-NOVIRT: subsmi pc, lr, #0
# CHECK-NOVIRT: subspl pc, lr, #0
# CHECK-NOVIRT: subsvs pc, lr, #0
# CHECK-NOVIRT: subsvc pc, lr, #0
# CHECK-NOVIRT: subshi pc, lr, #0
# CHECK-NOVIRT: subsls pc, lr, #0
# CHECK-NOVIRT: subsge pc, lr, #0
# CHECK-NOVIRT: subslt pc, lr, #0
# CHECK-NOVIRT: subsgt pc, lr, #0
# CHECK-NOVIRT: subsle pc, lr, #0