| # RUN: llvm-mc -triple arm64-apple-darwin --disassemble < %s | FileCheck %s |
| |
| #----------------------------------------------------------------------------- |
| # Unconditional branch (register) instructions. |
| #----------------------------------------------------------------------------- |
| |
| 0xc0 0x03 0x5f 0xd6 |
| # CHECK: ret |
| 0x20 0x00 0x5f 0xd6 |
| # CHECK: ret x1 |
| 0xe0 0x03 0xbf 0xd6 |
| # CHECK: drps |
| 0xe0 0x03 0x9f 0xd6 |
| # CHECK: eret |
| 0xa0 0x00 0x1f 0xd6 |
| # CHECK: br x5 |
| 0x20 0x01 0x3f 0xd6 |
| # CHECK: blr x9 |
| 0x0B 0x00 0x18 0x37 |
| # CHECK: tbnz w11, #3, #0 |
| |
| #----------------------------------------------------------------------------- |
| # Exception generation instructions. |
| #----------------------------------------------------------------------------- |
| |
| 0x20 0x00 0x20 0xd4 |
| # CHECK: brk #0x1 |
| 0x41 0x00 0xa0 0xd4 |
| # CHECK: dcps1 #0x2 |
| 0x62 0x00 0xa0 0xd4 |
| # CHECK: dcps2 #0x3 |
| 0x83 0x00 0xa0 0xd4 |
| # CHECK: dcps3 #0x4 |
| 0xa0 0x00 0x40 0xd4 |
| # CHECK: hlt #0x5 |
| 0xc2 0x00 0x00 0xd4 |
| # CHECK: hvc #0x6 |
| 0xe3 0x00 0x00 0xd4 |
| # CHECK: smc #0x7 |
| 0x01 0x01 0x00 0xd4 |
| # CHECK: svc #0x8 |
| |
| #----------------------------------------------------------------------------- |
| # PC-relative branches (both positive and negative displacement) |
| #----------------------------------------------------------------------------- |
| |
| 0x07 0x00 0x00 0x14 |
| # CHECK: b #28 |
| 0x06 0x00 0x00 0x94 |
| # CHECK: bl #24 |
| 0xa1 0x00 0x00 0x54 |
| # CHECK: b.ne #20 |
| 0x80 0x00 0x08 0x36 |
| # CHECK: tbz w0, #1, #16 |
| 0xe1 0xff 0xf7 0x36 |
| # CHECK: tbz w1, #30, #-4 |
| 0x60 0x00 0x08 0x37 |
| # CHECK: tbnz w0, #1, #12 |
| 0x40 0x00 0x00 0xb4 |
| # CHECK: cbz x0, #8 |
| 0x20 0x00 0x00 0xb5 |
| # CHECK: cbnz x0, #4 |
| 0x1f 0x20 0x03 0xd5 |
| # CHECK: nop |
| 0xff 0xff 0xff 0x17 |
| # CHECK: b #-4 |
| 0xc1 0xff 0xff 0x54 |
| # CHECK: b.ne #-8 |
| 0xa0 0xff 0x0f 0x36 |
| # CHECK: tbz w0, #1, #-12 |
| 0x80 0xff 0xff 0xb4 |
| # CHECK: cbz x0, #-16 |
| 0x1f 0x20 0x03 0xd5 |
| # CHECK: nop |
| |