1/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library. If not, see
16 <https://www.gnu.org/licenses/>. */
17
18#ifndef _SYS_FPREGDEF_H
19#define _SYS_FPREGDEF_H
20
21#include <sgidefs.h>
22
23/* Commonalities first, individualities next... */
24
25#define fv0 $f0 /* return value */
26#define fv1 $f2
27
28#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
29#define fs0 $f20 /* callee saved */
30#define fs1 $f22
31#define fs2 $f24
32#define fs3 $f26
33#define fs4 $f28
34#define fs5 $f30
35#endif /* _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32 */
36
37#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32
38#define fa0 $f12 /* argument registers */
39#define fa1 $f13
40#define fa2 $f14
41#define fa3 $f15
42#define fa4 $f16
43#define fa5 $f17
44#define fa6 $f18
45#define fa7 $f19
46
47#define ft0 $f4 /* caller saved */
48#define ft1 $f5
49#define ft2 $f6
50#define ft3 $f7
51#define ft4 $f8
52#define ft5 $f9
53#define ft6 $f10
54#define ft7 $f11
55#endif /* _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 */
56
57#if _MIPS_SIM == _ABIO32
58#define fv0f $f1 /* return value, high part */
59#define fv1f $f3
60
61#define fa0 $f12 /* argument registers */
62#define fa0f $f13
63#define fa1 $f14
64#define fa1f $f15
65
66#define ft0 $f4 /* caller saved */
67#define ft0f $f5
68#define ft1 $f6
69#define ft1f $f7
70#define ft2 $f8
71#define ft2f $f9
72#define ft3 $f10
73#define ft3f $f11
74#define ft4 $f16
75#define ft4f $f17
76#define ft5 $f18
77#define ft5f $f19
78
79#define fs0f $f21 /* callee saved, high part */
80#define fs1f $f23
81#define fs2f $f25
82#define fs3f $f27
83#define fs4f $f29
84#define fs5f $f31
85#endif /* _MIPS_SIM == _ABIO32 */
86
87#if _MIPS_SIM == _ABI64
88#define ft8 $f20 /* caller saved */
89#define ft9 $f21
90#define ft10 $f22
91#define ft11 $f23
92#define ft12 $f1
93#define ft13 $f3
94
95#define fs0 $f24 /* callee saved */
96#define fs1 $f25
97#define fs2 $f26
98#define fs3 $f27
99#define fs4 $f28
100#define fs5 $f29
101#define fs6 $f30
102#define fs7 $f31
103#endif /* _MIPS_SIM == _ABI64 */
104
105#if _MIPS_SIM == _ABIN32
106#define ft8 $f21 /* caller saved */
107#define ft9 $f23
108#define ft10 $f25
109#define ft11 $f27
110#define ft12 $f29
111#define ft13 $f31
112#define ft14 $f1
113#define ft15 $f3
114#endif /* _MIPS_SIM == _ABIN32 */
115
116#define fcr31 $31 /* FPU status register */
117
118#endif /* sys/fpregdef.h */
119

source code of glibc/sysdeps/mips/sys/fpregdef.h