xref: /llvm-project/llvm/test/MC/ARM/neont2-mul-encoding.s (revision 6ac54afebae28aa78df3c0140721e99a661ef62a)
1c3ff538dSBob Wilson@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
2a56a2e1fSOwen Anderson
3a56a2e1fSOwen Anderson.code 16
4a56a2e1fSOwen Anderson
5a56a2e1fSOwen Anderson	vmul.i8	d16, d16, d17
6a56a2e1fSOwen Anderson	vmul.i16	d16, d16, d17
7a56a2e1fSOwen Anderson	vmul.i32	d16, d16, d17
8a56a2e1fSOwen Anderson	vmul.f32	d16, d16, d17
9a56a2e1fSOwen Anderson	vmul.i8	q8, q8, q9
10a56a2e1fSOwen Anderson	vmul.i16	q8, q8, q9
11a56a2e1fSOwen Anderson	vmul.i32	q8, q8, q9
12a56a2e1fSOwen Anderson	vmul.f32	q8, q8, q9
13a56a2e1fSOwen Anderson	vmul.p8	d16, d16, d17
14a56a2e1fSOwen Anderson	vmul.p8	q8, q8, q9
15e6fbca3aSJim Grosbach	vmul.i16	d18, d8, d0[3]
16b3ecff77SJim Grosbach
17b3ecff77SJim Grosbach@ CHECK: vmul.i8	d16, d16, d17   @ encoding: [0x40,0xef,0xb1,0x09]
18b3ecff77SJim Grosbach@ CHECK: vmul.i16	d16, d16, d17   @ encoding: [0x50,0xef,0xb1,0x09]
19b3ecff77SJim Grosbach@ CHECK: vmul.i32	d16, d16, d17   @ encoding: [0x60,0xef,0xb1,0x09]
20b3ecff77SJim Grosbach@ CHECK: vmul.f32	d16, d16, d17   @ encoding: [0x40,0xff,0xb1,0x0d]
21b3ecff77SJim Grosbach@ CHECK: vmul.i8	q8, q8, q9      @ encoding: [0x40,0xef,0xf2,0x09]
22b3ecff77SJim Grosbach@ CHECK: vmul.i16	q8, q8, q9      @ encoding: [0x50,0xef,0xf2,0x09]
23b3ecff77SJim Grosbach@ CHECK: vmul.i32	q8, q8, q9      @ encoding: [0x60,0xef,0xf2,0x09]
24b3ecff77SJim Grosbach@ CHECK: vmul.f32	q8, q8, q9      @ encoding: [0x40,0xff,0xf2,0x0d]
25b3ecff77SJim Grosbach@ CHECK: vmul.p8	d16, d16, d17   @ encoding: [0x40,0xff,0xb1,0x09]
26b3ecff77SJim Grosbach@ CHECK: vmul.p8	q8, q8, q9      @ encoding: [0x40,0xff,0xf2,0x09]
27e6fbca3aSJim Grosbach@ CHECK: vmul.i16	d18, d8, d0[3]  @ encoding: [0xd8,0xef,0x68,0x28]
28e6fbca3aSJim Grosbach
29b3ecff77SJim Grosbach
30a56a2e1fSOwen Anderson	vqdmulh.s16	d16, d16, d17
31a56a2e1fSOwen Anderson	vqdmulh.s32	d16, d16, d17
32a56a2e1fSOwen Anderson	vqdmulh.s16	q8, q8, q9
33a56a2e1fSOwen Anderson	vqdmulh.s32	q8, q8, q9
34c8eff032SJim Grosbach	vqdmulh.s16	d11, d2, d3[0]
35b3ecff77SJim Grosbach
36b3ecff77SJim Grosbach@ CHECK: vqdmulh.s16	d16, d16, d17   @ encoding: [0x50,0xef,0xa1,0x0b]
37b3ecff77SJim Grosbach@ CHECK: vqdmulh.s32	d16, d16, d17   @ encoding: [0x60,0xef,0xa1,0x0b]
38b3ecff77SJim Grosbach@ CHECK: vqdmulh.s16	q8, q8, q9      @ encoding: [0x50,0xef,0xe2,0x0b]
39b3ecff77SJim Grosbach@ CHECK: vqdmulh.s32	q8, q8, q9      @ encoding: [0x60,0xef,0xe2,0x0b]
40c8eff032SJim Grosbach@ CHECK: vqdmulh.s16	d11, d2, d3[0]  @ encoding: [0x92,0xef,0x43,0xbc]
41b3ecff77SJim Grosbach
42b3ecff77SJim Grosbach
43a56a2e1fSOwen Anderson	vqrdmulh.s16	d16, d16, d17
44a56a2e1fSOwen Anderson	vqrdmulh.s32	d16, d16, d17
45a56a2e1fSOwen Anderson	vqrdmulh.s16	q8, q8, q9
46a56a2e1fSOwen Anderson	vqrdmulh.s32	q8, q8, q9
47b3ecff77SJim Grosbach
48b3ecff77SJim Grosbach@ CHECK: vqrdmulh.s16	d16, d16, d17   @ encoding: [0x50,0xff,0xa1,0x0b]
49b3ecff77SJim Grosbach@ CHECK: vqrdmulh.s32	d16, d16, d17   @ encoding: [0x60,0xff,0xa1,0x0b]
50b3ecff77SJim Grosbach@ CHECK: vqrdmulh.s16	q8, q8, q9      @ encoding: [0x50,0xff,0xe2,0x0b]
51b3ecff77SJim Grosbach@ CHECK: vqrdmulh.s32	q8, q8, q9      @ encoding: [0x60,0xff,0xe2,0x0b]
52b3ecff77SJim Grosbach
53b3ecff77SJim Grosbach
54a56a2e1fSOwen Anderson	vmull.s8	q8, d16, d17
55a56a2e1fSOwen Anderson	vmull.s16	q8, d16, d17
56a56a2e1fSOwen Anderson	vmull.s32	q8, d16, d17
57a56a2e1fSOwen Anderson	vmull.u8	q8, d16, d17
58a56a2e1fSOwen Anderson	vmull.u16	q8, d16, d17
59a56a2e1fSOwen Anderson	vmull.u32	q8, d16, d17
60a56a2e1fSOwen Anderson	vmull.p8	q8, d16, d17
61b3ecff77SJim Grosbach
62b3ecff77SJim Grosbach@ CHECK: vmull.s8	q8, d16, d17    @ encoding: [0xc0,0xef,0xa1,0x0c]
63b3ecff77SJim Grosbach@ CHECK: vmull.s16	q8, d16, d17    @ encoding: [0xd0,0xef,0xa1,0x0c]
64b3ecff77SJim Grosbach@ CHECK: vmull.s32	q8, d16, d17    @ encoding: [0xe0,0xef,0xa1,0x0c]
65b3ecff77SJim Grosbach@ CHECK: vmull.u8	q8, d16, d17    @ encoding: [0xc0,0xff,0xa1,0x0c]
66b3ecff77SJim Grosbach@ CHECK: vmull.u16	q8, d16, d17    @ encoding: [0xd0,0xff,0xa1,0x0c]
67b3ecff77SJim Grosbach@ CHECK: vmull.u32	q8, d16, d17    @ encoding: [0xe0,0xff,0xa1,0x0c]
68b3ecff77SJim Grosbach@ CHECK: vmull.p8	q8, d16, d17    @ encoding: [0xc0,0xef,0xa1,0x0e]
69b3ecff77SJim Grosbach
70b3ecff77SJim Grosbach
71a56a2e1fSOwen Anderson	vqdmull.s16	q8, d16, d17
72a56a2e1fSOwen Anderson	vqdmull.s32	q8, d16, d17
73*6ac54afeSJim Grosbach        vqdmull.s16	q1, d7, d1[1]
742a498c11SOwen Anderson
75b3ecff77SJim Grosbach@ CHECK: vqdmull.s16	q8, d16, d17    @ encoding: [0xd0,0xef,0xa1,0x0d]
76b3ecff77SJim Grosbach@ CHECK: vqdmull.s32	q8, d16, d17    @ encoding: [0xe0,0xef,0xa1,0x0d]
77*6ac54afeSJim Grosbach@ CHECK: vqdmull.s16	q1, d7, d1[1]   @ encoding: [0x97,0xef,0x49,0x2b]
7840ec1da2SOwen Anderson
79