1# RUN: llvm-mc -triple arm64-apple-darwin --disassemble < %s | FileCheck %s
2
3#-----------------------------------------------------------------------------
4# Unconditional branch (register) instructions.
5#-----------------------------------------------------------------------------
6
7  0xc0 0x03 0x5f 0xd6
8# CHECK: ret
9  0x20 0x00 0x5f 0xd6
10# CHECK: ret x1
11  0xe0 0x03 0xbf 0xd6
12# CHECK: drps
13  0xe0 0x03 0x9f 0xd6
14# CHECK: eret
15  0xa0 0x00 0x1f 0xd6
16# CHECK: br  x5
17  0x20 0x01 0x3f 0xd6
18# CHECK: blr x9
19  0x0B 0x00 0x18 0x37
20# CHECK: tbnz	w11, #3, #0
21
22#-----------------------------------------------------------------------------
23# Exception generation instructions.
24#-----------------------------------------------------------------------------
25
26  0x20 0x00 0x20 0xd4
27# CHECK: brk   #0x1
28  0x41 0x00 0xa0 0xd4
29# CHECK: dcps1 #0x2
30  0x62 0x00 0xa0 0xd4
31# CHECK: dcps2 #0x3
32  0x83 0x00 0xa0 0xd4
33# CHECK: dcps3 #0x4
34  0xa0 0x00 0x40 0xd4
35# CHECK: hlt   #0x5
36  0xc2 0x00 0x00 0xd4
37# CHECK: hvc   #0x6
38  0xe3 0x00 0x00 0xd4
39# CHECK: smc   #0x7
40  0x01 0x01 0x00 0xd4
41# CHECK: svc   #0x8
42
43#-----------------------------------------------------------------------------
44# PC-relative branches (both positive and negative displacement)
45#-----------------------------------------------------------------------------
46
47  0x07 0x00 0x00 0x14
48# CHECK: b #28
49  0x06 0x00 0x00 0x94
50# CHECK: bl #24
51  0xa1 0x00 0x00 0x54
52# CHECK: b.ne #20
53  0x80 0x00 0x08 0x36
54# CHECK: tbz w0, #1, #16
55  0xe1 0xff 0xf7 0x36
56# CHECK: tbz w1, #30, #-4
57  0x60 0x00 0x08 0x37
58# CHECK: tbnz w0, #1, #12
59  0x40 0x00 0x00 0xb4
60# CHECK: cbz x0, #8
61  0x20 0x00 0x00 0xb5
62# CHECK: cbnz x0, #4
63  0x1f 0x20 0x03 0xd5
64# CHECK: nop
65  0xff 0xff 0xff 0x17
66# CHECK: b #-4
67  0xc1 0xff 0xff 0x54
68# CHECK: b.ne #-8
69  0xa0 0xff 0x0f 0x36
70# CHECK: tbz w0, #1, #-12
71  0x80 0xff 0xff 0xb4
72# CHECK: cbz x0, #-16
73  0x1f 0x20 0x03 0xd5
74# CHECK: nop
75
76