2009-04-15 Maciej W. Rozycki <macro@codesourcery.com>

* sysdeps/mips/sys/fpregdef.h: Update for new ABIs.
This commit is contained in:
Joseph Myers 2009-04-15 20:22:41 +00:00
parent 70fdbfd956
commit 6db53cd548
2 changed files with 84 additions and 22 deletions

View File

@ -1,3 +1,7 @@
2009-04-15 Maciej W. Rozycki <macro@codesourcery.com>
* sysdeps/mips/sys/fpregdef.h: Update for new ABIs.
2009-04-09 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Add missing protocol

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
/* Copyright (C) 1991,92,94,95,96,97,98,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -19,18 +19,51 @@
#ifndef _SYS_FPREGDEF_H
#define _SYS_FPREGDEF_H
/*
* These definitions only cover the R3000-ish 16/32 register model.
* But we're trying to be R3000 friendly anyway ...
*/
#include <sgidefs.h>
/* Commonalities first, individualities next... */
#define fv0 $f0 /* return value */
#define fv0f $f1
#define fv1 $f2
#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32
#define fs0 $f20 /* callee saved */
#define fs1 $f22
#define fs2 $f24
#define fs3 $f26
#define fs4 $f28
#define fs5 $f30
#endif /* _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32 */
#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32
#define fa0 $f12 /* argument registers */
#define fa1 $f13
#define fa2 $f14
#define fa3 $f15
#define fa4 $f16
#define fa5 $f17
#define fa6 $f18
#define fa7 $f19
#define ft0 $f4 /* caller saved */
#define ft1 $f5
#define ft2 $f6
#define ft3 $f7
#define ft4 $f8
#define ft5 $f9
#define ft6 $f10
#define ft7 $f11
#endif /* _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 */
#if _MIPS_SIM == _ABIO32
#define fv0f $f1 /* return value, high part */
#define fv1f $f3
#define fa0 $f12 /* argument registers */
#define fa0f $f13
#define fa1 $f14
#define fa1f $f15
#define ft0 $f4 /* caller saved */
#define ft0f $f5
#define ft1 $f6
@ -43,18 +76,43 @@
#define ft4f $f17
#define ft5 $f18
#define ft5f $f19
#define fs0 $f20 /* callee saved */
#define fs0f $f21
#define fs1 $f22
#define fs0f $f21 /* callee saved, high part */
#define fs1f $f23
#define fs2 $f24
#define fs2f $f25
#define fs3 $f26
#define fs3f $f27
#define fs4 $f28
#define fs4f $f29
#define fs5 $f30
#define fs5f $f31
#endif /* _MIPS_SIM == _ABIO32 */
#if _MIPS_SIM == _ABI64
#define ft8 $f20 /* caller saved */
#define ft9 $f21
#define ft10 $f22
#define ft11 $f23
#define ft12 $f1
#define ft13 $f3
#define fs0 $f24 /* callee saved */
#define fs1 $f25
#define fs2 $f26
#define fs3 $f27
#define fs4 $f28
#define fs5 $f29
#define fs6 $f30
#define fs7 $f31
#endif /* _MIPS_SIM == _ABI64 */
#if _MIPS_SIM == _ABIN32
#define ft8 $f21 /* caller saved */
#define ft9 $f23
#define ft10 $f25
#define ft11 $f27
#define ft12 $f29
#define ft13 $f31
#define ft14 $f1
#define ft15 $f3
#endif /* _MIPS_SIM == _ABIN32 */
#define fcr31 $31 /* FPU status register */