sparc.c (DF_MODES): Or the mask not the bit number.
authorRichard Henderson <rth@cygnus.com>
Tue, 16 Dec 1997 23:46:23 +0000 (15:46 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 16 Dec 1997 23:46:23 +0000 (15:46 -0800)
* sparc.c (DF_MODES): Or the mask not the bit number.
(function_arg) [ARCH64]: Send unprototyped arg to fp reg first.

From-SVN: r17122

gcc/ChangeLog
gcc/config/sparc/sparc.c

index 8ebc8449f91c0b192a24638dbd97d37e7cb0b6cb..115cdd2e3a2c1078d1335b5f57a0386c2f07fb84 100644 (file)
@@ -1,3 +1,8 @@
+Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.c (DF_MODES): Or the mask not the bit number.
+       (function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
+
 Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
 
        * combine.c (force_to_mode): return immediately if operand is a CLOBBER.
index 692ba41f7904ef86b7726707a4da8c5746faa201..02cedde86b44941e577bb128d37802fb866c5c4a 100644 (file)
@@ -2914,7 +2914,7 @@ enum sparc_mode_class {
 #define DF_MODES (S_MODES | D_MODES)
 
 /* ??? Sparc64 fp regs cannot hold DImode values.  */
-#define DF_MODES64 (SF_MODES | DF_MODE /* | D_MODE*/)
+#define DF_MODES64 (SF_MODES | (1 << (int) DF_MODE) /* | (1 << (int) D_MODE)*/)
 
 /* Modes for double-float only quantities.  */
 /* ??? Sparc64 fp regs cannot hold DImode values.
@@ -3852,10 +3852,10 @@ function_arg (cum, mode, type, named, incoming_p)
              return gen_rtx (PARALLEL, mode,
                              gen_rtvec (2,
                                         gen_rtx (EXPR_LIST, VOIDmode,
-                                                 gen_rtx (REG, mode, intreg),
-                                                 const0_rtx),
+                                                 reg, const0_rtx),
                                         gen_rtx (EXPR_LIST, VOIDmode,
-                                                 reg, const0_rtx)));
+                                                 gen_rtx (REG, mode, intreg),
+                                                 const0_rtx)));
            }
          else
            return gen_rtx (PARALLEL, mode,