• Home
  • Raw
  • Download

Lines Matching full:__

19 #define __ masm.  macro
69 __ slti(a6, a2, 2 * loadstore_chunk); in CreateMemCopyUint8Function()
70 __ bne(a6, zero_reg, &lastb); in CreateMemCopyUint8Function()
71 __ mov(v0, a0); // In delay slot. in CreateMemCopyUint8Function()
77 __ xor_(t8, a1, a0); in CreateMemCopyUint8Function()
78 __ andi(t8, t8, loadstore_chunk - 1); // t8 is a0/a1 word-displacement. in CreateMemCopyUint8Function()
79 __ bne(t8, zero_reg, &unaligned); in CreateMemCopyUint8Function()
80 __ subu(a3, zero_reg, a0); // In delay slot. in CreateMemCopyUint8Function()
82 __ andi(a3, a3, loadstore_chunk - 1); // Copy a3 bytes to align a0/a1. in CreateMemCopyUint8Function()
83 __ beq(a3, zero_reg, &aligned); // Already aligned. in CreateMemCopyUint8Function()
84 __ subu(a2, a2, a3); // In delay slot. a2 is the remining bytes count. in CreateMemCopyUint8Function()
87 __ lwr(t8, MemOperand(a1)); in CreateMemCopyUint8Function()
88 __ addu(a1, a1, a3); in CreateMemCopyUint8Function()
89 __ swr(t8, MemOperand(a0)); in CreateMemCopyUint8Function()
90 __ addu(a0, a0, a3); in CreateMemCopyUint8Function()
92 __ lwl(t8, MemOperand(a1)); in CreateMemCopyUint8Function()
93 __ addu(a1, a1, a3); in CreateMemCopyUint8Function()
94 __ swl(t8, MemOperand(a0)); in CreateMemCopyUint8Function()
95 __ addu(a0, a0, a3); in CreateMemCopyUint8Function()
102 __ bind(&aligned); in CreateMemCopyUint8Function()
103 __ andi(t8, a2, 0x3f); in CreateMemCopyUint8Function()
104 __ beq(a2, t8, &chkw); // Less than 64? in CreateMemCopyUint8Function()
105 __ subu(a3, a2, t8); // In delay slot. in CreateMemCopyUint8Function()
106 __ addu(a3, a0, a3); // Now a3 is the final dst after loop. in CreateMemCopyUint8Function()
114 __ addu(a4, a0, a2); // a4 is the "past the end" address. in CreateMemCopyUint8Function()
115 __ Subu(t9, a4, pref_limit); // t9 is the "last safe pref" address. in CreateMemCopyUint8Function()
118 __ Pref(pref_hint_load, MemOperand(a1, 0 * pref_chunk)); in CreateMemCopyUint8Function()
119 __ Pref(pref_hint_load, MemOperand(a1, 1 * pref_chunk)); in CreateMemCopyUint8Function()
120 __ Pref(pref_hint_load, MemOperand(a1, 2 * pref_chunk)); in CreateMemCopyUint8Function()
121 __ Pref(pref_hint_load, MemOperand(a1, 3 * pref_chunk)); in CreateMemCopyUint8Function()
124 __ Pref(pref_hint_store, MemOperand(a0, 1 * pref_chunk)); in CreateMemCopyUint8Function()
125 __ Pref(pref_hint_store, MemOperand(a0, 2 * pref_chunk)); in CreateMemCopyUint8Function()
126 __ Pref(pref_hint_store, MemOperand(a0, 3 * pref_chunk)); in CreateMemCopyUint8Function()
128 __ bind(&loop16w); in CreateMemCopyUint8Function()
129 __ lw(a4, MemOperand(a1)); in CreateMemCopyUint8Function()
132 __ sltu(v1, t9, a0); // If a0 > t9, don't use next prefetch. in CreateMemCopyUint8Function()
133 __ Branch(USE_DELAY_SLOT, &skip_pref, gt, v1, Operand(zero_reg)); in CreateMemCopyUint8Function()
135 __ lw(a5, MemOperand(a1, 1, loadstore_chunk)); // Maybe in delay slot. in CreateMemCopyUint8Function()
137 __ Pref(pref_hint_store, MemOperand(a0, 4 * pref_chunk)); in CreateMemCopyUint8Function()
138 __ Pref(pref_hint_store, MemOperand(a0, 5 * pref_chunk)); in CreateMemCopyUint8Function()
140 __ bind(&skip_pref); in CreateMemCopyUint8Function()
141 __ lw(a6, MemOperand(a1, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
142 __ lw(a7, MemOperand(a1, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
143 __ lw(t0, MemOperand(a1, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
144 __ lw(t1, MemOperand(a1, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
145 __ lw(t2, MemOperand(a1, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
146 __ lw(t3, MemOperand(a1, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
147 __ Pref(pref_hint_load, MemOperand(a1, 4 * pref_chunk)); in CreateMemCopyUint8Function()
149 __ sw(a4, MemOperand(a0)); in CreateMemCopyUint8Function()
150 __ sw(a5, MemOperand(a0, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
151 __ sw(a6, MemOperand(a0, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
152 __ sw(a7, MemOperand(a0, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
153 __ sw(t0, MemOperand(a0, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
154 __ sw(t1, MemOperand(a0, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
155 __ sw(t2, MemOperand(a0, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
156 __ sw(t3, MemOperand(a0, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
158 __ lw(a4, MemOperand(a1, 8, loadstore_chunk)); in CreateMemCopyUint8Function()
159 __ lw(a5, MemOperand(a1, 9, loadstore_chunk)); in CreateMemCopyUint8Function()
160 __ lw(a6, MemOperand(a1, 10, loadstore_chunk)); in CreateMemCopyUint8Function()
161 __ lw(a7, MemOperand(a1, 11, loadstore_chunk)); in CreateMemCopyUint8Function()
162 __ lw(t0, MemOperand(a1, 12, loadstore_chunk)); in CreateMemCopyUint8Function()
163 __ lw(t1, MemOperand(a1, 13, loadstore_chunk)); in CreateMemCopyUint8Function()
164 __ lw(t2, MemOperand(a1, 14, loadstore_chunk)); in CreateMemCopyUint8Function()
165 __ lw(t3, MemOperand(a1, 15, loadstore_chunk)); in CreateMemCopyUint8Function()
166 __ Pref(pref_hint_load, MemOperand(a1, 5 * pref_chunk)); in CreateMemCopyUint8Function()
168 __ sw(a4, MemOperand(a0, 8, loadstore_chunk)); in CreateMemCopyUint8Function()
169 __ sw(a5, MemOperand(a0, 9, loadstore_chunk)); in CreateMemCopyUint8Function()
170 __ sw(a6, MemOperand(a0, 10, loadstore_chunk)); in CreateMemCopyUint8Function()
171 __ sw(a7, MemOperand(a0, 11, loadstore_chunk)); in CreateMemCopyUint8Function()
172 __ sw(t0, MemOperand(a0, 12, loadstore_chunk)); in CreateMemCopyUint8Function()
173 __ sw(t1, MemOperand(a0, 13, loadstore_chunk)); in CreateMemCopyUint8Function()
174 __ sw(t2, MemOperand(a0, 14, loadstore_chunk)); in CreateMemCopyUint8Function()
175 __ sw(t3, MemOperand(a0, 15, loadstore_chunk)); in CreateMemCopyUint8Function()
176 __ addiu(a0, a0, 16 * loadstore_chunk); in CreateMemCopyUint8Function()
177 __ bne(a0, a3, &loop16w); in CreateMemCopyUint8Function()
178 __ addiu(a1, a1, 16 * loadstore_chunk); // In delay slot. in CreateMemCopyUint8Function()
179 __ mov(a2, t8); in CreateMemCopyUint8Function()
184 __ bind(&chkw); in CreateMemCopyUint8Function()
185 __ Pref(pref_hint_load, MemOperand(a1, 0 * pref_chunk)); in CreateMemCopyUint8Function()
186 __ andi(t8, a2, 0x1f); in CreateMemCopyUint8Function()
187 __ beq(a2, t8, &chk1w); // Less than 32? in CreateMemCopyUint8Function()
188 __ nop(); // In delay slot. in CreateMemCopyUint8Function()
189 __ lw(a4, MemOperand(a1)); in CreateMemCopyUint8Function()
190 __ lw(a5, MemOperand(a1, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
191 __ lw(a6, MemOperand(a1, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
192 __ lw(a7, MemOperand(a1, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
193 __ lw(t0, MemOperand(a1, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
194 __ lw(t1, MemOperand(a1, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
195 __ lw(t2, MemOperand(a1, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
196 __ lw(t3, MemOperand(a1, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
197 __ addiu(a1, a1, 8 * loadstore_chunk); in CreateMemCopyUint8Function()
198 __ sw(a4, MemOperand(a0)); in CreateMemCopyUint8Function()
199 __ sw(a5, MemOperand(a0, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
200 __ sw(a6, MemOperand(a0, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
201 __ sw(a7, MemOperand(a0, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
202 __ sw(t0, MemOperand(a0, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
203 __ sw(t1, MemOperand(a0, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
204 __ sw(t2, MemOperand(a0, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
205 __ sw(t3, MemOperand(a0, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
206 __ addiu(a0, a0, 8 * loadstore_chunk); in CreateMemCopyUint8Function()
213 __ bind(&chk1w); in CreateMemCopyUint8Function()
214 __ andi(a2, t8, loadstore_chunk - 1); in CreateMemCopyUint8Function()
215 __ beq(a2, t8, &lastb); in CreateMemCopyUint8Function()
216 __ subu(a3, t8, a2); // In delay slot. in CreateMemCopyUint8Function()
217 __ addu(a3, a0, a3); in CreateMemCopyUint8Function()
219 __ bind(&wordCopy_loop); in CreateMemCopyUint8Function()
220 __ lw(a7, MemOperand(a1)); in CreateMemCopyUint8Function()
221 __ addiu(a0, a0, loadstore_chunk); in CreateMemCopyUint8Function()
222 __ addiu(a1, a1, loadstore_chunk); in CreateMemCopyUint8Function()
223 __ bne(a0, a3, &wordCopy_loop); in CreateMemCopyUint8Function()
224 __ sw(a7, MemOperand(a0, -1, loadstore_chunk)); // In delay slot. in CreateMemCopyUint8Function()
226 __ bind(&lastb); in CreateMemCopyUint8Function()
227 __ Branch(&leave, le, a2, Operand(zero_reg)); in CreateMemCopyUint8Function()
228 __ addu(a3, a0, a2); in CreateMemCopyUint8Function()
230 __ bind(&lastbloop); in CreateMemCopyUint8Function()
231 __ lb(v1, MemOperand(a1)); in CreateMemCopyUint8Function()
232 __ addiu(a0, a0, 1); in CreateMemCopyUint8Function()
233 __ addiu(a1, a1, 1); in CreateMemCopyUint8Function()
234 __ bne(a0, a3, &lastbloop); in CreateMemCopyUint8Function()
235 __ sb(v1, MemOperand(a0, -1)); // In delay slot. in CreateMemCopyUint8Function()
237 __ bind(&leave); in CreateMemCopyUint8Function()
238 __ jr(ra); in CreateMemCopyUint8Function()
239 __ nop(); in CreateMemCopyUint8Function()
244 __ bind(&unaligned); in CreateMemCopyUint8Function()
245 __ andi(a3, a3, loadstore_chunk - 1); // Copy a3 bytes to align a0/a1. in CreateMemCopyUint8Function()
246 __ beq(a3, zero_reg, &ua_chk16w); in CreateMemCopyUint8Function()
247 __ subu(a2, a2, a3); // In delay slot. in CreateMemCopyUint8Function()
250 __ lwr(v1, MemOperand(a1)); in CreateMemCopyUint8Function()
251 __ lwl(v1, in CreateMemCopyUint8Function()
253 __ addu(a1, a1, a3); in CreateMemCopyUint8Function()
254 __ swr(v1, MemOperand(a0)); in CreateMemCopyUint8Function()
255 __ addu(a0, a0, a3); in CreateMemCopyUint8Function()
257 __ lwl(v1, MemOperand(a1)); in CreateMemCopyUint8Function()
258 __ lwr(v1, in CreateMemCopyUint8Function()
260 __ addu(a1, a1, a3); in CreateMemCopyUint8Function()
261 __ swl(v1, MemOperand(a0)); in CreateMemCopyUint8Function()
262 __ addu(a0, a0, a3); in CreateMemCopyUint8Function()
269 __ bind(&ua_chk16w); in CreateMemCopyUint8Function()
270 __ andi(t8, a2, 0x3f); in CreateMemCopyUint8Function()
271 __ beq(a2, t8, &ua_chkw); in CreateMemCopyUint8Function()
272 __ subu(a3, a2, t8); // In delay slot. in CreateMemCopyUint8Function()
273 __ addu(a3, a0, a3); in CreateMemCopyUint8Function()
276 __ addu(a4, a0, a2); in CreateMemCopyUint8Function()
277 __ Subu(t9, a4, pref_limit); in CreateMemCopyUint8Function()
280 __ Pref(pref_hint_load, MemOperand(a1, 0 * pref_chunk)); in CreateMemCopyUint8Function()
281 __ Pref(pref_hint_load, MemOperand(a1, 1 * pref_chunk)); in CreateMemCopyUint8Function()
282 __ Pref(pref_hint_load, MemOperand(a1, 2 * pref_chunk)); in CreateMemCopyUint8Function()
285 __ Pref(pref_hint_store, MemOperand(a0, 1 * pref_chunk)); in CreateMemCopyUint8Function()
286 __ Pref(pref_hint_store, MemOperand(a0, 2 * pref_chunk)); in CreateMemCopyUint8Function()
287 __ Pref(pref_hint_store, MemOperand(a0, 3 * pref_chunk)); in CreateMemCopyUint8Function()
290 __ bind(&ua_loop16w); in CreateMemCopyUint8Function()
292 __ Pref(pref_hint_load, MemOperand(a1, 3 * pref_chunk)); in CreateMemCopyUint8Function()
293 __ lwr(a4, MemOperand(a1)); in CreateMemCopyUint8Function()
294 __ lwr(a5, MemOperand(a1, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
295 __ lwr(a6, MemOperand(a1, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
298 __ sltu(v1, t9, a0); in CreateMemCopyUint8Function()
299 __ Branch(USE_DELAY_SLOT, &ua_skip_pref, gt, v1, Operand(zero_reg)); in CreateMemCopyUint8Function()
301 __ lwr(a7, MemOperand(a1, 3, loadstore_chunk)); // Maybe in delay slot. in CreateMemCopyUint8Function()
303 __ Pref(pref_hint_store, MemOperand(a0, 4 * pref_chunk)); in CreateMemCopyUint8Function()
304 __ Pref(pref_hint_store, MemOperand(a0, 5 * pref_chunk)); in CreateMemCopyUint8Function()
306 __ bind(&ua_skip_pref); in CreateMemCopyUint8Function()
307 __ lwr(t0, MemOperand(a1, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
308 __ lwr(t1, MemOperand(a1, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
309 __ lwr(t2, MemOperand(a1, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
310 __ lwr(t3, MemOperand(a1, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
311 __ lwl(a4, in CreateMemCopyUint8Function()
313 __ lwl(a5, in CreateMemCopyUint8Function()
315 __ lwl(a6, in CreateMemCopyUint8Function()
317 __ lwl(a7, in CreateMemCopyUint8Function()
319 __ lwl(t0, in CreateMemCopyUint8Function()
321 __ lwl(t1, in CreateMemCopyUint8Function()
323 __ lwl(t2, in CreateMemCopyUint8Function()
325 __ lwl(t3, in CreateMemCopyUint8Function()
328 __ Pref(pref_hint_load, MemOperand(a1, 3 * pref_chunk)); in CreateMemCopyUint8Function()
329 __ lwl(a4, MemOperand(a1)); in CreateMemCopyUint8Function()
330 __ lwl(a5, MemOperand(a1, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
331 __ lwl(a6, MemOperand(a1, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
334 __ sltu(v1, t9, a0); in CreateMemCopyUint8Function()
335 __ Branch(USE_DELAY_SLOT, &ua_skip_pref, gt, v1, Operand(zero_reg)); in CreateMemCopyUint8Function()
337 __ lwl(a7, MemOperand(a1, 3, loadstore_chunk)); // Maybe in delay slot. in CreateMemCopyUint8Function()
339 __ Pref(pref_hint_store, MemOperand(a0, 4 * pref_chunk)); in CreateMemCopyUint8Function()
340 __ Pref(pref_hint_store, MemOperand(a0, 5 * pref_chunk)); in CreateMemCopyUint8Function()
342 __ bind(&ua_skip_pref); in CreateMemCopyUint8Function()
343 __ lwl(t0, MemOperand(a1, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
344 __ lwl(t1, MemOperand(a1, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
345 __ lwl(t2, MemOperand(a1, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
346 __ lwl(t3, MemOperand(a1, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
347 __ lwr(a4, in CreateMemCopyUint8Function()
349 __ lwr(a5, in CreateMemCopyUint8Function()
351 __ lwr(a6, in CreateMemCopyUint8Function()
353 __ lwr(a7, in CreateMemCopyUint8Function()
355 __ lwr(t0, in CreateMemCopyUint8Function()
357 __ lwr(t1, in CreateMemCopyUint8Function()
359 __ lwr(t2, in CreateMemCopyUint8Function()
361 __ lwr(t3, in CreateMemCopyUint8Function()
364 __ Pref(pref_hint_load, MemOperand(a1, 4 * pref_chunk)); in CreateMemCopyUint8Function()
365 __ sw(a4, MemOperand(a0)); in CreateMemCopyUint8Function()
366 __ sw(a5, MemOperand(a0, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
367 __ sw(a6, MemOperand(a0, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
368 __ sw(a7, MemOperand(a0, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
369 __ sw(t0, MemOperand(a0, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
370 __ sw(t1, MemOperand(a0, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
371 __ sw(t2, MemOperand(a0, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
372 __ sw(t3, MemOperand(a0, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
374 __ lwr(a4, MemOperand(a1, 8, loadstore_chunk)); in CreateMemCopyUint8Function()
375 __ lwr(a5, MemOperand(a1, 9, loadstore_chunk)); in CreateMemCopyUint8Function()
376 __ lwr(a6, MemOperand(a1, 10, loadstore_chunk)); in CreateMemCopyUint8Function()
377 __ lwr(a7, MemOperand(a1, 11, loadstore_chunk)); in CreateMemCopyUint8Function()
378 __ lwr(t0, MemOperand(a1, 12, loadstore_chunk)); in CreateMemCopyUint8Function()
379 __ lwr(t1, MemOperand(a1, 13, loadstore_chunk)); in CreateMemCopyUint8Function()
380 __ lwr(t2, MemOperand(a1, 14, loadstore_chunk)); in CreateMemCopyUint8Function()
381 __ lwr(t3, MemOperand(a1, 15, loadstore_chunk)); in CreateMemCopyUint8Function()
382 __ lwl(a4, in CreateMemCopyUint8Function()
384 __ lwl(a5, in CreateMemCopyUint8Function()
386 __ lwl(a6, in CreateMemCopyUint8Function()
388 __ lwl(a7, in CreateMemCopyUint8Function()
390 __ lwl(t0, in CreateMemCopyUint8Function()
392 __ lwl(t1, in CreateMemCopyUint8Function()
394 __ lwl(t2, in CreateMemCopyUint8Function()
396 __ lwl(t3, in CreateMemCopyUint8Function()
399 __ lwl(a4, MemOperand(a1, 8, loadstore_chunk)); in CreateMemCopyUint8Function()
400 __ lwl(a5, MemOperand(a1, 9, loadstore_chunk)); in CreateMemCopyUint8Function()
401 __ lwl(a6, MemOperand(a1, 10, loadstore_chunk)); in CreateMemCopyUint8Function()
402 __ lwl(a7, MemOperand(a1, 11, loadstore_chunk)); in CreateMemCopyUint8Function()
403 __ lwl(t0, MemOperand(a1, 12, loadstore_chunk)); in CreateMemCopyUint8Function()
404 __ lwl(t1, MemOperand(a1, 13, loadstore_chunk)); in CreateMemCopyUint8Function()
405 __ lwl(t2, MemOperand(a1, 14, loadstore_chunk)); in CreateMemCopyUint8Function()
406 __ lwl(t3, MemOperand(a1, 15, loadstore_chunk)); in CreateMemCopyUint8Function()
407 __ lwr(a4, in CreateMemCopyUint8Function()
409 __ lwr(a5, in CreateMemCopyUint8Function()
411 __ lwr(a6, in CreateMemCopyUint8Function()
413 __ lwr(a7, in CreateMemCopyUint8Function()
415 __ lwr(t0, in CreateMemCopyUint8Function()
417 __ lwr(t1, in CreateMemCopyUint8Function()
419 __ lwr(t2, in CreateMemCopyUint8Function()
421 __ lwr(t3, in CreateMemCopyUint8Function()
424 __ Pref(pref_hint_load, MemOperand(a1, 5 * pref_chunk)); in CreateMemCopyUint8Function()
425 __ sw(a4, MemOperand(a0, 8, loadstore_chunk)); in CreateMemCopyUint8Function()
426 __ sw(a5, MemOperand(a0, 9, loadstore_chunk)); in CreateMemCopyUint8Function()
427 __ sw(a6, MemOperand(a0, 10, loadstore_chunk)); in CreateMemCopyUint8Function()
428 __ sw(a7, MemOperand(a0, 11, loadstore_chunk)); in CreateMemCopyUint8Function()
429 __ sw(t0, MemOperand(a0, 12, loadstore_chunk)); in CreateMemCopyUint8Function()
430 __ sw(t1, MemOperand(a0, 13, loadstore_chunk)); in CreateMemCopyUint8Function()
431 __ sw(t2, MemOperand(a0, 14, loadstore_chunk)); in CreateMemCopyUint8Function()
432 __ sw(t3, MemOperand(a0, 15, loadstore_chunk)); in CreateMemCopyUint8Function()
433 __ addiu(a0, a0, 16 * loadstore_chunk); in CreateMemCopyUint8Function()
434 __ bne(a0, a3, &ua_loop16w); in CreateMemCopyUint8Function()
435 __ addiu(a1, a1, 16 * loadstore_chunk); // In delay slot. in CreateMemCopyUint8Function()
436 __ mov(a2, t8); in CreateMemCopyUint8Function()
441 __ bind(&ua_chkw); in CreateMemCopyUint8Function()
442 __ Pref(pref_hint_load, MemOperand(a1)); in CreateMemCopyUint8Function()
443 __ andi(t8, a2, 0x1f); in CreateMemCopyUint8Function()
445 __ beq(a2, t8, &ua_chk1w); in CreateMemCopyUint8Function()
446 __ nop(); // In delay slot. in CreateMemCopyUint8Function()
448 __ lwr(a4, MemOperand(a1)); in CreateMemCopyUint8Function()
449 __ lwr(a5, MemOperand(a1, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
450 __ lwr(a6, MemOperand(a1, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
451 __ lwr(a7, MemOperand(a1, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
452 __ lwr(t0, MemOperand(a1, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
453 __ lwr(t1, MemOperand(a1, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
454 __ lwr(t2, MemOperand(a1, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
455 __ lwr(t3, MemOperand(a1, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
456 __ lwl(a4, in CreateMemCopyUint8Function()
458 __ lwl(a5, in CreateMemCopyUint8Function()
460 __ lwl(a6, in CreateMemCopyUint8Function()
462 __ lwl(a7, in CreateMemCopyUint8Function()
464 __ lwl(t0, in CreateMemCopyUint8Function()
466 __ lwl(t1, in CreateMemCopyUint8Function()
468 __ lwl(t2, in CreateMemCopyUint8Function()
470 __ lwl(t3, in CreateMemCopyUint8Function()
473 __ lwl(a4, MemOperand(a1)); in CreateMemCopyUint8Function()
474 __ lwl(a5, MemOperand(a1, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
475 __ lwl(a6, MemOperand(a1, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
476 __ lwl(a7, MemOperand(a1, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
477 __ lwl(t0, MemOperand(a1, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
478 __ lwl(t1, MemOperand(a1, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
479 __ lwl(t2, MemOperand(a1, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
480 __ lwl(t3, MemOperand(a1, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
481 __ lwr(a4, in CreateMemCopyUint8Function()
483 __ lwr(a5, in CreateMemCopyUint8Function()
485 __ lwr(a6, in CreateMemCopyUint8Function()
487 __ lwr(a7, in CreateMemCopyUint8Function()
489 __ lwr(t0, in CreateMemCopyUint8Function()
491 __ lwr(t1, in CreateMemCopyUint8Function()
493 __ lwr(t2, in CreateMemCopyUint8Function()
495 __ lwr(t3, in CreateMemCopyUint8Function()
498 __ addiu(a1, a1, 8 * loadstore_chunk); in CreateMemCopyUint8Function()
499 __ sw(a4, MemOperand(a0)); in CreateMemCopyUint8Function()
500 __ sw(a5, MemOperand(a0, 1, loadstore_chunk)); in CreateMemCopyUint8Function()
501 __ sw(a6, MemOperand(a0, 2, loadstore_chunk)); in CreateMemCopyUint8Function()
502 __ sw(a7, MemOperand(a0, 3, loadstore_chunk)); in CreateMemCopyUint8Function()
503 __ sw(t0, MemOperand(a0, 4, loadstore_chunk)); in CreateMemCopyUint8Function()
504 __ sw(t1, MemOperand(a0, 5, loadstore_chunk)); in CreateMemCopyUint8Function()
505 __ sw(t2, MemOperand(a0, 6, loadstore_chunk)); in CreateMemCopyUint8Function()
506 __ sw(t3, MemOperand(a0, 7, loadstore_chunk)); in CreateMemCopyUint8Function()
507 __ addiu(a0, a0, 8 * loadstore_chunk); in CreateMemCopyUint8Function()
511 __ bind(&ua_chk1w); in CreateMemCopyUint8Function()
512 __ andi(a2, t8, loadstore_chunk - 1); in CreateMemCopyUint8Function()
513 __ beq(a2, t8, &ua_smallCopy); in CreateMemCopyUint8Function()
514 __ subu(a3, t8, a2); // In delay slot. in CreateMemCopyUint8Function()
515 __ addu(a3, a0, a3); in CreateMemCopyUint8Function()
517 __ bind(&ua_wordCopy_loop); in CreateMemCopyUint8Function()
519 __ lwr(v1, MemOperand(a1)); in CreateMemCopyUint8Function()
520 __ lwl(v1, in CreateMemCopyUint8Function()
523 __ lwl(v1, MemOperand(a1)); in CreateMemCopyUint8Function()
524 __ lwr(v1, in CreateMemCopyUint8Function()
527 __ addiu(a0, a0, loadstore_chunk); in CreateMemCopyUint8Function()
528 __ addiu(a1, a1, loadstore_chunk); in CreateMemCopyUint8Function()
529 __ bne(a0, a3, &ua_wordCopy_loop); in CreateMemCopyUint8Function()
530 __ sw(v1, MemOperand(a0, -1, loadstore_chunk)); // In delay slot. in CreateMemCopyUint8Function()
533 __ bind(&ua_smallCopy); in CreateMemCopyUint8Function()
534 __ beq(a2, zero_reg, &leave); in CreateMemCopyUint8Function()
535 __ addu(a3, a0, a2); // In delay slot. in CreateMemCopyUint8Function()
537 __ bind(&ua_smallCopy_loop); in CreateMemCopyUint8Function()
538 __ lb(v1, MemOperand(a1)); in CreateMemCopyUint8Function()
539 __ addiu(a0, a0, 1); in CreateMemCopyUint8Function()
540 __ addiu(a1, a1, 1); in CreateMemCopyUint8Function()
541 __ bne(a0, a3, &ua_smallCopy_loop); in CreateMemCopyUint8Function()
542 __ sb(v1, MemOperand(a0, -1)); // In delay slot. in CreateMemCopyUint8Function()
544 __ jr(ra); in CreateMemCopyUint8Function()
545 __ nop(); in CreateMemCopyUint8Function()
570 __ MovFromFloatParameter(f12); in CreateSqrtFunction()
571 __ sqrt_d(f0, f12); in CreateSqrtFunction()
572 __ MovToFloatResult(f0); in CreateSqrtFunction()
573 __ Ret(); in CreateSqrtFunction()
585 #undef __
608 #define __ ACCESS_MASM(masm) macro
616 __ bind(&indirect_string_loaded); in Generate()
619 __ ld(result, FieldMemOperand(string, HeapObject::kMapOffset)); in Generate()
620 __ lbu(result, FieldMemOperand(result, Map::kInstanceTypeOffset)); in Generate()
624 __ And(at, result, Operand(kIsIndirectStringMask)); in Generate()
625 __ Branch(&check_sequential, eq, at, Operand(zero_reg)); in Generate()
629 __ And(at, result, Operand(kStringRepresentationMask)); in Generate()
630 __ Branch(&cons_string, eq, at, Operand(kConsStringTag)); in Generate()
631 __ Branch(&thin_string, eq, at, Operand(kThinStringTag)); in Generate()
634 __ ld(result, FieldMemOperand(string, SlicedString::kOffsetOffset)); in Generate()
635 __ ld(string, FieldMemOperand(string, SlicedString::kParentOffset)); in Generate()
636 __ dsra32(at, result, 0); in Generate()
637 __ Daddu(index, index, at); in Generate()
638 __ jmp(&indirect_string_loaded); in Generate()
641 __ bind(&thin_string); in Generate()
642 __ ld(string, FieldMemOperand(string, ThinString::kActualOffset)); in Generate()
643 __ jmp(&indirect_string_loaded); in Generate()
650 __ bind(&cons_string); in Generate()
651 __ ld(result, FieldMemOperand(string, ConsString::kSecondOffset)); in Generate()
652 __ LoadRoot(at, Heap::kempty_stringRootIndex); in Generate()
653 __ Branch(call_runtime, ne, result, Operand(at)); in Generate()
655 __ ld(string, FieldMemOperand(string, ConsString::kFirstOffset)); in Generate()
656 __ jmp(&indirect_string_loaded); in Generate()
662 __ bind(&check_sequential); in Generate()
664 __ And(at, result, Operand(kStringRepresentationMask)); in Generate()
665 __ Branch(&external_string, ne, at, Operand(zero_reg)); in Generate()
669 __ Daddu(string, in Generate()
672 __ jmp(&check_encoding); in Generate()
675 __ bind(&external_string); in Generate()
679 __ And(at, result, Operand(kIsIndirectStringMask)); in Generate()
680 __ Assert(eq, kExternalStringExpectedButNotFound, in Generate()
685 __ And(at, result, Operand(kShortExternalStringMask)); in Generate()
686 __ Branch(call_runtime, ne, at, Operand(zero_reg)); in Generate()
687 __ ld(string, FieldMemOperand(string, ExternalString::kResourceDataOffset)); in Generate()
690 __ bind(&check_encoding); in Generate()
692 __ And(at, result, Operand(kStringEncodingMask)); in Generate()
693 __ Branch(&one_byte, ne, at, Operand(zero_reg)); in Generate()
695 __ Dlsa(at, string, index, 1); in Generate()
696 __ lhu(result, MemOperand(at)); in Generate()
697 __ jmp(&done); in Generate()
698 __ bind(&one_byte); in Generate()
700 __ Daddu(at, string, index); in Generate()
701 __ lbu(result, MemOperand(at)); in Generate()
702 __ bind(&done); in Generate()
778 #undef __