1570af302Sopenharmony_ci#ifndef __mips_soft_float
2570af302Sopenharmony_ci
3570af302Sopenharmony_ci.set	noreorder
4570af302Sopenharmony_ci
5570af302Sopenharmony_ci.global	feclearexcept
6570af302Sopenharmony_ci.type	feclearexcept,@function
7570af302Sopenharmony_cifeclearexcept:
8570af302Sopenharmony_ci	and	$4, $4, 0x7c
9570af302Sopenharmony_ci	cfc1	$5, $31
10570af302Sopenharmony_ci	or	$5, $5, $4
11570af302Sopenharmony_ci	xor	$5, $5, $4
12570af302Sopenharmony_ci	ctc1	$5, $31
13570af302Sopenharmony_ci	jr	$ra
14570af302Sopenharmony_ci	li	$2, 0
15570af302Sopenharmony_ci
16570af302Sopenharmony_ci.global	feraiseexcept
17570af302Sopenharmony_ci.type	feraiseexcept,@function
18570af302Sopenharmony_ciferaiseexcept:
19570af302Sopenharmony_ci	and	$4, $4, 0x7c
20570af302Sopenharmony_ci	cfc1	$5, $31
21570af302Sopenharmony_ci	or	$5, $5, $4
22570af302Sopenharmony_ci	ctc1	$5, $31
23570af302Sopenharmony_ci	jr	$ra
24570af302Sopenharmony_ci	li	$2, 0
25570af302Sopenharmony_ci
26570af302Sopenharmony_ci.global	fetestexcept
27570af302Sopenharmony_ci.type	fetestexcept,@function
28570af302Sopenharmony_cifetestexcept:
29570af302Sopenharmony_ci	and	$4, $4, 0x7c
30570af302Sopenharmony_ci	cfc1	$2, $31
31570af302Sopenharmony_ci	jr	$ra
32570af302Sopenharmony_ci	and	$2, $2, $4
33570af302Sopenharmony_ci
34570af302Sopenharmony_ci.global	fegetround
35570af302Sopenharmony_ci.type	fegetround,@function
36570af302Sopenharmony_cifegetround:
37570af302Sopenharmony_ci	cfc1	$2, $31
38570af302Sopenharmony_ci	jr	$ra
39570af302Sopenharmony_ci	andi	$2, $2, 3
40570af302Sopenharmony_ci
41570af302Sopenharmony_ci.global	__fesetround
42570af302Sopenharmony_ci.hidden __fesetround
43570af302Sopenharmony_ci.type	__fesetround,@function
44570af302Sopenharmony_ci__fesetround:
45570af302Sopenharmony_ci	cfc1	$5, $31
46570af302Sopenharmony_ci	li	$6, -4
47570af302Sopenharmony_ci	and	$5, $5, $6
48570af302Sopenharmony_ci	or	$5, $5, $4
49570af302Sopenharmony_ci	ctc1	$5, $31
50570af302Sopenharmony_ci	jr	$ra
51570af302Sopenharmony_ci	li	$2, 0
52570af302Sopenharmony_ci
53570af302Sopenharmony_ci.global	fegetenv
54570af302Sopenharmony_ci.type	fegetenv,@function
55570af302Sopenharmony_cifegetenv:
56570af302Sopenharmony_ci	cfc1	$5, $31
57570af302Sopenharmony_ci	sw	$5, 0($4)
58570af302Sopenharmony_ci	jr	$ra
59570af302Sopenharmony_ci	li	$2, 0
60570af302Sopenharmony_ci
61570af302Sopenharmony_ci.global	fesetenv
62570af302Sopenharmony_ci.type	fesetenv,@function
63570af302Sopenharmony_cifesetenv:
64570af302Sopenharmony_ci	daddiu	$5, $4, 1
65570af302Sopenharmony_ci	beq	$5, $0, 1f
66570af302Sopenharmony_ci	nop
67570af302Sopenharmony_ci	lw	$5, 0($4)
68570af302Sopenharmony_ci1:	ctc1	$5, $31
69570af302Sopenharmony_ci	jr	$ra
70570af302Sopenharmony_ci	li	$2, 0
71570af302Sopenharmony_ci
72570af302Sopenharmony_ci#endif
73