xref: /aosp_15_r20/external/llvm/test/MC/Hexagon/instructions/st.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=hexagon -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker# Hexagon Programmer's Reference Manual 11.8 ST
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker# Store doubleword
5*9880d681SAndroid Build Coastguard Worker# CHECK: 9e f5 d1 3b
6*9880d681SAndroid Build Coastguard Workermemd(r17 + r21<<#3) = r31:30
7*9880d681SAndroid Build Coastguard Worker# CHECK: 28 d4 c0 48
8*9880d681SAndroid Build Coastguard Workermemd(#320) = r21:20
9*9880d681SAndroid Build Coastguard Worker# CHECK: 02 40 00 00
10*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 28 d4 c0 48
11*9880d681SAndroid Build Coastguard Workermemd(##168) = r21:20
12*9880d681SAndroid Build Coastguard Workermemd(r17+#168) = r21:20
13*9880d681SAndroid Build Coastguard Worker# CHECK: 02 f4 d1 a9
14*9880d681SAndroid Build Coastguard Workermemd(r17 ++ I:circ(m1)) = r21:20
15*9880d681SAndroid Build Coastguard Worker# CHECK: 28 f4 d1 a9
16*9880d681SAndroid Build Coastguard Workermemd(r17 ++ #40:circ(m1)) = r21:20
17*9880d681SAndroid Build Coastguard Worker# CHECK: 28 d4 d1 ab
18*9880d681SAndroid Build Coastguard Workermemd(r17++#40) = r21:20
19*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
20*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d5 fe d1 ad
21*9880d681SAndroid Build Coastguard Workermemd(r17<<#3 + ##21) = r31:30
22*9880d681SAndroid Build Coastguard Workermemd(r17++m1) = r21:20
23*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f4 d1 af
24*9880d681SAndroid Build Coastguard Workermemd(r17 ++ m1:brev) = r21:20
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker# Store doubleword conditionally
27*9880d681SAndroid Build Coastguard Worker# CHECK: fe f5 d1 34
28*9880d681SAndroid Build Coastguard Workerif (p3) memd(r17+r21<<#3) = r31:30
29*9880d681SAndroid Build Coastguard Worker# CHECK: fe f5 d1 35
30*9880d681SAndroid Build Coastguard Workerif (!p3) memd(r17+r21<<#3) = r31:30
31*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
32*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: fe f5 d1 36
33*9880d681SAndroid Build Coastguard Worker{ p3 = r5
34*9880d681SAndroid Build Coastguard Worker  if (p3.new) memd(r17+r21<<#3) = r31:30 }
35*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
36*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: fe f5 d1 37
37*9880d681SAndroid Build Coastguard Worker{ p3 = r5
38*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memd(r17+r21<<#3) = r31:30 }
39*9880d681SAndroid Build Coastguard Worker# CHECK: ab de d1 40
40*9880d681SAndroid Build Coastguard Workerif (p3) memd(r17+#168) = r31:30
41*9880d681SAndroid Build Coastguard Worker# CHECK: ab de d1 44
42*9880d681SAndroid Build Coastguard Workerif (!p3) memd(r17+#168) = r31:30
43*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
44*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab de d1 42
45*9880d681SAndroid Build Coastguard Worker{ p3 = r5
46*9880d681SAndroid Build Coastguard Worker  if (p3.new) memd(r17+#168) = r31:30 }
47*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
48*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab de d1 46
49*9880d681SAndroid Build Coastguard Worker{ p3 = r5
50*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memd(r17+#168) = r31:30 }
51*9880d681SAndroid Build Coastguard Worker# CHECK: 2b f4 d1 ab
52*9880d681SAndroid Build Coastguard Workerif (p3) memd(r17++#40) = r21:20
53*9880d681SAndroid Build Coastguard Worker# CHECK: 2f f4 d1 ab
54*9880d681SAndroid Build Coastguard Workerif (!p3) memd(r17++#40) = r21:20
55*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
56*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab f4 d1 ab
57*9880d681SAndroid Build Coastguard Worker{ p3 = r5
58*9880d681SAndroid Build Coastguard Worker  if (p3.new) memd(r17++#40) = r21:20 }
59*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
60*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af f4 d1 ab
61*9880d681SAndroid Build Coastguard Worker{ p3 = r5
62*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memd(r17++#40) = r21:20 }
63*9880d681SAndroid Build Coastguard Worker# CHECK: 02 40 00 00
64*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: c3 d4 c2 af
65*9880d681SAndroid Build Coastguard Workerif (p3) memd(##168) = r21:20
66*9880d681SAndroid Build Coastguard Worker# CHECK: 02 40 00 00
67*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: c7 d4 c2 af
68*9880d681SAndroid Build Coastguard Workerif (!p3) memd(##168) = r21:20
69*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
70*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 02 40 00 00
71*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: c3 f4 c2 af
72*9880d681SAndroid Build Coastguard Worker{ p3 = r5
73*9880d681SAndroid Build Coastguard Worker  if (p3.new) memd(##168) = r21:20 }
74*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
75*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 02 40 00 00
76*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: c7 f4 c2 af
77*9880d681SAndroid Build Coastguard Worker{ p3 = r5
78*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memd(##168) = r21:20 }
79*9880d681SAndroid Build Coastguard Worker
80*9880d681SAndroid Build Coastguard Worker# Store byte
81*9880d681SAndroid Build Coastguard Worker# CHECK: 9f f5 11 3b
82*9880d681SAndroid Build Coastguard Workermemb(r17 + r21<<#3) = r31
83*9880d681SAndroid Build Coastguard Worker# CHECK: 9f ca 11 3c
84*9880d681SAndroid Build Coastguard Workermemb(r17+#21)=#31
85*9880d681SAndroid Build Coastguard Worker# CHECK: 15 d5 00 48
86*9880d681SAndroid Build Coastguard Workermemb(#21) = r21
87*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
88*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 15 d5 00 48
89*9880d681SAndroid Build Coastguard Workermemb(##21) = r21
90*9880d681SAndroid Build Coastguard Worker# CHECK: 15 d5 11 a1
91*9880d681SAndroid Build Coastguard Workermemb(r17+#21) = r21
92*9880d681SAndroid Build Coastguard Worker# CHECK: 02 f5 11 a9
93*9880d681SAndroid Build Coastguard Workermemb(r17 ++ I:circ(m1)) = r21
94*9880d681SAndroid Build Coastguard Worker# CHECK: 28 f5 11 a9
95*9880d681SAndroid Build Coastguard Workermemb(r17 ++ #5:circ(m1)) = r21
96*9880d681SAndroid Build Coastguard Worker# CHECK: 28 d5 11 ab
97*9880d681SAndroid Build Coastguard Workermemb(r17++#5) = r21
98*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
99*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d5 ff 11 ad
100*9880d681SAndroid Build Coastguard Workermemb(r17<<#3 + ##21) = r31
101*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 11 ad
102*9880d681SAndroid Build Coastguard Workermemb(r17++m1) = r21
103*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 11 af
104*9880d681SAndroid Build Coastguard Workermemb(r17 ++ m1:brev) = r21
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Worker# Store byte conditionally
107*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 11 34
108*9880d681SAndroid Build Coastguard Workerif (p3) memb(r17+r21<<#3) = r31
109*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 11 35
110*9880d681SAndroid Build Coastguard Workerif (!p3) memb(r17+r21<<#3) = r31
111*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
112*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 11 36
113*9880d681SAndroid Build Coastguard Worker{ p3 = r5
114*9880d681SAndroid Build Coastguard Worker  if (p3.new) memb(r17+r21<<#3) = r31 }
115*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
116*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 11 37
117*9880d681SAndroid Build Coastguard Worker{ p3 = r5
118*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memb(r17+r21<<#3) = r31 }
119*9880d681SAndroid Build Coastguard Worker# CHECK: ff ca 11 38
120*9880d681SAndroid Build Coastguard Workerif (p3) memb(r17+#21)=#31
121*9880d681SAndroid Build Coastguard Worker# CHECK: ff ca 91 38
122*9880d681SAndroid Build Coastguard Workerif (!p3) memb(r17+#21)=#31
123*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
124*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff ca 11 39
125*9880d681SAndroid Build Coastguard Worker{ p3 = r5
126*9880d681SAndroid Build Coastguard Worker  if (p3.new) memb(r17+#21)=#31 }
127*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
128*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff ca 91 39
129*9880d681SAndroid Build Coastguard Worker{ p3 = r5
130*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memb(r17+#21)=#31 }
131*9880d681SAndroid Build Coastguard Worker# CHECK: ab df 11 40
132*9880d681SAndroid Build Coastguard Workerif (p3) memb(r17+#21) = r31
133*9880d681SAndroid Build Coastguard Worker# CHECK: ab df 11 44
134*9880d681SAndroid Build Coastguard Workerif (!p3) memb(r17+#21) = r31
135*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
136*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab df 11 42
137*9880d681SAndroid Build Coastguard Worker{ p3 = r5
138*9880d681SAndroid Build Coastguard Worker  if (p3.new) memb(r17+#21) = r31 }
139*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
140*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab df 11 46
141*9880d681SAndroid Build Coastguard Worker{ p3 = r5
142*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memb(r17+#21) = r31 }
143*9880d681SAndroid Build Coastguard Worker# CHECK: 2b f5 11 ab
144*9880d681SAndroid Build Coastguard Workerif (p3) memb(r17++#5) = r21
145*9880d681SAndroid Build Coastguard Worker# CHECK: 2f f5 11 ab
146*9880d681SAndroid Build Coastguard Workerif (!p3) memb(r17++#5) = r21
147*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
148*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab f5 11 ab
149*9880d681SAndroid Build Coastguard Worker{ p3 = r5
150*9880d681SAndroid Build Coastguard Worker  if (p3.new) memb(r17++#5) = r21 }
151*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
152*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af f5 11 ab
153*9880d681SAndroid Build Coastguard Worker{ p3 = r5
154*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memb(r17++#5) = r21 }
155*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
156*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab d5 01 af
157*9880d681SAndroid Build Coastguard Workerif (p3) memb(##21) = r21
158*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
159*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af d5 01 af
160*9880d681SAndroid Build Coastguard Workerif (!p3) memb(##21) = r21
161*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
162*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 00 40 00 00
163*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab f5 01 af
164*9880d681SAndroid Build Coastguard Worker{ p3 = r5
165*9880d681SAndroid Build Coastguard Worker  if (p3.new) memb(##21) = r21 }
166*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
167*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 00 40 00 00
168*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af f5 01 af
169*9880d681SAndroid Build Coastguard Worker{ p3 = r5
170*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memb(##21) = r21 }
171*9880d681SAndroid Build Coastguard Worker
172*9880d681SAndroid Build Coastguard Worker# Store halfword
173*9880d681SAndroid Build Coastguard Worker# CHECK: 9f f5 51 3b
174*9880d681SAndroid Build Coastguard Workermemh(r17 + r21<<#3) = r31
175*9880d681SAndroid Build Coastguard Worker# CHECK: 9f f5 71 3b
176*9880d681SAndroid Build Coastguard Workermemh(r17 + r21<<#3) = r31.h
177*9880d681SAndroid Build Coastguard Worker# CHECK: 95 cf 31 3c
178*9880d681SAndroid Build Coastguard Workermemh(r17+#62)=#21
179*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
180*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 2a d5 40 48
181*9880d681SAndroid Build Coastguard Workermemh(##42) = r21
182*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
183*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 2a d5 60 48
184*9880d681SAndroid Build Coastguard Workermemh(##42) = r21.h
185*9880d681SAndroid Build Coastguard Worker# CHECK: 2a d5 40 48
186*9880d681SAndroid Build Coastguard Workermemh(#84) = r21
187*9880d681SAndroid Build Coastguard Worker# CHECK: 2a d5 60 48
188*9880d681SAndroid Build Coastguard Workermemh(#84) = r21.h
189*9880d681SAndroid Build Coastguard Worker# CHECK: 15 df 51 a1
190*9880d681SAndroid Build Coastguard Workermemh(r17+#42) = r31
191*9880d681SAndroid Build Coastguard Worker# CHECK: 15 df 71 a1
192*9880d681SAndroid Build Coastguard Workermemh(r17+#42) = r31.h
193*9880d681SAndroid Build Coastguard Worker# CHECK: 02 f5 51 a9
194*9880d681SAndroid Build Coastguard Workermemh(r17 ++ I:circ(m1)) = r21
195*9880d681SAndroid Build Coastguard Worker# CHECK: 28 f5 51 a9
196*9880d681SAndroid Build Coastguard Workermemh(r17 ++ #10:circ(m1)) = r21
197*9880d681SAndroid Build Coastguard Worker# CHECK: 02 f5 71 a9
198*9880d681SAndroid Build Coastguard Workermemh(r17 ++ I:circ(m1)) = r21.h
199*9880d681SAndroid Build Coastguard Worker# CHECK: 28 f5 71 a9
200*9880d681SAndroid Build Coastguard Workermemh(r17 ++ #10:circ(m1)) = r21.h
201*9880d681SAndroid Build Coastguard Worker# CHECK: 28 d5 51 ab
202*9880d681SAndroid Build Coastguard Workermemh(r17++#10) = r21
203*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
204*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d5 ff 51 ad
205*9880d681SAndroid Build Coastguard Workermemh(r17<<#3 + ##21) = r31
206*9880d681SAndroid Build Coastguard Worker# CHECK: 28 d5 71 ab
207*9880d681SAndroid Build Coastguard Workermemh(r17++#10) = r21.h
208*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
209*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d5 ff 71 ad
210*9880d681SAndroid Build Coastguard Workermemh(r17<<#3 + ##21) = r31.h
211*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 51 ad
212*9880d681SAndroid Build Coastguard Workermemh(r17++m1) = r21
213*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 71 ad
214*9880d681SAndroid Build Coastguard Workermemh(r17++m1) = r21.h
215*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 51 af
216*9880d681SAndroid Build Coastguard Workermemh(r17 ++ m1:brev) = r21
217*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 71 af
218*9880d681SAndroid Build Coastguard Workermemh(r17 ++ m1:brev) = r21.h
219*9880d681SAndroid Build Coastguard Worker
220*9880d681SAndroid Build Coastguard Worker# Store halfword conditionally
221*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 51 34
222*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17+r21<<#3) = r31
223*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 71 34
224*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17+r21<<#3) = r31.h
225*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 51 35
226*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17+r21<<#3) = r31
227*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 71 35
228*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17+r21<<#3) = r31.h
229*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
230*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 51 36
231*9880d681SAndroid Build Coastguard Worker{ p3 = r5
232*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17+r21<<#3) = r31 }
233*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
234*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 71 36
235*9880d681SAndroid Build Coastguard Worker{ p3 = r5
236*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17+r21<<#3) = r31.h }
237*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
238*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 51 37
239*9880d681SAndroid Build Coastguard Worker{ p3 = r5
240*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17+r21<<#3) = r31 }
241*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
242*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 71 37
243*9880d681SAndroid Build Coastguard Worker{ p3 = r5
244*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17+r21<<#3) = r31.h }
245*9880d681SAndroid Build Coastguard Worker# CHECK: f5 cf 31 38
246*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17+#62)=#21
247*9880d681SAndroid Build Coastguard Worker# CHECK: f5 cf b1 38
248*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17+#62)=#21
249*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
250*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: f5 cf 31 39
251*9880d681SAndroid Build Coastguard Worker{ p3 = r5
252*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17+#62)=#21 }
253*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
254*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: f5 cf b1 39
255*9880d681SAndroid Build Coastguard Worker{ p3 = r5
256*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17+#62)=#21 }
257*9880d681SAndroid Build Coastguard Worker# CHECK: fb d5 51 40
258*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17+#62) = r21
259*9880d681SAndroid Build Coastguard Worker# CHECK: fb d5 71 40
260*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17+#62) = r21.h
261*9880d681SAndroid Build Coastguard Worker# CHECK: fb d5 51 44
262*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17+#62) = r21
263*9880d681SAndroid Build Coastguard Worker# CHECK: fb d5 71 44
264*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17+#62) = r21.h
265*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
266*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: fb d5 51 42
267*9880d681SAndroid Build Coastguard Worker{ p3 = r5
268*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17+#62) = r21 }
269*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
270*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: fb d5 71 42
271*9880d681SAndroid Build Coastguard Worker{ p3 = r5
272*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17+#62) = r21.h }
273*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
274*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: fb d5 51 46
275*9880d681SAndroid Build Coastguard Worker{ p3 = r5
276*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17+#62) = r21 }
277*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
278*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: fb d5 71 46
279*9880d681SAndroid Build Coastguard Worker{ p3 = r5
280*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17+#62) = r21.h }
281*9880d681SAndroid Build Coastguard Worker# CHECK: 2b f5 51 ab
282*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17++#10) = r21
283*9880d681SAndroid Build Coastguard Worker# CHECK: 2f f5 51 ab
284*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17++#10) = r21
285*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
286*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab f5 51 ab
287*9880d681SAndroid Build Coastguard Worker{ p3 = r5
288*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17++#10) = r21 }
289*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
290*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af f5 51 ab
291*9880d681SAndroid Build Coastguard Worker{ p3 = r5
292*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17++#10) = r21 }
293*9880d681SAndroid Build Coastguard Worker# CHECK: 2b f5 71 ab
294*9880d681SAndroid Build Coastguard Workerif (p3) memh(r17++#10) = r21.h
295*9880d681SAndroid Build Coastguard Worker# CHECK: 2f f5 71 ab
296*9880d681SAndroid Build Coastguard Workerif (!p3) memh(r17++#10) = r21.h
297*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
298*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab f5 71 ab
299*9880d681SAndroid Build Coastguard Worker{ p3 = r5
300*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(r17++#10) = r21.h }
301*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
302*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af f5 71 ab
303*9880d681SAndroid Build Coastguard Worker{ p3 = r5
304*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(r17++#10) = r21.h }
305*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
306*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d3 d5 42 af
307*9880d681SAndroid Build Coastguard Workerif (p3) memh(##42) = r21
308*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
309*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d3 d5 62 af
310*9880d681SAndroid Build Coastguard Workerif (p3) memh(##42) = r21.h
311*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
312*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d7 d5 42 af
313*9880d681SAndroid Build Coastguard Workerif (!p3) memh(##42) = r21
314*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
315*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d7 d5 62 af
316*9880d681SAndroid Build Coastguard Workerif (!p3) memh(##42) = r21.h
317*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
318*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 00 40 00 00
319*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d3 f5 42 af
320*9880d681SAndroid Build Coastguard Worker{ p3 = r5
321*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(##42) = r21 }
322*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
323*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 00 40 00 00
324*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d3 f5 62 af
325*9880d681SAndroid Build Coastguard Worker{ p3 = r5
326*9880d681SAndroid Build Coastguard Worker  if (p3.new) memh(##42) = r21.h }
327*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
328*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 00 40 00 00
329*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d7 f5 42 af
330*9880d681SAndroid Build Coastguard Worker{ p3 = r5
331*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(##42) = r21 }
332*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
333*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 00 40 00 00
334*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d7 f5 62 af
335*9880d681SAndroid Build Coastguard Worker{ p3 = r5
336*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memh(##42) = r21.h }
337*9880d681SAndroid Build Coastguard Worker
338*9880d681SAndroid Build Coastguard Worker# Store word
339*9880d681SAndroid Build Coastguard Worker# CHECK: 9f f5 91 3b
340*9880d681SAndroid Build Coastguard Workermemw(r17 + r21<<#3) = r31
341*9880d681SAndroid Build Coastguard Worker# CHECK: 9f ca 51 3c
342*9880d681SAndroid Build Coastguard Workermemw(r17+#84)=#31
343*9880d681SAndroid Build Coastguard Worker# CHECK: 15 df 80 48
344*9880d681SAndroid Build Coastguard Workermemw(#84) = r31
345*9880d681SAndroid Build Coastguard Worker# CHECK: 01 40 00 00
346*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 14 d5 80 48
347*9880d681SAndroid Build Coastguard Workermemw(##84) = r21
348*9880d681SAndroid Build Coastguard Worker# CHECK: 9f ca 51 3c
349*9880d681SAndroid Build Coastguard Workermemw(r17+#84)=#31
350*9880d681SAndroid Build Coastguard Worker# CHECK: 15 df 91 a1
351*9880d681SAndroid Build Coastguard Workermemw(r17+#84) = r31
352*9880d681SAndroid Build Coastguard Worker# CHECK: 02 f5 91 a9
353*9880d681SAndroid Build Coastguard Workermemw(r17 ++ I:circ(m1)) = r21
354*9880d681SAndroid Build Coastguard Worker# CHECK: 28 f5 91 a9
355*9880d681SAndroid Build Coastguard Workermemw(r17 ++ #20:circ(m1)) = r21
356*9880d681SAndroid Build Coastguard Worker# CHECK: 28 d5 91 ab
357*9880d681SAndroid Build Coastguard Workermemw(r17++#20) = r21
358*9880d681SAndroid Build Coastguard Worker# CHECK: 00 40 00 00
359*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: d5 ff 91 ad
360*9880d681SAndroid Build Coastguard Workermemw(r17<<#3 + ##21) = r31
361*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 91 ad
362*9880d681SAndroid Build Coastguard Workermemw(r17++m1) = r21
363*9880d681SAndroid Build Coastguard Worker# CHECK: 00 f5 91 af
364*9880d681SAndroid Build Coastguard Workermemw(r17 ++ m1:brev) = r21
365*9880d681SAndroid Build Coastguard Worker
366*9880d681SAndroid Build Coastguard Worker# Store word conditionally
367*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 91 34
368*9880d681SAndroid Build Coastguard Workerif (p3) memw(r17+r21<<#3) = r31
369*9880d681SAndroid Build Coastguard Worker# CHECK: ff f5 91 35
370*9880d681SAndroid Build Coastguard Workerif (!p3) memw(r17+r21<<#3) = r31
371*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
372*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 91 36
373*9880d681SAndroid Build Coastguard Worker{ p3 = r5
374*9880d681SAndroid Build Coastguard Worker  if (p3.new) memw(r17+r21<<#3) = r31 }
375*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
376*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff f5 91 37
377*9880d681SAndroid Build Coastguard Worker{ p3 = r5
378*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memw(r17+r21<<#3) = r31 }
379*9880d681SAndroid Build Coastguard Worker# CHECK: ff ca 51 38
380*9880d681SAndroid Build Coastguard Workerif (p3) memw(r17+#84)=#31
381*9880d681SAndroid Build Coastguard Worker# CHECK: ff ca d1 38
382*9880d681SAndroid Build Coastguard Workerif (!p3) memw(r17+#84)=#31
383*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
384*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff ca 51 39
385*9880d681SAndroid Build Coastguard Worker{ p3 = r5
386*9880d681SAndroid Build Coastguard Worker  if (p3.new) memw(r17+#84)=#31 }
387*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
388*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ff ca d1 39
389*9880d681SAndroid Build Coastguard Worker{ p3 = r5
390*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memw(r17+#84)=#31 }
391*9880d681SAndroid Build Coastguard Worker# CHECK: ab df 91 40
392*9880d681SAndroid Build Coastguard Workerif (p3) memw(r17+#84) = r31
393*9880d681SAndroid Build Coastguard Worker# CHECK: ab df 91 44
394*9880d681SAndroid Build Coastguard Workerif (!p3) memw(r17+#84) = r31
395*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
396*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab df 91 42
397*9880d681SAndroid Build Coastguard Worker{ p3 = r5
398*9880d681SAndroid Build Coastguard Worker  if (p3.new) memw(r17+#84) = r31 }
399*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
400*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab df 91 46
401*9880d681SAndroid Build Coastguard Worker{ p3 = r5
402*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memw(r17+#84) = r31 }
403*9880d681SAndroid Build Coastguard Worker# CHECK: 2b f5 91 ab
404*9880d681SAndroid Build Coastguard Workerif (p3) memw(r17++#20) = r21
405*9880d681SAndroid Build Coastguard Worker# CHECK: 2f f5 91 ab
406*9880d681SAndroid Build Coastguard Workerif (!p3) memw(r17++#20) = r21
407*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
408*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: af f5 91 ab
409*9880d681SAndroid Build Coastguard Worker{ p3 = r5
410*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memw(r17++#20) = r21 }
411*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
412*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: ab f5 91 ab
413*9880d681SAndroid Build Coastguard Worker{ p3 = r5
414*9880d681SAndroid Build Coastguard Worker  if (p3.new) memw(r17++#20) = r21 }
415*9880d681SAndroid Build Coastguard Worker# CHECK: 01 40 00 00
416*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: a3 d5 81 af
417*9880d681SAndroid Build Coastguard Workerif (p3) memw(##84) = r21
418*9880d681SAndroid Build Coastguard Worker# CHECK: 01 40 00 00
419*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: a7 d5 81 af
420*9880d681SAndroid Build Coastguard Workerif (!p3) memw(##84) = r21
421*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
422*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 01 40 00 00
423*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: a3 f5 81 af
424*9880d681SAndroid Build Coastguard Worker{ p3 = r5
425*9880d681SAndroid Build Coastguard Worker  if (p3.new) memw(##84) = r21 }
426*9880d681SAndroid Build Coastguard Worker# CHECK: 03 40 45 85
427*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 01 40 00 00
428*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: a7 f5 81 af
429*9880d681SAndroid Build Coastguard Worker{ p3 = r5
430*9880d681SAndroid Build Coastguard Worker  if (!p3.new) memw(##84) = r21 }
431*9880d681SAndroid Build Coastguard Worker
432*9880d681SAndroid Build Coastguard Worker# Allocate stack frame
433*9880d681SAndroid Build Coastguard Worker# CHECK: 1f c0 9d a0
434*9880d681SAndroid Build Coastguard Workerallocframe(#248)
435