xref: /openbmc/linux/arch/mips/include/asm/fpregdef.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1  /*
2   * Definitions for the FPU register names
3   *
4   * This file is subject to the terms and conditions of the GNU General Public
5   * License.  See the file "COPYING" in the main directory of this archive
6   * for more details.
7   *
8   * Copyright (C) 1995, 1999 Ralf Baechle
9   * Copyright (C) 1985 MIPS Computer Systems, Inc.
10   * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc.
11   */
12  #ifndef _ASM_FPREGDEF_H
13  #define _ASM_FPREGDEF_H
14  
15  #include <asm/sgidefs.h>
16  
17  #if _MIPS_SIM == _MIPS_SIM_ABI32
18  
19  /*
20   * These definitions only cover the R3000-ish 16/32 register model.
21   * But we're trying to be R3000 friendly anyway ...
22   */
23  #define fv0	$f0	 /* return value */
24  #define fv0f	$f1
25  #define fv1	$f2
26  #define fv1f	$f3
27  #define fa0	$f12	 /* argument registers */
28  #define fa0f	$f13
29  #define fa1	$f14
30  #define fa1f	$f15
31  #define ft0	$f4	 /* caller saved */
32  #define ft0f	$f5
33  #define ft1	$f6
34  #define ft1f	$f7
35  #define ft2	$f8
36  #define ft2f	$f9
37  #define ft3	$f10
38  #define ft3f	$f11
39  #define ft4	$f16
40  #define ft4f	$f17
41  #define ft5	$f18
42  #define ft5f	$f19
43  #define fs0	$f20	 /* callee saved */
44  #define fs0f	$f21
45  #define fs1	$f22
46  #define fs1f	$f23
47  #define fs2	$f24
48  #define fs2f	$f25
49  #define fs3	$f26
50  #define fs3f	$f27
51  #define fs4	$f28
52  #define fs4f	$f29
53  #define fs5	$f30
54  #define fs5f	$f31
55  
56  #define fcr31	$31	 /* FPU status register */
57  
58  #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
59  
60  #if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
61  
62  #define fv0	$f0	/* return value */
63  #define fv1	$f2
64  #define fa0	$f12	/* argument registers */
65  #define fa1	$f13
66  #define fa2	$f14
67  #define fa3	$f15
68  #define fa4	$f16
69  #define fa5	$f17
70  #define fa6	$f18
71  #define fa7	$f19
72  #define ft0	$f4	/* caller saved */
73  #define ft1	$f5
74  #define ft2	$f6
75  #define ft3	$f7
76  #define ft4	$f8
77  #define ft5	$f9
78  #define ft6	$f10
79  #define ft7	$f11
80  #define ft8	$f20
81  #define ft9	$f21
82  #define ft10	$f22
83  #define ft11	$f23
84  #define ft12	$f1
85  #define ft13	$f3
86  #define fs0	$f24	/* callee saved */
87  #define fs1	$f25
88  #define fs2	$f26
89  #define fs3	$f27
90  #define fs4	$f28
91  #define fs5	$f29
92  #define fs6	$f30
93  #define fs7	$f31
94  
95  #define fcr31	$31
96  
97  #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
98  
99  #endif /* _ASM_FPREGDEF_H */
100