blob: e8c1dd634867184132c3d7c01789462108cec8b9 [file] [log] [blame]
Bob Wilson8d1b7e52010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Anderson7af3f382010-10-29 18:48:59 +00002
Owen Anderson7af3f382010-10-29 18:48:59 +00003 vand d16, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +00004 vand q8, q8, q9
5
Jim Grosbach36db6fb2011-10-04 17:49:45 +00006@ CHECK: vand d16, d17, d16 @ encoding: [0xb0,0x01,0x41,0xf2]
7@ CHECK: vand q8, q8, q9 @ encoding: [0xf2,0x01,0x40,0xf2]
8
Owen Anderson7af3f382010-10-29 18:48:59 +00009 veor d16, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000010 veor q8, q8, q9
11
Jim Grosbach36db6fb2011-10-04 17:49:45 +000012@ CHECK: veor d16, d17, d16 @ encoding: [0xb0,0x01,0x41,0xf3]
13@ CHECK: veor q8, q8, q9 @ encoding: [0xf2,0x01,0x40,0xf3]
14
Owen Anderson7af3f382010-10-29 18:48:59 +000015 vorr d16, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000016 vorr q8, q8, q9
Jim Grosbacha02dfe72011-10-04 18:43:15 +000017
Jim Grosbach36db6fb2011-10-04 17:49:45 +000018@ CHECK: vorr d16, d17, d16 @ encoding: [0xb0,0x01,0x61,0xf2]
19@ CHECK: vorr q8, q8, q9 @ encoding: [0xf2,0x01,0x60,0xf2]
20
21 vorr.i32 d16, #0x1000000
22 vorr.i32 q8, #0x1000000
23 vorr.i32 q8, #0x0
24
Jim Grosbach0487e452011-10-18 20:20:51 +000025@ CHECK: vorr.i32 d16, #0x1000000 @ encoding: [0x11,0x07,0xc0,0xf2]
26@ CHECK: vorr.i32 q8, #0x1000000 @ encoding: [0x51,0x07,0xc0,0xf2]
27@ CHECK: vorr.i32 q8, #0x0 @ encoding: [0x50,0x01,0xc0,0xf2]
Jim Grosbach36db6fb2011-10-04 17:49:45 +000028
29 vbic d16, d17, d16
30 vbic q8, q8, q9
31 vbic.i32 d16, #0xFF000000
32 vbic.i32 q8, #0xFF000000
Jim Grosbach27279302012-05-02 21:11:56 +000033 vbic q10, q11
34 vbic d9, d1
Owen Anderson7af3f382010-10-29 18:48:59 +000035
Owen Anderson95b97662010-11-01 18:33:37 +000036@ CHECK: vbic d16, d17, d16 @ encoding: [0xb0,0x01,0x51,0xf2]
Owen Anderson95b97662010-11-01 18:33:37 +000037@ CHECK: vbic q8, q8, q9 @ encoding: [0xf2,0x01,0x50,0xf2]
Benjamin Kramer70be28a2011-11-07 21:00:59 +000038@ CHECK: vbic.i32 d16, #0xff000000 @ encoding: [0x3f,0x07,0xc7,0xf3]
39@ CHECK: vbic.i32 q8, #0xff000000 @ encoding: [0x7f,0x07,0xc7,0xf3]
Jim Grosbach27279302012-05-02 21:11:56 +000040@ CHECK: vbic q10, q10, q11 @ encoding: [0xf6,0x41,0x54,0xf2]
41@ CHECK: vbic d9, d9, d1 @ encoding: [0x11,0x91,0x19,0xf2]
42
Owen Anderson7af3f382010-10-29 18:48:59 +000043
Owen Anderson7af3f382010-10-29 18:48:59 +000044 vorn d16, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000045 vorn q8, q8, q9
46
Jim Grosbach36db6fb2011-10-04 17:49:45 +000047@ CHECK: vorn d16, d17, d16 @ encoding: [0xb0,0x01,0x71,0xf2]
48@ CHECK: vorn q8, q8, q9 @ encoding: [0xf2,0x01,0x70,0xf2]
49
Owen Anderson7af3f382010-10-29 18:48:59 +000050 vmvn d16, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000051 vmvn q8, q8
52
Jim Grosbach36db6fb2011-10-04 17:49:45 +000053@ CHECK: vmvn d16, d16 @ encoding: [0xa0,0x05,0xf0,0xf3]
54@ CHECK: vmvn q8, q8 @ encoding: [0xe0,0x05,0xf0,0xf3]
55
Owen Anderson7af3f382010-10-29 18:48:59 +000056 vbsl d18, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000057 vbsl q8, q10, q9
Jim Grosbach36db6fb2011-10-04 17:49:45 +000058
59@ CHECK: vbsl d18, d17, d16 @ encoding: [0xb0,0x21,0x51,0xf3]
60@ CHECK: vbsl q8, q10, q9 @ encoding: [0xf2,0x01,0x54,0xf3]
Jim Grosbachef448762011-11-14 23:11:19 +000061
62
63@ Size suffices are optional.
64 veor q4, q7, q3
65 veor.8 q4, q7, q3
66 veor.16 q4, q7, q3
67 veor.32 q4, q7, q3
68 veor.64 q4, q7, q3
69
70 veor.i8 q4, q7, q3
71 veor.i16 q4, q7, q3
72 veor.i32 q4, q7, q3
73 veor.i64 q4, q7, q3
74
75 veor.s8 q4, q7, q3
76 veor.s16 q4, q7, q3
77 veor.s32 q4, q7, q3
78 veor.s64 q4, q7, q3
79
80 veor.u8 q4, q7, q3
81 veor.u16 q4, q7, q3
82 veor.u32 q4, q7, q3
83 veor.u64 q4, q7, q3
84
85 veor.p8 q4, q7, q3
86 veor.p16 q4, q7, q3
87 veor.f32 q4, q7, q3
88 veor.f64 q4, q7, q3
89
90 veor.f q4, q7, q3
91 veor.d q4, q7, q3
92
93@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
94@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
95@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
96@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
97@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
98
99@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
100@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
101@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
102@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
103
104@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
105@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
106@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
107@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
108
109@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
110@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
111@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
112@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
113
114@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
115@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
116@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
117@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
118
119@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
120@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
121
122
123 vand d4, d7, d3
124 vand.8 d4, d7, d3
125 vand.16 d4, d7, d3
126 vand.32 d4, d7, d3
127 vand.64 d4, d7, d3
128
129 vand.i8 d4, d7, d3
130 vand.i16 d4, d7, d3
131 vand.i32 d4, d7, d3
132 vand.i64 d4, d7, d3
133
134 vand.s8 d4, d7, d3
135 vand.s16 d4, d7, d3
136 vand.s32 d4, d7, d3
137 vand.s64 d4, d7, d3
138
139 vand.u8 d4, d7, d3
140 vand.u16 d4, d7, d3
141 vand.u32 d4, d7, d3
142 vand.u64 d4, d7, d3
143
144 vand.p8 d4, d7, d3
145 vand.p16 d4, d7, d3
146 vand.f32 d4, d7, d3
147 vand.f64 d4, d7, d3
148
149 vand.f d4, d7, d3
150 vand.d d4, d7, d3
151
152@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
153@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
154@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
155@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
156@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
157
158@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
159@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
160@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
161@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
162
163@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
164@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
165@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
166@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
167
168@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
169@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
170@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
171@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
172
173@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
174@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
175@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
176@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
177
178@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
179@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
180
181 vorr d4, d7, d3
182 vorr.8 d4, d7, d3
183 vorr.16 d4, d7, d3
184 vorr.32 d4, d7, d3
185 vorr.64 d4, d7, d3
186
187 vorr.i8 d4, d7, d3
188 vorr.i16 d4, d7, d3
189 vorr.i32 d4, d7, d3
190 vorr.i64 d4, d7, d3
191
192 vorr.s8 d4, d7, d3
193 vorr.s16 d4, d7, d3
194 vorr.s32 q4, q7, q3
195 vorr.s64 q4, q7, q3
196
197 vorr.u8 q4, q7, q3
198 vorr.u16 q4, q7, q3
199 vorr.u32 q4, q7, q3
200 vorr.u64 q4, q7, q3
201
202 vorr.p8 q4, q7, q3
203 vorr.p16 q4, q7, q3
204 vorr.f32 q4, q7, q3
205 vorr.f64 q4, q7, q3
206
207 vorr.f q4, q7, q3
208 vorr.d q4, q7, q3
209
210@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
211@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
212@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
213@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
214@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
215
216@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
217@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
218@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
219@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
220
221@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
222@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
223@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
224@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
225
226@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
227@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
228@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
229@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
230
231@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
232@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
233@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
234@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
235
236@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
237@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000238
239@ Two-operand aliases
Jim Grosbachd8b3ed82012-04-20 18:12:54 +0000240 vand q6, q5
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000241 vand.s8 q6, q5
242 vand.s16 q7, q1
243 vand.s32 q8, q2
244 vand.f64 q8, q2
245
Jim Grosbachd8b3ed82012-04-20 18:12:54 +0000246 veor q6, q5
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000247 veor.8 q6, q5
248 veor.p16 q7, q1
249 veor.u32 q8, q2
250 veor.d q8, q2
251
Jim Grosbachd8b3ed82012-04-20 18:12:54 +0000252 veor q6, q5
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000253 veor.i8 q6, q5
254 veor.16 q7, q1
255 veor.f q8, q2
256 veor.i64 q8, q2
257
258@ CHECK: vand q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf2]
Jim Grosbachd8b3ed82012-04-20 18:12:54 +0000259@ CHECK: vand q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf2]
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000260@ CHECK: vand q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf2]
261@ CHECK: vand q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf2]
262@ CHECK: vand q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf2]
263
264@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
Jim Grosbachd8b3ed82012-04-20 18:12:54 +0000265@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000266@ CHECK: veor q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf3]
267@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
268@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
269
270@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
Jim Grosbachd8b3ed82012-04-20 18:12:54 +0000271@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000272@ CHECK: veor q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf3]
273@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
274@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]