1 @ RUN
: llvm-mc
-mcpu
=cortex-a8
-triple armv7-apple-darwin
-show-encoding
< %s | FileCheck
%s
4 @ CHECK
: vadd.i8 d16
, d17
, d16 @ encoding
: [0xa0,0x08,0x41,0xf2]
6 @ CHECK
: vadd.i16 d16
, d17
, d16 @ encoding
: [0xa0,0x08,0x51,0xf2]
8 @ CHECK
: vadd.i64 d16
, d17
, d16 @ encoding
: [0xa0,0x08,0x71,0xf2]
10 @ CHECK
: vadd.i32 d16
, d17
, d16 @ encoding
: [0xa0,0x08,0x61,0xf2]
11 vadd.i32 d16
, d17
, d16
12 @ CHECK
: vadd.f32 d16
, d16
, d17 @ encoding
: [0xa1,0x0d,0x40,0xf2]
13 vadd.f32 d16
, d16
, d17
14 @ CHECK
: vadd.f32 q8
, q8
, q9 @ encoding
: [0xe2,0x0d,0x40,0xf2]
17 @ CHECK
: vaddl.s8 q8
, d17
, d16 @ encoding
: [0xa0,0x00,0xc1,0xf2]
19 @ CHECK
: vaddl.s16 q8
, d17
, d16 @ encoding
: [0xa0,0x00,0xd1,0xf2]
20 vaddl.s16 q8
, d17
, d16
21 @ CHECK
: vaddl.s32 q8
, d17
, d16 @ encoding
: [0xa0,0x00,0xe1,0xf2]
22 vaddl.s32 q8
, d17
, d16
23 @ CHECK
: vaddl.u8 q8
, d17
, d16 @ encoding
: [0xa0,0x00,0xc1,0xf3]
25 @ CHECK
: vaddl.u16 q8
, d17
, d16 @ encoding
: [0xa0,0x00,0xd1,0xf3]
26 vaddl.u16 q8
, d17
, d16
27 @ CHECK
: vaddl.u32 q8
, d17
, d16 @ encoding
: [0xa0,0x00,0xe1,0xf3]
28 vaddl.u32 q8
, d17
, d16
30 @ CHECK
: vaddw.s8 q8
, q8
, d18 @ encoding
: [0xa2,0x01,0xc0,0xf2]
32 @ CHECK
: vaddw.s16 q8
, q8
, d18 @ encoding
: [0xa2,0x01,0xd0,0xf2]
34 @ CHECK
: vaddw.s32 q8
, q8
, d18 @ encoding
: [0xa2,0x01,0xe0,0xf2]
36 @ CHECK
: vaddw.u8 q8
, q8
, d18 @ encoding
: [0xa2,0x01,0xc0,0xf3]
38 @ CHECK
: vaddw.u16 q8
, q8
, d18 @ encoding
: [0xa2,0x01,0xd0,0xf3]
40 @ CHECK
: vaddw.u32 q8
, q8
, d18 @ encoding
: [0xa2,0x01,0xe0,0xf3]
43 @ CHECK
: vhadd.s8 d16
, d16
, d17 @ encoding
: [0xa1,0x00,0x40,0xf2]
44 vhadd.s8 d16
, d16
, d17
45 @ CHECK
: vhadd.s16 d16
, d16
, d17 @ encoding
: [0xa1,0x00,0x50,0xf2]
46 vhadd.s16 d16
, d16
, d17
47 @ CHECK
: vhadd.s32 d16
, d16
, d17 @ encoding
: [0xa1,0x00,0x60,0xf2]
48 vhadd.s32 d16
, d16
, d17
49 @ CHECK
: vhadd.u8 d16
, d16
, d17 @ encoding
: [0xa1,0x00,0x40,0xf3]
50 vhadd.u8 d16
, d16
, d17
51 @ CHECK
: vhadd.u16 d16
, d16
, d17 @ encoding
: [0xa1,0x00,0x50,0xf3]
52 vhadd.u16 d16
, d16
, d17
53 @ CHECK
: vhadd.u32 d16
, d16
, d17 @ encoding
: [0xa1,0x00,0x60,0xf3]
54 vhadd.u32 d16
, d16
, d17
55 @ CHECK
: vhadd.s8 q8
, q8
, q9 @ encoding
: [0xe2,0x00,0x40,0xf2]
57 @ CHECK
: vhadd.s16 q8
, q8
, q9 @ encoding
: [0xe2,0x00,0x50,0xf2]
59 @ CHECK
: vhadd.s32 q8
, q8
, q9 @ encoding
: [0xe2,0x00,0x60,0xf2]
61 @ CHECK
: vhadd.u8 q8
, q8
, q9 @ encoding
: [0xe2,0x00,0x40,0xf3]
63 @ CHECK
: vhadd.u16 q8
, q8
, q9 @ encoding
: [0xe2,0x00,0x50,0xf3]
65 @ CHECK
: vhadd.u32 q8
, q8
, q9 @ encoding
: [0xe2,0x00,0x60,0xf3]
82 @ CHECK
: vhadd.s8 d11
, d11
, d24 @ encoding
: [0x28,0xb0,0x0b,0xf2]
83 @ CHECK
: vhadd.s16 d12
, d12
, d23 @ encoding
: [0x27,0xc0,0x1c,0xf2]
84 @ CHECK
: vhadd.s32 d13
, d13
, d22 @ encoding
: [0x26,0xd0,0x2d,0xf2]
85 @ CHECK
: vhadd.u8 d14
, d14
, d21 @ encoding
: [0x25,0xe0,0x0e,0xf3]
86 @ CHECK
: vhadd.u16 d15
, d15
, d20 @ encoding
: [0x24,0xf0,0x1f,0xf3]
87 @ CHECK
: vhadd.u32 d16
, d16
, d19 @ encoding
: [0xa3,0x00,0x60,0xf3]
88 @ CHECK
: vhadd.s8 q1
, q1
, q12 @ encoding
: [0x68,0x20,0x02,0xf2]
89 @ CHECK
: vhadd.s16 q2
, q2
, q11 @ encoding
: [0x66,0x40,0x14,0xf2]
90 @ CHECK
: vhadd.s32 q3
, q3
, q10 @ encoding
: [0x64,0x60,0x26,0xf2]
91 @ CHECK
: vhadd.u8 q4
, q4
, q9 @ encoding
: [0x62,0x80,0x08,0xf3]
92 @ CHECK
: vhadd.u16 q5
, q5
, q8 @ encoding
: [0x60,0xa0,0x1a,0xf3]
93 @ CHECK
: vhadd.u32 q6
, q6
, q7 @ encoding
: [0x4e,0xc0,0x2c,0xf3]
95 vrhadd.s8 d16
, d16
, d17
96 vrhadd.s16 d16
, d16
, d17
97 vrhadd.s32 d16
, d16
, d17
98 vrhadd.u8 d16
, d16
, d17
99 vrhadd.u16 d16
, d16
, d17
100 vrhadd.u32 d16
, d16
, d17
102 vrhadd.s16 q8
, q8
, q9
103 vrhadd.s32 q8
, q8
, q9
105 vrhadd.u16 q8
, q8
, q9
106 vrhadd.u32 q8
, q8
, q9
121 @ CHECK
: vrhadd.s8 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x40,0xf2]
122 @ CHECK
: vrhadd.s16 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x50,0xf2]
123 @ CHECK
: vrhadd.s32 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x60,0xf2]
124 @ CHECK
: vrhadd.u8 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x40,0xf3]
125 @ CHECK
: vrhadd.u16 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x50,0xf3]
126 @ CHECK
: vrhadd.u32 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x60,0xf3]
127 @ CHECK
: vrhadd.s8 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x40,0xf2]
128 @ CHECK
: vrhadd.s16 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x50,0xf2]
129 @ CHECK
: vrhadd.s32 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x60,0xf2]
130 @ CHECK
: vrhadd.u8 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x40,0xf3]
131 @ CHECK
: vrhadd.u16 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x50,0xf3]
132 @ CHECK
: vrhadd.u32 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x60,0xf3]
134 @ CHECK
: vrhadd.s8 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x40,0xf2]
135 @ CHECK
: vrhadd.s16 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x50,0xf2]
136 @ CHECK
: vrhadd.s32 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x60,0xf2]
137 @ CHECK
: vrhadd.u8 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x40,0xf3]
138 @ CHECK
: vrhadd.u16 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x50,0xf3]
139 @ CHECK
: vrhadd.u32 d16
, d16
, d17 @ encoding
: [0xa1,0x01,0x60,0xf3]
140 @ CHECK
: vrhadd.s8 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x40,0xf2]
141 @ CHECK
: vrhadd.s16 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x50,0xf2]
142 @ CHECK
: vrhadd.s32 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x60,0xf2]
143 @ CHECK
: vrhadd.u8 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x40,0xf3]
144 @ CHECK
: vrhadd.u16 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x50,0xf3]
145 @ CHECK
: vrhadd.u32 q8
, q8
, q9 @ encoding
: [0xe2,0x01,0x60,0xf3]
148 vqadd.s8 d16
, d16
, d17
149 vqadd.s16 d16
, d16
, d17
150 vqadd.s32 d16
, d16
, d17
151 vqadd.s64 d16
, d16
, d17
152 vqadd.u8 d16
, d16
, d17
153 vqadd.u16 d16
, d16
, d17
154 vqadd.u32 d16
, d16
, d17
155 vqadd.u64 d16
, d16
, d17
157 @ CHECK
: vqadd.s8 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x40,0xf2]
158 @ CHECK
: vqadd.s16 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x50,0xf2]
159 @ CHECK
: vqadd.s32 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x60,0xf2]
160 @ CHECK
: vqadd.s64 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x70,0xf2]
161 @ CHECK
: vqadd.u8 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x40,0xf3]
162 @ CHECK
: vqadd.u16 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x50,0xf3]
163 @ CHECK
: vqadd.u32 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x60,0xf3]
164 @ CHECK
: vqadd.u64 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x70,0xf3]
175 @ CHECK
: vqadd.s8 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x40,0xf2]
176 @ CHECK
: vqadd.s16 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x50,0xf2]
177 @ CHECK
: vqadd.s32 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x60,0xf2]
178 @ CHECK
: vqadd.s64 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x70,0xf2]
179 @ CHECK
: vqadd.u8 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x40,0xf3]
180 @ CHECK
: vqadd.u16 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x50,0xf3]
181 @ CHECK
: vqadd.u32 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x60,0xf3]
182 @ CHECK
: vqadd.u64 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x70,0xf3]
185 @ two-operand variants.
195 @ CHECK
: vqadd.s8 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x40,0xf2]
196 @ CHECK
: vqadd.s16 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x50,0xf2]
197 @ CHECK
: vqadd.s32 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x60,0xf2]
198 @ CHECK
: vqadd.s64 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x70,0xf2]
199 @ CHECK
: vqadd.u8 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x40,0xf3]
200 @ CHECK
: vqadd.u16 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x50,0xf3]
201 @ CHECK
: vqadd.u32 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x60,0xf3]
202 @ CHECK
: vqadd.u64 d16
, d16
, d17 @ encoding
: [0xb1,0x00,0x70,0xf3]
213 @ CHECK
: vqadd.s8 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x40,0xf2]
214 @ CHECK
: vqadd.s16 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x50,0xf2]
215 @ CHECK
: vqadd.s32 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x60,0xf2]
216 @ CHECK
: vqadd.s64 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x70,0xf2]
217 @ CHECK
: vqadd.u8 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x40,0xf3]
218 @ CHECK
: vqadd.u16 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x50,0xf3]
219 @ CHECK
: vqadd.u32 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x60,0xf3]
220 @ CHECK
: vqadd.u64 q8
, q8
, q9 @ encoding
: [0xf2,0x00,0x70,0xf3]
223 @ CHECK
: vaddhn.i16 d16
, q8
, q9 @ encoding
: [0xa2,0x04,0xc0,0xf2]
224 vaddhn.i16 d16
, q8
, q9
225 @ CHECK
: vaddhn.i32 d16
, q8
, q9 @ encoding
: [0xa2,0x04,0xd0,0xf2]
226 vaddhn.i32 d16
, q8
, q9
227 @ CHECK
: vaddhn.i64 d16
, q8
, q9 @ encoding
: [0xa2,0x04,0xe0,0xf2]
228 vaddhn.i64 d16
, q8
, q9
229 @ CHECK
: vraddhn.i16 d16
, q8
, q9 @ encoding
: [0xa2,0x04,0xc0,0xf3]
230 vraddhn.i16 d16
, q8
, q9
231 @ CHECK
: vraddhn.i32 d16
, q8
, q9 @ encoding
: [0xa2,0x04,0xd0,0xf3]
232 vraddhn.i32 d16
, q8
, q9
233 @ CHECK
: vraddhn.i64 d16
, q8
, q9 @ encoding
: [0xa2,0x04,0xe0,0xf3]
234 vraddhn.i64 d16
, q8
, q9
237 @ Two-operand variants
249 @ CHECK
: vadd.i8 d6
, d6
, d5 @ encoding
: [0x05,0x68,0x06,0xf2]
250 @ CHECK
: vadd.i16 d7
, d7
, d1 @ encoding
: [0x01,0x78,0x17,0xf2]
251 @ CHECK
: vadd.i32 d8
, d8
, d2 @ encoding
: [0x02,0x88,0x28,0xf2]
252 @ CHECK
: vadd.i64 d9
, d9
, d3 @ encoding
: [0x03,0x98,0x39,0xf2]
254 @ CHECK
: vadd.i8 q6
, q6
, q5 @ encoding
: [0x4a,0xc8,0x0c,0xf2]
255 @ CHECK
: vadd.i16 q7
, q7
, q1 @ encoding
: [0x42,0xe8,0x1e,0xf2]
256 @ CHECK
: vadd.i32 q8
, q8
, q2 @ encoding
: [0xc4,0x08,0x60,0xf2]
257 @ CHECK
: vadd.i64 q9
, q9
, q3 @ encoding
: [0xc6,0x28,0x72,0xf2]
268 @ CHECK
: vaddw.s8 q6
, q6
, d5 @ encoding
: [0x05,0xc1,0x8c,0xf2]
269 @ CHECK
: vaddw.s16 q7
, q7
, d1 @ encoding
: [0x01,0xe1,0x9e,0xf2]
270 @ CHECK
: vaddw.s32 q8
, q8
, d2 @ encoding
: [0x82,0x01,0xe0,0xf2]
272 @ CHECK
: vaddw.u8 q6
, q6
, d5 @ encoding
: [0x05,0xc1,0x8c,0xf3]
273 @ CHECK
: vaddw.u16 q7
, q7
, d1 @ encoding
: [0x01,0xe1,0x9e,0xf3]
274 @ CHECK
: vaddw.u32 q8
, q8
, d2 @ encoding
: [0x82,0x01,0xe0,0xf3]