1@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
2
3.code 16
4
5@ CHECK: vadd.i8	d16, d17, d16           @ encoding: [0x41,0xef,0xa0,0x08]
6	vadd.i8	d16, d17, d16
7@ CHECK: vadd.i16	d16, d17, d16   @ encoding: [0x51,0xef,0xa0,0x08]
8	vadd.i16	d16, d17, d16
9@ CHECK: vadd.i64	d16, d17, d16   @ encoding: [0x71,0xef,0xa0,0x08]
10	vadd.i64	d16, d17, d16
11@ CHECK: vadd.i32	d16, d17, d16   @ encoding: [0x61,0xef,0xa0,0x08]
12	vadd.i32	d16, d17, d16
13@ CHECK: vadd.f32	d16, d16, d17   @ encoding: [0x40,0xef,0xa1,0x0d]
14	vadd.f32	d16, d16, d17
15@ CHECK: vadd.f32	q8, q8, q9      @ encoding: [0x40,0xef,0xe2,0x0d]
16	vadd.f32	q8, q8, q9
17
18@ CHECK: vaddl.s8	q8, d17, d16    @ encoding: [0xc1,0xef,0xa0,0x00]
19	vaddl.s8	q8, d17, d16
20@ CHECK: vaddl.s16	q8, d17, d16    @ encoding: [0xd1,0xef,0xa0,0x00]
21	vaddl.s16	q8, d17, d16
22@ CHECK: vaddl.s32	q8, d17, d16    @ encoding: [0xe1,0xef,0xa0,0x00]
23	vaddl.s32	q8, d17, d16
24@ CHECK: vaddl.u8	q8, d17, d16    @ encoding: [0xc1,0xff,0xa0,0x00]
25	vaddl.u8	q8, d17, d16
26@ CHECK: vaddl.u16	q8, d17, d16    @ encoding: [0xd1,0xff,0xa0,0x00]
27	vaddl.u16	q8, d17, d16
28@ CHECK: vaddl.u32	q8, d17, d16    @ encoding: [0xe1,0xff,0xa0,0x00]
29	vaddl.u32	q8, d17, d16
30
31@ CHECK: vaddw.s8	q8, q8, d18     @ encoding: [0xc0,0xef,0xa2,0x01]
32	vaddw.s8	q8, q8, d18
33@ CHECK: vaddw.s16	q8, q8, d18     @ encoding: [0xd0,0xef,0xa2,0x01]
34	vaddw.s16	q8, q8, d18
35@ CHECK: vaddw.s32	q8, q8, d18     @ encoding: [0xe0,0xef,0xa2,0x01]
36	vaddw.s32	q8, q8, d18
37@ CHECK: vaddw.u8	q8, q8, d18     @ encoding: [0xc0,0xff,0xa2,0x01]
38	vaddw.u8	q8, q8, d18
39@ CHECK: vaddw.u16	q8, q8, d18     @ encoding: [0xd0,0xff,0xa2,0x01]
40	vaddw.u16	q8, q8, d18
41@ CHECK: vaddw.u32	q8, q8, d18     @ encoding: [0xe0,0xff,0xa2,0x01]
42	vaddw.u32	q8, q8, d18
43
44@ CHECK: vhadd.s8	d16, d16, d17   @ encoding: [0x40,0xef,0xa1,0x00]
45	vhadd.s8	d16, d16, d17
46@ CHECK: vhadd.s16	d16, d16, d17   @ encoding: [0x50,0xef,0xa1,0x00]
47	vhadd.s16	d16, d16, d17
48@ CHECK: vhadd.s32	d16, d16, d17   @ encoding: [0x60,0xef,0xa1,0x00]
49	vhadd.s32	d16, d16, d17
50@ CHECK: vhadd.u8	d16, d16, d17   @ encoding: [0x40,0xff,0xa1,0x00]
51	vhadd.u8	d16, d16, d17
52@ CHECK: vhadd.u16	d16, d16, d17   @ encoding: [0x50,0xff,0xa1,0x00]
53	vhadd.u16	d16, d16, d17
54@ CHECK: vhadd.u32	d16, d16, d17   @ encoding: [0x60,0xff,0xa1,0x00]
55	vhadd.u32	d16, d16, d17
56@ CHECK: vhadd.s8	q8, q8, q9      @ encoding: [0x40,0xef,0xe2,0x00]
57	vhadd.s8	q8, q8, q9
58@ CHECK: vhadd.s16	q8, q8, q9      @ encoding: [0x50,0xef,0xe2,0x00]
59	vhadd.s16	q8, q8, q9
60@ CHECK: vhadd.s32	q8, q8, q9      @ encoding: [0x60,0xef,0xe2,0x00]
61	vhadd.s32	q8, q8, q9
62  @ CHECK: vhadd.u8	q8, q8, q9      @ encoding: [0x40,0xff,0xe2,0x00]
63	vhadd.u8	q8, q8, q9
64@ CHECK: vhadd.u16	q8, q8, q9      @ encoding: [0x50,0xff,0xe2,0x00]
65	vhadd.u16	q8, q8, q9
66@ CHECK: vhadd.u32	q8, q8, q9      @ encoding: [0x60,0xff,0xe2,0x00]
67	vhadd.u32	q8, q8, q9
68
69@ CHECK: vrhadd.s8	d16, d16, d17   @ encoding: [0x40,0xef,0xa1,0x01]
70	vrhadd.s8	d16, d16, d17
71@ CHECK: vrhadd.s16	d16, d16, d17   @ encoding: [0x50,0xef,0xa1,0x01]
72	vrhadd.s16	d16, d16, d17
73@ CHECK: vrhadd.s32	d16, d16, d17   @ encoding: [0x60,0xef,0xa1,0x01]
74	vrhadd.s32	d16, d16, d17
75@ CHECK: vrhadd.u8	d16, d16, d17   @ encoding: [0x40,0xff,0xa1,0x01]
76	vrhadd.u8	d16, d16, d17
77@ CHECK: vrhadd.u16	d16, d16, d17   @ encoding: [0x50,0xff,0xa1,0x01]
78	vrhadd.u16	d16, d16, d17
79@ CHECK: vrhadd.u32	d16, d16, d17   @ encoding: [0x60,0xff,0xa1,0x01]
80	vrhadd.u32	d16, d16, d17
81@ CHECK: vrhadd.s8	q8, q8, q9      @ encoding: [0x40,0xef,0xe2,0x01]
82	vrhadd.s8	q8, q8, q9
83@ CHECK: vrhadd.s16	q8, q8, q9      @ encoding: [0x50,0xef,0xe2,0x01]
84	vrhadd.s16	q8, q8, q9
85@ CHECK: vrhadd.s32	q8, q8, q9      @ encoding: [0x60,0xef,0xe2,0x01]
86	vrhadd.s32	q8, q8, q9
87@ CHECK: vrhadd.u8	q8, q8, q9      @ encoding: [0x40,0xff,0xe2,0x01]
88	vrhadd.u8	q8, q8, q9
89@ CHECK: vrhadd.u16	q8, q8, q9      @ encoding: [0x50,0xff,0xe2,0x01]
90	vrhadd.u16	q8, q8, q9
91@ CHECK: vrhadd.u32	q8, q8, q9      @ encoding: [0x60,0xff,0xe2,0x01]
92	vrhadd.u32	q8, q8, q9
93
94@ CHECK: vqadd.s8	d16, d16, d17   @ encoding: [0x40,0xef,0xb1,0x00]
95	vqadd.s8	d16, d16, d17
96@ CHECK: vqadd.s16	d16, d16, d17   @ encoding: [0x50,0xef,0xb1,0x00]
97	vqadd.s16	d16, d16, d17
98@ CHECK: vqadd.s32	d16, d16, d17   @ encoding: [0x60,0xef,0xb1,0x00]
99	vqadd.s32	d16, d16, d17
100@ CHECK: vqadd.s64	d16, d16, d17   @ encoding: [0x70,0xef,0xb1,0x00]
101	vqadd.s64	d16, d16, d17
102@ CHECK: vqadd.u8	d16, d16, d17   @ encoding: [0x40,0xff,0xb1,0x00]
103	vqadd.u8	d16, d16, d17
104@ CHECK: vqadd.u16	d16, d16, d17   @ encoding: [0x50,0xff,0xb1,0x00]
105	vqadd.u16	d16, d16, d17
106@ CHECK: vqadd.u32	d16, d16, d17   @ encoding: [0x60,0xff,0xb1,0x00]
107	vqadd.u32	d16, d16, d17
108@ CHECK: vqadd.u64	d16, d16, d17   @ encoding: [0x70,0xff,0xb1,0x00]
109	vqadd.u64	d16, d16, d17
110@ CHECK: vqadd.s8	q8, q8, q9      @ encoding: [0x40,0xef,0xf2,0x00]
111	vqadd.s8	q8, q8, q9
112@ CHECK: vqadd.s16	q8, q8, q9      @ encoding: [0x50,0xef,0xf2,0x00]
113	vqadd.s16	q8, q8, q9
114@ CHECK: vqadd.s32	q8, q8, q9      @ encoding: [0x60,0xef,0xf2,0x00]
115	vqadd.s32	q8, q8, q9
116@ CHECK: vqadd.s64	q8, q8, q9      @ encoding: [0x70,0xef,0xf2,0x00]
117	vqadd.s64	q8, q8, q9
118@ CHECK: vqadd.u8	q8, q8, q9      @ encoding: [0x40,0xff,0xf2,0x00]
119	vqadd.u8	q8, q8, q9
120@ CHECK: vqadd.u16	q8, q8, q9      @ encoding: [0x50,0xff,0xf2,0x00]
121	vqadd.u16	q8, q8, q9
122@ CHECK: vqadd.u32	q8, q8, q9      @ encoding: [0x60,0xff,0xf2,0x00]
123	vqadd.u32	q8, q8, q9
124@ CHECK: vqadd.u64	q8, q8, q9      @ encoding: [0x70,0xff,0xf2,0x00]
125	vqadd.u64	q8, q8, q9
126
127@ CHECK: vaddhn.i16	d16, q8, q9     @ encoding: [0xc0,0xef,0xa2,0x04]
128	vaddhn.i16	d16, q8, q9
129@ CHECK: vaddhn.i32	d16, q8, q9     @ encoding: [0xd0,0xef,0xa2,0x04]
130	vaddhn.i32	d16, q8, q9
131@ CHECK: vaddhn.i64	d16, q8, q9     @ encoding: [0xe0,0xef,0xa2,0x04]
132	vaddhn.i64	d16, q8, q9
133@ CHECK: vraddhn.i16	d16, q8, q9     @ encoding: [0xc0,0xff,0xa2,0x04]
134	vraddhn.i16	d16, q8, q9
135@ CHECK: vraddhn.i32	d16, q8, q9     @ encoding: [0xd0,0xff,0xa2,0x04]
136	vraddhn.i32	d16, q8, q9
137@ CHECK: vraddhn.i64	d16, q8, q9     @ encoding: [0xe0,0xff,0xa2,0x04]
138	vraddhn.i64	d16, q8, q9
139