master
  1/* Copyright (C) 1991-2025 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 */