1 @ RUN
: llvm-mc
-mcpu
=cortex-a8
-triple arm-unknown-unknown
-show-encoding
< %s | FileCheck
%s
4 @ CHECK
: vshl.u8 d16
, d17
, d16 @ encoding
: [0xa1,0x04,0x40,0xf3]
6 @ CHECK
: vshl.u16 d16
, d17
, d16 @ encoding
: [0xa1,0x04,0x50,0xf3]
8 @ CHECK
: vshl.u32 d16
, d17
, d16 @ encoding
: [0xa1,0x04,0x60,0xf3]
10 @ CHECK
: vshl.u64 d16
, d17
, d16 @ encoding
: [0xa1,0x04,0x70,0xf3]
11 vshl.u64 d16
, d17
, d16
12 @ CHECK
: vshl.i8 d16
, d16
, #7 @ encoding: [0x30,0x05,0xcf,0xf2]
14 @ CHECK
: vshl.i16 d16
, d16
, #15 @ encoding: [0x30,0x05,0xdf,0xf2]
15 vshl.i16 d16
, d16
, #15
16 @ CHECK
: vshl.i32 d16
, d16
, #31 @ encoding: [0x30,0x05,0xff,0xf2]
17 vshl.i32 d16
, d16
, #31
18 @ CHECK
: vshl.i64 d16
, d16
, #63 @ encoding: [0xb0,0x05,0xff,0xf2]
19 vshl.i64 d16
, d16
, #63
20 @ CHECK
: vshl.u8 q8
, q9
, q8 @ encoding
: [0xe2,0x04,0x40,0xf3]
22 @ CHECK
: vshl.u16 q8
, q9
, q8 @ encoding
: [0xe2,0x04,0x50,0xf3]
24 @ CHECK
: vshl.u32 q8
, q9
, q8 @ encoding
: [0xe2,0x04,0x60,0xf3]
26 @ CHECK
: vshl.u64 q8
, q9
, q8 @ encoding
: [0xe2,0x04,0x70,0xf3]
28 @ CHECK
: vshl.i8 q8
, q8
, #7 @ encoding: [0x70,0x05,0xcf,0xf2]
30 @ CHECK
: vshl.i16 q8
, q8
, #15 @ encoding: [0x70,0x05,0xdf,0xf2]
32 @ CHECK
: vshl.i32 q8
, q8
, #31 @ encoding: [0x70,0x05,0xff,0xf2]
34 @ CHECK
: vshl.i64 q8
, q8
, #63 @ encoding: [0xf0,0x05,0xff,0xf2]
36 @ CHECK
: vshr.u8 d16
, d16
, #7 @ encoding: [0x30,0x00,0xc9,0xf3]
38 @ CHECK
: vshr.u16 d16
, d16
, #15 @ encoding: [0x30,0x00,0xd1,0xf3]
39 vshr.u16 d16
, d16
, #15
40 @ CHECK
: vshr.u32 d16
, d16
, #31 @ encoding: [0x30,0x00,0xe1,0xf3]
41 vshr.u32 d16
, d16
, #31
42 @ CHECK
: vshr.u64 d16
, d16
, #63 @ encoding: [0xb0,0x00,0xc1,0xf3]
43 vshr.u64 d16
, d16
, #63
44 @ CHECK
: vshr.u8 q8
, q8
, #7 @ encoding: [0x70,0x00,0xc9,0xf3]
46 @ CHECK
: vshr.u16 q8
, q8
, #15 @ encoding: [0x70,0x00,0xd1,0xf3]
48 @ CHECK
: vshr.u32 q8
, q8
, #31 @ encoding: [0x70,0x00,0xe1,0xf3]
50 @ CHECK
: vshr.u64 q8
, q8
, #63 @ encoding: [0xf0,0x00,0xc1,0xf3]
52 @ CHECK
: vshr.s8 d16
, d16
, #7 @ encoding: [0x30,0x00,0xc9,0xf2]
54 @ CHECK
: vshr.s16 d16
, d16
, #15 @ encoding: [0x30,0x00,0xd1,0xf2]
55 vshr.s16 d16
, d16
, #15
56 @ CHECK
: vshr.s32 d16
, d16
, #31 @ encoding: [0x30,0x00,0xe1,0xf2]
57 vshr.s32 d16
, d16
, #31
58 @ CHECK
: vshr.s64 d16
, d16
, #63 @ encoding: [0xb0,0x00,0xc1,0xf2]
59 vshr.s64 d16
, d16
, #63
60 @ CHECK
: vshr.s8 q8
, q8
, #7 @ encoding: [0x70,0x00,0xc9,0xf2]
62 @ CHECK
: vshr.s16 q8
, q8
, #15 @ encoding: [0x70,0x00,0xd1,0xf2]
64 @ CHECK
: vshr.s32 q8
, q8
, #31 @ encoding: [0x70,0x00,0xe1,0xf2]
66 @ CHECK
: vshr.s64 q8
, q8
, #63 @ encoding: [0xf0,0x00,0xc1,0xf2]
68 @ CHECK
: vsra.u8 d16
, d16
, #7 @ encoding: [0x30,0x01,0xc9,0xf3]
70 @ CHECK
: vsra.u16 d16
, d16
, #15 @ encoding: [0x30,0x01,0xd1,0xf3]
71 vsra.u16 d16
, d16
, #15
72 @ CHECK
: vsra.u32 d16
, d16
, #31 @ encoding: [0x30,0x01,0xe1,0xf3]
73 vsra.u32 d16
, d16
, #31
74 @ CHECK
: vsra.u64 d16
, d16
, #63 @ encoding: [0xb0,0x01,0xc1,0xf3]
75 vsra.u64 d16
, d16
, #63
76 @ CHECK
: vsra.u8 q8
, q8
, #7 @ encoding: [0x70,0x01,0xc9,0xf3]
78 @ CHECK
: vsra.u16 q8
, q8
, #15 @ encoding: [0x70,0x01,0xd1,0xf3]
80 @ CHECK
: vsra.u32 q8
, q8
, #31 @ encoding: [0x70,0x01,0xe1,0xf3]
82 @ CHECK
: vsra.u64 q8
, q8
, #63 @ encoding: [0xf0,0x01,0xc1,0xf3]
84 @ CHECK
: vsra.s8 d16
, d16
, #7 @ encoding: [0x30,0x01,0xc9,0xf2]
86 @ CHECK
: vsra.s16 d16
, d16
, #15 @ encoding: [0x30,0x01,0xd1,0xf2]
87 vsra.s16 d16
, d16
, #15
88 @ CHECK
: vsra.s32 d16
, d16
, #31 @ encoding: [0x30,0x01,0xe1,0xf2]
89 vsra.s32 d16
, d16
, #31
90 @ CHECK
: vsra.s64 d16
, d16
, #63 @ encoding: [0xb0,0x01,0xc1,0xf2]
91 vsra.s64 d16
, d16
, #63
92 @ CHECK
: vsra.s8 q8
, q8
, #7 @ encoding: [0x70,0x01,0xc9,0xf2]
94 @ CHECK
: vsra.s16 q8
, q8
, #15 @ encoding: [0x70,0x01,0xd1,0xf2]
96 @ CHECK
: vsra.s32 q8
, q8
, #31 @ encoding: [0x70,0x01,0xe1,0xf2]
98 @ CHECK
: vsra.s64 q8
, q8
, #63 @ encoding: [0xf0,0x01,0xc1,0xf2]
100 @ CHECK
: vsri.8 d16
, d16
, #7 @ encoding: [0x30,0x04,0xc9,0xf3]
102 @ CHECK
: vsri.16 d16
, d16
, #15 @ encoding: [0x30,0x04,0xd1,0xf3]
103 vsri.16 d16
, d16
, #15
104 @ CHECK
: vsri.32 d16
, d16
, #31 @ encoding: [0x30,0x04,0xe1,0xf3]
105 vsri.32 d16
, d16
, #31
106 @ CHECK
: vsri.64 d16
, d16
, #63 @ encoding: [0xb0,0x04,0xc1,0xf3]
107 vsri.64 d16
, d16
, #63
108 @ CHECK
: vsri.8 q8
, q8
, #7 @ encoding: [0x70,0x04,0xc9,0xf3]
110 @ CHECK
: vsri.16 q8
, q8
, #15 @ encoding: [0x70,0x04,0xd1,0xf3]
112 @ CHECK
: vsri.32 q8
, q8
, #31 @ encoding: [0x70,0x04,0xe1,0xf3]
114 @ CHECK
: vsri.64 q8
, q8
, #63 @ encoding: [0xf0,0x04,0xc1,0xf3]
116 @ CHECK
: vsli.8 d16
, d16
, #7 @ encoding: [0x30,0x05,0xcf,0xf3]
118 @ CHECK
: vsli.16 d16
, d16
, #15 @ encoding: [0x30,0x05,0xdf,0xf3]
119 vsli.16 d16
, d16
, #15
120 @ CHECK
: vsli.32 d16
, d16
, #31 @ encoding: [0x30,0x05,0xff,0xf3]
121 vsli.32 d16
, d16
, #31
122 @ CHECK
: vsli.64 d16
, d16
, #63 @ encoding: [0xb0,0x05,0xff,0xf3]
123 vsli.64 d16
, d16
, #63
124 @ CHECK
: vsli.8 q8
, q8
, #7 @ encoding: [0x70,0x05,0xcf,0xf3]
126 @ CHECK
: vsli.16 q8
, q8
, #15 @ encoding: [0x70,0x05,0xdf,0xf3]
128 @ CHECK
: vsli.32 q8
, q8
, #31 @ encoding: [0x70,0x05,0xff,0xf3]
130 @ CHECK
: vsli.64 q8
, q8
, #63 @ encoding: [0xf0,0x05,0xff,0xf3]
132 @ CHECK
: vshll.s8 q8
, d16
, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
134 @ CHECK
: vshll.s16 q8
, d16
, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
135 vshll.s16 q8
, d16
, #15
136 @ CHECK
: vshll.s32 q8
, d16
, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
137 vshll.s32 q8
, d16
, #31
138 @ CHECK
: vshll.u8 q8
, d16
, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
140 @ CHECK
: vshll.u16 q8
, d16
, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
141 vshll.u16 q8
, d16
, #15
142 @ CHECK
: vshll.u32 q8
, d16
, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
143 vshll.u32 q8
, d16
, #31
144 @ CHECK
: vshll.i8 q8
, d16
, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
146 @ CHECK
: vshll.i16 q8
, d16
, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
147 vshll.i16 q8
, d16
, #16
148 @ CHECK
: vshll.i32 q8
, d16
, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
149 vshll.i32 q8
, d16
, #32
150 @ CHECK
: vshrn.i16 d16
, q8
, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
151 vshrn.i16 d16
, q8
, #8
152 @ CHECK
: vshrn.i32 d16
, q8
, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
153 vshrn.i32 d16
, q8
, #16
154 @ CHECK
: vshrn.i64 d16
, q8
, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
155 vshrn.i64 d16
, q8
, #32
156 @ CHECK
: vrshl.s8 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x40,0xf2]
157 vrshl.s8 d16
, d17
, d16
158 @ CHECK
: vrshl.s16 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x50,0xf2]
159 vrshl.s16 d16
, d17
, d16
160 @ CHECK
: vrshl.s32 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x60,0xf2]
161 vrshl.s32 d16
, d17
, d16
162 @ CHECK
: vrshl.s64 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x70,0xf2]
163 vrshl.s64 d16
, d17
, d16
164 @ CHECK
: vrshl.u8 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x40,0xf3]
165 vrshl.u8 d16
, d17
, d16
166 @ CHECK
: vrshl.u16 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x50,0xf3]
167 vrshl.u16 d16
, d17
, d16
168 @ CHECK
: vrshl.u32 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x60,0xf3]
169 vrshl.u32 d16
, d17
, d16
170 @ CHECK
: vrshl.u64 d16
, d17
, d16 @ encoding
: [0xa1,0x05,0x70,0xf3]
171 vrshl.u64 d16
, d17
, d16
172 @ CHECK
: vrshl.s8 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x40,0xf2]
174 @ CHECK
: vrshl.s16 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x50,0xf2]
176 @ CHECK
: vrshl.s32 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x60,0xf2]
178 @ CHECK
: vrshl.s64 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x70,0xf2]
180 @ CHECK
: vrshl.u8 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x40,0xf3]
182 @ CHECK
: vrshl.u16 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x50,0xf3]
184 @ CHECK
: vrshl.u32 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x60,0xf3]
186 @ CHECK
: vrshl.u64 q8
, q9
, q8 @ encoding
: [0xe2,0x05,0x70,0xf3]
188 @ CHECK
: vrshr.s8 d16
, d16
, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
189 vrshr.s8 d16
, d16
, #8
190 @ CHECK
: vrshr.s16 d16
, d16
, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
191 vrshr.s16 d16
, d16
, #16
192 @ CHECK
: vrshr.s32 d16
, d16
, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
193 vrshr.s32 d16
, d16
, #32
194 @ CHECK
: vrshr.s64 d16
, d16
, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
195 vrshr.s64 d16
, d16
, #64
196 @ CHECK
: vrshr.u8 d16
, d16
, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
197 vrshr.u8 d16
, d16
, #8
198 @ CHECK
: vrshr.u16 d16
, d16
, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
199 vrshr.u16 d16
, d16
, #16
200 @ CHECK
: vrshr.u32 d16
, d16
, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
201 vrshr.u32 d16
, d16
, #32
202 @ CHECK
: vrshr.u64 d16
, d16
, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
203 vrshr.u64 d16
, d16
, #64
204 @ CHECK
: vrshr.s8 q8
, q8
, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
206 @ CHECK
: vrshr.s16 q8
, q8
, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
207 vrshr.s16 q8
, q8
, #16
208 @ CHECK
: vrshr.s32 q8
, q8
, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
209 vrshr.s32 q8
, q8
, #32
210 @ CHECK
: vrshr.s64 q8
, q8
, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
211 vrshr.s64 q8
, q8
, #64
212 @ CHECK
: vrshr.u8 q8
, q8
, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
214 @ CHECK
: vrshr.u16 q8
, q8
, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
215 vrshr.u16 q8
, q8
, #16
216 @ CHECK
: vrshr.u32 q8
, q8
, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
217 vrshr.u32 q8
, q8
, #32
218 @ CHECK
: vrshr.u64 q8
, q8
, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
219 vrshr.u64 q8
, q8
, #64
220 @ CHECK
: vrshrn.i16 d16
, q8
, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
221 vrshrn.i16 d16
, q8
, #8
222 @ CHECK
: vrshrn.i32 d16
, q8
, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
223 vrshrn.i32 d16
, q8
, #16
224 @ CHECK
: vrshrn.i64 d16
, q8
, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
225 vrshrn.i64 d16
, q8
, #32
226 @ CHECK
: vqrshrn.s16 d16
, q8
, #4 @ encoding: [0x70,0x09,0xcc,0xf2]
227 vqrshrn.s16 d16
, q8
, #4
228 @ CHECK
: vqrshrn.s32 d16
, q8
, #13 @ encoding: [0x70,0x09,0xd3,0xf2]
229 vqrshrn.s32 d16
, q8
, #13
230 @ CHECK
: vqrshrn.s64 d16
, q8
, #13 @ encoding: [0x70,0x09,0xf3,0xf2]
231 vqrshrn.s64 d16
, q8
, #13
232 @ CHECK
: vqrshrn.u16 d16
, q8
, #4 @ encoding: [0x70,0x09,0xcc,0xf3]
233 vqrshrn.u16 d16
, q8
, #4
234 @ CHECK
: vqrshrn.u32 d16
, q8
, #13 @ encoding: [0x70,0x09,0xd3,0xf3]
235 vqrshrn.u32 d16
, q8
, #13
236 @ CHECK
: vqrshrn.u64 d16
, q8
, #13 @ encoding: [0x70,0x09,0xf3,0xf3]
237 vqrshrn.u64 d16
, q8
, #13