Lines Matching refs:tmp

42 	.macro fpu_save_csr thread tmp
43 movfcsr2gr \tmp, fcsr0
44 stptr.w \tmp, \thread, THREAD_FCSR
47 andi \tmp, \tmp, FPU_CSR_TM
48 beqz \tmp, 1f
50 x86mftop \tmp
51 stptr.w \tmp, \thread, THREAD_FTOP
131 .macro fpu_save_double thread tmp
132 li.w \tmp, THREAD_FPR0
133 PTR_ADD \tmp, \tmp, \thread
134 fst.d $f0, \tmp, THREAD_FPR0 - THREAD_FPR0
135 fst.d $f1, \tmp, THREAD_FPR1 - THREAD_FPR0
136 fst.d $f2, \tmp, THREAD_FPR2 - THREAD_FPR0
137 fst.d $f3, \tmp, THREAD_FPR3 - THREAD_FPR0
138 fst.d $f4, \tmp, THREAD_FPR4 - THREAD_FPR0
139 fst.d $f5, \tmp, THREAD_FPR5 - THREAD_FPR0
140 fst.d $f6, \tmp, THREAD_FPR6 - THREAD_FPR0
141 fst.d $f7, \tmp, THREAD_FPR7 - THREAD_FPR0
142 fst.d $f8, \tmp, THREAD_FPR8 - THREAD_FPR0
143 fst.d $f9, \tmp, THREAD_FPR9 - THREAD_FPR0
144 fst.d $f10, \tmp, THREAD_FPR10 - THREAD_FPR0
145 fst.d $f11, \tmp, THREAD_FPR11 - THREAD_FPR0
146 fst.d $f12, \tmp, THREAD_FPR12 - THREAD_FPR0
147 fst.d $f13, \tmp, THREAD_FPR13 - THREAD_FPR0
148 fst.d $f14, \tmp, THREAD_FPR14 - THREAD_FPR0
149 fst.d $f15, \tmp, THREAD_FPR15 - THREAD_FPR0
150 fst.d $f16, \tmp, THREAD_FPR16 - THREAD_FPR0
151 fst.d $f17, \tmp, THREAD_FPR17 - THREAD_FPR0
152 fst.d $f18, \tmp, THREAD_FPR18 - THREAD_FPR0
153 fst.d $f19, \tmp, THREAD_FPR19 - THREAD_FPR0
154 fst.d $f20, \tmp, THREAD_FPR20 - THREAD_FPR0
155 fst.d $f21, \tmp, THREAD_FPR21 - THREAD_FPR0
156 fst.d $f22, \tmp, THREAD_FPR22 - THREAD_FPR0
157 fst.d $f23, \tmp, THREAD_FPR23 - THREAD_FPR0
158 fst.d $f24, \tmp, THREAD_FPR24 - THREAD_FPR0
159 fst.d $f25, \tmp, THREAD_FPR25 - THREAD_FPR0
160 fst.d $f26, \tmp, THREAD_FPR26 - THREAD_FPR0
161 fst.d $f27, \tmp, THREAD_FPR27 - THREAD_FPR0
162 fst.d $f28, \tmp, THREAD_FPR28 - THREAD_FPR0
163 fst.d $f29, \tmp, THREAD_FPR29 - THREAD_FPR0
164 fst.d $f30, \tmp, THREAD_FPR30 - THREAD_FPR0
165 fst.d $f31, \tmp, THREAD_FPR31 - THREAD_FPR0
168 .macro fpu_restore_double thread tmp
169 li.w \tmp, THREAD_FPR0
170 PTR_ADD \tmp, \tmp, \thread
171 fld.d $f0, \tmp, THREAD_FPR0 - THREAD_FPR0
172 fld.d $f1, \tmp, THREAD_FPR1 - THREAD_FPR0
173 fld.d $f2, \tmp, THREAD_FPR2 - THREAD_FPR0
174 fld.d $f3, \tmp, THREAD_FPR3 - THREAD_FPR0
175 fld.d $f4, \tmp, THREAD_FPR4 - THREAD_FPR0
176 fld.d $f5, \tmp, THREAD_FPR5 - THREAD_FPR0
177 fld.d $f6, \tmp, THREAD_FPR6 - THREAD_FPR0
178 fld.d $f7, \tmp, THREAD_FPR7 - THREAD_FPR0
179 fld.d $f8, \tmp, THREAD_FPR8 - THREAD_FPR0
180 fld.d $f9, \tmp, THREAD_FPR9 - THREAD_FPR0
181 fld.d $f10, \tmp, THREAD_FPR10 - THREAD_FPR0
182 fld.d $f11, \tmp, THREAD_FPR11 - THREAD_FPR0
183 fld.d $f12, \tmp, THREAD_FPR12 - THREAD_FPR0
184 fld.d $f13, \tmp, THREAD_FPR13 - THREAD_FPR0
185 fld.d $f14, \tmp, THREAD_FPR14 - THREAD_FPR0
186 fld.d $f15, \tmp, THREAD_FPR15 - THREAD_FPR0
187 fld.d $f16, \tmp, THREAD_FPR16 - THREAD_FPR0
188 fld.d $f17, \tmp, THREAD_FPR17 - THREAD_FPR0
189 fld.d $f18, \tmp, THREAD_FPR18 - THREAD_FPR0
190 fld.d $f19, \tmp, THREAD_FPR19 - THREAD_FPR0
191 fld.d $f20, \tmp, THREAD_FPR20 - THREAD_FPR0
192 fld.d $f21, \tmp, THREAD_FPR21 - THREAD_FPR0
193 fld.d $f22, \tmp, THREAD_FPR22 - THREAD_FPR0
194 fld.d $f23, \tmp, THREAD_FPR23 - THREAD_FPR0
195 fld.d $f24, \tmp, THREAD_FPR24 - THREAD_FPR0
196 fld.d $f25, \tmp, THREAD_FPR25 - THREAD_FPR0
197 fld.d $f26, \tmp, THREAD_FPR26 - THREAD_FPR0
198 fld.d $f27, \tmp, THREAD_FPR27 - THREAD_FPR0
199 fld.d $f28, \tmp, THREAD_FPR28 - THREAD_FPR0
200 fld.d $f29, \tmp, THREAD_FPR29 - THREAD_FPR0
201 fld.d $f30, \tmp, THREAD_FPR30 - THREAD_FPR0
202 fld.d $f31, \tmp, THREAD_FPR31 - THREAD_FPR0
205 .macro lsx_save_data thread tmp
206 li.w \tmp, THREAD_FPR0
207 PTR_ADD \tmp, \thread, \tmp
208 vst $vr0, \tmp, THREAD_FPR0 - THREAD_FPR0
209 vst $vr1, \tmp, THREAD_FPR1 - THREAD_FPR0
210 vst $vr2, \tmp, THREAD_FPR2 - THREAD_FPR0
211 vst $vr3, \tmp, THREAD_FPR3 - THREAD_FPR0
212 vst $vr4, \tmp, THREAD_FPR4 - THREAD_FPR0
213 vst $vr5, \tmp, THREAD_FPR5 - THREAD_FPR0
214 vst $vr6, \tmp, THREAD_FPR6 - THREAD_FPR0
215 vst $vr7, \tmp, THREAD_FPR7 - THREAD_FPR0
216 vst $vr8, \tmp, THREAD_FPR8 - THREAD_FPR0
217 vst $vr9, \tmp, THREAD_FPR9 - THREAD_FPR0
218 vst $vr10, \tmp, THREAD_FPR10 - THREAD_FPR0
219 vst $vr11, \tmp, THREAD_FPR11 - THREAD_FPR0
220 vst $vr12, \tmp, THREAD_FPR12 - THREAD_FPR0
221 vst $vr13, \tmp, THREAD_FPR13 - THREAD_FPR0
222 vst $vr14, \tmp, THREAD_FPR14 - THREAD_FPR0
223 vst $vr15, \tmp, THREAD_FPR15 - THREAD_FPR0
224 vst $vr16, \tmp, THREAD_FPR16 - THREAD_FPR0
225 vst $vr17, \tmp, THREAD_FPR17 - THREAD_FPR0
226 vst $vr18, \tmp, THREAD_FPR18 - THREAD_FPR0
227 vst $vr19, \tmp, THREAD_FPR19 - THREAD_FPR0
228 vst $vr20, \tmp, THREAD_FPR20 - THREAD_FPR0
229 vst $vr21, \tmp, THREAD_FPR21 - THREAD_FPR0
230 vst $vr22, \tmp, THREAD_FPR22 - THREAD_FPR0
231 vst $vr23, \tmp, THREAD_FPR23 - THREAD_FPR0
232 vst $vr24, \tmp, THREAD_FPR24 - THREAD_FPR0
233 vst $vr25, \tmp, THREAD_FPR25 - THREAD_FPR0
234 vst $vr26, \tmp, THREAD_FPR26 - THREAD_FPR0
235 vst $vr27, \tmp, THREAD_FPR27 - THREAD_FPR0
236 vst $vr28, \tmp, THREAD_FPR28 - THREAD_FPR0
237 vst $vr29, \tmp, THREAD_FPR29 - THREAD_FPR0
238 vst $vr30, \tmp, THREAD_FPR30 - THREAD_FPR0
239 vst $vr31, \tmp, THREAD_FPR31 - THREAD_FPR0
242 .macro lsx_restore_data thread tmp
243 li.w \tmp, THREAD_FPR0
244 PTR_ADD \tmp, \thread, \tmp
245 vld $vr0, \tmp, THREAD_FPR0 - THREAD_FPR0
246 vld $vr1, \tmp, THREAD_FPR1 - THREAD_FPR0
247 vld $vr2, \tmp, THREAD_FPR2 - THREAD_FPR0
248 vld $vr3, \tmp, THREAD_FPR3 - THREAD_FPR0
249 vld $vr4, \tmp, THREAD_FPR4 - THREAD_FPR0
250 vld $vr5, \tmp, THREAD_FPR5 - THREAD_FPR0
251 vld $vr6, \tmp, THREAD_FPR6 - THREAD_FPR0
252 vld $vr7, \tmp, THREAD_FPR7 - THREAD_FPR0
253 vld $vr8, \tmp, THREAD_FPR8 - THREAD_FPR0
254 vld $vr9, \tmp, THREAD_FPR9 - THREAD_FPR0
255 vld $vr10, \tmp, THREAD_FPR10 - THREAD_FPR0
256 vld $vr11, \tmp, THREAD_FPR11 - THREAD_FPR0
257 vld $vr12, \tmp, THREAD_FPR12 - THREAD_FPR0
258 vld $vr13, \tmp, THREAD_FPR13 - THREAD_FPR0
259 vld $vr14, \tmp, THREAD_FPR14 - THREAD_FPR0
260 vld $vr15, \tmp, THREAD_FPR15 - THREAD_FPR0
261 vld $vr16, \tmp, THREAD_FPR16 - THREAD_FPR0
262 vld $vr17, \tmp, THREAD_FPR17 - THREAD_FPR0
263 vld $vr18, \tmp, THREAD_FPR18 - THREAD_FPR0
264 vld $vr19, \tmp, THREAD_FPR19 - THREAD_FPR0
265 vld $vr20, \tmp, THREAD_FPR20 - THREAD_FPR0
266 vld $vr21, \tmp, THREAD_FPR21 - THREAD_FPR0
267 vld $vr22, \tmp, THREAD_FPR22 - THREAD_FPR0
268 vld $vr23, \tmp, THREAD_FPR23 - THREAD_FPR0
269 vld $vr24, \tmp, THREAD_FPR24 - THREAD_FPR0
270 vld $vr25, \tmp, THREAD_FPR25 - THREAD_FPR0
271 vld $vr26, \tmp, THREAD_FPR26 - THREAD_FPR0
272 vld $vr27, \tmp, THREAD_FPR27 - THREAD_FPR0
273 vld $vr28, \tmp, THREAD_FPR28 - THREAD_FPR0
274 vld $vr29, \tmp, THREAD_FPR29 - THREAD_FPR0
275 vld $vr30, \tmp, THREAD_FPR30 - THREAD_FPR0
276 vld $vr31, \tmp, THREAD_FPR31 - THREAD_FPR0
291 .macro lsx_save_upper vd base tmp off
292 vpickve2gr.d \tmp, \vd, 1
293 st.d \tmp, \base, (\off+8)
296 .macro lsx_save_all_upper thread base tmp
297 li.w \tmp, THREAD_FPR0
298 PTR_ADD \base, \thread, \tmp
299 lsx_save_upper $vr0, \base, \tmp, (THREAD_FPR0-THREAD_FPR0)
300 lsx_save_upper $vr1, \base, \tmp, (THREAD_FPR1-THREAD_FPR0)
301 lsx_save_upper $vr2, \base, \tmp, (THREAD_FPR2-THREAD_FPR0)
302 lsx_save_upper $vr3, \base, \tmp, (THREAD_FPR3-THREAD_FPR0)
303 lsx_save_upper $vr4, \base, \tmp, (THREAD_FPR4-THREAD_FPR0)
304 lsx_save_upper $vr5, \base, \tmp, (THREAD_FPR5-THREAD_FPR0)
305 lsx_save_upper $vr6, \base, \tmp, (THREAD_FPR6-THREAD_FPR0)
306 lsx_save_upper $vr7, \base, \tmp, (THREAD_FPR7-THREAD_FPR0)
307 lsx_save_upper $vr8, \base, \tmp, (THREAD_FPR8-THREAD_FPR0)
308 lsx_save_upper $vr9, \base, \tmp, (THREAD_FPR9-THREAD_FPR0)
309 lsx_save_upper $vr10, \base, \tmp, (THREAD_FPR10-THREAD_FPR0)
310 lsx_save_upper $vr11, \base, \tmp, (THREAD_FPR11-THREAD_FPR0)
311 lsx_save_upper $vr12, \base, \tmp, (THREAD_FPR12-THREAD_FPR0)
312 lsx_save_upper $vr13, \base, \tmp, (THREAD_FPR13-THREAD_FPR0)
313 lsx_save_upper $vr14, \base, \tmp, (THREAD_FPR14-THREAD_FPR0)
314 lsx_save_upper $vr15, \base, \tmp, (THREAD_FPR15-THREAD_FPR0)
315 lsx_save_upper $vr16, \base, \tmp, (THREAD_FPR16-THREAD_FPR0)
316 lsx_save_upper $vr17, \base, \tmp, (THREAD_FPR17-THREAD_FPR0)
317 lsx_save_upper $vr18, \base, \tmp, (THREAD_FPR18-THREAD_FPR0)
318 lsx_save_upper $vr19, \base, \tmp, (THREAD_FPR19-THREAD_FPR0)
319 lsx_save_upper $vr20, \base, \tmp, (THREAD_FPR20-THREAD_FPR0)
320 lsx_save_upper $vr21, \base, \tmp, (THREAD_FPR21-THREAD_FPR0)
321 lsx_save_upper $vr22, \base, \tmp, (THREAD_FPR22-THREAD_FPR0)
322 lsx_save_upper $vr23, \base, \tmp, (THREAD_FPR23-THREAD_FPR0)
323 lsx_save_upper $vr24, \base, \tmp, (THREAD_FPR24-THREAD_FPR0)
324 lsx_save_upper $vr25, \base, \tmp, (THREAD_FPR25-THREAD_FPR0)
325 lsx_save_upper $vr26, \base, \tmp, (THREAD_FPR26-THREAD_FPR0)
326 lsx_save_upper $vr27, \base, \tmp, (THREAD_FPR27-THREAD_FPR0)
327 lsx_save_upper $vr28, \base, \tmp, (THREAD_FPR28-THREAD_FPR0)
328 lsx_save_upper $vr29, \base, \tmp, (THREAD_FPR29-THREAD_FPR0)
329 lsx_save_upper $vr30, \base, \tmp, (THREAD_FPR30-THREAD_FPR0)
330 lsx_save_upper $vr31, \base, \tmp, (THREAD_FPR31-THREAD_FPR0)
333 .macro lsx_restore_upper vd base tmp off
334 ld.d \tmp, \base, (\off+8)
335 vinsgr2vr.d \vd, \tmp, 1
338 .macro lsx_restore_all_upper thread base tmp
339 li.w \tmp, THREAD_FPR0
340 PTR_ADD \base, \thread, \tmp
341 lsx_restore_upper $vr0, \base, \tmp, (THREAD_FPR0-THREAD_FPR0)
342 lsx_restore_upper $vr1, \base, \tmp, (THREAD_FPR1-THREAD_FPR0)
343 lsx_restore_upper $vr2, \base, \tmp, (THREAD_FPR2-THREAD_FPR0)
344 lsx_restore_upper $vr3, \base, \tmp, (THREAD_FPR3-THREAD_FPR0)
345 lsx_restore_upper $vr4, \base, \tmp, (THREAD_FPR4-THREAD_FPR0)
346 lsx_restore_upper $vr5, \base, \tmp, (THREAD_FPR5-THREAD_FPR0)
347 lsx_restore_upper $vr6, \base, \tmp, (THREAD_FPR6-THREAD_FPR0)
348 lsx_restore_upper $vr7, \base, \tmp, (THREAD_FPR7-THREAD_FPR0)
349 lsx_restore_upper $vr8, \base, \tmp, (THREAD_FPR8-THREAD_FPR0)
350 lsx_restore_upper $vr9, \base, \tmp, (THREAD_FPR9-THREAD_FPR0)
351 lsx_restore_upper $vr10, \base, \tmp, (THREAD_FPR10-THREAD_FPR0)
352 lsx_restore_upper $vr11, \base, \tmp, (THREAD_FPR11-THREAD_FPR0)
353 lsx_restore_upper $vr12, \base, \tmp, (THREAD_FPR12-THREAD_FPR0)
354 lsx_restore_upper $vr13, \base, \tmp, (THREAD_FPR13-THREAD_FPR0)
355 lsx_restore_upper $vr14, \base, \tmp, (THREAD_FPR14-THREAD_FPR0)
356 lsx_restore_upper $vr15, \base, \tmp, (THREAD_FPR15-THREAD_FPR0)
357 lsx_restore_upper $vr16, \base, \tmp, (THREAD_FPR16-THREAD_FPR0)
358 lsx_restore_upper $vr17, \base, \tmp, (THREAD_FPR17-THREAD_FPR0)
359 lsx_restore_upper $vr18, \base, \tmp, (THREAD_FPR18-THREAD_FPR0)
360 lsx_restore_upper $vr19, \base, \tmp, (THREAD_FPR19-THREAD_FPR0)
361 lsx_restore_upper $vr20, \base, \tmp, (THREAD_FPR20-THREAD_FPR0)
362 lsx_restore_upper $vr21, \base, \tmp, (THREAD_FPR21-THREAD_FPR0)
363 lsx_restore_upper $vr22, \base, \tmp, (THREAD_FPR22-THREAD_FPR0)
364 lsx_restore_upper $vr23, \base, \tmp, (THREAD_FPR23-THREAD_FPR0)
365 lsx_restore_upper $vr24, \base, \tmp, (THREAD_FPR24-THREAD_FPR0)
366 lsx_restore_upper $vr25, \base, \tmp, (THREAD_FPR25-THREAD_FPR0)
367 lsx_restore_upper $vr26, \base, \tmp, (THREAD_FPR26-THREAD_FPR0)
368 lsx_restore_upper $vr27, \base, \tmp, (THREAD_FPR27-THREAD_FPR0)
369 lsx_restore_upper $vr28, \base, \tmp, (THREAD_FPR28-THREAD_FPR0)
370 lsx_restore_upper $vr29, \base, \tmp, (THREAD_FPR29-THREAD_FPR0)
371 lsx_restore_upper $vr30, \base, \tmp, (THREAD_FPR30-THREAD_FPR0)
372 lsx_restore_upper $vr31, \base, \tmp, (THREAD_FPR31-THREAD_FPR0)
375 .macro lsx_init_upper vd tmp
376 vinsgr2vr.d \vd, \tmp, 1
379 .macro lsx_init_all_upper tmp
380 not \tmp, zero
381 lsx_init_upper $vr0 \tmp
382 lsx_init_upper $vr1 \tmp
383 lsx_init_upper $vr2 \tmp
384 lsx_init_upper $vr3 \tmp
385 lsx_init_upper $vr4 \tmp
386 lsx_init_upper $vr5 \tmp
387 lsx_init_upper $vr6 \tmp
388 lsx_init_upper $vr7 \tmp
389 lsx_init_upper $vr8 \tmp
390 lsx_init_upper $vr9 \tmp
391 lsx_init_upper $vr10 \tmp
392 lsx_init_upper $vr11 \tmp
393 lsx_init_upper $vr12 \tmp
394 lsx_init_upper $vr13 \tmp
395 lsx_init_upper $vr14 \tmp
396 lsx_init_upper $vr15 \tmp
397 lsx_init_upper $vr16 \tmp
398 lsx_init_upper $vr17 \tmp
399 lsx_init_upper $vr18 \tmp
400 lsx_init_upper $vr19 \tmp
401 lsx_init_upper $vr20 \tmp
402 lsx_init_upper $vr21 \tmp
403 lsx_init_upper $vr22 \tmp
404 lsx_init_upper $vr23 \tmp
405 lsx_init_upper $vr24 \tmp
406 lsx_init_upper $vr25 \tmp
407 lsx_init_upper $vr26 \tmp
408 lsx_init_upper $vr27 \tmp
409 lsx_init_upper $vr28 \tmp
410 lsx_init_upper $vr29 \tmp
411 lsx_init_upper $vr30 \tmp
412 lsx_init_upper $vr31 \tmp
415 .macro lasx_save_data thread tmp
416 li.w \tmp, THREAD_FPR0
417 PTR_ADD \tmp, \thread, \tmp
418 xvst $xr0, \tmp, THREAD_FPR0 - THREAD_FPR0
419 xvst $xr1, \tmp, THREAD_FPR1 - THREAD_FPR0
420 xvst $xr2, \tmp, THREAD_FPR2 - THREAD_FPR0
421 xvst $xr3, \tmp, THREAD_FPR3 - THREAD_FPR0
422 xvst $xr4, \tmp, THREAD_FPR4 - THREAD_FPR0
423 xvst $xr5, \tmp, THREAD_FPR5 - THREAD_FPR0
424 xvst $xr6, \tmp, THREAD_FPR6 - THREAD_FPR0
425 xvst $xr7, \tmp, THREAD_FPR7 - THREAD_FPR0
426 xvst $xr8, \tmp, THREAD_FPR8 - THREAD_FPR0
427 xvst $xr9, \tmp, THREAD_FPR9 - THREAD_FPR0
428 xvst $xr10, \tmp, THREAD_FPR10 - THREAD_FPR0
429 xvst $xr11, \tmp, THREAD_FPR11 - THREAD_FPR0
430 xvst $xr12, \tmp, THREAD_FPR12 - THREAD_FPR0
431 xvst $xr13, \tmp, THREAD_FPR13 - THREAD_FPR0
432 xvst $xr14, \tmp, THREAD_FPR14 - THREAD_FPR0
433 xvst $xr15, \tmp, THREAD_FPR15 - THREAD_FPR0
434 xvst $xr16, \tmp, THREAD_FPR16 - THREAD_FPR0
435 xvst $xr17, \tmp, THREAD_FPR17 - THREAD_FPR0
436 xvst $xr18, \tmp, THREAD_FPR18 - THREAD_FPR0
437 xvst $xr19, \tmp, THREAD_FPR19 - THREAD_FPR0
438 xvst $xr20, \tmp, THREAD_FPR20 - THREAD_FPR0
439 xvst $xr21, \tmp, THREAD_FPR21 - THREAD_FPR0
440 xvst $xr22, \tmp, THREAD_FPR22 - THREAD_FPR0
441 xvst $xr23, \tmp, THREAD_FPR23 - THREAD_FPR0
442 xvst $xr24, \tmp, THREAD_FPR24 - THREAD_FPR0
443 xvst $xr25, \tmp, THREAD_FPR25 - THREAD_FPR0
444 xvst $xr26, \tmp, THREAD_FPR26 - THREAD_FPR0
445 xvst $xr27, \tmp, THREAD_FPR27 - THREAD_FPR0
446 xvst $xr28, \tmp, THREAD_FPR28 - THREAD_FPR0
447 xvst $xr29, \tmp, THREAD_FPR29 - THREAD_FPR0
448 xvst $xr30, \tmp, THREAD_FPR30 - THREAD_FPR0
449 xvst $xr31, \tmp, THREAD_FPR31 - THREAD_FPR0
452 .macro lasx_restore_data thread tmp
453 li.w \tmp, THREAD_FPR0
454 PTR_ADD \tmp, \thread, \tmp
455 xvld $xr0, \tmp, THREAD_FPR0 - THREAD_FPR0
456 xvld $xr1, \tmp, THREAD_FPR1 - THREAD_FPR0
457 xvld $xr2, \tmp, THREAD_FPR2 - THREAD_FPR0
458 xvld $xr3, \tmp, THREAD_FPR3 - THREAD_FPR0
459 xvld $xr4, \tmp, THREAD_FPR4 - THREAD_FPR0
460 xvld $xr5, \tmp, THREAD_FPR5 - THREAD_FPR0
461 xvld $xr6, \tmp, THREAD_FPR6 - THREAD_FPR0
462 xvld $xr7, \tmp, THREAD_FPR7 - THREAD_FPR0
463 xvld $xr8, \tmp, THREAD_FPR8 - THREAD_FPR0
464 xvld $xr9, \tmp, THREAD_FPR9 - THREAD_FPR0
465 xvld $xr10, \tmp, THREAD_FPR10 - THREAD_FPR0
466 xvld $xr11, \tmp, THREAD_FPR11 - THREAD_FPR0
467 xvld $xr12, \tmp, THREAD_FPR12 - THREAD_FPR0
468 xvld $xr13, \tmp, THREAD_FPR13 - THREAD_FPR0
469 xvld $xr14, \tmp, THREAD_FPR14 - THREAD_FPR0
470 xvld $xr15, \tmp, THREAD_FPR15 - THREAD_FPR0
471 xvld $xr16, \tmp, THREAD_FPR16 - THREAD_FPR0
472 xvld $xr17, \tmp, THREAD_FPR17 - THREAD_FPR0
473 xvld $xr18, \tmp, THREAD_FPR18 - THREAD_FPR0
474 xvld $xr19, \tmp, THREAD_FPR19 - THREAD_FPR0
475 xvld $xr20, \tmp, THREAD_FPR20 - THREAD_FPR0
476 xvld $xr21, \tmp, THREAD_FPR21 - THREAD_FPR0
477 xvld $xr22, \tmp, THREAD_FPR22 - THREAD_FPR0
478 xvld $xr23, \tmp, THREAD_FPR23 - THREAD_FPR0
479 xvld $xr24, \tmp, THREAD_FPR24 - THREAD_FPR0
480 xvld $xr25, \tmp, THREAD_FPR25 - THREAD_FPR0
481 xvld $xr26, \tmp, THREAD_FPR26 - THREAD_FPR0
482 xvld $xr27, \tmp, THREAD_FPR27 - THREAD_FPR0
483 xvld $xr28, \tmp, THREAD_FPR28 - THREAD_FPR0
484 xvld $xr29, \tmp, THREAD_FPR29 - THREAD_FPR0
485 xvld $xr30, \tmp, THREAD_FPR30 - THREAD_FPR0
486 xvld $xr31, \tmp, THREAD_FPR31 - THREAD_FPR0
501 .macro lasx_save_upper xd base tmp off
505 .macro lasx_save_all_upper thread base tmp
514 .macro lasx_restore_all_upper thread base tmp
515 li.w \tmp, THREAD_FPR0
516 PTR_ADD \base, \thread, \tmp
557 .macro lasx_init_upper xd tmp
558 xvinsgr2vr.d \xd, \tmp, 2
559 xvinsgr2vr.d \xd, \tmp, 3
562 .macro lasx_init_all_upper tmp
563 not \tmp, zero
564 lasx_init_upper $xr0 \tmp
565 lasx_init_upper $xr1 \tmp
566 lasx_init_upper $xr2 \tmp
567 lasx_init_upper $xr3 \tmp
568 lasx_init_upper $xr4 \tmp
569 lasx_init_upper $xr5 \tmp
570 lasx_init_upper $xr6 \tmp
571 lasx_init_upper $xr7 \tmp
572 lasx_init_upper $xr8 \tmp
573 lasx_init_upper $xr9 \tmp
574 lasx_init_upper $xr10 \tmp
575 lasx_init_upper $xr11 \tmp
576 lasx_init_upper $xr12 \tmp
577 lasx_init_upper $xr13 \tmp
578 lasx_init_upper $xr14 \tmp
579 lasx_init_upper $xr15 \tmp
580 lasx_init_upper $xr16 \tmp
581 lasx_init_upper $xr17 \tmp
582 lasx_init_upper $xr18 \tmp
583 lasx_init_upper $xr19 \tmp
584 lasx_init_upper $xr20 \tmp
585 lasx_init_upper $xr21 \tmp
586 lasx_init_upper $xr22 \tmp
587 lasx_init_upper $xr23 \tmp
588 lasx_init_upper $xr24 \tmp
589 lasx_init_upper $xr25 \tmp
590 lasx_init_upper $xr26 \tmp
591 lasx_init_upper $xr27 \tmp
592 lasx_init_upper $xr28 \tmp
593 lasx_init_upper $xr29 \tmp
594 lasx_init_upper $xr30 \tmp
595 lasx_init_upper $xr31 \tmp