1	.syntax unified
2	.text
3
4	.macro vect_inst I T R
5	\I\().\T \R\()0, \R\()1, \R\()2
6	.endm
7
8	.macro scalar_inst I T R N
9	\I\().\T \R\()0, \R\()1, d\()2[\N\()]
10	.endm
11
12	.text
13	.arm
14A1:
15	.irp inst, vqrdmlah, vqrdmlsh
16	.irp type, s16, s32
17	.irp reg, d, q
18	vect_inst \inst \type \reg
19	.endr
20	.endr
21	.endr
22
23	.irp inst, vqrdmlah, vqrdmlsh
24	.irp reg, d, q
25	.irp idx, 0, 1, 2, 3
26	scalar_inst \inst s16 \reg \idx
27	.endr
28	.endr
29	.irp reg, d, q
30	.irp idx, 0, 1
31	scalar_inst \inst s32 \reg \idx
32	.endr
33	.endr
34	.endr
35
36	.text
37	.thumb
38T1:
39	.irp inst, vqrdmlah, vqrdmlsh
40	.irp type, s16, s32
41	.irp reg, d, q
42	vect_inst \inst \type \reg
43	.endr
44	.endr
45	.endr
46
47	.irp inst, vqrdmlah, vqrdmlsh
48	.irp reg, d, q
49	.irp idx, 0, 1, 2, 3
50	scalar_inst \inst s16 \reg \idx
51	.endr
52	.endr
53	.irp reg, d, q
54	.irp idx, 0, 1
55	scalar_inst \inst s32 \reg \idx
56	.endr
57	.endr
58	.endr
59