[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r8299 - in /fsf/trunk/ports: ChangeLog.mips sysdeps/mips/sys/fpregdef.h
- To: commits@xxxxxxxxxx
- Subject: [commits] r8299 - in /fsf/trunk/ports: ChangeLog.mips sysdeps/mips/sys/fpregdef.h
- From: eglibc@xxxxxxxxxx
- Date: Thu, 16 Apr 2009 07:04:58 -0000
Author: eglibc
Date: Thu Apr 16 00:04:58 2009
New Revision: 8299
Log:
Import glibc-ports-mainline for 2009-04-16
Modified:
fsf/trunk/ports/ChangeLog.mips
fsf/trunk/ports/sysdeps/mips/sys/fpregdef.h
Modified: fsf/trunk/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/ports/ChangeLog.mips (original)
+++ fsf/trunk/ports/ChangeLog.mips Thu Apr 16 00:04:58 2009
@@ -1,3 +1,7 @@
+2009-04-15 Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/mips/sys/fpregdef.h: Update for new ABIs.
+
2009-04-09 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Add missing protocol
Modified: fsf/trunk/ports/sysdeps/mips/sys/fpregdef.h
==============================================================================
--- fsf/trunk/ports/sysdeps/mips/sys/fpregdef.h (original)
+++ fsf/trunk/ports/sysdeps/mips/sys/fpregdef.h Thu Apr 16 00:04:58 2009
@@ -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,19 +19,52 @@
#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 ...
- */
-#define fv0 $f0 /* return value */
-#define fv0f $f1
+#include <sgidefs.h>
+
+/* Commonalities first, individualities next... */
+
+#define fv0 $f0 /* return value */
#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 fa0 $f12 /* argument registers */
#define fa0f $f13
#define fa1 $f14
#define fa1f $f15
-#define ft0 $f4 /* caller saved */
+
+#define ft0 $f4 /* caller saved */
#define ft0f $f5
#define ft1 $f6
#define ft1f $f7
@@ -43,19 +76,44 @@
#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 fs4f $f29
+#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 fs4f $f29
-#define fs5 $f30
-#define fs5f $f31
+#define fs5 $f29
+#define fs6 $f30
+#define fs7 $f31
+#endif /* _MIPS_SIM == _ABI64 */
-#define fcr31 $31 /* FPU status register */
+#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 */
#endif /* sys/fpregdef.h */