Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus
[linux-2.6.git] / arch / mips / include / asm / fpregdef.h
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 */