mips.c (mips_va_arg): Fix fprv for the 32 bit eabi...
authorClinton Popetz <cpopetz@cygnus.com>
Fri, 14 Jan 2000 21:21:57 +0000 (21:21 +0000)
committerClinton Popetz <cpopetz@gcc.gnu.org>
Fri, 14 Jan 2000 21:21:57 +0000 (16:21 -0500)
* config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit
eabi, and make sure queued POSTINCREMENT rtl is emitted at
the right point.

From-SVN: r31422

gcc/ChangeLog
gcc/config/mips/mips.h

index c2ea56d2ba2bc331da591449da6a44f1d9425183..76fdf3f1dea4a6c76dccb12331d83bc5945401da 100644 (file)
@@ -1,8 +1,14 @@
+2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit 
+       eabi, and make sure queued POSTINCREMENT rtl is emitted at 
+       the right point.
+
 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
 
        * builtins.c (PAD_VARARGS_DOWN): Define. 
        (std_expand_builtin_va_arg): Use the above macro.
-       * config/mips/mips.c (PAD_VARARGS_DOWN): Define.
+       * config/mips/mips.h (PAD_VARARGS_DOWN): Define.
        * tm.texi (Register Arguments): Document the above macro.
        
 2000-01-14  Nick Clifton  <nickc@cygnus.com>
index 5e7195ef7bdcc8a7454fdaef1936e644068c7073..b6d7559d45cdff236f94da8269ab023daa28159d 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for GNU compiler.  MIPS version.
-   Copyright (C) 1989, 90-98, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1989, 90-98, 1999, 2000 Free Software Foundation, Inc.
    Contributed by A. Lichnewsky (lich@inria.inria.fr).
    Changed by Michael Meissner (meissner@osf.org).
    64 bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and
@@ -1438,6 +1438,11 @@ do {                                                     \
        || TREE_CODE (TYPE) == UNION_TYPE                               \
        || TREE_CODE (TYPE) == RECORD_TYPE)) ? BITS_PER_WORD : (ALIGN))
 
+
+/* Force right-alignment for small varargs in 32 bit little_endian mode */
+
+#define PAD_VARARGS_DOWN (TARGET_64BIT ? BYTES_BIG_ENDIAN : !BYTES_BIG_ENDIAN)
+
 /* Define this macro if an argument declared as `char' or `short' in a
    prototype should actually be passed as an `int'.  In addition to
    avoiding errors in certain cases of mismatch, it also makes for