[Hexagon] Adding rounding reg/reg variants, accumulating multiplies, and accumulating...
[oota-llvm.git] / test / MC / Disassembler / Hexagon / xtype_mpy.txt
1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
2
3 0xb1 0xdf 0x35 0xd7
4 # CHECK: r17 = add(#21, mpyi(r21, r31))
5 0xbf 0xd1 0x35 0xd8
6 # CHECK: r17 = add(#21, mpyi(r21, #31))
7 0xb5 0xd1 0x3f 0xdf
8 # CHECK: r17 = add(r21, mpyi(#84, r31))
9 0xf5 0xf1 0xb5 0xdf
10 # CHECK: r17 = add(r21, mpyi(r21, #31))
11 0x15 0xd1 0x1f 0xe3
12 # CHECK: r17 = add(r21, mpyi(r17, r31))
13 0xf1 0xc3 0x15 0xe0
14 # CHECK: r17 =+ mpyi(r21, #31)
15 0xf1 0xc3 0x95 0xe0
16 # CHECK: r17 =- mpyi(r21, #31)
17 0xf1 0xc3 0x15 0xe1
18 # CHECK: r17 += mpyi(r21, #31)
19 0xf1 0xc3 0x95 0xe1
20 # CHECK: r17 -= mpyi(r21, #31)
21 0x11 0xdf 0x15 0xed
22 # CHECK: r17 = mpyi(r21, r31)
23 0x11 0xdf 0x15 0xef
24 # CHECK: r17 += mpyi(r21, r31)
25 0x10 0xdf 0x95 0xe4
26 # CHECK: r17:16 = mpy(r21.l, r31.l):<<1
27 0x30 0xdf 0x95 0xe4
28 # CHECK: r17:16 = mpy(r21.l, r31.h):<<1
29 0x50 0xdf 0x95 0xe4
30 # CHECK: r17:16 = mpy(r21.h, r31.l):<<1
31 0x70 0xdf 0x95 0xe4
32 # CHECK: r17:16 = mpy(r21.h, r31.h):<<1
33 0x10 0xdf 0xb5 0xe4
34 # CHECK: r17:16 = mpy(r21.l, r31.l):<<1:rnd
35 0x30 0xdf 0xb5 0xe4
36 # CHECK: r17:16 = mpy(r21.l, r31.h):<<1:rnd
37 0x50 0xdf 0xb5 0xe4
38 # CHECK: r17:16 = mpy(r21.h, r31.l):<<1:rnd
39 0x70 0xdf 0xb5 0xe4
40 # CHECK: r17:16 = mpy(r21.h, r31.h):<<1:rnd
41 0x10 0xdf 0x95 0xe6
42 # CHECK: r17:16 += mpy(r21.l, r31.l):<<1
43 0x30 0xdf 0x95 0xe6
44 # CHECK: r17:16 += mpy(r21.l, r31.h):<<1
45 0x50 0xdf 0x95 0xe6
46 # CHECK: r17:16 += mpy(r21.h, r31.l):<<1
47 0x70 0xdf 0x95 0xe6
48 # CHECK: r17:16 += mpy(r21.h, r31.h):<<1
49 0x10 0xdf 0xb5 0xe6
50 # CHECK: r17:16 -= mpy(r21.l, r31.l):<<1
51 0x30 0xdf 0xb5 0xe6
52 # CHECK: r17:16 -= mpy(r21.l, r31.h):<<1
53 0x50 0xdf 0xb5 0xe6
54 # CHECK: r17:16 -= mpy(r21.h, r31.l):<<1
55 0x70 0xdf 0xb5 0xe6
56 # CHECK: r17:16 -= mpy(r21.h, r31.h):<<1
57 0x11 0xdf 0x95 0xec
58 # CHECK: r17 = mpy(r21.l, r31.l):<<1
59 0x31 0xdf 0x95 0xec
60 # CHECK: r17 = mpy(r21.l, r31.h):<<1
61 0x51 0xdf 0x95 0xec
62 # CHECK: r17 = mpy(r21.h, r31.l):<<1
63 0x71 0xdf 0x95 0xec
64 # CHECK: r17 = mpy(r21.h, r31.h):<<1
65 0x91 0xdf 0x95 0xec
66 # CHECK: r17 = mpy(r21.l, r31.l):<<1:sat
67 0xb1 0xdf 0x95 0xec
68 # CHECK: r17 = mpy(r21.l, r31.h):<<1:sat
69 0xd1 0xdf 0x95 0xec
70 # CHECK: r17 = mpy(r21.h, r31.l):<<1:sat
71 0xf1 0xdf 0x95 0xec
72 # CHECK: r17 = mpy(r21.h, r31.h):<<1:sat
73 0x11 0xdf 0xb5 0xec
74 # CHECK: r17 = mpy(r21.l, r31.l):<<1:rnd
75 0x31 0xdf 0xb5 0xec
76 # CHECK: r17 = mpy(r21.l, r31.h):<<1:rnd
77 0x51 0xdf 0xb5 0xec
78 # CHECK: r17 = mpy(r21.h, r31.l):<<1:rnd
79 0x71 0xdf 0xb5 0xec
80 # CHECK: r17 = mpy(r21.h, r31.h):<<1:rnd
81 0x91 0xdf 0xb5 0xec
82 # CHECK: r17 = mpy(r21.l, r31.l):<<1:rnd:sat
83 0xb1 0xdf 0xb5 0xec
84 # CHECK: r17 = mpy(r21.l, r31.h):<<1:rnd:sat
85 0xd1 0xdf 0xb5 0xec
86 # CHECK: r17 = mpy(r21.h, r31.l):<<1:rnd:sat
87 0xf1 0xdf 0xb5 0xec
88 # CHECK: r17 = mpy(r21.h, r31.h):<<1:rnd:sat
89 0x11 0xdf 0x95 0xee
90 # CHECK: r17 += mpy(r21.l, r31.l):<<1
91 0x31 0xdf 0x95 0xee
92 # CHECK: r17 += mpy(r21.l, r31.h):<<1
93 0x51 0xdf 0x95 0xee
94 # CHECK: r17 += mpy(r21.h, r31.l):<<1
95 0x71 0xdf 0x95 0xee
96 # CHECK: r17 += mpy(r21.h, r31.h):<<1
97 0x91 0xdf 0x95 0xee
98 # CHECK: r17 += mpy(r21.l, r31.l):<<1:sat
99 0xb1 0xdf 0x95 0xee
100 # CHECK: r17 += mpy(r21.l, r31.h):<<1:sat
101 0xd1 0xdf 0x95 0xee
102 # CHECK: r17 += mpy(r21.h, r31.l):<<1:sat
103 0xf1 0xdf 0x95 0xee
104 # CHECK: r17 += mpy(r21.h, r31.h):<<1:sat
105 0x11 0xdf 0xb5 0xee
106 # CHECK: r17 -= mpy(r21.l, r31.l):<<1
107 0x31 0xdf 0xb5 0xee
108 # CHECK: r17 -= mpy(r21.l, r31.h):<<1
109 0x51 0xdf 0xb5 0xee
110 # CHECK: r17 -= mpy(r21.h, r31.l):<<1
111 0x71 0xdf 0xb5 0xee
112 # CHECK: r17 -= mpy(r21.h, r31.h):<<1
113 0x91 0xdf 0xb5 0xee
114 # CHECK: r17 -= mpy(r21.l, r31.l):<<1:sat
115 0xb1 0xdf 0xb5 0xee
116 # CHECK: r17 -= mpy(r21.l, r31.h):<<1:sat
117 0xd1 0xdf 0xb5 0xee
118 # CHECK: r17 -= mpy(r21.h, r31.l):<<1:sat
119 0xf1 0xdf 0xb5 0xee
120 # CHECK: r17 -= mpy(r21.h, r31.h):<<1:sat
121 0x10 0xdf 0xd5 0xe4
122 # CHECK: r17:16 = mpyu(r21.l, r31.l):<<1
123 0x30 0xdf 0xd5 0xe4
124 # CHECK: r17:16 = mpyu(r21.l, r31.h):<<1
125 0x50 0xdf 0xd5 0xe4
126 # CHECK: r17:16 = mpyu(r21.h, r31.l):<<1
127 0x70 0xdf 0xd5 0xe4
128 # CHECK: r17:16 = mpyu(r21.h, r31.h):<<1
129 0x10 0xdf 0xd5 0xe6
130 # CHECK: r17:16 += mpyu(r21.l, r31.l):<<1
131 0x30 0xdf 0xd5 0xe6
132 # CHECK: r17:16 += mpyu(r21.l, r31.h):<<1
133 0x50 0xdf 0xd5 0xe6
134 # CHECK: r17:16 += mpyu(r21.h, r31.l):<<1
135 0x70 0xdf 0xd5 0xe6
136 # CHECK: r17:16 += mpyu(r21.h, r31.h):<<1
137 0x10 0xdf 0xf5 0xe6
138 # CHECK: r17:16 -= mpyu(r21.l, r31.l):<<1
139 0x30 0xdf 0xf5 0xe6
140 # CHECK: r17:16 -= mpyu(r21.l, r31.h):<<1
141 0x50 0xdf 0xf5 0xe6
142 # CHECK: r17:16 -= mpyu(r21.h, r31.l):<<1
143 0x70 0xdf 0xf5 0xe6
144 # CHECK: r17:16 -= mpyu(r21.h, r31.h):<<1
145 0x11 0xdf 0xd5 0xec
146 # CHECK: r17 = mpyu(r21.l, r31.l):<<1
147 0x31 0xdf 0xd5 0xec
148 # CHECK: r17 = mpyu(r21.l, r31.h):<<1
149 0x51 0xdf 0xd5 0xec
150 # CHECK: r17 = mpyu(r21.h, r31.l):<<1
151 0x71 0xdf 0xd5 0xec
152 # CHECK: r17 = mpyu(r21.h, r31.h):<<1
153 0x11 0xdf 0xd5 0xee
154 # CHECK: r17 += mpyu(r21.l, r31.l):<<1
155 0x31 0xdf 0xd5 0xee
156 # CHECK: r17 += mpyu(r21.l, r31.h):<<1
157 0x51 0xdf 0xd5 0xee
158 # CHECK: r17 += mpyu(r21.h, r31.l):<<1
159 0x71 0xdf 0xd5 0xee
160 # CHECK: r17 += mpyu(r21.h, r31.h):<<1
161 0x11 0xdf 0xf5 0xee
162 # CHECK: r17 -= mpyu(r21.l, r31.l):<<1
163 0x31 0xdf 0xf5 0xee
164 # CHECK: r17 -= mpyu(r21.l, r31.h):<<1
165 0x51 0xdf 0xf5 0xee
166 # CHECK: r17 -= mpyu(r21.h, r31.l):<<1
167 0x71 0xdf 0xf5 0xee
168 # CHECK: r17 -= mpyu(r21.h, r31.h):<<1
169 0x31 0xdf 0x15 0xed
170 # CHECK: r17 = mpy(r21, r31)
171 0x31 0xdf 0x35 0xed
172 # CHECK: r17 = mpy(r21, r31):rnd
173 0x31 0xdf 0x55 0xed
174 # CHECK: r17 = mpyu(r21, r31)
175 0x31 0xdf 0x75 0xed
176 # CHECK: r17 = mpysu(r21, r31)
177 0x11 0xdf 0xb5 0xed
178 # CHECK: r17 = mpy(r21, r31.h):<<1:sat
179 0x31 0xdf 0xb5 0xed
180 # CHECK: r17 = mpy(r21, r31.l):<<1:sat
181 0x11 0xdf 0xf5 0xed
182 # CHECK: r17 = mpy(r21, r31):<<1:sat
183 0x91 0xdf 0xb5 0xed
184 # CHECK: r17 = mpy(r21, r31.h):<<1:rnd:sat
185 0x91 0xdf 0xf5 0xed
186 # CHECK: r17 = mpy(r21, r31.l):<<1:rnd:sat
187 0x11 0xdf 0x75 0xef
188 # CHECK: r17 += mpy(r21, r31):<<1:sat
189 0x31 0xdf 0x75 0xef
190 # CHECK: r17 -= mpy(r21, r31):<<1:sat
191 0x10 0xdf 0x15 0xe5
192 # CHECK: r17:16 = mpy(r21, r31)
193 0x10 0xdf 0x55 0xe5
194 # CHECK: r17:16 = mpyu(r21, r31)
195 0x10 0xdf 0x15 0xe7
196 # CHECK: r17:16 += mpy(r21, r31)
197 0x10 0xdf 0x35 0xe7
198 # CHECK: r17:16 -= mpy(r21, r31)
199 0x10 0xdf 0x55 0xe7
200 # CHECK: r17:16 += mpyu(r21, r31)
201 0x10 0xdf 0x75 0xe7
202 # CHECK: r17:16 -= mpyu(r21, r31)