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