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