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