blob: 2ce9bccf6727b1d497562c16d4054d274e20e727 [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
Owen Anderson7af3f382010-10-29 18:48:59 +000033
Owen Anderson95b97662010-11-01 18:33:37 +000034@ CHECK: vbic d16, d17, d16 @ encoding: [0xb0,0x01,0x51,0xf2]
Owen Anderson95b97662010-11-01 18:33:37 +000035@ CHECK: vbic q8, q8, q9 @ encoding: [0xf2,0x01,0x50,0xf2]
Benjamin Kramer70be28a2011-11-07 21:00:59 +000036@ CHECK: vbic.i32 d16, #0xff000000 @ encoding: [0x3f,0x07,0xc7,0xf3]
37@ CHECK: vbic.i32 q8, #0xff000000 @ encoding: [0x7f,0x07,0xc7,0xf3]
Owen Anderson7af3f382010-10-29 18:48:59 +000038
Owen Anderson7af3f382010-10-29 18:48:59 +000039 vorn d16, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000040 vorn q8, q8, q9
41
Jim Grosbach36db6fb2011-10-04 17:49:45 +000042@ CHECK: vorn d16, d17, d16 @ encoding: [0xb0,0x01,0x71,0xf2]
43@ CHECK: vorn q8, q8, q9 @ encoding: [0xf2,0x01,0x70,0xf2]
44
Owen Anderson7af3f382010-10-29 18:48:59 +000045 vmvn d16, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000046 vmvn q8, q8
47
Jim Grosbach36db6fb2011-10-04 17:49:45 +000048@ CHECK: vmvn d16, d16 @ encoding: [0xa0,0x05,0xf0,0xf3]
49@ CHECK: vmvn q8, q8 @ encoding: [0xe0,0x05,0xf0,0xf3]
50
Owen Anderson7af3f382010-10-29 18:48:59 +000051 vbsl d18, d17, d16
Owen Anderson7af3f382010-10-29 18:48:59 +000052 vbsl q8, q10, q9
Jim Grosbach36db6fb2011-10-04 17:49:45 +000053
54@ CHECK: vbsl d18, d17, d16 @ encoding: [0xb0,0x21,0x51,0xf3]
55@ CHECK: vbsl q8, q10, q9 @ encoding: [0xf2,0x01,0x54,0xf3]
Jim Grosbachef448762011-11-14 23:11:19 +000056
57
58@ Size suffices are optional.
59 veor q4, q7, q3
60 veor.8 q4, q7, q3
61 veor.16 q4, q7, q3
62 veor.32 q4, q7, q3
63 veor.64 q4, q7, q3
64
65 veor.i8 q4, q7, q3
66 veor.i16 q4, q7, q3
67 veor.i32 q4, q7, q3
68 veor.i64 q4, q7, q3
69
70 veor.s8 q4, q7, q3
71 veor.s16 q4, q7, q3
72 veor.s32 q4, q7, q3
73 veor.s64 q4, q7, q3
74
75 veor.u8 q4, q7, q3
76 veor.u16 q4, q7, q3
77 veor.u32 q4, q7, q3
78 veor.u64 q4, q7, q3
79
80 veor.p8 q4, q7, q3
81 veor.p16 q4, q7, q3
82 veor.f32 q4, q7, q3
83 veor.f64 q4, q7, q3
84
85 veor.f q4, q7, q3
86 veor.d q4, q7, q3
87
88@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
89@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
90@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
91@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
92@ CHECK: veor q4, q7, q3 @ encoding: [0x56,0x81,0x0e,0xf3]
93
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
117
118 vand d4, d7, d3
119 vand.8 d4, d7, d3
120 vand.16 d4, d7, d3
121 vand.32 d4, d7, d3
122 vand.64 d4, d7, d3
123
124 vand.i8 d4, d7, d3
125 vand.i16 d4, d7, d3
126 vand.i32 d4, d7, d3
127 vand.i64 d4, d7, d3
128
129 vand.s8 d4, d7, d3
130 vand.s16 d4, d7, d3
131 vand.s32 d4, d7, d3
132 vand.s64 d4, d7, d3
133
134 vand.u8 d4, d7, d3
135 vand.u16 d4, d7, d3
136 vand.u32 d4, d7, d3
137 vand.u64 d4, d7, d3
138
139 vand.p8 d4, d7, d3
140 vand.p16 d4, d7, d3
141 vand.f32 d4, d7, d3
142 vand.f64 d4, d7, d3
143
144 vand.f d4, d7, d3
145 vand.d d4, d7, d3
146
147@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
148@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
149@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
150@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
151@ CHECK: vand d4, d7, d3 @ encoding: [0x13,0x41,0x07,0xf2]
152
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
176 vorr d4, d7, d3
177 vorr.8 d4, d7, d3
178 vorr.16 d4, d7, d3
179 vorr.32 d4, d7, d3
180 vorr.64 d4, d7, d3
181
182 vorr.i8 d4, d7, d3
183 vorr.i16 d4, d7, d3
184 vorr.i32 d4, d7, d3
185 vorr.i64 d4, d7, d3
186
187 vorr.s8 d4, d7, d3
188 vorr.s16 d4, d7, d3
189 vorr.s32 q4, q7, q3
190 vorr.s64 q4, q7, q3
191
192 vorr.u8 q4, q7, q3
193 vorr.u16 q4, q7, q3
194 vorr.u32 q4, q7, q3
195 vorr.u64 q4, q7, q3
196
197 vorr.p8 q4, q7, q3
198 vorr.p16 q4, q7, q3
199 vorr.f32 q4, q7, q3
200 vorr.f64 q4, q7, q3
201
202 vorr.f q4, q7, q3
203 vorr.d q4, q7, q3
204
205@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
206@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
207@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
208@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
209@ CHECK: vorr d4, d7, d3 @ encoding: [0x13,0x41,0x27,0xf2]
210
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 q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
219@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
220
221@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,0xf2]
222@ CHECK: vorr q4, q7, q3 @ encoding: [0x56,0x81,0x2e,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]
Jim Grosbach9fa0a742011-12-07 23:08:12 +0000233
234@ Two-operand aliases
235 vand.s8 q6, q5
236 vand.s16 q7, q1
237 vand.s32 q8, q2
238 vand.f64 q8, q2
239
240 veor.8 q6, q5
241 veor.p16 q7, q1
242 veor.u32 q8, q2
243 veor.d q8, q2
244
245 veor.i8 q6, q5
246 veor.16 q7, q1
247 veor.f q8, q2
248 veor.i64 q8, q2
249
250@ CHECK: vand q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf2]
251@ CHECK: vand q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf2]
252@ CHECK: vand q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf2]
253@ CHECK: vand q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf2]
254
255@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
256@ CHECK: veor q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf3]
257@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
258@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
259
260@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
261@ CHECK: veor q7, q7, q1 @ encoding: [0x52,0xe1,0x0e,0xf3]
262@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]
263@ CHECK: veor q8, q8, q2 @ encoding: [0xd4,0x01,0x40,0xf3]