blob: e8c1dd634867184132c3d7c01789462108cec8b9 [file] [log] [blame]
Bob Wilsonc3ff5382010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Anderson7d23a782010-10-29 18:48:59 +00002
Owen Anderson7d23a782010-10-29 18:48:59 +00003 vand d16, d17, d16
Owen Anderson7d23a782010-10-29 18:48:59 +00004 vand q8, q8, q9
5
Jim Grosbach2d9eb702011-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 Anderson7d23a782010-10-29 18:48:59 +00009 veor d16, d17, d16
Owen Anderson7d23a782010-10-29 18:48:59 +000010 veor q8, q8, q9
11
Jim Grosbach2d9eb702011-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 Anderson7d23a782010-10-29 18:48:59 +000015 vorr d16, d17, d16
Owen Anderson7d23a782010-10-29 18:48:59 +000016 vorr q8, q8, q9
Jim Grosbach83e84fa2011-10-04 18:43:15 +000017
Jim Grosbach2d9eb702011-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 Grosbach4e5c7642011-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 Grosbach2d9eb702011-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 Grosbach28b0b722012-05-02 21:11:56 +000033 vbic q10, q11
34 vbic d9, d1
Owen Anderson7d23a782010-10-29 18:48:59 +000035
Owen Andersoncd9da222010-11-01 18:33:37 +000036@ CHECK: vbic d16, d17, d16 @ encoding: [0xb0,0x01,0x51,0xf2]
Owen Andersoncd9da222010-11-01 18:33:37 +000037@ CHECK: vbic q8, q8, q9 @ encoding: [0xf2,0x01,0x50,0xf2]
Benjamin Kramer69d57cf2011-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 Grosbach28b0b722012-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 Anderson7d23a782010-10-29 18:48:59 +000043
Owen Anderson7d23a782010-10-29 18:48:59 +000044 vorn d16, d17, d16
Owen Anderson7d23a782010-10-29 18:48:59 +000045 vorn q8, q8, q9
46
Jim Grosbach2d9eb702011-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 Anderson7d23a782010-10-29 18:48:59 +000050 vmvn d16, d16
Owen Anderson7d23a782010-10-29 18:48:59 +000051 vmvn q8, q8
52
Jim Grosbach2d9eb702011-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 Anderson7d23a782010-10-29 18:48:59 +000056 vbsl d18, d17, d16
Owen Anderson7d23a782010-10-29 18:48:59 +000057 vbsl q8, q10, q9
Jim Grosbach2d9eb702011-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 Grosbach3d6c0e02011-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 Grosbach90d96122011-12-07 23:08:12 +0000238
239@ Two-operand aliases
Jim Grosbach2937df42012-04-20 18:12:54 +0000240 vand q6, q5
Jim Grosbach90d96122011-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 Grosbach2937df42012-04-20 18:12:54 +0000246 veor q6, q5
Jim Grosbach90d96122011-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 Grosbach2937df42012-04-20 18:12:54 +0000252 veor q6, q5
Jim Grosbach90d96122011-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 Grosbach2937df42012-04-20 18:12:54 +0000259@ CHECK: vand q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf2]
Jim Grosbach90d96122011-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 Grosbach2937df42012-04-20 18:12:54 +0000265@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
Jim Grosbach90d96122011-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 Grosbach2937df42012-04-20 18:12:54 +0000271@ CHECK: veor q6, q6, q5 @ encoding: [0x5a,0xc1,0x0c,0xf3]
Jim Grosbach90d96122011-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]