• Home
  • Raw
  • Download

Lines Matching refs:MIPS64

7 ; RUN:     --check-prefixes=MIPS64-N32,MIPS64R5-N32
10 ; RUN: --check-prefixes=MIPS64-N64,MIPS64R5-N64
17 ; RUN: --check-prefixes=MIPS64-N32,MIPSR6-N32
20 ; RUN: --check-prefixes=MIPS64-N64,MIPSR6-N64
53 ; MIPS64-N32-LABEL: f3:
54 ; MIPS64-N32: # %bb.0: # %entry
55 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
56 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
57 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
58 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
59 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
60 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
61 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(f3)))
62 ; MIPS64-N32-NEXT: addu $1, $1, $25
63 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(f3)))
64 ; MIPS64-N32-NEXT: sh $4, 14($sp)
65 ; MIPS64-N32-NEXT: lw $25, %call16(k2)($gp)
66 ; MIPS64-N32-NEXT: jalr $25
67 ; MIPS64-N32-NEXT: addiu $4, $sp, 14
68 ; MIPS64-N32-NEXT: lw $1, %got_disp(k)($gp)
69 ; MIPS64-N32-NEXT: swc1 $f0, 0($1)
70 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
71 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
72 ; MIPS64-N32-NEXT: jr $ra
73 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
75 ; MIPS64-N64-LABEL: f3:
76 ; MIPS64-N64: # %bb.0: # %entry
77 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
78 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
79 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
80 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
81 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
82 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
83 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(f3)))
84 ; MIPS64-N64-NEXT: daddu $1, $1, $25
85 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(f3)))
86 ; MIPS64-N64-NEXT: sh $4, 14($sp)
87 ; MIPS64-N64-NEXT: ld $25, %call16(k2)($gp)
88 ; MIPS64-N64-NEXT: jalr $25
89 ; MIPS64-N64-NEXT: daddiu $4, $sp, 14
90 ; MIPS64-N64-NEXT: ld $1, %got_disp(k)($gp)
91 ; MIPS64-N64-NEXT: swc1 $f0, 0($1)
92 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
93 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
94 ; MIPS64-N64-NEXT: jr $ra
95 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
124 ; MIPS64-N32-LABEL: f:
125 ; MIPS64-N32: # %bb.0:
126 ; MIPS64-N32-NEXT: addiu $sp, $sp, -16
127 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 16
128 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(f)))
129 ; MIPS64-N32-NEXT: addu $1, $1, $25
130 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(f)))
131 ; MIPS64-N32-NEXT: sh $4, 12($sp)
132 ; MIPS64-N32-NEXT: lh $2, 12($sp)
133 ; MIPS64-N32-NEXT: fill.h $w0, $2
134 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
135 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
136 ; MIPS64-N32-NEXT: mtc1 $2, $f0
137 ; MIPS64-N32-NEXT: lw $1, %got_disp(k)($1)
138 ; MIPS64-N32-NEXT: swc1 $f0, 0($1)
139 ; MIPS64-N32-NEXT: jr $ra
140 ; MIPS64-N32-NEXT: addiu $sp, $sp, 16
142 ; MIPS64-N64-LABEL: f:
143 ; MIPS64-N64: # %bb.0:
144 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -16
145 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 16
146 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(f)))
147 ; MIPS64-N64-NEXT: daddu $1, $1, $25
148 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(f)))
149 ; MIPS64-N64-NEXT: sh $4, 12($sp)
150 ; MIPS64-N64-NEXT: lh $2, 12($sp)
151 ; MIPS64-N64-NEXT: fill.h $w0, $2
152 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
153 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
154 ; MIPS64-N64-NEXT: mtc1 $2, $f0
155 ; MIPS64-N64-NEXT: ld $1, %got_disp(k)($1)
156 ; MIPS64-N64-NEXT: swc1 $f0, 0($1)
157 ; MIPS64-N64-NEXT: jr $ra
158 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 16
202 ; MIPS64-N32-LABEL: fadd_f64:
203 ; MIPS64-N32: # %bb.0: # %entry
204 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fadd_f64)))
205 ; MIPS64-N32-NEXT: addu $1, $1, $25
206 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fadd_f64)))
207 ; MIPS64-N32-NEXT: lw $1, %got_disp(h)($1)
208 ; MIPS64-N32-NEXT: lh $2, 0($1)
209 ; MIPS64-N32-NEXT: fill.h $w0, $2
210 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
211 ; MIPS64-N32-NEXT: fexupr.d $w0, $w0
212 ; MIPS64-N32-NEXT: copy_s.d $2, $w0[0]
213 ; MIPS64-N32-NEXT: dmtc1 $2, $f0
214 ; MIPS64-N32-NEXT: add.d $f0, $f0, $f0
215 ; MIPS64-N32-NEXT: dmfc1 $2, $f0
216 ; MIPS64-N32-NEXT: fill.d $w0, $2
217 ; MIPS64-N32-NEXT: fexdo.w $w0, $w0, $w0
218 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
219 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
220 ; MIPS64-N32-NEXT: jr $ra
221 ; MIPS64-N32-NEXT: sh $2, 0($1)
223 ; MIPS64-N64-LABEL: fadd_f64:
224 ; MIPS64-N64: # %bb.0: # %entry
225 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fadd_f64)))
226 ; MIPS64-N64-NEXT: daddu $1, $1, $25
227 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fadd_f64)))
228 ; MIPS64-N64-NEXT: ld $1, %got_disp(h)($1)
229 ; MIPS64-N64-NEXT: lh $2, 0($1)
230 ; MIPS64-N64-NEXT: fill.h $w0, $2
231 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
232 ; MIPS64-N64-NEXT: fexupr.d $w0, $w0
233 ; MIPS64-N64-NEXT: copy_s.d $2, $w0[0]
234 ; MIPS64-N64-NEXT: dmtc1 $2, $f0
235 ; MIPS64-N64-NEXT: add.d $f0, $f0, $f0
236 ; MIPS64-N64-NEXT: dmfc1 $2, $f0
237 ; MIPS64-N64-NEXT: fill.d $w0, $2
238 ; MIPS64-N64-NEXT: fexdo.w $w0, $w0, $w0
239 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
240 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
241 ; MIPS64-N64-NEXT: jr $ra
242 ; MIPS64-N64-NEXT: sh $2, 0($1)
274 ; MIPS64-N32-LABEL: ffptoui:
275 ; MIPS64-N32: # %bb.0: # %entry
276 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(ffptoui)))
277 ; MIPS64-N32-NEXT: addu $1, $1, $25
278 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(ffptoui)))
279 ; MIPS64-N32-NEXT: lw $1, %got_disp(h)($1)
280 ; MIPS64-N32-NEXT: lh $1, 0($1)
281 ; MIPS64-N32-NEXT: fill.h $w0, $1
282 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
283 ; MIPS64-N32-NEXT: fexupr.d $w0, $w0
284 ; MIPS64-N32-NEXT: copy_s.d $1, $w0[0]
285 ; MIPS64-N32-NEXT: dmtc1 $1, $f0
286 ; MIPS64-N32-NEXT: trunc.w.d $f0, $f0
287 ; MIPS64-N32-NEXT: jr $ra
288 ; MIPS64-N32-NEXT: mfc1 $2, $f0
290 ; MIPS64-N64-LABEL: ffptoui:
291 ; MIPS64-N64: # %bb.0: # %entry
292 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(ffptoui)))
293 ; MIPS64-N64-NEXT: daddu $1, $1, $25
294 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(ffptoui)))
295 ; MIPS64-N64-NEXT: ld $1, %got_disp(h)($1)
296 ; MIPS64-N64-NEXT: lh $1, 0($1)
297 ; MIPS64-N64-NEXT: fill.h $w0, $1
298 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
299 ; MIPS64-N64-NEXT: fexupr.d $w0, $w0
300 ; MIPS64-N64-NEXT: copy_s.d $1, $w0[0]
301 ; MIPS64-N64-NEXT: dmtc1 $1, $f0
302 ; MIPS64-N64-NEXT: trunc.w.d $f0, $f0
303 ; MIPS64-N64-NEXT: jr $ra
304 ; MIPS64-N64-NEXT: mfc1 $2, $f0
330 ; MIPS64-N32-LABEL: ffptosi:
331 ; MIPS64-N32: # %bb.0: # %entry
332 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(ffptosi)))
333 ; MIPS64-N32-NEXT: addu $1, $1, $25
334 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(ffptosi)))
335 ; MIPS64-N32-NEXT: lw $1, %got_disp(h)($1)
336 ; MIPS64-N32-NEXT: lh $1, 0($1)
337 ; MIPS64-N32-NEXT: fill.h $w0, $1
338 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
339 ; MIPS64-N32-NEXT: fexupr.d $w0, $w0
340 ; MIPS64-N32-NEXT: copy_s.d $1, $w0[0]
341 ; MIPS64-N32-NEXT: dmtc1 $1, $f0
342 ; MIPS64-N32-NEXT: trunc.w.d $f0, $f0
343 ; MIPS64-N32-NEXT: jr $ra
344 ; MIPS64-N32-NEXT: mfc1 $2, $f0
346 ; MIPS64-N64-LABEL: ffptosi:
347 ; MIPS64-N64: # %bb.0: # %entry
348 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(ffptosi)))
349 ; MIPS64-N64-NEXT: daddu $1, $1, $25
350 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(ffptosi)))
351 ; MIPS64-N64-NEXT: ld $1, %got_disp(h)($1)
352 ; MIPS64-N64-NEXT: lh $1, 0($1)
353 ; MIPS64-N64-NEXT: fill.h $w0, $1
354 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
355 ; MIPS64-N64-NEXT: fexupr.d $w0, $w0
356 ; MIPS64-N64-NEXT: copy_s.d $1, $w0[0]
357 ; MIPS64-N64-NEXT: dmtc1 $1, $f0
358 ; MIPS64-N64-NEXT: trunc.w.d $f0, $f0
359 ; MIPS64-N64-NEXT: jr $ra
360 ; MIPS64-N64-NEXT: mfc1 $2, $f0
399 ; MIPS64-N32-LABEL: uitofp:
400 ; MIPS64-N32: # %bb.0: # %entry
401 ; MIPS64-N32-NEXT: addiu $sp, $sp, -16
402 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 16
403 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(uitofp)))
404 ; MIPS64-N32-NEXT: addu $1, $1, $25
405 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(uitofp)))
406 ; MIPS64-N32-NEXT: lui $2, 17200
407 ; MIPS64-N32-NEXT: sw $2, 12($sp)
408 ; MIPS64-N32-NEXT: sll $2, $4, 0
409 ; MIPS64-N32-NEXT: sw $2, 8($sp)
410 ; MIPS64-N32-NEXT: lw $2, %got_page(.LCPI5_0)($1)
411 ; MIPS64-N32-NEXT: ldc1 $f0, %got_ofst(.LCPI5_0)($2)
412 ; MIPS64-N32-NEXT: ldc1 $f1, 8($sp)
413 ; MIPS64-N32-NEXT: sub.d $f0, $f1, $f0
414 ; MIPS64-N32-NEXT: dmfc1 $2, $f0
415 ; MIPS64-N32-NEXT: fill.d $w0, $2
416 ; MIPS64-N32-NEXT: fexdo.w $w0, $w0, $w0
417 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
418 ; MIPS64-N32-NEXT: lw $1, %got_disp(h)($1)
419 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
420 ; MIPS64-N32-NEXT: sh $2, 0($1)
421 ; MIPS64-N32-NEXT: jr $ra
422 ; MIPS64-N32-NEXT: addiu $sp, $sp, 16
424 ; MIPS64-N64-LABEL: uitofp:
425 ; MIPS64-N64: # %bb.0: # %entry
426 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -16
427 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 16
428 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(uitofp)))
429 ; MIPS64-N64-NEXT: daddu $1, $1, $25
430 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(uitofp)))
431 ; MIPS64-N64-NEXT: lui $2, 17200
432 ; MIPS64-N64-NEXT: sw $2, 12($sp)
433 ; MIPS64-N64-NEXT: sll $2, $4, 0
434 ; MIPS64-N64-NEXT: sw $2, 8($sp)
435 ; MIPS64-N64-NEXT: ld $2, %got_page(.LCPI5_0)($1)
436 ; MIPS64-N64-NEXT: ldc1 $f0, %got_ofst(.LCPI5_0)($2)
437 ; MIPS64-N64-NEXT: ldc1 $f1, 8($sp)
438 ; MIPS64-N64-NEXT: sub.d $f0, $f1, $f0
439 ; MIPS64-N64-NEXT: dmfc1 $2, $f0
440 ; MIPS64-N64-NEXT: fill.d $w0, $2
441 ; MIPS64-N64-NEXT: fexdo.w $w0, $w0, $w0
442 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
443 ; MIPS64-N64-NEXT: ld $1, %got_disp(h)($1)
444 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
445 ; MIPS64-N64-NEXT: sh $2, 0($1)
446 ; MIPS64-N64-NEXT: jr $ra
447 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 16
487 ; MIPS64-N32-LABEL: fadd:
488 ; MIPS64-N32: # %bb.0: # %entry
489 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fadd)))
490 ; MIPS64-N32-NEXT: addu $1, $1, $25
491 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fadd)))
492 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
493 ; MIPS64-N32-NEXT: lh $2, 0($1)
494 ; MIPS64-N32-NEXT: fill.h $w0, $2
495 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
496 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
497 ; MIPS64-N32-NEXT: mtc1 $2, $f0
498 ; MIPS64-N32-NEXT: add.s $f0, $f0, $f0
499 ; MIPS64-N32-NEXT: mfc1 $2, $f0
500 ; MIPS64-N32-NEXT: fill.w $w0, $2
501 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
502 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
503 ; MIPS64-N32-NEXT: jr $ra
504 ; MIPS64-N32-NEXT: sh $2, 0($1)
506 ; MIPS64-N64-LABEL: fadd:
507 ; MIPS64-N64: # %bb.0: # %entry
508 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fadd)))
509 ; MIPS64-N64-NEXT: daddu $1, $1, $25
510 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fadd)))
511 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
512 ; MIPS64-N64-NEXT: lh $2, 0($1)
513 ; MIPS64-N64-NEXT: fill.h $w0, $2
514 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
515 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
516 ; MIPS64-N64-NEXT: mtc1 $2, $f0
517 ; MIPS64-N64-NEXT: add.s $f0, $f0, $f0
518 ; MIPS64-N64-NEXT: mfc1 $2, $f0
519 ; MIPS64-N64-NEXT: fill.w $w0, $2
520 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
521 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
522 ; MIPS64-N64-NEXT: jr $ra
523 ; MIPS64-N64-NEXT: sh $2, 0($1)
567 ; MIPS64-N32-LABEL: fsub:
568 ; MIPS64-N32: # %bb.0: # %entry
569 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fsub)))
570 ; MIPS64-N32-NEXT: addu $1, $1, $25
571 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fsub)))
572 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
573 ; MIPS64-N32-NEXT: lh $2, 0($1)
574 ; MIPS64-N32-NEXT: fill.h $w0, $2
575 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
576 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
577 ; MIPS64-N32-NEXT: mtc1 $2, $f0
578 ; MIPS64-N32-NEXT: sub.s $f0, $f0, $f0
579 ; MIPS64-N32-NEXT: mfc1 $2, $f0
580 ; MIPS64-N32-NEXT: fill.w $w0, $2
581 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
582 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
583 ; MIPS64-N32-NEXT: jr $ra
584 ; MIPS64-N32-NEXT: sh $2, 0($1)
586 ; MIPS64-N64-LABEL: fsub:
587 ; MIPS64-N64: # %bb.0: # %entry
588 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fsub)))
589 ; MIPS64-N64-NEXT: daddu $1, $1, $25
590 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fsub)))
591 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
592 ; MIPS64-N64-NEXT: lh $2, 0($1)
593 ; MIPS64-N64-NEXT: fill.h $w0, $2
594 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
595 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
596 ; MIPS64-N64-NEXT: mtc1 $2, $f0
597 ; MIPS64-N64-NEXT: sub.s $f0, $f0, $f0
598 ; MIPS64-N64-NEXT: mfc1 $2, $f0
599 ; MIPS64-N64-NEXT: fill.w $w0, $2
600 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
601 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
602 ; MIPS64-N64-NEXT: jr $ra
603 ; MIPS64-N64-NEXT: sh $2, 0($1)
641 ; MIPS64-N32-LABEL: fmult:
642 ; MIPS64-N32: # %bb.0: # %entry
643 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fmult)))
644 ; MIPS64-N32-NEXT: addu $1, $1, $25
645 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fmult)))
646 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
647 ; MIPS64-N32-NEXT: lh $2, 0($1)
648 ; MIPS64-N32-NEXT: fill.h $w0, $2
649 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
650 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
651 ; MIPS64-N32-NEXT: mtc1 $2, $f0
652 ; MIPS64-N32-NEXT: mul.s $f0, $f0, $f0
653 ; MIPS64-N32-NEXT: mfc1 $2, $f0
654 ; MIPS64-N32-NEXT: fill.w $w0, $2
655 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
656 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
657 ; MIPS64-N32-NEXT: jr $ra
658 ; MIPS64-N32-NEXT: sh $2, 0($1)
660 ; MIPS64-N64-LABEL: fmult:
661 ; MIPS64-N64: # %bb.0: # %entry
662 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fmult)))
663 ; MIPS64-N64-NEXT: daddu $1, $1, $25
664 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fmult)))
665 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
666 ; MIPS64-N64-NEXT: lh $2, 0($1)
667 ; MIPS64-N64-NEXT: fill.h $w0, $2
668 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
669 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
670 ; MIPS64-N64-NEXT: mtc1 $2, $f0
671 ; MIPS64-N64-NEXT: mul.s $f0, $f0, $f0
672 ; MIPS64-N64-NEXT: mfc1 $2, $f0
673 ; MIPS64-N64-NEXT: fill.w $w0, $2
674 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
675 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
676 ; MIPS64-N64-NEXT: jr $ra
677 ; MIPS64-N64-NEXT: sh $2, 0($1)
716 ; MIPS64-N32-LABEL: fdiv:
717 ; MIPS64-N32: # %bb.0: # %entry
718 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fdiv)))
719 ; MIPS64-N32-NEXT: addu $1, $1, $25
720 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fdiv)))
721 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
722 ; MIPS64-N32-NEXT: lh $2, 0($1)
723 ; MIPS64-N32-NEXT: fill.h $w0, $2
724 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
725 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
726 ; MIPS64-N32-NEXT: mtc1 $2, $f0
727 ; MIPS64-N32-NEXT: div.s $f0, $f0, $f0
728 ; MIPS64-N32-NEXT: mfc1 $2, $f0
729 ; MIPS64-N32-NEXT: fill.w $w0, $2
730 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
731 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
732 ; MIPS64-N32-NEXT: jr $ra
733 ; MIPS64-N32-NEXT: sh $2, 0($1)
735 ; MIPS64-N64-LABEL: fdiv:
736 ; MIPS64-N64: # %bb.0: # %entry
737 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fdiv)))
738 ; MIPS64-N64-NEXT: daddu $1, $1, $25
739 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fdiv)))
740 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
741 ; MIPS64-N64-NEXT: lh $2, 0($1)
742 ; MIPS64-N64-NEXT: fill.h $w0, $2
743 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
744 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
745 ; MIPS64-N64-NEXT: mtc1 $2, $f0
746 ; MIPS64-N64-NEXT: div.s $f0, $f0, $f0
747 ; MIPS64-N64-NEXT: mfc1 $2, $f0
748 ; MIPS64-N64-NEXT: fill.w $w0, $2
749 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
750 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
751 ; MIPS64-N64-NEXT: jr $ra
752 ; MIPS64-N64-NEXT: sh $2, 0($1)
801 ; MIPS64-N32-LABEL: frem:
802 ; MIPS64-N32: # %bb.0: # %entry
803 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
804 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
805 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
806 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
807 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
808 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
809 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
810 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
811 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(frem)))
812 ; MIPS64-N32-NEXT: addu $1, $1, $25
813 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(frem)))
814 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
815 ; MIPS64-N32-NEXT: lh $1, 0($16)
816 ; MIPS64-N32-NEXT: fill.h $w0, $1
817 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
818 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
819 ; MIPS64-N32-NEXT: mtc1 $1, $f12
820 ; MIPS64-N32-NEXT: lw $25, %call16(fmodf)($gp)
821 ; MIPS64-N32-NEXT: jalr $25
822 ; MIPS64-N32-NEXT: mov.s $f13, $f12
823 ; MIPS64-N32-NEXT: mfc1 $1, $f0
824 ; MIPS64-N32-NEXT: fill.w $w0, $1
825 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
826 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
827 ; MIPS64-N32-NEXT: sh $1, 0($16)
828 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
829 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
830 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
831 ; MIPS64-N32-NEXT: jr $ra
832 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
834 ; MIPS64-N64-LABEL: frem:
835 ; MIPS64-N64: # %bb.0: # %entry
836 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
837 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
838 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
839 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
840 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
841 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
842 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
843 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
844 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(frem)))
845 ; MIPS64-N64-NEXT: daddu $1, $1, $25
846 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(frem)))
847 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
848 ; MIPS64-N64-NEXT: lh $1, 0($16)
849 ; MIPS64-N64-NEXT: fill.h $w0, $1
850 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
851 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
852 ; MIPS64-N64-NEXT: mtc1 $1, $f12
853 ; MIPS64-N64-NEXT: ld $25, %call16(fmodf)($gp)
854 ; MIPS64-N64-NEXT: jalr $25
855 ; MIPS64-N64-NEXT: mov.s $f13, $f12
856 ; MIPS64-N64-NEXT: mfc1 $1, $f0
857 ; MIPS64-N64-NEXT: fill.w $w0, $1
858 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
859 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
860 ; MIPS64-N64-NEXT: sh $1, 0($16)
861 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
862 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
863 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
864 ; MIPS64-N64-NEXT: jr $ra
865 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1034 ; MIPS64-N32-LABEL: fpowi:
1035 ; MIPS64-N32: # %bb.0: # %entry
1036 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fpowi)))
1037 ; MIPS64-N32-NEXT: addu $1, $1, $25
1038 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fpowi)))
1039 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
1040 ; MIPS64-N32-NEXT: lh $2, 0($1)
1041 ; MIPS64-N32-NEXT: fill.h $w0, $2
1042 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1043 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
1044 ; MIPS64-N32-NEXT: mtc1 $2, $f0
1045 ; MIPS64-N32-NEXT: mul.s $f0, $f0, $f0
1046 ; MIPS64-N32-NEXT: mfc1 $2, $f0
1047 ; MIPS64-N32-NEXT: fill.w $w0, $2
1048 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1049 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
1050 ; MIPS64-N32-NEXT: jr $ra
1051 ; MIPS64-N32-NEXT: sh $2, 0($1)
1053 ; MIPS64-N64-LABEL: fpowi:
1054 ; MIPS64-N64: # %bb.0: # %entry
1055 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fpowi)))
1056 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1057 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fpowi)))
1058 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
1059 ; MIPS64-N64-NEXT: lh $2, 0($1)
1060 ; MIPS64-N64-NEXT: fill.h $w0, $2
1061 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1062 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
1063 ; MIPS64-N64-NEXT: mtc1 $2, $f0
1064 ; MIPS64-N64-NEXT: mul.s $f0, $f0, $f0
1065 ; MIPS64-N64-NEXT: mfc1 $2, $f0
1066 ; MIPS64-N64-NEXT: fill.w $w0, $2
1067 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1068 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
1069 ; MIPS64-N64-NEXT: jr $ra
1070 ; MIPS64-N64-NEXT: sh $2, 0($1)
1117 ; MIPS64-N32-LABEL: fpowi_var:
1118 ; MIPS64-N32: # %bb.0: # %entry
1119 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1120 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1121 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1122 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1123 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1124 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1125 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1126 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1127 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fpowi_var)))
1128 ; MIPS64-N32-NEXT: addu $1, $1, $25
1129 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fpowi_var)))
1130 ; MIPS64-N32-NEXT: sll $5, $4, 0
1131 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1132 ; MIPS64-N32-NEXT: lh $1, 0($16)
1133 ; MIPS64-N32-NEXT: fill.h $w0, $1
1134 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1135 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1136 ; MIPS64-N32-NEXT: lw $25, %call16(__powisf2)($gp)
1137 ; MIPS64-N32-NEXT: jalr $25
1138 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1139 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1140 ; MIPS64-N32-NEXT: fill.w $w0, $1
1141 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1142 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1143 ; MIPS64-N32-NEXT: sh $1, 0($16)
1144 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1145 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1146 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1147 ; MIPS64-N32-NEXT: jr $ra
1148 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1150 ; MIPS64-N64-LABEL: fpowi_var:
1151 ; MIPS64-N64: # %bb.0: # %entry
1152 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1153 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1154 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1155 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1156 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1157 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1158 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1159 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1160 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fpowi_var)))
1161 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1162 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fpowi_var)))
1163 ; MIPS64-N64-NEXT: sll $5, $4, 0
1164 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1165 ; MIPS64-N64-NEXT: lh $1, 0($16)
1166 ; MIPS64-N64-NEXT: fill.h $w0, $1
1167 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1168 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1169 ; MIPS64-N64-NEXT: ld $25, %call16(__powisf2)($gp)
1170 ; MIPS64-N64-NEXT: jalr $25
1171 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1172 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1173 ; MIPS64-N64-NEXT: fill.w $w0, $1
1174 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1175 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1176 ; MIPS64-N64-NEXT: sh $1, 0($16)
1177 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1178 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1179 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1180 ; MIPS64-N64-NEXT: jr $ra
1181 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1230 ; MIPS64-N32-LABEL: fpow:
1231 ; MIPS64-N32: # %bb.0: # %entry
1232 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1233 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1234 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1235 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1236 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1237 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1238 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1239 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1240 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fpow)))
1241 ; MIPS64-N32-NEXT: addu $1, $1, $25
1242 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fpow)))
1243 ; MIPS64-N32-NEXT: mov.s $f13, $f12
1244 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1245 ; MIPS64-N32-NEXT: lh $1, 0($16)
1246 ; MIPS64-N32-NEXT: fill.h $w0, $1
1247 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1248 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1249 ; MIPS64-N32-NEXT: lw $25, %call16(powf)($gp)
1250 ; MIPS64-N32-NEXT: jalr $25
1251 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1252 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1253 ; MIPS64-N32-NEXT: fill.w $w0, $1
1254 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1255 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1256 ; MIPS64-N32-NEXT: sh $1, 0($16)
1257 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1258 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1259 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1260 ; MIPS64-N32-NEXT: jr $ra
1261 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1263 ; MIPS64-N64-LABEL: fpow:
1264 ; MIPS64-N64: # %bb.0: # %entry
1265 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1266 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1267 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1268 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1269 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1270 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1271 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1272 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1273 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fpow)))
1274 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1275 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fpow)))
1276 ; MIPS64-N64-NEXT: mov.s $f13, $f12
1277 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1278 ; MIPS64-N64-NEXT: lh $1, 0($16)
1279 ; MIPS64-N64-NEXT: fill.h $w0, $1
1280 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1281 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1282 ; MIPS64-N64-NEXT: ld $25, %call16(powf)($gp)
1283 ; MIPS64-N64-NEXT: jalr $25
1284 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1285 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1286 ; MIPS64-N64-NEXT: fill.w $w0, $1
1287 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1288 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1289 ; MIPS64-N64-NEXT: sh $1, 0($16)
1290 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1291 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1292 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1293 ; MIPS64-N64-NEXT: jr $ra
1294 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1342 ; MIPS64-N32-LABEL: flog2:
1343 ; MIPS64-N32: # %bb.0: # %entry
1344 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1345 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1346 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1347 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1348 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1349 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1350 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1351 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1352 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(flog2)))
1353 ; MIPS64-N32-NEXT: addu $1, $1, $25
1354 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(flog2)))
1355 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1356 ; MIPS64-N32-NEXT: lh $1, 0($16)
1357 ; MIPS64-N32-NEXT: fill.h $w0, $1
1358 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1359 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1360 ; MIPS64-N32-NEXT: lw $25, %call16(log2f)($gp)
1361 ; MIPS64-N32-NEXT: jalr $25
1362 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1363 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1364 ; MIPS64-N32-NEXT: fill.w $w0, $1
1365 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1366 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1367 ; MIPS64-N32-NEXT: sh $1, 0($16)
1368 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1369 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1370 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1371 ; MIPS64-N32-NEXT: jr $ra
1372 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1374 ; MIPS64-N64-LABEL: flog2:
1375 ; MIPS64-N64: # %bb.0: # %entry
1376 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1377 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1378 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1379 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1380 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1381 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1382 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1383 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1384 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(flog2)))
1385 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1386 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(flog2)))
1387 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1388 ; MIPS64-N64-NEXT: lh $1, 0($16)
1389 ; MIPS64-N64-NEXT: fill.h $w0, $1
1390 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1391 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1392 ; MIPS64-N64-NEXT: ld $25, %call16(log2f)($gp)
1393 ; MIPS64-N64-NEXT: jalr $25
1394 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1395 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1396 ; MIPS64-N64-NEXT: fill.w $w0, $1
1397 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1398 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1399 ; MIPS64-N64-NEXT: sh $1, 0($16)
1400 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1401 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1402 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1403 ; MIPS64-N64-NEXT: jr $ra
1404 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1451 ; MIPS64-N32-LABEL: flog10:
1452 ; MIPS64-N32: # %bb.0: # %entry
1453 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1454 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1455 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1456 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1457 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1458 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1459 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1460 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1461 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(flog10)))
1462 ; MIPS64-N32-NEXT: addu $1, $1, $25
1463 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(flog10)))
1464 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1465 ; MIPS64-N32-NEXT: lh $1, 0($16)
1466 ; MIPS64-N32-NEXT: fill.h $w0, $1
1467 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1468 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1469 ; MIPS64-N32-NEXT: lw $25, %call16(log10f)($gp)
1470 ; MIPS64-N32-NEXT: jalr $25
1471 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1472 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1473 ; MIPS64-N32-NEXT: fill.w $w0, $1
1474 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1475 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1476 ; MIPS64-N32-NEXT: sh $1, 0($16)
1477 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1478 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1479 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1480 ; MIPS64-N32-NEXT: jr $ra
1481 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1483 ; MIPS64-N64-LABEL: flog10:
1484 ; MIPS64-N64: # %bb.0: # %entry
1485 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1486 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1487 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1488 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1489 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1490 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1491 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1492 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1493 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(flog10)))
1494 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1495 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(flog10)))
1496 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1497 ; MIPS64-N64-NEXT: lh $1, 0($16)
1498 ; MIPS64-N64-NEXT: fill.h $w0, $1
1499 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1500 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1501 ; MIPS64-N64-NEXT: ld $25, %call16(log10f)($gp)
1502 ; MIPS64-N64-NEXT: jalr $25
1503 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1504 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1505 ; MIPS64-N64-NEXT: fill.w $w0, $1
1506 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1507 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1508 ; MIPS64-N64-NEXT: sh $1, 0($16)
1509 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1510 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1511 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1512 ; MIPS64-N64-NEXT: jr $ra
1513 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1550 ; MIPS64-N32-LABEL: fsqrt:
1551 ; MIPS64-N32: # %bb.0: # %entry
1552 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fsqrt)))
1553 ; MIPS64-N32-NEXT: addu $1, $1, $25
1554 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fsqrt)))
1555 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
1556 ; MIPS64-N32-NEXT: lh $2, 0($1)
1557 ; MIPS64-N32-NEXT: fill.h $w0, $2
1558 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1559 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
1560 ; MIPS64-N32-NEXT: mtc1 $2, $f0
1561 ; MIPS64-N32-NEXT: sqrt.s $f0, $f0
1562 ; MIPS64-N32-NEXT: mfc1 $2, $f0
1563 ; MIPS64-N32-NEXT: fill.w $w0, $2
1564 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1565 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
1566 ; MIPS64-N32-NEXT: jr $ra
1567 ; MIPS64-N32-NEXT: sh $2, 0($1)
1569 ; MIPS64-N64-LABEL: fsqrt:
1570 ; MIPS64-N64: # %bb.0: # %entry
1571 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fsqrt)))
1572 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1573 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fsqrt)))
1574 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
1575 ; MIPS64-N64-NEXT: lh $2, 0($1)
1576 ; MIPS64-N64-NEXT: fill.h $w0, $2
1577 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1578 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
1579 ; MIPS64-N64-NEXT: mtc1 $2, $f0
1580 ; MIPS64-N64-NEXT: sqrt.s $f0, $f0
1581 ; MIPS64-N64-NEXT: mfc1 $2, $f0
1582 ; MIPS64-N64-NEXT: fill.w $w0, $2
1583 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1584 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
1585 ; MIPS64-N64-NEXT: jr $ra
1586 ; MIPS64-N64-NEXT: sh $2, 0($1)
1633 ; MIPS64-N32-LABEL: fsin:
1634 ; MIPS64-N32: # %bb.0: # %entry
1635 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1636 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1637 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1638 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1639 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1640 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1641 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1642 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1643 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fsin)))
1644 ; MIPS64-N32-NEXT: addu $1, $1, $25
1645 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fsin)))
1646 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1647 ; MIPS64-N32-NEXT: lh $1, 0($16)
1648 ; MIPS64-N32-NEXT: fill.h $w0, $1
1649 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1650 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1651 ; MIPS64-N32-NEXT: lw $25, %call16(sinf)($gp)
1652 ; MIPS64-N32-NEXT: jalr $25
1653 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1654 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1655 ; MIPS64-N32-NEXT: fill.w $w0, $1
1656 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1657 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1658 ; MIPS64-N32-NEXT: sh $1, 0($16)
1659 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1660 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1661 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1662 ; MIPS64-N32-NEXT: jr $ra
1663 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1665 ; MIPS64-N64-LABEL: fsin:
1666 ; MIPS64-N64: # %bb.0: # %entry
1667 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1668 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1669 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1670 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1671 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1672 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1673 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1674 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1675 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fsin)))
1676 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1677 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fsin)))
1678 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1679 ; MIPS64-N64-NEXT: lh $1, 0($16)
1680 ; MIPS64-N64-NEXT: fill.h $w0, $1
1681 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1682 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1683 ; MIPS64-N64-NEXT: ld $25, %call16(sinf)($gp)
1684 ; MIPS64-N64-NEXT: jalr $25
1685 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1686 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1687 ; MIPS64-N64-NEXT: fill.w $w0, $1
1688 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1689 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1690 ; MIPS64-N64-NEXT: sh $1, 0($16)
1691 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1692 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1693 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1694 ; MIPS64-N64-NEXT: jr $ra
1695 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1742 ; MIPS64-N32-LABEL: fcos:
1743 ; MIPS64-N32: # %bb.0: # %entry
1744 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1745 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1746 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1747 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1748 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1749 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1750 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1751 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1752 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fcos)))
1753 ; MIPS64-N32-NEXT: addu $1, $1, $25
1754 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fcos)))
1755 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1756 ; MIPS64-N32-NEXT: lh $1, 0($16)
1757 ; MIPS64-N32-NEXT: fill.h $w0, $1
1758 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1759 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1760 ; MIPS64-N32-NEXT: lw $25, %call16(cosf)($gp)
1761 ; MIPS64-N32-NEXT: jalr $25
1762 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1763 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1764 ; MIPS64-N32-NEXT: fill.w $w0, $1
1765 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1766 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1767 ; MIPS64-N32-NEXT: sh $1, 0($16)
1768 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1769 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1770 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1771 ; MIPS64-N32-NEXT: jr $ra
1772 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1774 ; MIPS64-N64-LABEL: fcos:
1775 ; MIPS64-N64: # %bb.0: # %entry
1776 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1777 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1778 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1779 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1780 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1781 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1782 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1783 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1784 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fcos)))
1785 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1786 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fcos)))
1787 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1788 ; MIPS64-N64-NEXT: lh $1, 0($16)
1789 ; MIPS64-N64-NEXT: fill.h $w0, $1
1790 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1791 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1792 ; MIPS64-N64-NEXT: ld $25, %call16(cosf)($gp)
1793 ; MIPS64-N64-NEXT: jalr $25
1794 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1795 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1796 ; MIPS64-N64-NEXT: fill.w $w0, $1
1797 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1798 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1799 ; MIPS64-N64-NEXT: sh $1, 0($16)
1800 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1801 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1802 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1803 ; MIPS64-N64-NEXT: jr $ra
1804 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1851 ; MIPS64-N32-LABEL: fexp:
1852 ; MIPS64-N32: # %bb.0: # %entry
1853 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1854 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1855 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1856 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1857 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1858 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1859 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1860 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1861 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fexp)))
1862 ; MIPS64-N32-NEXT: addu $1, $1, $25
1863 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fexp)))
1864 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1865 ; MIPS64-N32-NEXT: lh $1, 0($16)
1866 ; MIPS64-N32-NEXT: fill.h $w0, $1
1867 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1868 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1869 ; MIPS64-N32-NEXT: lw $25, %call16(expf)($gp)
1870 ; MIPS64-N32-NEXT: jalr $25
1871 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1872 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1873 ; MIPS64-N32-NEXT: fill.w $w0, $1
1874 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1875 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1876 ; MIPS64-N32-NEXT: sh $1, 0($16)
1877 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1878 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1879 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1880 ; MIPS64-N32-NEXT: jr $ra
1881 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1883 ; MIPS64-N64-LABEL: fexp:
1884 ; MIPS64-N64: # %bb.0: # %entry
1885 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1886 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1887 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1888 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1889 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1890 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1891 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
1892 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
1893 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fexp)))
1894 ; MIPS64-N64-NEXT: daddu $1, $1, $25
1895 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fexp)))
1896 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
1897 ; MIPS64-N64-NEXT: lh $1, 0($16)
1898 ; MIPS64-N64-NEXT: fill.h $w0, $1
1899 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
1900 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
1901 ; MIPS64-N64-NEXT: ld $25, %call16(expf)($gp)
1902 ; MIPS64-N64-NEXT: jalr $25
1903 ; MIPS64-N64-NEXT: mtc1 $1, $f12
1904 ; MIPS64-N64-NEXT: mfc1 $1, $f0
1905 ; MIPS64-N64-NEXT: fill.w $w0, $1
1906 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
1907 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
1908 ; MIPS64-N64-NEXT: sh $1, 0($16)
1909 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1910 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1911 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1912 ; MIPS64-N64-NEXT: jr $ra
1913 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
1959 ; MIPS64-N32-LABEL: fexp2:
1960 ; MIPS64-N32: # %bb.0: # %entry
1961 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
1962 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
1963 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1964 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1965 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1966 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
1967 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
1968 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
1969 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fexp2)))
1970 ; MIPS64-N32-NEXT: addu $1, $1, $25
1971 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fexp2)))
1972 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
1973 ; MIPS64-N32-NEXT: lh $1, 0($16)
1974 ; MIPS64-N32-NEXT: fill.h $w0, $1
1975 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
1976 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
1977 ; MIPS64-N32-NEXT: lw $25, %call16(exp2f)($gp)
1978 ; MIPS64-N32-NEXT: jalr $25
1979 ; MIPS64-N32-NEXT: mtc1 $1, $f12
1980 ; MIPS64-N32-NEXT: mfc1 $1, $f0
1981 ; MIPS64-N32-NEXT: fill.w $w0, $1
1982 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
1983 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
1984 ; MIPS64-N32-NEXT: sh $1, 0($16)
1985 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
1986 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
1987 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
1988 ; MIPS64-N32-NEXT: jr $ra
1989 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
1991 ; MIPS64-N64-LABEL: fexp2:
1992 ; MIPS64-N64: # %bb.0: # %entry
1993 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
1994 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
1995 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
1996 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
1997 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
1998 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
1999 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2000 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2001 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fexp2)))
2002 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2003 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fexp2)))
2004 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2005 ; MIPS64-N64-NEXT: lh $1, 0($16)
2006 ; MIPS64-N64-NEXT: fill.h $w0, $1
2007 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2008 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2009 ; MIPS64-N64-NEXT: ld $25, %call16(exp2f)($gp)
2010 ; MIPS64-N64-NEXT: jalr $25
2011 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2012 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2013 ; MIPS64-N64-NEXT: fill.w $w0, $1
2014 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2015 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2016 ; MIPS64-N64-NEXT: sh $1, 0($16)
2017 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2018 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2019 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2020 ; MIPS64-N64-NEXT: jr $ra
2021 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
2071 ; MIPS64-N32-LABEL: ffma:
2072 ; MIPS64-N32: # %bb.0: # %entry
2073 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
2074 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
2075 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2076 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2077 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2078 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
2079 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
2080 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
2081 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(ffma)))
2082 ; MIPS64-N32-NEXT: addu $1, $1, $25
2083 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(ffma)))
2084 ; MIPS64-N32-NEXT: mov.s $f14, $f13
2085 ; MIPS64-N32-NEXT: mov.s $f13, $f12
2086 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
2087 ; MIPS64-N32-NEXT: lh $1, 0($16)
2088 ; MIPS64-N32-NEXT: fill.h $w0, $1
2089 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2090 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
2091 ; MIPS64-N32-NEXT: lw $25, %call16(fmaf)($gp)
2092 ; MIPS64-N32-NEXT: jalr $25
2093 ; MIPS64-N32-NEXT: mtc1 $1, $f12
2094 ; MIPS64-N32-NEXT: mfc1 $1, $f0
2095 ; MIPS64-N32-NEXT: fill.w $w0, $1
2096 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2097 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
2098 ; MIPS64-N32-NEXT: sh $1, 0($16)
2099 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2100 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2101 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2102 ; MIPS64-N32-NEXT: jr $ra
2103 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
2105 ; MIPS64-N64-LABEL: ffma:
2106 ; MIPS64-N64: # %bb.0: # %entry
2107 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
2108 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
2109 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2110 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2111 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2112 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
2113 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2114 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2115 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(ffma)))
2116 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2117 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(ffma)))
2118 ; MIPS64-N64-NEXT: mov.s $f14, $f13
2119 ; MIPS64-N64-NEXT: mov.s $f13, $f12
2120 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2121 ; MIPS64-N64-NEXT: lh $1, 0($16)
2122 ; MIPS64-N64-NEXT: fill.h $w0, $1
2123 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2124 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2125 ; MIPS64-N64-NEXT: ld $25, %call16(fmaf)($gp)
2126 ; MIPS64-N64-NEXT: jalr $25
2127 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2128 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2129 ; MIPS64-N64-NEXT: fill.w $w0, $1
2130 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2131 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2132 ; MIPS64-N64-NEXT: sh $1, 0($16)
2133 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2134 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2135 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2136 ; MIPS64-N64-NEXT: jr $ra
2137 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
2312 ; MIPS64-N32-LABEL: ffabs:
2313 ; MIPS64-N32: # %bb.0: # %entry
2314 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(ffabs)))
2315 ; MIPS64-N32-NEXT: addu $1, $1, $25
2316 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(ffabs)))
2317 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
2318 ; MIPS64-N32-NEXT: lh $2, 0($1)
2319 ; MIPS64-N32-NEXT: fill.h $w0, $2
2320 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2321 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
2322 ; MIPS64-N32-NEXT: mtc1 $2, $f0
2323 ; MIPS64-N32-NEXT: abs.s $f0, $f0
2324 ; MIPS64-N32-NEXT: mfc1 $2, $f0
2325 ; MIPS64-N32-NEXT: fill.w $w0, $2
2326 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2327 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
2328 ; MIPS64-N32-NEXT: jr $ra
2329 ; MIPS64-N32-NEXT: sh $2, 0($1)
2331 ; MIPS64-N64-LABEL: ffabs:
2332 ; MIPS64-N64: # %bb.0: # %entry
2333 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(ffabs)))
2334 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2335 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(ffabs)))
2336 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
2337 ; MIPS64-N64-NEXT: lh $2, 0($1)
2338 ; MIPS64-N64-NEXT: fill.h $w0, $2
2339 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2340 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
2341 ; MIPS64-N64-NEXT: mtc1 $2, $f0
2342 ; MIPS64-N64-NEXT: abs.s $f0, $f0
2343 ; MIPS64-N64-NEXT: mfc1 $2, $f0
2344 ; MIPS64-N64-NEXT: fill.w $w0, $2
2345 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2346 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
2347 ; MIPS64-N64-NEXT: jr $ra
2348 ; MIPS64-N64-NEXT: sh $2, 0($1)
2396 ; MIPS64-N32-LABEL: fminnum:
2397 ; MIPS64-N32: # %bb.0: # %entry
2398 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
2399 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
2400 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2401 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2402 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2403 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
2404 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
2405 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
2406 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fminnum)))
2407 ; MIPS64-N32-NEXT: addu $1, $1, $25
2408 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fminnum)))
2409 ; MIPS64-N32-NEXT: mov.s $f13, $f12
2410 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
2411 ; MIPS64-N32-NEXT: lh $1, 0($16)
2412 ; MIPS64-N32-NEXT: fill.h $w0, $1
2413 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2414 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
2415 ; MIPS64-N32-NEXT: lw $25, %call16(fminf)($gp)
2416 ; MIPS64-N32-NEXT: jalr $25
2417 ; MIPS64-N32-NEXT: mtc1 $1, $f12
2418 ; MIPS64-N32-NEXT: mfc1 $1, $f0
2419 ; MIPS64-N32-NEXT: fill.w $w0, $1
2420 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2421 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
2422 ; MIPS64-N32-NEXT: sh $1, 0($16)
2423 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2424 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2425 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2426 ; MIPS64-N32-NEXT: jr $ra
2427 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
2429 ; MIPS64-N64-LABEL: fminnum:
2430 ; MIPS64-N64: # %bb.0: # %entry
2431 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
2432 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
2433 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2434 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2435 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2436 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
2437 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2438 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2439 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fminnum)))
2440 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2441 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fminnum)))
2442 ; MIPS64-N64-NEXT: mov.s $f13, $f12
2443 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2444 ; MIPS64-N64-NEXT: lh $1, 0($16)
2445 ; MIPS64-N64-NEXT: fill.h $w0, $1
2446 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2447 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2448 ; MIPS64-N64-NEXT: ld $25, %call16(fminf)($gp)
2449 ; MIPS64-N64-NEXT: jalr $25
2450 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2451 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2452 ; MIPS64-N64-NEXT: fill.w $w0, $1
2453 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2454 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2455 ; MIPS64-N64-NEXT: sh $1, 0($16)
2456 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2457 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2458 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2459 ; MIPS64-N64-NEXT: jr $ra
2460 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
2508 ; MIPS64-N32-LABEL: fmaxnum:
2509 ; MIPS64-N32: # %bb.0: # %entry
2510 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
2511 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
2512 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2513 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2514 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2515 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
2516 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
2517 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
2518 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fmaxnum)))
2519 ; MIPS64-N32-NEXT: addu $1, $1, $25
2520 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fmaxnum)))
2521 ; MIPS64-N32-NEXT: mov.s $f13, $f12
2522 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
2523 ; MIPS64-N32-NEXT: lh $1, 0($16)
2524 ; MIPS64-N32-NEXT: fill.h $w0, $1
2525 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2526 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
2527 ; MIPS64-N32-NEXT: lw $25, %call16(fmaxf)($gp)
2528 ; MIPS64-N32-NEXT: jalr $25
2529 ; MIPS64-N32-NEXT: mtc1 $1, $f12
2530 ; MIPS64-N32-NEXT: mfc1 $1, $f0
2531 ; MIPS64-N32-NEXT: fill.w $w0, $1
2532 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2533 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
2534 ; MIPS64-N32-NEXT: sh $1, 0($16)
2535 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2536 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2537 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2538 ; MIPS64-N32-NEXT: jr $ra
2539 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
2541 ; MIPS64-N64-LABEL: fmaxnum:
2542 ; MIPS64-N64: # %bb.0: # %entry
2543 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
2544 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
2545 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2546 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2547 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2548 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
2549 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2550 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2551 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fmaxnum)))
2552 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2553 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fmaxnum)))
2554 ; MIPS64-N64-NEXT: mov.s $f13, $f12
2555 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2556 ; MIPS64-N64-NEXT: lh $1, 0($16)
2557 ; MIPS64-N64-NEXT: fill.h $w0, $1
2558 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2559 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2560 ; MIPS64-N64-NEXT: ld $25, %call16(fmaxf)($gp)
2561 ; MIPS64-N64-NEXT: jalr $25
2562 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2563 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2564 ; MIPS64-N64-NEXT: fill.w $w0, $1
2565 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2566 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2567 ; MIPS64-N64-NEXT: sh $1, 0($16)
2568 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2569 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2570 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2571 ; MIPS64-N64-NEXT: jr $ra
2572 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
2611 ; MIPS64-N32-LABEL: fcopysign:
2612 ; MIPS64-N32: # %bb.0: # %entry
2613 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fcopysign)))
2614 ; MIPS64-N32-NEXT: addu $1, $1, $25
2615 ; MIPS64-N32-NEXT: addiu $1, $1, %lo(%neg(%gp_rel(fcopysign)))
2616 ; MIPS64-N32-NEXT: lw $1, %got_disp(g)($1)
2617 ; MIPS64-N32-NEXT: lh $2, 0($1)
2618 ; MIPS64-N32-NEXT: fill.h $w0, $2
2619 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2620 ; MIPS64-N32-NEXT: copy_s.w $2, $w0[0]
2621 ; MIPS64-N32-NEXT: mfc1 $3, $f12
2622 ; MIPS64-N32-NEXT: ext $3, $3, 31, 1
2623 ; MIPS64-N32-NEXT: ins $2, $3, 31, 1
2624 ; MIPS64-N32-NEXT: fill.w $w0, $2
2625 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2626 ; MIPS64-N32-NEXT: copy_u.h $2, $w0[0]
2627 ; MIPS64-N32-NEXT: jr $ra
2628 ; MIPS64-N32-NEXT: sh $2, 0($1)
2630 ; MIPS64-N64-LABEL: fcopysign:
2631 ; MIPS64-N64: # %bb.0: # %entry
2632 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fcopysign)))
2633 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2634 ; MIPS64-N64-NEXT: daddiu $1, $1, %lo(%neg(%gp_rel(fcopysign)))
2635 ; MIPS64-N64-NEXT: ld $1, %got_disp(g)($1)
2636 ; MIPS64-N64-NEXT: lh $2, 0($1)
2637 ; MIPS64-N64-NEXT: fill.h $w0, $2
2638 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2639 ; MIPS64-N64-NEXT: copy_s.w $2, $w0[0]
2640 ; MIPS64-N64-NEXT: mfc1 $3, $f12
2641 ; MIPS64-N64-NEXT: ext $3, $3, 31, 1
2642 ; MIPS64-N64-NEXT: ins $2, $3, 31, 1
2643 ; MIPS64-N64-NEXT: fill.w $w0, $2
2644 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2645 ; MIPS64-N64-NEXT: copy_u.h $2, $w0[0]
2646 ; MIPS64-N64-NEXT: jr $ra
2647 ; MIPS64-N64-NEXT: sh $2, 0($1)
2694 ; MIPS64-N32-LABEL: ffloor:
2695 ; MIPS64-N32: # %bb.0: # %entry
2696 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
2697 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
2698 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2699 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2700 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2701 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
2702 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
2703 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
2704 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(ffloor)))
2705 ; MIPS64-N32-NEXT: addu $1, $1, $25
2706 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(ffloor)))
2707 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
2708 ; MIPS64-N32-NEXT: lh $1, 0($16)
2709 ; MIPS64-N32-NEXT: fill.h $w0, $1
2710 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2711 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
2712 ; MIPS64-N32-NEXT: lw $25, %call16(floorf)($gp)
2713 ; MIPS64-N32-NEXT: jalr $25
2714 ; MIPS64-N32-NEXT: mtc1 $1, $f12
2715 ; MIPS64-N32-NEXT: mfc1 $1, $f0
2716 ; MIPS64-N32-NEXT: fill.w $w0, $1
2717 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2718 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
2719 ; MIPS64-N32-NEXT: sh $1, 0($16)
2720 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2721 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2722 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2723 ; MIPS64-N32-NEXT: jr $ra
2724 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
2726 ; MIPS64-N64-LABEL: ffloor:
2727 ; MIPS64-N64: # %bb.0: # %entry
2728 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
2729 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
2730 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2731 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2732 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2733 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
2734 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2735 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2736 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(ffloor)))
2737 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2738 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(ffloor)))
2739 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2740 ; MIPS64-N64-NEXT: lh $1, 0($16)
2741 ; MIPS64-N64-NEXT: fill.h $w0, $1
2742 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2743 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2744 ; MIPS64-N64-NEXT: ld $25, %call16(floorf)($gp)
2745 ; MIPS64-N64-NEXT: jalr $25
2746 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2747 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2748 ; MIPS64-N64-NEXT: fill.w $w0, $1
2749 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2750 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2751 ; MIPS64-N64-NEXT: sh $1, 0($16)
2752 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2753 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2754 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2755 ; MIPS64-N64-NEXT: jr $ra
2756 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
2803 ; MIPS64-N32-LABEL: fceil:
2804 ; MIPS64-N32: # %bb.0: # %entry
2805 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
2806 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
2807 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2808 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2809 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2810 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
2811 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
2812 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
2813 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fceil)))
2814 ; MIPS64-N32-NEXT: addu $1, $1, $25
2815 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fceil)))
2816 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
2817 ; MIPS64-N32-NEXT: lh $1, 0($16)
2818 ; MIPS64-N32-NEXT: fill.h $w0, $1
2819 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2820 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
2821 ; MIPS64-N32-NEXT: lw $25, %call16(ceilf)($gp)
2822 ; MIPS64-N32-NEXT: jalr $25
2823 ; MIPS64-N32-NEXT: mtc1 $1, $f12
2824 ; MIPS64-N32-NEXT: mfc1 $1, $f0
2825 ; MIPS64-N32-NEXT: fill.w $w0, $1
2826 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2827 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
2828 ; MIPS64-N32-NEXT: sh $1, 0($16)
2829 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2830 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2831 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2832 ; MIPS64-N32-NEXT: jr $ra
2833 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
2835 ; MIPS64-N64-LABEL: fceil:
2836 ; MIPS64-N64: # %bb.0: # %entry
2837 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
2838 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
2839 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2840 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2841 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2842 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
2843 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2844 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2845 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fceil)))
2846 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2847 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fceil)))
2848 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2849 ; MIPS64-N64-NEXT: lh $1, 0($16)
2850 ; MIPS64-N64-NEXT: fill.h $w0, $1
2851 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2852 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2853 ; MIPS64-N64-NEXT: ld $25, %call16(ceilf)($gp)
2854 ; MIPS64-N64-NEXT: jalr $25
2855 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2856 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2857 ; MIPS64-N64-NEXT: fill.w $w0, $1
2858 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2859 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2860 ; MIPS64-N64-NEXT: sh $1, 0($16)
2861 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2862 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2863 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2864 ; MIPS64-N64-NEXT: jr $ra
2865 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
2912 ; MIPS64-N32-LABEL: ftrunc:
2913 ; MIPS64-N32: # %bb.0: # %entry
2914 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
2915 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
2916 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2917 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2918 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2919 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
2920 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
2921 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
2922 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(ftrunc)))
2923 ; MIPS64-N32-NEXT: addu $1, $1, $25
2924 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(ftrunc)))
2925 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
2926 ; MIPS64-N32-NEXT: lh $1, 0($16)
2927 ; MIPS64-N32-NEXT: fill.h $w0, $1
2928 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
2929 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
2930 ; MIPS64-N32-NEXT: lw $25, %call16(truncf)($gp)
2931 ; MIPS64-N32-NEXT: jalr $25
2932 ; MIPS64-N32-NEXT: mtc1 $1, $f12
2933 ; MIPS64-N32-NEXT: mfc1 $1, $f0
2934 ; MIPS64-N32-NEXT: fill.w $w0, $1
2935 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
2936 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
2937 ; MIPS64-N32-NEXT: sh $1, 0($16)
2938 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2939 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2940 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2941 ; MIPS64-N32-NEXT: jr $ra
2942 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
2944 ; MIPS64-N64-LABEL: ftrunc:
2945 ; MIPS64-N64: # %bb.0: # %entry
2946 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
2947 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
2948 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
2949 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
2950 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
2951 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
2952 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
2953 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
2954 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(ftrunc)))
2955 ; MIPS64-N64-NEXT: daddu $1, $1, $25
2956 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(ftrunc)))
2957 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
2958 ; MIPS64-N64-NEXT: lh $1, 0($16)
2959 ; MIPS64-N64-NEXT: fill.h $w0, $1
2960 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
2961 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
2962 ; MIPS64-N64-NEXT: ld $25, %call16(truncf)($gp)
2963 ; MIPS64-N64-NEXT: jalr $25
2964 ; MIPS64-N64-NEXT: mtc1 $1, $f12
2965 ; MIPS64-N64-NEXT: mfc1 $1, $f0
2966 ; MIPS64-N64-NEXT: fill.w $w0, $1
2967 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
2968 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
2969 ; MIPS64-N64-NEXT: sh $1, 0($16)
2970 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
2971 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
2972 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
2973 ; MIPS64-N64-NEXT: jr $ra
2974 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
3021 ; MIPS64-N32-LABEL: frint:
3022 ; MIPS64-N32: # %bb.0: # %entry
3023 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
3024 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
3025 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
3026 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
3027 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
3028 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
3029 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
3030 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
3031 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(frint)))
3032 ; MIPS64-N32-NEXT: addu $1, $1, $25
3033 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(frint)))
3034 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
3035 ; MIPS64-N32-NEXT: lh $1, 0($16)
3036 ; MIPS64-N32-NEXT: fill.h $w0, $1
3037 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
3038 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
3039 ; MIPS64-N32-NEXT: lw $25, %call16(rintf)($gp)
3040 ; MIPS64-N32-NEXT: jalr $25
3041 ; MIPS64-N32-NEXT: mtc1 $1, $f12
3042 ; MIPS64-N32-NEXT: mfc1 $1, $f0
3043 ; MIPS64-N32-NEXT: fill.w $w0, $1
3044 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
3045 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
3046 ; MIPS64-N32-NEXT: sh $1, 0($16)
3047 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
3048 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
3049 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
3050 ; MIPS64-N32-NEXT: jr $ra
3051 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
3053 ; MIPS64-N64-LABEL: frint:
3054 ; MIPS64-N64: # %bb.0: # %entry
3055 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
3056 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
3057 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
3058 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
3059 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
3060 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
3061 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
3062 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
3063 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(frint)))
3064 ; MIPS64-N64-NEXT: daddu $1, $1, $25
3065 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(frint)))
3066 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
3067 ; MIPS64-N64-NEXT: lh $1, 0($16)
3068 ; MIPS64-N64-NEXT: fill.h $w0, $1
3069 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
3070 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
3071 ; MIPS64-N64-NEXT: ld $25, %call16(rintf)($gp)
3072 ; MIPS64-N64-NEXT: jalr $25
3073 ; MIPS64-N64-NEXT: mtc1 $1, $f12
3074 ; MIPS64-N64-NEXT: mfc1 $1, $f0
3075 ; MIPS64-N64-NEXT: fill.w $w0, $1
3076 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
3077 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
3078 ; MIPS64-N64-NEXT: sh $1, 0($16)
3079 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
3080 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
3081 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
3082 ; MIPS64-N64-NEXT: jr $ra
3083 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
3128 ; MIPS64-N32-LABEL: fnearbyint:
3129 ; MIPS64-N32: # %bb.0: # %entry
3130 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
3131 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
3132 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
3133 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
3134 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
3135 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
3136 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
3137 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
3138 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fnearbyint)))
3139 ; MIPS64-N32-NEXT: addu $1, $1, $25
3140 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fnearbyint)))
3141 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
3142 ; MIPS64-N32-NEXT: lh $1, 0($16)
3143 ; MIPS64-N32-NEXT: fill.h $w0, $1
3144 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
3145 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
3146 ; MIPS64-N32-NEXT: lw $25, %call16(nearbyintf)($gp)
3147 ; MIPS64-N32-NEXT: jalr $25
3148 ; MIPS64-N32-NEXT: mtc1 $1, $f12
3149 ; MIPS64-N32-NEXT: mfc1 $1, $f0
3150 ; MIPS64-N32-NEXT: fill.w $w0, $1
3151 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
3152 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
3153 ; MIPS64-N32-NEXT: sh $1, 0($16)
3154 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
3155 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
3156 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
3157 ; MIPS64-N32-NEXT: jr $ra
3158 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
3160 ; MIPS64-N64-LABEL: fnearbyint:
3161 ; MIPS64-N64: # %bb.0: # %entry
3162 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
3163 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
3164 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
3165 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
3166 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
3167 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
3168 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
3169 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
3170 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fnearbyint)))
3171 ; MIPS64-N64-NEXT: daddu $1, $1, $25
3172 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fnearbyint)))
3173 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
3174 ; MIPS64-N64-NEXT: lh $1, 0($16)
3175 ; MIPS64-N64-NEXT: fill.h $w0, $1
3176 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
3177 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
3178 ; MIPS64-N64-NEXT: ld $25, %call16(nearbyintf)($gp)
3179 ; MIPS64-N64-NEXT: jalr $25
3180 ; MIPS64-N64-NEXT: mtc1 $1, $f12
3181 ; MIPS64-N64-NEXT: mfc1 $1, $f0
3182 ; MIPS64-N64-NEXT: fill.w $w0, $1
3183 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
3184 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
3185 ; MIPS64-N64-NEXT: sh $1, 0($16)
3186 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
3187 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
3188 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
3189 ; MIPS64-N64-NEXT: jr $ra
3190 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32
3237 ; MIPS64-N32-LABEL: fround:
3238 ; MIPS64-N32: # %bb.0: # %entry
3239 ; MIPS64-N32-NEXT: addiu $sp, $sp, -32
3240 ; MIPS64-N32-NEXT: .cfi_def_cfa_offset 32
3241 ; MIPS64-N32-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
3242 ; MIPS64-N32-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
3243 ; MIPS64-N32-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
3244 ; MIPS64-N32-NEXT: .cfi_offset 31, -8
3245 ; MIPS64-N32-NEXT: .cfi_offset 28, -16
3246 ; MIPS64-N32-NEXT: .cfi_offset 16, -24
3247 ; MIPS64-N32-NEXT: lui $1, %hi(%neg(%gp_rel(fround)))
3248 ; MIPS64-N32-NEXT: addu $1, $1, $25
3249 ; MIPS64-N32-NEXT: addiu $gp, $1, %lo(%neg(%gp_rel(fround)))
3250 ; MIPS64-N32-NEXT: lw $16, %got_disp(g)($gp)
3251 ; MIPS64-N32-NEXT: lh $1, 0($16)
3252 ; MIPS64-N32-NEXT: fill.h $w0, $1
3253 ; MIPS64-N32-NEXT: fexupr.w $w0, $w0
3254 ; MIPS64-N32-NEXT: copy_s.w $1, $w0[0]
3255 ; MIPS64-N32-NEXT: lw $25, %call16(roundf)($gp)
3256 ; MIPS64-N32-NEXT: jalr $25
3257 ; MIPS64-N32-NEXT: mtc1 $1, $f12
3258 ; MIPS64-N32-NEXT: mfc1 $1, $f0
3259 ; MIPS64-N32-NEXT: fill.w $w0, $1
3260 ; MIPS64-N32-NEXT: fexdo.h $w0, $w0, $w0
3261 ; MIPS64-N32-NEXT: copy_u.h $1, $w0[0]
3262 ; MIPS64-N32-NEXT: sh $1, 0($16)
3263 ; MIPS64-N32-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
3264 ; MIPS64-N32-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
3265 ; MIPS64-N32-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
3266 ; MIPS64-N32-NEXT: jr $ra
3267 ; MIPS64-N32-NEXT: addiu $sp, $sp, 32
3269 ; MIPS64-N64-LABEL: fround:
3270 ; MIPS64-N64: # %bb.0: # %entry
3271 ; MIPS64-N64-NEXT: daddiu $sp, $sp, -32
3272 ; MIPS64-N64-NEXT: .cfi_def_cfa_offset 32
3273 ; MIPS64-N64-NEXT: sd $ra, 24($sp) # 8-byte Folded Spill
3274 ; MIPS64-N64-NEXT: sd $gp, 16($sp) # 8-byte Folded Spill
3275 ; MIPS64-N64-NEXT: sd $16, 8($sp) # 8-byte Folded Spill
3276 ; MIPS64-N64-NEXT: .cfi_offset 31, -8
3277 ; MIPS64-N64-NEXT: .cfi_offset 28, -16
3278 ; MIPS64-N64-NEXT: .cfi_offset 16, -24
3279 ; MIPS64-N64-NEXT: lui $1, %hi(%neg(%gp_rel(fround)))
3280 ; MIPS64-N64-NEXT: daddu $1, $1, $25
3281 ; MIPS64-N64-NEXT: daddiu $gp, $1, %lo(%neg(%gp_rel(fround)))
3282 ; MIPS64-N64-NEXT: ld $16, %got_disp(g)($gp)
3283 ; MIPS64-N64-NEXT: lh $1, 0($16)
3284 ; MIPS64-N64-NEXT: fill.h $w0, $1
3285 ; MIPS64-N64-NEXT: fexupr.w $w0, $w0
3286 ; MIPS64-N64-NEXT: copy_s.w $1, $w0[0]
3287 ; MIPS64-N64-NEXT: ld $25, %call16(roundf)($gp)
3288 ; MIPS64-N64-NEXT: jalr $25
3289 ; MIPS64-N64-NEXT: mtc1 $1, $f12
3290 ; MIPS64-N64-NEXT: mfc1 $1, $f0
3291 ; MIPS64-N64-NEXT: fill.w $w0, $1
3292 ; MIPS64-N64-NEXT: fexdo.h $w0, $w0, $w0
3293 ; MIPS64-N64-NEXT: copy_u.h $1, $w0[0]
3294 ; MIPS64-N64-NEXT: sh $1, 0($16)
3295 ; MIPS64-N64-NEXT: ld $16, 8($sp) # 8-byte Folded Reload
3296 ; MIPS64-N64-NEXT: ld $gp, 16($sp) # 8-byte Folded Reload
3297 ; MIPS64-N64-NEXT: ld $ra, 24($sp) # 8-byte Folded Reload
3298 ; MIPS64-N64-NEXT: jr $ra
3299 ; MIPS64-N64-NEXT: daddiu $sp, $sp, 32