github.com/afumu/libc@v0.0.6/musl/src/fenv/mips/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  	addiu   $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