1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
4 # CHECK: r17 = add(#21, mpyi(r21, r31))
6 # CHECK: r17 = add(#21, mpyi(r21, #31))
8 # CHECK: r17 = add(r21, mpyi(#84, r31))
10 # CHECK: r17 = add(r21, mpyi(r21, #31))
12 # CHECK: r17 = add(r21, mpyi(r17, r31))
14 # CHECK: r17 =+ mpyi(r21, #31)
16 # CHECK: r17 =- mpyi(r21, #31)
18 # CHECK: r17 += mpyi(r21, #31)
20 # CHECK: r17 -= mpyi(r21, #31)
22 # CHECK: r17 = mpyi(r21, r31)
24 # CHECK: r17 += mpyi(r21, r31)
26 # CHECK: r17:16 = mpy(r21.l, r31.l):<<1
28 # CHECK: r17:16 = mpy(r21.l, r31.h):<<1
30 # CHECK: r17:16 = mpy(r21.h, r31.l):<<1
32 # CHECK: r17:16 = mpy(r21.h, r31.h):<<1
34 # CHECK: r17:16 = mpy(r21.l, r31.l):<<1:rnd
36 # CHECK: r17:16 = mpy(r21.l, r31.h):<<1:rnd
38 # CHECK: r17:16 = mpy(r21.h, r31.l):<<1:rnd
40 # CHECK: r17:16 = mpy(r21.h, r31.h):<<1:rnd
42 # CHECK: r17:16 += mpy(r21.l, r31.l):<<1
44 # CHECK: r17:16 += mpy(r21.l, r31.h):<<1
46 # CHECK: r17:16 += mpy(r21.h, r31.l):<<1
48 # CHECK: r17:16 += mpy(r21.h, r31.h):<<1
50 # CHECK: r17:16 -= mpy(r21.l, r31.l):<<1
52 # CHECK: r17:16 -= mpy(r21.l, r31.h):<<1
54 # CHECK: r17:16 -= mpy(r21.h, r31.l):<<1
56 # CHECK: r17:16 -= mpy(r21.h, r31.h):<<1
58 # CHECK: r17 = mpy(r21.l, r31.l):<<1
60 # CHECK: r17 = mpy(r21.l, r31.h):<<1
62 # CHECK: r17 = mpy(r21.h, r31.l):<<1
64 # CHECK: r17 = mpy(r21.h, r31.h):<<1
66 # CHECK: r17 = mpy(r21.l, r31.l):<<1:sat
68 # CHECK: r17 = mpy(r21.l, r31.h):<<1:sat
70 # CHECK: r17 = mpy(r21.h, r31.l):<<1:sat
72 # CHECK: r17 = mpy(r21.h, r31.h):<<1:sat
74 # CHECK: r17 = mpy(r21.l, r31.l):<<1:rnd
76 # CHECK: r17 = mpy(r21.l, r31.h):<<1:rnd
78 # CHECK: r17 = mpy(r21.h, r31.l):<<1:rnd
80 # CHECK: r17 = mpy(r21.h, r31.h):<<1:rnd
82 # CHECK: r17 = mpy(r21.l, r31.l):<<1:rnd:sat
84 # CHECK: r17 = mpy(r21.l, r31.h):<<1:rnd:sat
86 # CHECK: r17 = mpy(r21.h, r31.l):<<1:rnd:sat
88 # CHECK: r17 = mpy(r21.h, r31.h):<<1:rnd:sat
90 # CHECK: r17 += mpy(r21.l, r31.l):<<1
92 # CHECK: r17 += mpy(r21.l, r31.h):<<1
94 # CHECK: r17 += mpy(r21.h, r31.l):<<1
96 # CHECK: r17 += mpy(r21.h, r31.h):<<1
98 # CHECK: r17 += mpy(r21.l, r31.l):<<1:sat
100 # CHECK: r17 += mpy(r21.l, r31.h):<<1:sat
102 # CHECK: r17 += mpy(r21.h, r31.l):<<1:sat
104 # CHECK: r17 += mpy(r21.h, r31.h):<<1:sat
106 # CHECK: r17 -= mpy(r21.l, r31.l):<<1
108 # CHECK: r17 -= mpy(r21.l, r31.h):<<1
110 # CHECK: r17 -= mpy(r21.h, r31.l):<<1
112 # CHECK: r17 -= mpy(r21.h, r31.h):<<1
114 # CHECK: r17 -= mpy(r21.l, r31.l):<<1:sat
116 # CHECK: r17 -= mpy(r21.l, r31.h):<<1:sat
118 # CHECK: r17 -= mpy(r21.h, r31.l):<<1:sat
120 # CHECK: r17 -= mpy(r21.h, r31.h):<<1:sat
122 # CHECK: r17:16 = mpyu(r21.l, r31.l):<<1
124 # CHECK: r17:16 = mpyu(r21.l, r31.h):<<1
126 # CHECK: r17:16 = mpyu(r21.h, r31.l):<<1
128 # CHECK: r17:16 = mpyu(r21.h, r31.h):<<1
130 # CHECK: r17:16 += mpyu(r21.l, r31.l):<<1
132 # CHECK: r17:16 += mpyu(r21.l, r31.h):<<1
134 # CHECK: r17:16 += mpyu(r21.h, r31.l):<<1
136 # CHECK: r17:16 += mpyu(r21.h, r31.h):<<1
138 # CHECK: r17:16 -= mpyu(r21.l, r31.l):<<1
140 # CHECK: r17:16 -= mpyu(r21.l, r31.h):<<1
142 # CHECK: r17:16 -= mpyu(r21.h, r31.l):<<1
144 # CHECK: r17:16 -= mpyu(r21.h, r31.h):<<1
146 # CHECK: r17 = mpyu(r21.l, r31.l):<<1
148 # CHECK: r17 = mpyu(r21.l, r31.h):<<1
150 # CHECK: r17 = mpyu(r21.h, r31.l):<<1
152 # CHECK: r17 = mpyu(r21.h, r31.h):<<1
154 # CHECK: r17 += mpyu(r21.l, r31.l):<<1
156 # CHECK: r17 += mpyu(r21.l, r31.h):<<1
158 # CHECK: r17 += mpyu(r21.h, r31.l):<<1
160 # CHECK: r17 += mpyu(r21.h, r31.h):<<1
162 # CHECK: r17 -= mpyu(r21.l, r31.l):<<1
164 # CHECK: r17 -= mpyu(r21.l, r31.h):<<1
166 # CHECK: r17 -= mpyu(r21.h, r31.l):<<1
168 # CHECK: r17 -= mpyu(r21.h, r31.h):<<1
170 # CHECK: r17 = mpy(r21, r31)
172 # CHECK: r17 = mpy(r21, r31):rnd
174 # CHECK: r17 = mpyu(r21, r31)
176 # CHECK: r17 = mpysu(r21, r31)
178 # CHECK: r17 = mpy(r21, r31.h):<<1:sat
180 # CHECK: r17 = mpy(r21, r31.l):<<1:sat
182 # CHECK: r17 = mpy(r21, r31):<<1:sat
184 # CHECK: r17 = mpy(r21, r31.h):<<1:rnd:sat
186 # CHECK: r17 = mpy(r21, r31.l):<<1:rnd:sat
188 # CHECK: r17 += mpy(r21, r31):<<1:sat
190 # CHECK: r17 -= mpy(r21, r31):<<1:sat
192 # CHECK: r17:16 = mpy(r21, r31)
194 # CHECK: r17:16 = mpyu(r21, r31)
196 # CHECK: r17:16 += mpy(r21, r31)
198 # CHECK: r17:16 -= mpy(r21, r31)
200 # CHECK: r17:16 += mpyu(r21, r31)
202 # CHECK: r17:16 -= mpyu(r21, r31)