162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * Definitions for the FPU register names
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
562306a36Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
662306a36Sopenharmony_ci * for more details.
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * Copyright (C) 1995, 1999 Ralf Baechle
962306a36Sopenharmony_ci * Copyright (C) 1985 MIPS Computer Systems, Inc.
1062306a36Sopenharmony_ci * Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc.
1162306a36Sopenharmony_ci */
1262306a36Sopenharmony_ci#ifndef _ASM_FPREGDEF_H
1362306a36Sopenharmony_ci#define _ASM_FPREGDEF_H
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#include <asm/sgidefs.h>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#if _MIPS_SIM == _MIPS_SIM_ABI32
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/*
2062306a36Sopenharmony_ci * These definitions only cover the R3000-ish 16/32 register model.
2162306a36Sopenharmony_ci * But we're trying to be R3000 friendly anyway ...
2262306a36Sopenharmony_ci */
2362306a36Sopenharmony_ci#define fv0	$f0	 /* return value */
2462306a36Sopenharmony_ci#define fv0f	$f1
2562306a36Sopenharmony_ci#define fv1	$f2
2662306a36Sopenharmony_ci#define fv1f	$f3
2762306a36Sopenharmony_ci#define fa0	$f12	 /* argument registers */
2862306a36Sopenharmony_ci#define fa0f	$f13
2962306a36Sopenharmony_ci#define fa1	$f14
3062306a36Sopenharmony_ci#define fa1f	$f15
3162306a36Sopenharmony_ci#define ft0	$f4	 /* caller saved */
3262306a36Sopenharmony_ci#define ft0f	$f5
3362306a36Sopenharmony_ci#define ft1	$f6
3462306a36Sopenharmony_ci#define ft1f	$f7
3562306a36Sopenharmony_ci#define ft2	$f8
3662306a36Sopenharmony_ci#define ft2f	$f9
3762306a36Sopenharmony_ci#define ft3	$f10
3862306a36Sopenharmony_ci#define ft3f	$f11
3962306a36Sopenharmony_ci#define ft4	$f16
4062306a36Sopenharmony_ci#define ft4f	$f17
4162306a36Sopenharmony_ci#define ft5	$f18
4262306a36Sopenharmony_ci#define ft5f	$f19
4362306a36Sopenharmony_ci#define fs0	$f20	 /* callee saved */
4462306a36Sopenharmony_ci#define fs0f	$f21
4562306a36Sopenharmony_ci#define fs1	$f22
4662306a36Sopenharmony_ci#define fs1f	$f23
4762306a36Sopenharmony_ci#define fs2	$f24
4862306a36Sopenharmony_ci#define fs2f	$f25
4962306a36Sopenharmony_ci#define fs3	$f26
5062306a36Sopenharmony_ci#define fs3f	$f27
5162306a36Sopenharmony_ci#define fs4	$f28
5262306a36Sopenharmony_ci#define fs4f	$f29
5362306a36Sopenharmony_ci#define fs5	$f30
5462306a36Sopenharmony_ci#define fs5f	$f31
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci#define fcr31	$31	 /* FPU status register */
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci#define fv0	$f0	/* return value */
6362306a36Sopenharmony_ci#define fv1	$f2
6462306a36Sopenharmony_ci#define fa0	$f12	/* argument registers */
6562306a36Sopenharmony_ci#define fa1	$f13
6662306a36Sopenharmony_ci#define fa2	$f14
6762306a36Sopenharmony_ci#define fa3	$f15
6862306a36Sopenharmony_ci#define fa4	$f16
6962306a36Sopenharmony_ci#define fa5	$f17
7062306a36Sopenharmony_ci#define fa6	$f18
7162306a36Sopenharmony_ci#define fa7	$f19
7262306a36Sopenharmony_ci#define ft0	$f4	/* caller saved */
7362306a36Sopenharmony_ci#define ft1	$f5
7462306a36Sopenharmony_ci#define ft2	$f6
7562306a36Sopenharmony_ci#define ft3	$f7
7662306a36Sopenharmony_ci#define ft4	$f8
7762306a36Sopenharmony_ci#define ft5	$f9
7862306a36Sopenharmony_ci#define ft6	$f10
7962306a36Sopenharmony_ci#define ft7	$f11
8062306a36Sopenharmony_ci#define ft8	$f20
8162306a36Sopenharmony_ci#define ft9	$f21
8262306a36Sopenharmony_ci#define ft10	$f22
8362306a36Sopenharmony_ci#define ft11	$f23
8462306a36Sopenharmony_ci#define ft12	$f1
8562306a36Sopenharmony_ci#define ft13	$f3
8662306a36Sopenharmony_ci#define fs0	$f24	/* callee saved */
8762306a36Sopenharmony_ci#define fs1	$f25
8862306a36Sopenharmony_ci#define fs2	$f26
8962306a36Sopenharmony_ci#define fs3	$f27
9062306a36Sopenharmony_ci#define fs4	$f28
9162306a36Sopenharmony_ci#define fs5	$f29
9262306a36Sopenharmony_ci#define fs6	$f30
9362306a36Sopenharmony_ci#define fs7	$f31
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci#define fcr31	$31
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci#endif /* _ASM_FPREGDEF_H */
100