1f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# RUN: llvm-mc -triple=hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
2f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Hexagon Programmer's Reference Manual 11.10.5 XTYPE/MPY
3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply and use lower result
5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 35 d7
6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(#21, mpyi(r21, r31))
7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: bf d1 35 d8
8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(#21, mpyi(r21, #31))
9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b5 d1 3f df
10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(r21, mpyi(#84, r31))
11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f5 f1 b5 df
12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(r21, mpyi(r21, #31))
13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 15 d1 1f e3
14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = add(r21, mpyi(r17, r31))
15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 15 e0
16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 =+ mpyi(r21, #31)
17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 95 e0
18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 =- mpyi(r21, #31)
19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 15 e1
20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyi(r21, #31)
21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 c3 95 e1
22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyi(r21, #31)
23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 ed
24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyi(r21, r31)
25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 15 ef
26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyi(r21, r31)
27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply word by signed half (32x16)
29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 14 e8
30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):sat
31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 94 e8
32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):<<1:sat
33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 14 e8
34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):sat
35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 94 e8
36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):<<1:sat
37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 34 e8
38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):rnd:sat
39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de b4 e8
40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweh(r21:20, r31:30):<<1:rnd:sat
41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 34 e8
42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):rnd:sat
43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de b4 e8
44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywoh(r21:20, r31:30):<<1:rnd:sat
45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 14 ea
46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):sat
47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 94 ea
48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):<<1:sat
49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 14 ea
50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):sat
51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 94 ea
52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):<<1:sat
53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 34 ea
54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):rnd:sat
55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de b4 ea
56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweh(r21:20, r31:30):<<1:rnd:sat
57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 34 ea
58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):rnd:sat
59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de b4 ea
60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywoh(r21:20, r31:30):<<1:rnd:sat
61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply word by unsigned half (32x16)
63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 54 e8
64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):sat
65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de d4 e8
66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):<<1:sat
67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 54 e8
68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):sat
69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de d4 e8
70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):<<1:sat
71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 74 e8
72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):rnd:sat
73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de f4 e8
74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyweuh(r21:20, r31:30):<<1:rnd:sat
75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 74 e8
76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):rnd:sat
77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de f4 e8
78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpywouh(r21:20, r31:30):<<1:rnd:sat
79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 54 ea
80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):sat
81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de d4 ea
82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):<<1:sat
83f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 54 ea
84f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):sat
85f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de d4 ea
86f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):<<1:sat
87f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de 74 ea
88f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):rnd:sat
89f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 de f4 ea
90f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyweuh(r21:20, r31:30):<<1:rnd:sat
91f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de 74 ea
92f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):rnd:sat
93f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 de f4 ea
94f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpywouh(r21:20, r31:30):<<1:rnd:sat
95f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
96f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply signed halfwords
97f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 95 e4
98f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.l):<<1
99f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e4
100f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.h):<<1
101f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 95 e4
102f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.l):<<1
103f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df 95 e4
104f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.h):<<1
105f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df b5 e4
106f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.l):<<1:rnd
107f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df b5 e4
108f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.l, r31.h):<<1:rnd
109f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df b5 e4
110f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.l):<<1:rnd
111f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df b5 e4
112f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21.h, r31.h):<<1:rnd
113f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 95 e6
114f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.l, r31.l):<<1
115f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e6
116f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.l, r31.h):<<1
117f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df 95 e6
118f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.h, r31.l):<<1
119f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df 95 e6
120f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21.h, r31.h):<<1
121f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df b5 e6
122f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.l, r31.l):<<1
123f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df b5 e6
124f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.l, r31.h):<<1
125f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df b5 e6
126f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.h, r31.l):<<1
127f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df b5 e6
128f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21.h, r31.h):<<1
129f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 95 ec
130f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1
131f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 95 ec
132f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1
133f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 95 ec
134f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1
135f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 95 ec
136f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1
137f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 95 ec
138f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1:sat
139f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 95 ec
140f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1:sat
141f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 95 ec
142f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1:sat
143f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 95 ec
144f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1:sat
145f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df b5 ec
146f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1:rnd
147f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df b5 ec
148f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1:rnd
149f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df b5 ec
150f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1:rnd
151f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df b5 ec
152f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1:rnd
153f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df b5 ec
154f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.l):<<1:rnd:sat
155f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df b5 ec
156f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.l, r31.h):<<1:rnd:sat
157f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df b5 ec
158f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.l):<<1:rnd:sat
159f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df b5 ec
160f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21.h, r31.h):<<1:rnd:sat
161f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 95 ee
162f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.l):<<1
163f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 95 ee
164f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.h):<<1
165f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df 95 ee
166f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.l):<<1
167f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df 95 ee
168f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.h):<<1
169f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df 95 ee
170f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.l):<<1:sat
171f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df 95 ee
172f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.l, r31.h):<<1:sat
173f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df 95 ee
174f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.l):<<1:sat
175f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 95 ee
176f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21.h, r31.h):<<1:sat
177f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df b5 ee
178f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.l):<<1
179f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df b5 ee
180f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.h):<<1
181f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df b5 ee
182f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.l):<<1
183f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df b5 ee
184f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.h):<<1
185f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df b5 ee
186f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.l):<<1:sat
187f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b1 df b5 ee
188f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.l, r31.h):<<1:sat
189f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d1 df b5 ee
190f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.l):<<1:sat
191f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df b5 ee
192f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21.h, r31.h):<<1:sat
193f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
194f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply unsigned halfwords
195f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df d5 e4
196f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.l, r31.l):<<1
197f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df d5 e4
198f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.l, r31.h):<<1
199f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df d5 e4
200f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.h, r31.l):<<1
201f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df d5 e4
202f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21.h, r31.h):<<1
203f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df d5 e6
204f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.l, r31.l):<<1
205f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df d5 e6
206f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.l, r31.h):<<1
207f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df d5 e6
208f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.h, r31.l):<<1
209f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df d5 e6
210f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21.h, r31.h):<<1
211f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df f5 e6
212f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.l, r31.l):<<1
213f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df f5 e6
214f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.l, r31.h):<<1
215f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 df f5 e6
216f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.h, r31.l):<<1
217f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 70 df f5 e6
218f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21.h, r31.h):<<1
219f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df d5 ec
220f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.l, r31.l):<<1
221f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df d5 ec
222f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.l, r31.h):<<1
223f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df d5 ec
224f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.h, r31.l):<<1
225f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df d5 ec
226f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21.h, r31.h):<<1
227f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df d5 ee
228f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.l, r31.l):<<1
229f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df d5 ee
230f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.l, r31.h):<<1
231f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df d5 ee
232f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.h, r31.l):<<1
233f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df d5 ee
234f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpyu(r21.h, r31.h):<<1
235f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df f5 ee
236f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.l, r31.l):<<1
237f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df f5 ee
238f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.l, r31.h):<<1
239f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df f5 ee
240f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.h, r31.l):<<1
241f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 71 df f5 ee
242f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpyu(r21.h, r31.h):<<1
243f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
244f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Polynomial multiply words
245f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 55 e5
246f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = pmpyw(r21, r31)
247f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 35 e7
248f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= pmpyw(r21, r31)
249f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
250f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector reduce multiply word by signed half (32x16)
251f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 34 e8
252f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpywoh(r21:20, r31:30)
253f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de b4 e8
254f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpywoh(r21:20, r31:30):<<1
255f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 54 e8
256f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpyweh(r21:20, r31:30)
257f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de d4 e8
258f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpyweh(r21:20, r31:30):<<1
259f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 74 ea
260f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpywoh(r21:20, r31:30)
261f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de f4 ea
262f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpywoh(r21:20, r31:30):<<1
263f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 34 ea
264f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpyweh(r21:20, r31:30)
265f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de b4 ea
266f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpyweh(r21:20, r31:30):<<1
267f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
268f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply and use upper result
269f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 15 ed
270f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31)
271f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 35 ed
272f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31):rnd
273f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 55 ed
274f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpyu(r21, r31)
275f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 75 ed
276f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpysu(r21, r31)
277f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df b5 ed
278f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.h):<<1:sat
279f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df b5 ed
280f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.l):<<1:sat
281f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df b5 ed
282f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.h):<<1:rnd:sat
283f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df f5 ed
284f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31):<<1:sat
285f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 91 df f5 ed
286f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31.l):<<1:rnd:sat
287f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 51 df b5 ed
288f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = mpy(r21, r31):<<1
289f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 df 75 ef
290f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 += mpy(r21, r31):<<1:sat
291f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 31 df 75 ef
292f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 -= mpy(r21, r31):<<1:sat
293f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
294f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Multiply and use full result
295f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 15 e5
296f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpy(r21, r31)
297f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 55 e5
298f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = mpyu(r21, r31)
299f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 15 e7
300f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpy(r21, r31)
301f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 35 e7
302f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpy(r21, r31)
303f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 55 e7
304f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += mpyu(r21, r31)
305f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 10 df 75 e7
306f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 -= mpyu(r21, r31)
307f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
308f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector dual multiply
309f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 14 e8
310f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vdmpy(r21:20, r31:30):sat
311f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 94 e8
312f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vdmpy(r21:20, r31:30):<<1:sat
313f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 14 ea
314f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vdmpy(r21:20, r31:30):sat
315f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 90 de 94 ea
316f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vdmpy(r21:20, r31:30):<<1:sat
317f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
318f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector dual multiply with round and pack
319f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 de 14 e9
320f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vdmpy(r21:20, r31:30):rnd:sat
321f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 11 de 94 e9
322f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vdmpy(r21:20, r31:30):<<1:rnd:sat
323f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
324f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector reduce multiply bytes
325f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de 94 e8
326f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpybu(r21:20, r31:30)
327f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de d4 e8
328f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpybsu(r21:20, r31:30)
329f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de 94 ea
330f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpybu(r21:20, r31:30)
331f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de d4 ea
332f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpybsu(r21:20, r31:30)
333f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
334f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector dual multiply signed by unsigned bytes
335f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de b4 e8
336f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vdmpybsu(r21:20, r31:30):sat
337f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 de 34 ea
338f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vdmpybsu(r21:20, r31:30):sat
339f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
340f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply even haldwords
341f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 14 e8
342f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyeh(r21:20, r31:30):sat
343f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 94 e8
344f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyeh(r21:20, r31:30):<<1:sat
345f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 34 ea
346f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyeh(r21:20, r31:30)
347f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 14 ea
348f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyeh(r21:20, r31:30):sat
349f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: d0 de 94 ea
350f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyeh(r21:20, r31:30):<<1:sat
351f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
352f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply halfwords
353f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 15 e5
354f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyh(r21, r31):sat
355f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 95 e5
356f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyh(r21, r31):<<1:sat
357f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 35 e7
358f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyh(r21, r31)
359f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 15 e7
360f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyh(r21, r31):sat
361f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 95 e7
362f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyh(r21, r31):<<1:sat
363f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
364f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply halfwords with round and pack
365f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df 35 ed
366f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vmpyh(r21, r31):rnd:sat
367f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f1 df b5 ed
368f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17 = vmpyh(r21, r31):<<1:rnd:sat
369f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
370f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply halfwords signed by unsigned
371f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 15 e5
372f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyhsu(r21, r31):sat
373f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df 95 e5
374f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpyhsu(r21, r31):<<1:sat
375f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df 75 e7
376f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyhsu(r21, r31):sat
377f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: b0 df f5 e7
378f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpyhsu(r21, r31):<<1:sat
379f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
380f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector reduce multiply halfwords
381f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 14 e8
382f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vrmpyh(r21:20, r31:30)
383f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 50 de 14 ea
384f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vrmpyh(r21:20, r31:30)
385f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
386f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector multiply bytes
387f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 55 e5
388f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpybsu(r21, r31)
389f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e5
390f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vmpybu(r21, r31)
391f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df 95 e7
392f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpybu(r21, r31)
393f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: 30 df d5 e7
394f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 += vmpybsu(r21, r31)
395f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
396f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# Vector polynomial multiply halfwords
397f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df d5 e5
398f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 = vpmpyh(r21, r31)
399f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar# CHECK: f0 df b5 e7
400f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarr17:16 ^= vpmpyh(r21, r31)
401