1# RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
2
30x9e 0xf5 0xd1 0x3b
4# CHECK: memd(r17 + r21<<#3) = r31:30
50x28 0xd4 0xc0 0x48
6# CHECK: memd(##320) = r21:20
70x15 0xd4 0xd1 0xa1
8# CHECK: memd(r17+#168) = r21:20
90x02 0xf4 0xd1 0xa9
10# CHECK: memd(r17 ++ I:circ(m1)) = r21:20
110x28 0xf4 0xd1 0xa9
12# CHECK: memd(r17 ++ #40:circ(m1)) = r21:20
130x28 0xd4 0xd1 0xab
14# CHECK: memd(r17++#40) = r21:20
150x00 0xf4 0xd1 0xad
16# CHECK: memd(r17++m1) = r21:20
170x00 0xf4 0xd1 0xaf
18# CHECK: memd(r17 ++ m1:brev) = r21:20
190xfe 0xf5 0xd1 0x34
20# CHECK: if (p3) memd(r17+r21<<#3) = r31:30
210xfe 0xf5 0xd1 0x35
22# CHECK: if (!p3) memd(r17+r21<<#3) = r31:30
230x03 0x40 0x45 0x85 0xfe 0xf5 0xd1 0x36
24# CHECK: p3 = r5
25# CHECK-NEXT: if (p3.new) memd(r17+r21<<#3) = r31:30
260x03 0x40 0x45 0x85 0xfe 0xf5 0xd1 0x37
27# CHECK: p3 = r5
28# CHECK-NEXT: if (!p3.new) memd(r17+r21<<#3) = r31:30
290xab 0xde 0xd1 0x40
30# CHECK: if (p3) memd(r17+#168) = r31:30
310xab 0xde 0xd1 0x44
32# CHECK: if (!p3) memd(r17+#168) = r31:30
330x03 0x40 0x45 0x85 0xab 0xde 0xd1 0x42
34# CHECK: p3 = r5
35# CHECK-NEXT: if (p3.new) memd(r17+#168) = r31:30
360x03 0x40 0x45 0x85 0xab 0xde 0xd1 0x46
37# CHECK: p3 = r5
38# CHECK-NEXT: if (!p3.new) memd(r17+#168) = r31:30
390x2b 0xf4 0xd1 0xab
40# CHECK: if (p3) memd(r17++#40) = r21:20
410x2f 0xf4 0xd1 0xab
42# CHECK: if (!p3) memd(r17++#40) = r21:20
430x03 0x40 0x45 0x85 0xab 0xf4 0xd1 0xab
44# CHECK: p3 = r5
45# CHECK-NEXT: if (p3.new) memd(r17++#40) = r21:20
460x03 0x40 0x45 0x85 0xaf 0xf4 0xd1 0xab
47# CHECK: p3 = r5
48# CHECK-NEXT: if (!p3.new) memd(r17++#40) = r21:20
49
500x9f 0xf5 0x11 0x3b
51# CHECK: memb(r17 + r21<<#3) = r31
520x9f 0xca 0x11 0x3c
53# CHECK: memb(r17+#21)=#31
540x15 0xd5 0x00 0x48
55# CHECK: memb(##21) = r21
560x15 0xd5 0x11 0xa1
57# CHECK: memb(r17+#21) = r21
580x02 0xf5 0x11 0xa9
59# CHECK: memb(r17 ++ I:circ(m1)) = r21
600x28 0xf5 0x11 0xa9
61# CHECK: memb(r17 ++ #5:circ(m1)) = r21
620x28 0xd5 0x11 0xab
63# CHECK: memb(r17++#5) = r21
640x00 0xf5 0x11 0xad
65# CHECK: memb(r17++m1) = r21
660x00 0xf5 0x11 0xaf
67# CHECK: memb(r17 ++ m1:brev) = r21
680xff 0xf5 0x11 0x34
69# CHECK: if (p3) memb(r17+r21<<#3) = r31
700xff 0xf5 0x11 0x35
71# CHECK: if (!p3) memb(r17+r21<<#3) = r31
720x03 0x40 0x45 0x85 0xff 0xf5 0x11 0x36
73# CHECK: p3 = r5
74# CHECK-NEXT: if (p3.new) memb(r17+r21<<#3) = r31
750x03 0x40 0x45 0x85 0xff 0xf5 0x11 0x37
76# CHECK: p3 = r5
77# CHECK-NEXT: if (!p3.new) memb(r17+r21<<#3) = r31
780xff 0xca 0x11 0x38
79# CHECK: if (p3) memb(r17+#21)=#31
800xff 0xca 0x91 0x38
81# CHECK: if (!p3) memb(r17+#21)=#31
820x03 0x40 0x45 0x85 0xff 0xca 0x11 0x39
83# CHECK: p3 = r5
84# CHECK-NEXT: if (p3.new) memb(r17+#21)=#31
850x03 0x40 0x45 0x85 0xff 0xca 0x91 0x39
86# CHECK: p3 = r5
87# CHECK-NEXT: if (!p3.new) memb(r17+#21)=#31
880xab 0xdf 0x11 0x40
89# CHECK: if (p3) memb(r17+#21) = r31
900xab 0xdf 0x11 0x44
91# CHECK: if (!p3) memb(r17+#21) = r31
920x03 0x40 0x45 0x85 0xab 0xdf 0x11 0x42
93# CHECK: p3 = r5
94# CHECK-NEXT: if (p3.new) memb(r17+#21) = r31
950x03 0x40 0x45 0x85 0xab 0xdf 0x11 0x46
96# CHECK: p3 = r5
97# CHECK-NEXT: if (!p3.new) memb(r17+#21) = r31
980x2b 0xf5 0x11 0xab
99# CHECK: if (p3) memb(r17++#5) = r21
1000x2f 0xf5 0x11 0xab
101# CHECK: if (!p3) memb(r17++#5) = r21
1020x03 0x40 0x45 0x85 0xab 0xf5 0x11 0xab
103# CHECK: p3 = r5
104# CHECK-NEXT: if (p3.new) memb(r17++#5) = r21
1050x03 0x40 0x45 0x85 0xaf 0xf5 0x11 0xab
106# CHECK: p3 = r5
107# CHECK-NEXT: if (!p3.new) memb(r17++#5) = r21
108
1090x9f 0xf5 0x51 0x3b
110# CHECK: memh(r17 + r21<<#3) = r31
1110x9f 0xf5 0x71 0x3b
112# CHECK: memh(r17 + r21<<#3) = r31.h
1130x95 0xcf 0x31 0x3c
114# CHECK: memh(r17+#62)=#21
1150x2a 0xd5 0x40 0x48
116# CHECK: memh(##84) = r21
1170x2a 0xd5 0x60 0x48
118# CHECK: memh(##84) = r21.h
1190x15 0xdf 0x51 0xa1
120# CHECK: memh(r17+#42) = r31
1210x15 0xdf 0x71 0xa1
122# CHECK: memh(r17+#42) = r31.h
1230x02 0xf5 0x51 0xa9
124# CHECK: memh(r17 ++ I:circ(m1)) = r21
1250x28 0xf5 0x51 0xa9
126# CHECK: memh(r17 ++ #10:circ(m1)) = r21
1270x02 0xf5 0x71 0xa9
128# CHECK: memh(r17 ++ I:circ(m1)) = r21.h
1290x28 0xf5 0x71 0xa9
130# CHECK: memh(r17 ++ #10:circ(m1)) = r21.h
1310x28 0xd5 0x51 0xab
132# CHECK: memh(r17++#10) = r21
1330x28 0xd5 0x71 0xab
134# CHECK: memh(r17++#10) = r21.h
1350x00 0xf5 0x51 0xad
136# CHECK: memh(r17++m1) = r21
1370x00 0xf5 0x71 0xad
138# CHECK: memh(r17++m1) = r21.h
1390x00 0xf5 0x51 0xaf
140# CHECK: memh(r17 ++ m1:brev) = r21
1410x00 0xf5 0x71 0xaf
142# CHECK: memh(r17 ++ m1:brev) = r21.h
1430xff 0xf5 0x51 0x34
144# CHECK: if (p3) memh(r17+r21<<#3) = r31
1450xff 0xf5 0x71 0x34
146# CHECK: if (p3) memh(r17+r21<<#3) = r31.h
1470xff 0xf5 0x51 0x35
148# CHECK: if (!p3) memh(r17+r21<<#3) = r31
1490xff 0xf5 0x71 0x35
150# CHECK: if (!p3) memh(r17+r21<<#3) = r31.h
1510x03 0x40 0x45 0x85 0xff 0xf5 0x51 0x36
152# CHECK: p3 = r5
153# CHECK-NEXT: if (p3.new) memh(r17+r21<<#3) = r31
1540x03 0x40 0x45 0x85 0xff 0xf5 0x71 0x36
155# CHECK: p3 = r5
156# CHECK-NEXT: if (p3.new) memh(r17+r21<<#3) = r31.h
1570x03 0x40 0x45 0x85 0xff 0xf5 0x51 0x37
158# CHECK: p3 = r5
159# CHECK-NEXT: if (!p3.new) memh(r17+r21<<#3) = r31
1600x03 0x40 0x45 0x85 0xff 0xf5 0x71 0x37
161# CHECK: p3 = r5
162# CHECK-NEXT: if (!p3.new) memh(r17+r21<<#3) = r31.h
1630xf5 0xcf 0x31 0x38
164# CHECK: if (p3) memh(r17+#62)=#21
1650xf5 0xcf 0xb1 0x38
166# CHECK: if (!p3) memh(r17+#62)=#21
1670x03 0x40 0x45 0x85 0xf5 0xcf 0x31 0x39
168# CHECK: p3 = r5
169# CHECK-NEXT: if (p3.new) memh(r17+#62)=#21
1700x03 0x40 0x45 0x85 0xf5 0xcf 0xb1 0x39
171# CHECK: p3 = r5
172# CHECK-NEXT: if (!p3.new) memh(r17+#62)=#21
1730xfb 0xd5 0x51 0x40
174# CHECK: if (p3) memh(r17+#62) = r21
1750xfb 0xd5 0x71 0x40
176# CHECK: if (p3) memh(r17+#62) = r21.h
1770xfb 0xd5 0x51 0x44
178# CHECK: if (!p3) memh(r17+#62) = r21
1790xfb 0xd5 0x71 0x44
180# CHECK: if (!p3) memh(r17+#62) = r21.h
1810x03 0x40 0x45 0x85 0xfb 0xd5 0x51 0x42
182# CHECK: p3 = r5
183# CHECK-NEXT: if (p3.new) memh(r17+#62) = r21
1840x03 0x40 0x45 0x85 0xfb 0xd5 0x71 0x42
185# CHECK: p3 = r5
186# CHECK-NEXT: if (p3.new) memh(r17+#62) = r21.h
1870x03 0x40 0x45 0x85 0xfb 0xd5 0x51 0x46
188# CHECK: p3 = r5
189# CHECK-NEXT: if (!p3.new) memh(r17+#62) = r21
1900x03 0x40 0x45 0x85 0xfb 0xd5 0x71 0x46
191# CHECK: p3 = r5
192# CHECK-NEXT: if (!p3.new) memh(r17+#62) = r21.h
1930x2b 0xf5 0x51 0xab
194# CHECK: if (p3) memh(r17++#10) = r21
1950x2f 0xf5 0x51 0xab
196# CHECK: if (!p3) memh(r17++#10) = r21
1970x03 0x40 0x45 0x85 0xab 0xf5 0x51 0xab
198# CHECK: p3 = r5
199# CHECK-NEXT: if (p3.new) memh(r17++#10) = r21
2000x03 0x40 0x45 0x85 0xaf 0xf5 0x51 0xab
201# CHECK: p3 = r5
202# CHECK-NEXT: if (!p3.new) memh(r17++#10) = r21
2030x2b 0xf5 0x71 0xab
204# CHECK: if (p3) memh(r17++#10) = r21.h
2050x2f 0xf5 0x71 0xab
206# CHECK: if (!p3) memh(r17++#10) = r21.h
2070x03 0x40 0x45 0x85 0xab 0xf5 0x71 0xab
208# CHECK: p3 = r5
209# CHECK-NEXT: if (p3.new) memh(r17++#10) = r21.h
2100x03 0x40 0x45 0x85 0xaf 0xf5 0x71 0xab
211# CHECK: p3 = r5
212# CHECK-NEXT: if (!p3.new) memh(r17++#10) = r21.h
213
2140x9f 0xf5 0x91 0x3b
215# CHECK: memw(r17 + r21<<#3) = r31
2160x9f 0xca 0x51 0x3c
217# CHECK: memw(r17+#84)=#31
2180x15 0xdf 0x91 0xa1
219# CHECK: memw(r17+#84) = r31
2200x14 0xd5 0x80 0x48
221# CHECK: memw(##80) = r21
2220x02 0xf5 0x91 0xa9
223# CHECK: memw(r17 ++ I:circ(m1)) = r21
2240x28 0xf5 0x91 0xa9
225# CHECK: memw(r17 ++ #20:circ(m1)) = r21
2260x28 0xd5 0x91 0xab
227# CHECK: memw(r17++#20) = r21
2280x00 0xf5 0x91 0xad
229# CHECK: memw(r17++m1) = r21
2300x00 0xf5 0x91 0xaf
231# CHECK: memw(r17 ++ m1:brev) = r21
2320xff 0xf5 0x91 0x34
233# CHECK: if (p3) memw(r17+r21<<#3) = r31
2340xff 0xf5 0x91 0x35
235# CHECK: if (!p3) memw(r17+r21<<#3) = r31
2360x03 0x40 0x45 0x85 0xff 0xf5 0x91 0x36
237# CHECK: p3 = r5
238# CHECK-NEXT: if (p3.new) memw(r17+r21<<#3) = r31
2390x03 0x40 0x45 0x85 0xff 0xf5 0x91 0x37
240# CHECK: p3 = r5
241# CHECK-NEXT: if (!p3.new) memw(r17+r21<<#3) = r31
2420xff 0xca 0x51 0x38
243# CHECK: if (p3) memw(r17+#84)=#31
2440xff 0xca 0xd1 0x38
245# CHECK: if (!p3) memw(r17+#84)=#31
2460x03 0x40 0x45 0x85 0xff 0xca 0x51 0x39
247# CHECK: p3 = r5
248# CHECK-NEXT: if (p3.new) memw(r17+#84)=#31
2490x03 0x40 0x45 0x85 0xff 0xca 0xd1 0x39
250# CHECK: p3 = r5
251# CHECK-NEXT: if (!p3.new) memw(r17+#84)=#31
2520xab 0xdf 0x91 0x40
253# CHECK: if (p3) memw(r17+#84) = r31
2540xab 0xdf 0x91 0x44
255# CHECK: if (!p3) memw(r17+#84) = r31
2560x03 0x40 0x45 0x85 0xab 0xdf 0x91 0x42
257# CHECK: p3 = r5
258# CHECK-NEXT: if (p3.new) memw(r17+#84) = r31
2590x03 0x40 0x45 0x85 0xab 0xdf 0x91 0x46
260# CHECK: p3 = r5
261# CHECK-NEXT: if (!p3.new) memw(r17+#84) = r31
2620x2b 0xf5 0x91 0xab
263# CHECK: if (p3) memw(r17++#20) = r21
2640x2f 0xf5 0x91 0xab
265# CHECK: if (!p3) memw(r17++#20) = r21
2660x03 0x40 0x45 0x85 0xaf 0xf5 0x91 0xab
267# CHECK: p3 = r5
268# CHECK-NEXT: if (!p3.new) memw(r17++#20) = r21
2690x03 0x40 0x45 0x85 0xab 0xf5 0x91 0xab
270# CHECK: p3 = r5
271# CHECK-NEXT: if (p3.new) memw(r17++#20) = r21
272
2730x1f 0xc0 0x9d 0xa0
274# CHECK: allocframe(#248)