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