github.com/afumu/libc@v0.0.6/musl/src/fenv/mips64/fenv.S (about)

     1  #ifndef __mips_soft_float
     2  
     3  .set	noreorder
     4  
     5  .global	feclearexcept
     6  .type	feclearexcept,@function
     7  feclearexcept:
     8  	and	$4, $4, 0x7c
     9  	cfc1	$5, $31
    10  	or	$5, $5, $4
    11  	xor	$5, $5, $4
    12  	ctc1	$5, $31
    13  	jr	$ra
    14  	li	$2, 0
    15  
    16  .global	feraiseexcept
    17  .type	feraiseexcept,@function
    18  feraiseexcept:
    19  	and	$4, $4, 0x7c
    20  	cfc1	$5, $31
    21  	or	$5, $5, $4
    22  	ctc1	$5, $31
    23  	jr	$ra
    24  	li	$2, 0
    25  
    26  .global	fetestexcept
    27  .type	fetestexcept,@function
    28  fetestexcept:
    29  	and	$4, $4, 0x7c
    30  	cfc1	$2, $31
    31  	jr	$ra
    32  	and	$2, $2, $4
    33  
    34  .global	fegetround
    35  .type	fegetround,@function
    36  fegetround:
    37  	cfc1	$2, $31
    38  	jr	$ra
    39  	andi	$2, $2, 3
    40  
    41  .global	__fesetround
    42  .hidden __fesetround
    43  .type	__fesetround,@function
    44  __fesetround:
    45  	cfc1	$5, $31
    46  	li	$6, -4
    47  	and	$5, $5, $6
    48  	or	$5, $5, $4
    49  	ctc1	$5, $31
    50  	jr	$ra
    51  	li	$2, 0
    52  
    53  .global	fegetenv
    54  .type	fegetenv,@function
    55  fegetenv:
    56  	cfc1	$5, $31
    57  	sw	$5, 0($4)
    58  	jr	$ra
    59  	li	$2, 0
    60  
    61  .global	fesetenv
    62  .type	fesetenv,@function
    63  fesetenv:
    64  	daddiu	$5, $4, 1
    65  	beq	$5, $0, 1f
    66  	nop
    67  	lw	$5, 0($4)
    68  1:	ctc1	$5, $31
    69  	jr	$ra
    70  	li	$2, 0
    71  
    72  #endif