blob: 6820f0275066671e14a538a0fe097cea23b785c4 [file] [log] [blame]
Jim Grosbach833c93c2010-11-01 16:59:54 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding %s | FileCheck %s
Daniel Dunbar345a9a62010-08-11 06:37:20 +00002
3@ CHECK: nop
Chris Lattner4e692ab2010-10-28 21:28:42 +00004@ CHECK: encoding: [0x00,0xf0,0x20,0xe3]
Daniel Dunbar345a9a62010-08-11 06:37:20 +00005 nop
6
7@ CHECK: nopeq
Chris Lattner4e692ab2010-10-28 21:28:42 +00008@ CHECK: encoding: [0x00,0xf0,0x20,0x03]
Daniel Dunbar345a9a62010-08-11 06:37:20 +00009 nopeq
10
Bill Wendlingaf2b5732010-11-21 11:05:29 +000011@ CHECK: trap
12@ CHECK: encoding: [0xfe,0xde,0xff,0xe7]
13 trap
14
Chris Lattner4e692ab2010-10-28 21:28:42 +000015@ CHECK: bx lr
16@ CHECK: encoding: [0x1e,0xff,0x2f,0xe1]
Bill Wendling5df0e0a2010-11-02 22:31:46 +000017 bx lr
Chris Lattner94074a52010-10-28 21:31:07 +000018
19@ CHECK: vqdmull.s32 q8, d17, d16
20@ CHECK: encoding: [0xa0,0x0d,0xe1,0xf2]
Bill Wendling5df0e0a2010-11-02 22:31:46 +000021 vqdmull.s32 q8, d17, d16
Bill Wendlinga295eb32010-11-16 01:38:20 +000022
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 Wendling50d0f582010-11-18 23:43:05 +000040
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 Enderby193c3ac2010-12-09 19:19:43 +000058
Kevin Enderby53ef1182010-12-15 01:24:36 +000059@ CHECK: and r1, r2, r3 @ encoding: [0x03,0x10,0x02,0xe0]
60 and r1,r2,r3
61
Daniel Dunbar352e1482011-01-11 15:59:50 +000062@ FIXME: This is wrong, we are dropping the 's' for now.
63@ CHECK-FIXME: ands r1, r2, r3 @ encoding: [0x03,0x10,0x12,0xe0]
Kevin Enderby53ef1182010-12-15 01:24:36 +000064 ands r1,r2,r3
65
66@ CHECK: eor r1, r2, r3 @ encoding: [0x03,0x10,0x22,0xe0]
67 eor r1,r2,r3
68
Daniel Dunbar352e1482011-01-11 15:59:50 +000069@ FIXME: This is wrong, we are dropping the 's' for now.
70@ CHECK-FIXME: eors r1, r2, r3 @ encoding: [0x03,0x10,0x32,0xe0]
Kevin Enderby53ef1182010-12-15 01:24:36 +000071 eors r1,r2,r3
72
73@ CHECK: sub r1, r2, r3 @ encoding: [0x03,0x10,0x42,0xe0]
74 sub r1,r2,r3
75
Daniel Dunbar352e1482011-01-11 15:59:50 +000076@ FIXME: This is wrong, we are dropping the 's' for now.
77@ CHECK-FIXME: subs r1, r2, r3 @ encoding: [0x03,0x10,0x52,0xe0]
Kevin Enderby53ef1182010-12-15 01:24:36 +000078 subs r1,r2,r3
79
80@ CHECK: add r1, r2, r3 @ encoding: [0x03,0x10,0x82,0xe0]
81 add r1,r2,r3
82
Daniel Dunbar352e1482011-01-11 15:59:50 +000083@ FIXME: This is wrong, we are dropping the 's' for now.
84@ CHECK-FIXME: adds r1, r2, r3 @ encoding: [0x03,0x10,0x92,0xe0]
Kevin Enderby53ef1182010-12-15 01:24:36 +000085 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 Dunbar352e1482011-01-11 15:59:50 +000096@ FIXME: This is wrong, we are dropping the 's' for now.
97@ CHECK-FIXME: orrs r1, r2, r3 @ encoding: [0x03,0x10,0x92,0xe1]
Kevin Enderby53ef1182010-12-15 01:24:36 +000098 orrs r1,r2,r3
99
100@ CHECK: bic r1, r2, r3 @ encoding: [0x03,0x10,0xc2,0xe1]
101 bic r1,r2,r3
102
Daniel Dunbar352e1482011-01-11 15:59:50 +0000103@ FIXME: This is wrong, we are dropping the 's' for now.
104@ CHECK-FIXME: bics r1, r2, r3 @ encoding: [0x03,0x10,0xd2,0xe1]
Kevin Enderby53ef1182010-12-15 01:24:36 +0000105 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 Dunbar352e1482011-01-11 15:59:50 +0000113@ FIXME: This is wrong, we are dropping the 's' for now.
114@ CHECK-FIXME: mvns r1, r2 @ encoding: [0x02,0x10,0xf0,0xe1]
Kevin Enderby53ef1182010-12-15 01:24:36 +0000115 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 Dunbar352e1482011-01-11 15:59:50 +0000123@ 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 Lopesa461d422011-01-18 20:45:56 +0000127
128@ CHECK: bfi r0, r0, #5, #7 @ encoding: [0x90,0x02,0xcb,0xe7]
129 bfi r0, r0, #5, #7
Bruno Cardoso Lopesfdcee772011-01-18 20:55:11 +0000130
131@ CHECK: bkpt #10 @ encoding: [0x7a,0x00,0x20,0xe1]
132 bkpt #10
Bruno Cardoso Lopes892fc6d2011-01-18 21:17:09 +0000133
134@ CHECK: isb @ encoding: [0x6f,0xf0,0x7f,0xf5]
135 isb