1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
4 # CHECK: memd(r17 + r21<<#3) = r31:30
6 # CHECK: memd(r17+#168) = r21:20
8 # CHECK: memd(r17 ++ I:circ(m1)) = r21:20
10 # CHECK: memd(r17 ++ #40:circ(m1)) = r21:20
12 # CHECK: memd(r17++#40) = r21:20
14 # CHECK: memd(r17++m1) = r21:20
16 # CHECK: memd(r17 ++ m1:brev) = r21:20
18 # CHECK: if (p3) memd(r17+r21<<#3) = r31:30
20 # CHECK: if (!p3) memd(r17+r21<<#3) = r31:30
21 0x03 0x40 0x45 0x85 0xfe 0xf5 0xd1 0x36
23 # CHECK-NEXT: if (p3.new) memd(r17+r21<<#3) = r31:30
24 0x03 0x40 0x45 0x85 0xfe 0xf5 0xd1 0x37
26 # CHECK-NEXT: if (!p3.new) memd(r17+r21<<#3) = r31:30
28 # CHECK: if (p3) memd(r17+#168) = r31:30
30 # CHECK: if (!p3) memd(r17+#168) = r31:30
31 0x03 0x40 0x45 0x85 0xab 0xde 0xd1 0x42
33 # CHECK-NEXT: if (p3.new) memd(r17+#168) = r31:30
34 0x03 0x40 0x45 0x85 0xab 0xde 0xd1 0x46
36 # CHECK-NEXT: if (!p3.new) memd(r17+#168) = r31:30
38 # CHECK: if (p3) memd(r17++#40) = r21:20
40 # CHECK: if (!p3) memd(r17++#40) = r21:20
41 0x03 0x40 0x45 0x85 0xab 0xf4 0xd1 0xab
43 # CHECK-NEXT: if (p3.new) memd(r17++#40) = r21:20
44 0x03 0x40 0x45 0x85 0xaf 0xf4 0xd1 0xab
46 # CHECK-NEXT: if (!p3.new) memd(r17++#40) = r21:20
49 # CHECK: memb(r17 + r21<<#3) = r31
51 # CHECK: memb(r17+#21) = r21
53 # CHECK: memb(r17 ++ I:circ(m1)) = r21
55 # CHECK: memb(r17 ++ #5:circ(m1)) = r21
57 # CHECK: memb(r17++#5) = r21
59 # CHECK: memb(r17++m1) = r21
61 # CHECK: memb(r17 ++ m1:brev) = r21
63 # CHECK: if (p3) memb(r17+r21<<#3) = r31
65 # CHECK: if (!p3) memb(r17+r21<<#3) = r31
66 0x03 0x40 0x45 0x85 0xff 0xf5 0x11 0x36
68 # CHECK-NEXT: if (p3.new) memb(r17+r21<<#3) = r31
69 0x03 0x40 0x45 0x85 0xff 0xf5 0x11 0x37
71 # CHECK-NEXT: if (!p3.new) memb(r17+r21<<#3) = r31
73 # CHECK: if (p3) memb(r17+#21) = r31
75 # CHECK: if (!p3) memb(r17+#21) = r31
76 0x03 0x40 0x45 0x85 0xab 0xdf 0x11 0x42
78 # CHECK-NEXT: if (p3.new) memb(r17+#21) = r31
79 0x03 0x40 0x45 0x85 0xab 0xdf 0x11 0x46
81 # CHECK-NEXT: if (!p3.new) memb(r17+#21) = r31
83 # CHECK: if (p3) memb(r17++#5) = r21
85 # CHECK: if (!p3) memb(r17++#5) = r21
86 0x03 0x40 0x45 0x85 0xab 0xf5 0x11 0xab
88 # CHECK-NEXT: if (p3.new) memb(r17++#5) = r21
89 0x03 0x40 0x45 0x85 0xaf 0xf5 0x11 0xab
91 # CHECK-NEXT: if (!p3.new) memb(r17++#5) = r21
94 # CHECK: memh(r17 + r21<<#3) = r31
96 # CHECK: memh(r17 + r21<<#3) = r31.h
98 # CHECK: memh(r17+#42) = r31
100 # CHECK: memh(r17+#42) = r31.h
102 # CHECK: memh(r17 ++ I:circ(m1)) = r21
104 # CHECK: memh(r17 ++ #10:circ(m1)) = r21
106 # CHECK: memh(r17 ++ I:circ(m1)) = r21.h
108 # CHECK: memh(r17 ++ #10:circ(m1)) = r21.h
110 # CHECK: memh(r17++#10) = r21
112 # CHECK: memh(r17++#10) = r21.h
114 # CHECK: memh(r17++m1) = r21
116 # CHECK: memh(r17++m1) = r21.h
118 # CHECK: memh(r17 ++ m1:brev) = r21
120 # CHECK: memh(r17 ++ m1:brev) = r21.h
122 # CHECK: if (p3) memh(r17+r21<<#3) = r31
124 # CHECK: if (p3) memh(r17+r21<<#3) = r31.h
126 # CHECK: if (!p3) memh(r17+r21<<#3) = r31
128 # CHECK: if (!p3) memh(r17+r21<<#3) = r31.h
129 0x03 0x40 0x45 0x85 0xff 0xf5 0x51 0x36
131 # CHECK-NEXT: if (p3.new) memh(r17+r21<<#3) = r31
132 0x03 0x40 0x45 0x85 0xff 0xf5 0x71 0x36
134 # CHECK-NEXT: if (p3.new) memh(r17+r21<<#3) = r31.h
135 0x03 0x40 0x45 0x85 0xff 0xf5 0x51 0x37
137 # CHECK-NEXT: if (!p3.new) memh(r17+r21<<#3) = r31
138 0x03 0x40 0x45 0x85 0xff 0xf5 0x71 0x37
140 # CHECK-NEXT: if (!p3.new) memh(r17+r21<<#3) = r31.h
142 # CHECK: if (p3) memh(r17+#62) = r21
144 # CHECK: if (p3) memh(r17+#62) = r21.h
146 # CHECK: if (!p3) memh(r17+#62) = r21
148 # CHECK: if (!p3) memh(r17+#62) = r21.h
149 0x03 0x40 0x45 0x85 0xfb 0xd5 0x51 0x42
151 # CHECK-NEXT: if (p3.new) memh(r17+#62) = r21
152 0x03 0x40 0x45 0x85 0xfb 0xd5 0x71 0x42
154 # CHECK-NEXT: if (p3.new) memh(r17+#62) = r21.h
155 0x03 0x40 0x45 0x85 0xfb 0xd5 0x51 0x46
157 # CHECK-NEXT: if (!p3.new) memh(r17+#62) = r21
158 0x03 0x40 0x45 0x85 0xfb 0xd5 0x71 0x46
160 # CHECK-NEXT: if (!p3.new) memh(r17+#62) = r21.h
162 # CHECK: if (p3) memh(r17++#10) = r21
164 # CHECK: if (!p3) memh(r17++#10) = r21
165 0x03 0x40 0x45 0x85 0xab 0xf5 0x51 0xab
167 # CHECK-NEXT: if (p3.new) memh(r17++#10) = r21
168 0x03 0x40 0x45 0x85 0xaf 0xf5 0x51 0xab
170 # CHECK-NEXT: if (!p3.new) memh(r17++#10) = r21
172 # CHECK: if (p3) memh(r17++#10) = r21.h
174 # CHECK: if (!p3) memh(r17++#10) = r21.h
175 0x03 0x40 0x45 0x85 0xab 0xf5 0x71 0xab
177 # CHECK-NEXT: if (p3.new) memh(r17++#10) = r21.h
178 0x03 0x40 0x45 0x85 0xaf 0xf5 0x71 0xab
180 # CHECK-NEXT: if (!p3.new) memh(r17++#10) = r21.h
183 # CHECK: memw(r17 + r21<<#3) = r31
185 # CHECK: memw(r17+#84) = r31
187 # CHECK: memw(r17 ++ I:circ(m1)) = r21
189 # CHECK: memw(r17 ++ #20:circ(m1)) = r21
191 # CHECK: memw(r17++#20) = r21
193 # CHECK: memw(r17++m1) = r21
195 # CHECK: memw(r17 ++ m1:brev) = r21
197 # CHECK: if (p3) memw(r17+r21<<#3) = r31
199 # CHECK: if (!p3) memw(r17+r21<<#3) = r31
200 0x03 0x40 0x45 0x85 0xff 0xf5 0x91 0x36
202 # CHECK-NEXT: if (p3.new) memw(r17+r21<<#3) = r31
203 0x03 0x40 0x45 0x85 0xff 0xf5 0x91 0x37
205 # CHECK-NEXT: if (!p3.new) memw(r17+r21<<#3) = r31
207 # CHECK: if (p3) memw(r17+#84) = r31
209 # CHECK: if (!p3) memw(r17+#84) = r31
210 0x03 0x40 0x45 0x85 0xab 0xdf 0x91 0x42
212 # CHECK-NEXT: if (p3.new) memw(r17+#84) = r31
213 0x03 0x40 0x45 0x85 0xab 0xdf 0x91 0x46
215 # CHECK-NEXT: if (!p3.new) memw(r17+#84) = r31
217 # CHECK: if (p3) memw(r17++#20) = r21
219 # CHECK: if (!p3) memw(r17++#20) = r21
220 0x03 0x40 0x45 0x85 0xaf 0xf5 0x91 0xab
222 # CHECK-NEXT: if (!p3.new) memw(r17++#20) = r21
223 0x03 0x40 0x45 0x85 0xab 0xf5 0x91 0xab
225 # CHECK-NEXT: if (p3.new) memw(r17++#20) = r21
228 # CHECK: allocframe(#248)