1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
4 # CHECK: r17:16 = memd(r21 + r31<<#3)
6 # CHECK: r17:16 = memd(##320)
8 # CHECK: r17:16 = memd(r21 ++ #40:circ(m1))
10 # CHECK: r17:16 = memd(r21 ++ I:circ(m1))
12 # CHECK: r17:16 = memd(r21++#40)
14 # CHECK: r17:16 = memd(r21++m1)
16 # CHECK: r17:16 = memd(r21 ++ m1:brev)
18 # CHECK: if (p3) r17:16 = memd(r21+r31<<#3)
20 # CHECK: if (!p3) r17:16 = memd(r21+r31<<#3)
21 0x03 0x40 0x45 0x85 0xf0 0xff 0xd5 0x32
23 # CHECK-NEXT: if (p3.new) r17:16 = memd(r21+r31<<#3)
24 0x03 0x40 0x45 0x85 0xf0 0xff 0xd5 0x33
26 # CHECK-NEXT: if (!p3.new) r17:16 = memd(r21+r31<<#3)
28 # CHECK: if (p3) r17:16 = memd(r21 + #24)
29 0x03 0x40 0x45 0x85 0x70 0xd8 0xd5 0x43
31 # CHECK-NEXT: if (p3.new) r17:16 = memd(r21 + #24)
33 # CHECK: if (!p3) r17:16 = memd(r21 + #24)
34 0x03 0x40 0x45 0x85 0x70 0xd8 0xd5 0x47
36 # CHECK-NEXT: if (!p3.new) r17:16 = memd(r21 + #24)
38 # CHECK: if (p3) r17:16 = memd(r21++#40)
40 # CHECK: if (!p3) r17:16 = memd(r21++#40)
41 0x03 0x40 0x45 0x85 0xb0 0xf6 0xd5 0x9b
43 # CHECK-NEXT: if (p3.new) r17:16 = memd(r21++#40)
44 0x03 0x40 0x45 0x85 0xb0 0xfe 0xd5 0x9b
46 # CHECK-NEXT: if (!p3.new) r17:16 = memd(r21++#40)
49 # CHECK: r17 = memb(r21 + r31<<#3)
51 # CHECK: r17 = memb(##21)
53 # CHECK: r17 = memb(r21 + #31)
55 # CHECK: r17 = memb(r21 ++ #5:circ(m1))
57 # CHECK: r17 = memb(r21 ++ I:circ(m1))
59 # CHECK: r17 = memb(r21++#5)
61 # CHECK: r17 = memb(r21++m1)
63 # CHECK: r17 = memb(r21 ++ m1:brev)
65 # CHECK: if (p3) r17 = memb(r21+r31<<#3)
67 # CHECK: if (!p3) r17 = memb(r21+r31<<#3)
68 0x03 0x40 0x45 0x85 0xf1 0xff 0x15 0x32
70 # CHECK-NEXT: if (p3.new) r17 = memb(r21+r31<<#3)
71 0x03 0x40 0x45 0x85 0xf1 0xff 0x15 0x33
73 # CHECK-NEXT: if (!p3.new) r17 = memb(r21+r31<<#3)
75 # CHECK: if (p3) r17 = memb(r21 + #44)
76 0x03 0x40 0x45 0x85 0x91 0xdd 0x15 0x43
78 # CHECK-NEXT: if (p3.new) r17 = memb(r21 + #44)
80 # CHECK: if (!p3) r17 = memb(r21 + #44)
81 0x03 0x40 0x45 0x85 0x91 0xdd 0x15 0x47
83 # CHECK-NEXT: if (!p3.new) r17 = memb(r21 + #44)
85 # CHECK: if (p3) r17 = memb(r21++#5)
87 # CHECK: if (!p3) r17 = memb(r21++#5)
88 0x03 0x40 0x45 0x85 0xb1 0xf6 0x15 0x9b
90 # CHECK-NEXT: if (p3.new) r17 = memb(r21++#5)
91 0x03 0x40 0x45 0x85 0xb1 0xfe 0x15 0x9b
93 # CHECK-NEXT: if (!p3.new) r17 = memb(r21++#5)
96 # CHECK: r17 = memh(r21 + r31<<#3)
98 # CHECK: r17 = memh(##84)
100 # CHECK: r17 = memh(r21 + #62)
102 # CHECK: r17 = memh(r21 ++ #10:circ(m1))
104 # CHECK: r17 = memh(r21 ++ I:circ(m1))
106 # CHECK: r17 = memh(r21++#10)
108 # CHECK: r17 = memh(r21++m1)
110 # CHECK: r17 = memh(r21 ++ m1:brev)
112 # CHECK: if (p3) r17 = memh(r21+r31<<#3)
114 # CHECK: if (!p3) r17 = memh(r21+r31<<#3)
115 0x03 0x40 0x45 0x85 0xf1 0xff 0x55 0x32
117 # CHECK-NEXT: if (p3.new) r17 = memh(r21+r31<<#3)
118 0x03 0x40 0x45 0x85 0xf1 0xff 0x55 0x33
120 # CHECK-NEXT: if (!p3.new) r17 = memh(r21+r31<<#3)
122 # CHECK: if (p3) r17 = memh(r21++#10)
124 # CHECK: if (!p3) r17 = memh(r21++#10)
125 0x03 0x40 0x45 0x85 0xb1 0xf6 0x55 0x9b
127 # CHECK-NEXT: if (p3.new) r17 = memh(r21++#10)
128 0x03 0x40 0x45 0x85 0xb1 0xfe 0x55 0x9b
130 # CHECK-NEXT: if (!p3.new) r17 = memh(r21++#10)
133 # CHECK: r17 = memub(r21 + r31<<#3)
135 # CHECK: r17 = memub(##21)
137 # CHECK: r17 = memub(r21 + #31)
139 # CHECK: r17 = memub(r21 ++ #5:circ(m1))
141 # CHECK: r17 = memub(r21 ++ I:circ(m1))
143 # CHECK: r17 = memub(r21++#5)
145 # CHECK: r17 = memub(r21++m1)
147 # CHECK: r17 = memub(r21 ++ m1:brev)
149 # CHECK: if (p3) r17 = memub(r21+r31<<#3)
151 # CHECK: if (!p3) r17 = memub(r21+r31<<#3)
152 0x03 0x40 0x45 0x85 0xf1 0xff 0x35 0x32
154 # CHECK-NEXT: if (p3.new) r17 = memub(r21+r31<<#3)
155 0x03 0x40 0x45 0x85 0xf1 0xff 0x35 0x33
157 # CHECK-NEXT: if (!p3.new) r17 = memub(r21+r31<<#3)
159 # CHECK: if (p3) r17 = memub(r21 + #31)
160 0x03 0x40 0x45 0x85 0xf1 0xdb 0x35 0x43
162 # CHECK-NEXT: if (p3.new) r17 = memub(r21 + #31)
164 # CHECK: if (!p3) r17 = memub(r21 + #31)
165 0x03 0x40 0x45 0x85 0xf1 0xdb 0x35 0x47
167 # CHECK-NEXT: if (!p3.new) r17 = memub(r21 + #31)
169 # CHECK: if (p3) r17 = memub(r21++#5)
171 # CHECK: if (!p3) r17 = memub(r21++#5)
172 0x03 0x40 0x45 0x85 0xb1 0xf6 0x35 0x9b
174 # CHECK-NEXT: if (p3.new) r17 = memub(r21++#5)
175 0x03 0x40 0x45 0x85 0xb1 0xfe 0x35 0x9b
177 # CHECK-NEXT: if (!p3.new) r17 = memub(r21++#5)
180 # CHECK: r17 = memuh(r21 + r31<<#3)
182 # CHECK: r17 = memuh(##84)
184 # CHECK: r17 = memuh(r21 + #42)
186 # CHECK: r17 = memuh(r21 ++ #10:circ(m1))
188 # CHECK: r17 = memuh(r21 ++ I:circ(m1))
190 # CHECK: r17 = memuh(r21++#10)
192 # CHECK: r17 = memuh(r21++m1)
194 # CHECK: r17 = memuh(r21 ++ m1:brev)
196 # CHECK: if (p3) r17 = memuh(r21+r31<<#3)
198 # CHECK: if (!p3) r17 = memuh(r21+r31<<#3)
199 0x03 0x40 0x45 0x85 0xf1 0xff 0x75 0x32
201 # CHECK-NEXT: if (p3.new) r17 = memuh(r21+r31<<#3)
202 0x03 0x40 0x45 0x85 0xf1 0xff 0x75 0x33
204 # CHECK-NEXT: if (!p3.new) r17 = memuh(r21+r31<<#3)
206 # CHECK: if (p3) r17 = memuh(r21 + #42)
208 # CHECK: if (!p3) r17 = memuh(r21 + #42)
209 0x03 0x40 0x45 0x85 0xb1 0xda 0x75 0x43
211 # CHECK-NEXT: if (p3.new) r17 = memuh(r21 + #42)
212 0x03 0x40 0x45 0x85 0xb1 0xda 0x75 0x47
214 # CHECK-NEXT: if (!p3.new) r17 = memuh(r21 + #42)
216 # CHECK: if (p3) r17 = memuh(r21++#10)
218 # CHECK: if (!p3) r17 = memuh(r21++#10)
219 0x03 0x40 0x45 0x85 0xb1 0xf6 0x75 0x9b
221 # CHECK-NEXT: if (p3.new) r17 = memuh(r21++#10)
222 0x03 0x40 0x45 0x85 0xb1 0xfe 0x75 0x9b
224 # CHECK-NEXT: if (!p3.new) r17 = memuh(r21++#10)
227 # CHECK: r17 = memw(r21 + r31<<#3)
229 # CHECK: r17 = memw(##80)
231 # CHECK: r17 = memw(r21 + #84)
233 # CHECK: r17 = memw(r21 ++ #20:circ(m1))
235 # CHECK: r17 = memw(r21 ++ I:circ(m1))
237 # CHECK: r17 = memw(r21++#20)
239 # CHECK: r17 = memw(r21++m1)
241 # CHECK: r17 = memw(r21 ++ m1:brev)
243 # CHECK: if (p3) r17 = memw(r21+r31<<#3)
245 # CHECK: if (!p3) r17 = memw(r21+r31<<#3)
246 0x03 0x40 0x45 0x85 0xf1 0xff 0x95 0x32
248 # CHECK-NEXT: if (p3.new) r17 = memw(r21+r31<<#3)
249 0x03 0x40 0x45 0x85 0xf1 0xff 0x95 0x33
251 # CHECK-NEXT: if (!p3.new) r17 = memw(r21+r31<<#3)
253 # CHECK: if (p3) r17 = memw(r21 + #84)
255 # CHECK: if (!p3) r17 = memw(r21 + #84)
256 0x03 0x40 0x45 0x85 0xb1 0xda 0x95 0x43
258 # CHECK-NEXT: if (p3.new) r17 = memw(r21 + #84)
259 0x03 0x40 0x45 0x85 0xb1 0xda 0x95 0x47
261 # CHECK-NEXT: if (!p3.new) r17 = memw(r21 + #84)
263 # CHECK: if (p3) r17 = memw(r21++#20)
265 # CHECK: if (!p3) r17 = memw(r21++#20)
266 0x03 0x40 0x45 0x85 0xb1 0xf6 0x95 0x9b
268 # CHECK-NEXT: if (p3.new) r17 = memw(r21++#20)
269 0x03 0x40 0x45 0x85 0xb1 0xfe 0x95 0x9b
271 # CHECK-NEXT: if (!p3.new) r17 = memw(r21++#20)
274 # CHECK: deallocframe
276 # CHECK: dealloc_return
277 0x03 0x40 0x45 0x85 0x1e 0xcb 0x1e 0x96
279 # CHECK-NEXT: if (p3.new) dealloc_return:nt
281 # CHECK: if (p3) dealloc_return
282 0x03 0x40 0x45 0x85 0x1e 0xdb 0x1e 0x96
284 # CHECK-NEXT: if (p3.new) dealloc_return:t
285 0x03 0x40 0x45 0x85 0x1e 0xeb 0x1e 0x96
287 # CHECK-NEXT: if (!p3.new) dealloc_return:nt
289 # CHECK: if (!p3) dealloc_return
290 0x03 0x40 0x45 0x85 0x1e 0xfb 0x1e 0x96
292 # CHECK-NEXT: if (!p3.new) dealloc_return:t