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

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