1# RUN: llvm-mc -disassemble -triple thumbv7 -mcpu=cortex-a15 %s | FileCheck %s --check-prefix=CHECK-THUMB
2# RUN: not llvm-mc -disassemble -triple thumbv7 -mcpu=cortex-a9 %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOVIRT
3
4[0xe0,0xf7,0x01,0x80]
5[0xe0,0xf7,0x07,0x80]
6[0xe0,0xf7,0x01,0x81]
7[0xef,0xf7,0xff,0x8f]
8# CHECK-THUMB:    hvc.w    #1
9# CHECK-THUMB:    hvc.w    #7
10# CHECK-THUMB:    hvc.w    #257
11# CHECK-THUMB:    hvc.w    #65535
12# CHECK-NOVIRT:    warning: invalid instruction encoding
13# CHECK-NOVIRT:    warning: invalid instruction encoding
14# CHECK-NOVIRT:    warning: invalid instruction encoding
15# CHECK-NOVIRT:    warning: invalid instruction encoding
16
17[0xde,0xf3,0x00,0x8f]
18[0x08,0xbf] [0xde,0xf3,0x00,0x8f]
19[0x18,0xbf] [0xde,0xf3,0x00,0x8f]
20[0x28,0xbf] [0xde,0xf3,0x00,0x8f]
21[0x38,0xbf] [0xde,0xf3,0x00,0x8f]
22[0x48,0xbf] [0xde,0xf3,0x00,0x8f]
23[0x58,0xbf] [0xde,0xf3,0x00,0x8f]
24[0x68,0xbf] [0xde,0xf3,0x00,0x8f]
25[0x78,0xbf] [0xde,0xf3,0x00,0x8f]
26[0x88,0xbf] [0xde,0xf3,0x00,0x8f]
27[0x98,0xbf] [0xde,0xf3,0x00,0x8f]
28[0xa8,0xbf] [0xde,0xf3,0x00,0x8f]
29[0xb8,0xbf] [0xde,0xf3,0x00,0x8f]
30[0xc8,0xbf] [0xde,0xf3,0x00,0x8f]
31[0xd8,0xbf] [0xde,0xf3,0x00,0x8f]
32# CHECK-THUMB:    eret
33# CHECK-THUMB:    ereteq
34# CHECK-THUMB:    eretne
35# CHECK-THUMB:    ereths
36# CHECK-THUMB:    eretlo
37# CHECK-THUMB:    eretmi
38# CHECK-THUMB:    eretpl
39# CHECK-THUMB:    eretvs
40# CHECK-THUMB:    eretvc
41# CHECK-THUMB:    erethi
42# CHECK-THUMB:    eretls
43# CHECK-THUMB:    eretge
44# CHECK-THUMB:    eretlt
45# CHECK-THUMB:    eretgt
46# CHECK-THUMB:    eretle
47# CHECK-NOVIRT:    subs    pc, lr, #0
48# CHECK-NOVIRT:    subseq  pc, lr, #0
49# CHECK-NOVIRT:    subsne  pc, lr, #0
50# CHECK-NOVIRT:    subshs  pc, lr, #0
51# CHECK-NOVIRT:    subslo  pc, lr, #0
52# CHECK-NOVIRT:    subsmi  pc, lr, #0
53# CHECK-NOVIRT:    subspl  pc, lr, #0
54# CHECK-NOVIRT:    subsvs  pc, lr, #0
55# CHECK-NOVIRT:    subsvc  pc, lr, #0
56# CHECK-NOVIRT:    subshi  pc, lr, #0
57# CHECK-NOVIRT:    subsls  pc, lr, #0
58# CHECK-NOVIRT:    subsge  pc, lr, #0
59# CHECK-NOVIRT:    subslt  pc, lr, #0
60# CHECK-NOVIRT:    subsgt  pc, lr, #0
61# CHECK-NOVIRT:    subsle  pc, lr, #0
62