master
1#ifndef __mips_soft_float
2
3.set noreorder
4
5.global feclearexcept
6.type feclearexcept,@function
7feclearexcept:
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
18feraiseexcept:
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
28fetestexcept:
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
36fegetround:
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
55fegetenv:
56 cfc1 $5, $31
57 sw $5, 0($4)
58 jr $ra
59 li $2, 0
60
61.global fesetenv
62.type fesetenv,@function
63fesetenv:
64 addiu $5, $4, 1
65 beq $5, $0, 1f
66 nop
67 lw $5, 0($4)
681: ctc1 $5, $31
69 jr $ra
70 li $2, 0
71
72#endif