Jim Grosbach | 833c93c | 2010-11-01 16:59:54 +0000 | [diff] [blame] | 1 | @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding %s | FileCheck %s |
Daniel Dunbar | 345a9a6 | 2010-08-11 06:37:20 +0000 | [diff] [blame] | 2 | |
| 3 | @ CHECK: nop |
Chris Lattner | 4e692ab | 2010-10-28 21:28:42 +0000 | [diff] [blame] | 4 | @ CHECK: encoding: [0x00,0xf0,0x20,0xe3] |
Daniel Dunbar | 345a9a6 | 2010-08-11 06:37:20 +0000 | [diff] [blame] | 5 | nop |
| 6 | |
| 7 | @ CHECK: nopeq |
Chris Lattner | 4e692ab | 2010-10-28 21:28:42 +0000 | [diff] [blame] | 8 | @ CHECK: encoding: [0x00,0xf0,0x20,0x03] |
Daniel Dunbar | 345a9a6 | 2010-08-11 06:37:20 +0000 | [diff] [blame] | 9 | nopeq |
| 10 | |
Bill Wendling | af2b573 | 2010-11-21 11:05:29 +0000 | [diff] [blame] | 11 | @ CHECK: trap |
| 12 | @ CHECK: encoding: [0xfe,0xde,0xff,0xe7] |
| 13 | trap |
| 14 | |
Chris Lattner | 4e692ab | 2010-10-28 21:28:42 +0000 | [diff] [blame] | 15 | @ CHECK: bx lr |
| 16 | @ CHECK: encoding: [0x1e,0xff,0x2f,0xe1] |
Bill Wendling | 5df0e0a | 2010-11-02 22:31:46 +0000 | [diff] [blame] | 17 | bx lr |
Chris Lattner | 94074a5 | 2010-10-28 21:31:07 +0000 | [diff] [blame] | 18 | |
| 19 | @ CHECK: vqdmull.s32 q8, d17, d16 |
| 20 | @ CHECK: encoding: [0xa0,0x0d,0xe1,0xf2] |
Bill Wendling | 5df0e0a | 2010-11-02 22:31:46 +0000 | [diff] [blame] | 21 | vqdmull.s32 q8, d17, d16 |
Bill Wendling | a295eb3 | 2010-11-16 01:38:20 +0000 | [diff] [blame] | 22 | |
| 23 | @ CHECK: ldmia r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe8] |
| 24 | @ CHECK: ldmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x92,0xe9] |
| 25 | @ CHECK: ldmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe8] |
| 26 | @ CHECK: ldmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x12,0xe9] |
| 27 | ldmia r2, {r1,r3-r6,sp} |
| 28 | ldmib r2, {r1,r3-r6,sp} |
| 29 | ldmda r2, {r1,r3-r6,sp} |
| 30 | ldmdb r2, {r1,r3-r6,sp} |
| 31 | |
| 32 | @ CHECK: stmia r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe8] |
| 33 | @ CHECK: stmib r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x82,0xe9] |
| 34 | @ CHECK: stmda r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x02,0xe8] |
| 35 | @ CHECK: stmdb r2, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x02,0xe9] |
| 36 | stmia r2, {r1,r3-r6,sp} |
| 37 | stmib r2, {r1,r3-r6,sp} |
| 38 | stmda r2, {r1,r3-r6,sp} |
| 39 | stmdb r2, {r1,r3-r6,sp} |
Bill Wendling | 50d0f58 | 2010-11-18 23:43:05 +0000 | [diff] [blame] | 40 | |
| 41 | @ CHECK: ldmia r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe8] |
| 42 | @ CHECK: ldmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xb2,0xe9] |
| 43 | @ CHECK: ldmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe8] |
| 44 | @ CHECK: ldmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x32,0xe9] |
| 45 | ldmia r2!, {r1,r3-r6,sp} |
| 46 | ldmib r2!, {r1,r3-r6,sp} |
| 47 | ldmda r2!, {r1,r3-r6,sp} |
| 48 | ldmdb r2!, {r1,r3-r6,sp} |
| 49 | |
| 50 | @ CHECK: stmia r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa2,0xe8] |
| 51 | @ CHECK: stmib r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0xa2,0xe9] |
| 52 | @ CHECK: stmda r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x22,0xe8] |
| 53 | @ CHECK: stmdb r2!, {r1, r3, r4, r5, r6, sp} @ encoding: [0x7a,0x20,0x22,0xe9] |
| 54 | stmia r2!, {r1,r3-r6,sp} |
| 55 | stmib r2!, {r1,r3-r6,sp} |
| 56 | stmda r2!, {r1,r3-r6,sp} |
| 57 | stmdb r2!, {r1,r3-r6,sp} |
Kevin Enderby | 193c3ac | 2010-12-09 19:19:43 +0000 | [diff] [blame] | 58 | |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 59 | @ CHECK: and r1, r2, r3 @ encoding: [0x03,0x10,0x02,0xe0] |
| 60 | and r1,r2,r3 |
| 61 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 62 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 63 | @ CHECK-FIXME: ands r1, r2, r3 @ encoding: [0x03,0x10,0x12,0xe0] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 64 | ands r1,r2,r3 |
| 65 | |
| 66 | @ CHECK: eor r1, r2, r3 @ encoding: [0x03,0x10,0x22,0xe0] |
| 67 | eor r1,r2,r3 |
| 68 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 69 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 70 | @ CHECK-FIXME: eors r1, r2, r3 @ encoding: [0x03,0x10,0x32,0xe0] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 71 | eors r1,r2,r3 |
| 72 | |
| 73 | @ CHECK: sub r1, r2, r3 @ encoding: [0x03,0x10,0x42,0xe0] |
| 74 | sub r1,r2,r3 |
| 75 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 76 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 77 | @ CHECK-FIXME: subs r1, r2, r3 @ encoding: [0x03,0x10,0x52,0xe0] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 78 | subs r1,r2,r3 |
| 79 | |
| 80 | @ CHECK: add r1, r2, r3 @ encoding: [0x03,0x10,0x82,0xe0] |
| 81 | add r1,r2,r3 |
| 82 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 83 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 84 | @ CHECK-FIXME: adds r1, r2, r3 @ encoding: [0x03,0x10,0x92,0xe0] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 85 | adds r1,r2,r3 |
| 86 | |
| 87 | @ CHECK: adc r1, r2, r3 @ encoding: [0x03,0x10,0xa2,0xe0] |
| 88 | adc r1,r2,r3 |
| 89 | |
| 90 | @ CHECK: sbc r1, r2, r3 @ encoding: [0x03,0x10,0xc2,0xe0] |
| 91 | sbc r1,r2,r3 |
| 92 | |
| 93 | @ CHECK: orr r1, r2, r3 @ encoding: [0x03,0x10,0x82,0xe1] |
| 94 | orr r1,r2,r3 |
| 95 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 96 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 97 | @ CHECK-FIXME: orrs r1, r2, r3 @ encoding: [0x03,0x10,0x92,0xe1] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 98 | orrs r1,r2,r3 |
| 99 | |
| 100 | @ CHECK: bic r1, r2, r3 @ encoding: [0x03,0x10,0xc2,0xe1] |
| 101 | bic r1,r2,r3 |
| 102 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 103 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 104 | @ CHECK-FIXME: bics r1, r2, r3 @ encoding: [0x03,0x10,0xd2,0xe1] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 105 | bics r1,r2,r3 |
| 106 | |
| 107 | @ CHECK: mov r1, r2 @ encoding: [0x02,0x10,0xa0,0xe1] |
| 108 | mov r1,r2 |
| 109 | |
| 110 | @ CHECK: mvn r1, r2 @ encoding: [0x02,0x10,0xe0,0xe1] |
| 111 | mvn r1,r2 |
| 112 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 113 | @ FIXME: This is wrong, we are dropping the 's' for now. |
| 114 | @ CHECK-FIXME: mvns r1, r2 @ encoding: [0x02,0x10,0xf0,0xe1] |
Kevin Enderby | 53ef118 | 2010-12-15 01:24:36 +0000 | [diff] [blame] | 115 | mvns r1,r2 |
| 116 | |
| 117 | @ CHECK: rsb r1, r2, r3 @ encoding: [0x03,0x10,0x62,0xe0] |
| 118 | rsb r1,r2,r3 |
| 119 | |
| 120 | @ CHECK: rsc r1, r2, r3 @ encoding: [0x03,0x10,0xe2,0xe0] |
| 121 | rsc r1,r2,r3 |
| 122 | |
Daniel Dunbar | 352e148 | 2011-01-11 15:59:50 +0000 | [diff] [blame] | 123 | @ FIXME: This is broken, CCOut operands don't work correctly when their presence |
| 124 | @ may depend on flags. |
| 125 | @ CHECK-FIXME:: mlas r1, r2, r3, r4 @ encoding: [0x92,0x43,0x31,0xe0] |
| 126 | @ mlas r1,r2,r3,r4 |
Bruno Cardoso Lopes | a461d42 | 2011-01-18 20:45:56 +0000 | [diff] [blame] | 127 | |
| 128 | @ CHECK: bfi r0, r0, #5, #7 @ encoding: [0x90,0x02,0xcb,0xe7] |
| 129 | bfi r0, r0, #5, #7 |
Bruno Cardoso Lopes | fdcee77 | 2011-01-18 20:55:11 +0000 | [diff] [blame] | 130 | |
| 131 | @ CHECK: bkpt #10 @ encoding: [0x7a,0x00,0x20,0xe1] |
| 132 | bkpt #10 |
Bruno Cardoso Lopes | 892fc6d | 2011-01-18 21:17:09 +0000 | [diff] [blame^] | 133 | |
| 134 | @ CHECK: isb @ encoding: [0x6f,0xf0,0x7f,0xf5] |
| 135 | isb |