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