1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerfoo: 4*9880d681SAndroid Build Coastguard Worker@ CHECK: foo 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workersub r2, r2, #6 7*9880d681SAndroid Build Coastguard Workersub r2, #6 8*9880d681SAndroid Build Coastguard Workersub r2, r2, r3 9*9880d681SAndroid Build Coastguard Workersub r2, r3 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r2, r2, #6 @ encoding: [0x06,0x20,0x42,0xe2] 12*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r2, r2, #6 @ encoding: [0x06,0x20,0x42,0xe2] 13*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r2, r2, r3 @ encoding: [0x03,0x20,0x42,0xe0] 14*9880d681SAndroid Build Coastguard Worker@ CHECK: sub r2, r2, r3 @ encoding: [0x03,0x20,0x42,0xe0] 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workeradd r2, r2, #6 17*9880d681SAndroid Build Coastguard Workeradd r2, #6 18*9880d681SAndroid Build Coastguard Workeradd r2, r2, r3 19*9880d681SAndroid Build Coastguard Workeradd r2, r3 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker@ CHECK: add r2, r2, #6 @ encoding: [0x06,0x20,0x82,0xe2] 22*9880d681SAndroid Build Coastguard Worker@ CHECK: add r2, r2, #6 @ encoding: [0x06,0x20,0x82,0xe2] 23*9880d681SAndroid Build Coastguard Worker@ CHECK: add r2, r2, r3 @ encoding: [0x03,0x20,0x82,0xe0] 24*9880d681SAndroid Build Coastguard Worker@ CHECK: add r2, r2, r3 @ encoding: [0x03,0x20,0x82,0xe0] 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerand r2, r2, #6 27*9880d681SAndroid Build Coastguard Workerand r2, #6 28*9880d681SAndroid Build Coastguard Workerand r2, r2, r3 29*9880d681SAndroid Build Coastguard Workerand r2, r3 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Worker@ CHECK: and r2, r2, #6 @ encoding: [0x06,0x20,0x02,0xe2] 32*9880d681SAndroid Build Coastguard Worker@ CHECK: and r2, r2, #6 @ encoding: [0x06,0x20,0x02,0xe2] 33*9880d681SAndroid Build Coastguard Worker@ CHECK: and r2, r2, r3 @ encoding: [0x03,0x20,0x02,0xe0] 34*9880d681SAndroid Build Coastguard Worker@ CHECK: and r2, r2, r3 @ encoding: [0x03,0x20,0x02,0xe0] 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Workerorr r2, r2, #6 37*9880d681SAndroid Build Coastguard Workerorr r2, #6 38*9880d681SAndroid Build Coastguard Workerorr r2, r2, r3 39*9880d681SAndroid Build Coastguard Workerorr r2, r3 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r2, r2, #6 @ encoding: [0x06,0x20,0x82,0xe3] 42*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r2, r2, #6 @ encoding: [0x06,0x20,0x82,0xe3] 43*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r2, r2, r3 @ encoding: [0x03,0x20,0x82,0xe1] 44*9880d681SAndroid Build Coastguard Worker@ CHECK: orr r2, r2, r3 @ encoding: [0x03,0x20,0x82,0xe1] 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Workereor r2, r2, #6 47*9880d681SAndroid Build Coastguard Workereor r2, #6 48*9880d681SAndroid Build Coastguard Workereor r2, r2, r3 49*9880d681SAndroid Build Coastguard Workereor r2, r3 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r2, r2, #6 @ encoding: [0x06,0x20,0x22,0xe2] 52*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r2, r2, #6 @ encoding: [0x06,0x20,0x22,0xe2] 53*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r2, r2, r3 @ encoding: [0x03,0x20,0x22,0xe0] 54*9880d681SAndroid Build Coastguard Worker@ CHECK: eor r2, r2, r3 @ encoding: [0x03,0x20,0x22,0xe0] 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Workerbic r2, r2, #6 57*9880d681SAndroid Build Coastguard Workerbic r2, #6 58*9880d681SAndroid Build Coastguard Workerbic r2, r2, r3 59*9880d681SAndroid Build Coastguard Workerbic r2, r3 60*9880d681SAndroid Build Coastguard Worker 61*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r2, r2, #6 @ encoding: [0x06,0x20,0xc2,0xe3] 62*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r2, r2, #6 @ encoding: [0x06,0x20,0xc2,0xe3] 63*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r2, r2, r3 @ encoding: [0x03,0x20,0xc2,0xe1] 64*9880d681SAndroid Build Coastguard Worker@ CHECK: bic r2, r2, r3 @ encoding: [0x03,0x20,0xc2,0xe1] 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker@ Also check that we handle the predicate and cc_out operands. 68*9880d681SAndroid Build Coastguard Workersubseq r2, r2, #6 69*9880d681SAndroid Build Coastguard Workersubseq r2, #6 70*9880d681SAndroid Build Coastguard Workersubseq r2, r2, r3 71*9880d681SAndroid Build Coastguard Workersubseq r2, r3 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Worker@ CHECK: subseq r2, r2, #6 @ encoding: [0x06,0x20,0x52,0x02] 74*9880d681SAndroid Build Coastguard Worker@ CHECK: subseq r2, r2, #6 @ encoding: [0x06,0x20,0x52,0x02] 75*9880d681SAndroid Build Coastguard Worker@ CHECK: subseq r2, r2, r3 @ encoding: [0x03,0x20,0x52,0x00] 76*9880d681SAndroid Build Coastguard Worker@ CHECK: subseq r2, r2, r3 @ encoding: [0x03,0x20,0x52,0x00] 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workeraddseq r2, r2, #6 79*9880d681SAndroid Build Coastguard Workeraddseq r2, #6 80*9880d681SAndroid Build Coastguard Workeraddseq r2, r2, r3 81*9880d681SAndroid Build Coastguard Workeraddseq r2, r3 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq r2, r2, #6 @ encoding: [0x06,0x20,0x92,0x02] 84*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq r2, r2, #6 @ encoding: [0x06,0x20,0x92,0x02] 85*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq r2, r2, r3 @ encoding: [0x03,0x20,0x92,0x00] 86*9880d681SAndroid Build Coastguard Worker@ CHECK: addseq r2, r2, r3 @ encoding: [0x03,0x20,0x92,0x00] 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Workerandseq r2, r2, #6 89*9880d681SAndroid Build Coastguard Workerandseq r2, #6 90*9880d681SAndroid Build Coastguard Workerandseq r2, r2, r3 91*9880d681SAndroid Build Coastguard Workerandseq r2, r3 92*9880d681SAndroid Build Coastguard Worker 93*9880d681SAndroid Build Coastguard Worker@ CHECK: andseq r2, r2, #6 @ encoding: [0x06,0x20,0x12,0x02] 94*9880d681SAndroid Build Coastguard Worker@ CHECK: andseq r2, r2, #6 @ encoding: [0x06,0x20,0x12,0x02] 95*9880d681SAndroid Build Coastguard Worker@ CHECK: andseq r2, r2, r3 @ encoding: [0x03,0x20,0x12,0x00] 96*9880d681SAndroid Build Coastguard Worker@ CHECK: andseq r2, r2, r3 @ encoding: [0x03,0x20,0x12,0x00] 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Workerorrseq r2, r2, #6 99*9880d681SAndroid Build Coastguard Workerorrseq r2, #6 100*9880d681SAndroid Build Coastguard Workerorrseq r2, r2, r3 101*9880d681SAndroid Build Coastguard Workerorrseq r2, r3 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r2, r2, #6 @ encoding: [0x06,0x20,0x92,0x03] 104*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r2, r2, #6 @ encoding: [0x06,0x20,0x92,0x03] 105*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r2, r2, r3 @ encoding: [0x03,0x20,0x92,0x01] 106*9880d681SAndroid Build Coastguard Worker@ CHECK: orrseq r2, r2, r3 @ encoding: [0x03,0x20,0x92,0x01] 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Workereorseq r2, r2, #6 109*9880d681SAndroid Build Coastguard Workereorseq r2, #6 110*9880d681SAndroid Build Coastguard Workereorseq r2, r2, r3 111*9880d681SAndroid Build Coastguard Workereorseq r2, r3 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker@ CHECK: eorseq r2, r2, #6 @ encoding: [0x06,0x20,0x32,0x02] 114*9880d681SAndroid Build Coastguard Worker@ CHECK: eorseq r2, r2, #6 @ encoding: [0x06,0x20,0x32,0x02] 115*9880d681SAndroid Build Coastguard Worker@ CHECK: eorseq r2, r2, r3 @ encoding: [0x03,0x20,0x32,0x00] 116*9880d681SAndroid Build Coastguard Worker@ CHECK: eorseq r2, r2, r3 @ encoding: [0x03,0x20,0x32,0x00] 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Workerbicseq r2, r2, #6 119*9880d681SAndroid Build Coastguard Workerbicseq r2, #6 120*9880d681SAndroid Build Coastguard Workerbicseq r2, r2, r3 121*9880d681SAndroid Build Coastguard Workerbicseq r2, r3 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker@ CHECK: bicseq r2, r2, #6 @ encoding: [0x06,0x20,0xd2,0x03] 124*9880d681SAndroid Build Coastguard Worker@ CHECK: bicseq r2, r2, #6 @ encoding: [0x06,0x20,0xd2,0x03] 125*9880d681SAndroid Build Coastguard Worker@ CHECK: bicseq r2, r2, r3 @ encoding: [0x03,0x20,0xd2,0x01] 126*9880d681SAndroid Build Coastguard Worker@ CHECK: bicseq r2, r2, r3 @ encoding: [0x03,0x20,0xd2,0x01] 127*9880d681SAndroid Build Coastguard Worker 128*9880d681SAndroid Build Coastguard Workeradd r0, pc, #123 129*9880d681SAndroid Build Coastguard Worker 130*9880d681SAndroid Build Coastguard Worker@ CHECK: adr r0, #123 @ encoding: [0x7b,0x00,0x8f,0xe2] 131