1 # RUN: llvm-mc -triple=hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
2 # Hexagon Programmer's Reference Manual 11.7.2 NV/ST
6 # CHECK-NEXT: 82 f5 b1 3b
8 memb(r17 + r21<<#3) = r31.new }
10 # CHECK-NEXT: 11 c2 a0 48
14 # CHECK-NEXT: 15 c2 b1 a1
16 memb(r17+#21) = r31.new }
18 # CHECK-NEXT: 02 e2 b1 a9
20 memb(r17 ++ I:circ(m1)) = r31.new }
22 # CHECK-NEXT: 28 e2 b1 a9
24 memb(r17 ++ #5:circ(m1)) = r31.new }
26 # CHECK-NEXT: 28 c2 b1 ab
28 memb(r17++#5) = r31.new }
30 # CHECK-NEXT: 00 e2 b1 ad
32 memb(r17++m1) = r31.new }
34 # CHECK-NEXT: 00 e2 b1 af
36 memb(r17 ++ m1:brev) = r31.new }
38 # Store new-value byte conditionally
40 # CHECK-NEXT: e2 f5 b1 34
42 if (p3) memb(r17+r21<<#3) = r31.new }
44 # CHECK-NEXT: e2 f5 b1 35
46 if (!p3) memb(r17+r21<<#3) = r31.new }
48 # CHECK-NEXT: 1f 40 7f 70
49 # CHECK-NEXT: e2 f5 b1 36
52 if (p3.new) memb(r17+r21<<#3) = r31.new }
54 # CHECK-NEXT: 1f 40 7f 70
55 # CHECK-NEXT: e2 f5 b1 37
58 if (!p3.new) memb(r17+r21<<#3) = r31.new }
60 # CHECK-NEXT: ab c2 b1 40
62 if (p3) memb(r17+#21) = r31.new }
64 # CHECK-NEXT: ab c2 b1 44
66 if (!p3) memb(r17+#21) = r31.new }
68 # CHECK-NEXT: 1f 40 7f 70
69 # CHECK-NEXT: ab c2 b1 42
72 if (p3.new) memb(r17+#21) = r31.new }
74 # CHECK-NEXT: 1f 40 7f 70
75 # CHECK-NEXT: ab c2 b1 46
78 if (!p3.new) memb(r17+#21) = r31.new }
80 # CHECK-NEXT: 2b e2 b1 ab
82 if (p3) memb(r17++#5) = r31.new }
84 # CHECK-NEXT: 2f e2 b1 ab
86 if (!p3) memb(r17++#5) = r31.new }
88 # CHECK-NEXT: 1f 40 7f 70
89 # CHECK-NEXT: ab e2 b1 ab
92 if (p3.new) memb(r17++#5) = r31.new }
94 # CHECK-NEXT: 1f 40 7f 70
95 # CHECK-NEXT: af e2 b1 ab
98 if (!p3.new) memb(r17++#5) = r31.new }
100 # Store new-value halfword
102 # CHECK-NEXT: 8a f5 b1 3b
104 memh(r17 + r21<<#3) = r31.new }
106 # CHECK-NEXT: 15 ca a0 48
108 memh(#42) = r31.new }
110 # CHECK-NEXT: 15 ca b1 a1
112 memh(r17+#42) = r31.new }
114 # CHECK-NEXT: 02 ea b1 a9
116 memh(r17 ++ I:circ(m1)) = r31.new }
118 # CHECK-NEXT: 28 ea b1 a9
120 memh(r17 ++ #10:circ(m1)) = r31.new }
122 # CHECK-NEXT: 28 ca b1 ab
124 memh(r17++#10) = r31.new }
126 # CHECK-NEXT: 00 ea b1 ad
128 memh(r17++m1) = r31.new }
130 # CHECK-NEXT: 00 ea b1 af
132 memh(r17 ++ m1:brev) = r31.new }
134 # Store new-value halfword conditionally
136 # CHECK-NEXT: ea f5 b1 34
138 if (p3) memh(r17+r21<<#3) = r31.new }
140 # CHECK-NEXT: ea f5 b1 35
142 if (!p3) memh(r17+r21<<#3) = r31.new }
144 # CHECK-NEXT: 1f 40 7f 70
145 # CHECK-NEXT: ea f5 b1 36
148 if (p3.new) memh(r17+r21<<#3) = r31.new }
150 # CHECK-NEXT: 1f 40 7f 70
151 # CHECK-NEXT: ea f5 b1 37
154 if (!p3.new) memh(r17+r21<<#3) = r31.new }
156 # CHECK-NEXT: ab ca b1 40
158 if (p3) memh(r17+#42) = r31.new }
160 # CHECK-NEXT: ab ca b1 44
162 if (!p3) memh(r17+#42) = r31.new }
164 # CHECK-NEXT: 1f 40 7f 70
165 # CHECK-NEXT: ab ca b1 42
168 if (p3.new) memh(r17+#42) = r31.new }
170 # CHECK-NEXT: 1f 40 7f 70
171 # CHECK-NEXT: ab ca b1 46
174 if (!p3.new) memh(r17+#42) = r31.new }
176 # CHECK-NEXT: 2b ea b1 ab
178 if (p3) memh(r17++#10) = r31.new }
180 # CHECK-NEXT: 2f ea b1 ab
182 if (!p3) memh(r17++#10) = r31.new }
184 # CHECK-NEXT: 1f 40 7f 70
185 # CHECK-NEXT: ab ea b1 ab
188 if (p3.new) memh(r17++#10) = r31.new }
190 # CHECK-NEXT: 1f 40 7f 70
191 # CHECK-NEXT: af ea b1 ab
194 if (!p3.new) memh(r17++#10) = r31.new }
196 # Store new-value word
198 # CHECK-NEXT: 92 f5 b1 3b
200 memw(r17 + r21<<#3) = r31.new }
202 # CHECK-NEXT: 15 d2 a0 48
204 memw(#84) = r31.new }
206 # CHECK-NEXT: 15 d2 b1 a1
208 memw(r17+#84) = r31.new }
210 # CHECK-NEXT: 02 f2 b1 a9
212 memw(r17 ++ I:circ(m1)) = r31.new }
214 # CHECK-NEXT: 28 f2 b1 a9
216 memw(r17 ++ #20:circ(m1)) = r31.new }
218 # CHECK-NEXT: 28 d2 b1 ab
220 memw(r17++#20) = r31.new }
222 # CHECK-NEXT: 00 f2 b1 ad
224 memw(r17++m1) = r31.new }
226 # CHECK-NEXT: 00 f2 b1 af
228 memw(r17 ++ m1:brev) = r31.new }
230 # Store new-value word conditionally
232 # CHECK-NEXT: f2 f5 b1 34
234 if (p3) memw(r17+r21<<#3) = r31.new }
236 # CHECK-NEXT: f2 f5 b1 35
238 if (!p3) memw(r17+r21<<#3) = r31.new }
240 # CHECK-NEXT: 1f 40 7f 70
241 # CHECK-NEXT: f2 f5 b1 36
244 if (p3.new) memw(r17+r21<<#3) = r31.new }
246 # CHECK-NEXT: 1f 40 7f 70
247 # CHECK-NEXT: f2 f5 b1 37
250 if (!p3.new) memw(r17+r21<<#3) = r31.new }
252 # CHECK-NEXT: ab d2 b1 40
254 if (p3) memw(r17+#84) = r31.new }
256 # CHECK-NEXT: ab d2 b1 44
258 if (!p3) memw(r17+#84) = r31.new }
260 # CHECK-NEXT: 1f 40 7f 70
261 # CHECK-NEXT: ab d2 b1 42
264 if (p3.new) memw(r17+#84) = r31.new }
266 # CHECK-NEXT: 1f 40 7f 70
267 # CHECK-NEXT: ab d2 b1 46
270 if (!p3.new) memw(r17+#84) = r31.new }
272 # CHECK-NEXT: 2b f2 b1 ab
274 if (p3) memw(r17++#20) = r31.new }
276 # CHECK-NEXT: 2f f2 b1 ab
278 if (!p3) memw(r17++#20) = r31.new }
280 # CHECK-NEXT: 1f 40 7f 70
281 # CHECK-NEXT: ab f2 b1 ab
284 if (p3.new) memw(r17++#20) = r31.new }
286 # CHECK-NEXT: 1f 40 7f 70
287 # CHECK-NEXT: af f2 b1 ab
290 if (!p3.new) memw(r17++#20) = r31.new }