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