repo.or.cz
/
musl.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
switch arm, sh, and mips fenv asm from .sub system to .S files
[musl.git]
/
src
/
fenv
/
mips
/
fenv.S
blob
a5cb1f5833906c574dd46e78ccd6c89ae8f6315c
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
.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