Commit 1eac9f59 by Richard Henderson Committed by Richard Henderson

sparc.c (function_arg_record_value): Take a MODE arg with which to create the PARALLEL.

        * sparc.c (function_arg_record_value): Take a MODE arg with which to
        create the PARALLEL.  Update all callers.

From-SVN: r20866
parent 822a3443
Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
* sparc.c (function_arg_record_value): Take a MODE arg with which to
create the PARALLEL. Update all callers.
Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com> Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
* expr.c (expand_assignment, store_constructor, expand_expr): Use * expr.c (expand_assignment, store_constructor, expand_expr): Use
......
...@@ -4223,8 +4223,9 @@ function_arg_record_value_2 (type, startbitpos, parms) ...@@ -4223,8 +4223,9 @@ function_arg_record_value_2 (type, startbitpos, parms)
} }
static rtx static rtx
function_arg_record_value (type, slotno, named, regbase) function_arg_record_value (type, mode, slotno, named, regbase)
tree type; tree type;
enum machine_mode mode;
int slotno, named, regbase; int slotno, named, regbase;
{ {
HOST_WIDE_INT typesize = int_size_in_bytes (type); HOST_WIDE_INT typesize = int_size_in_bytes (type);
...@@ -4266,7 +4267,7 @@ function_arg_record_value (type, slotno, named, regbase) ...@@ -4266,7 +4267,7 @@ function_arg_record_value (type, slotno, named, regbase)
anyway so the rest of gcc doesn't go nuts. Returning a PARALLEL anyway so the rest of gcc doesn't go nuts. Returning a PARALLEL
leads to breakage due to the fact that there are zero bytes to leads to breakage due to the fact that there are zero bytes to
load. */ load. */
return gen_rtx_REG (DImode, regbase); return gen_rtx_REG (mode, regbase);
} }
else else
{ {
...@@ -4280,7 +4281,7 @@ function_arg_record_value (type, slotno, named, regbase) ...@@ -4280,7 +4281,7 @@ function_arg_record_value (type, slotno, named, regbase)
if (nregs == 0) if (nregs == 0)
abort(); abort();
parms.ret = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (nregs)); parms.ret = gen_rtx_PARALLEL (mode, rtvec_alloc (nregs));
/* Fill in the entries. */ /* Fill in the entries. */
parms.nregs = 0; parms.nregs = 0;
...@@ -4412,7 +4413,7 @@ function_arg (cum, mode, type, named, incoming_p) ...@@ -4412,7 +4413,7 @@ function_arg (cum, mode, type, named, incoming_p)
if (int_size_in_bytes (type) > 16) if (int_size_in_bytes (type) > 16)
abort (); /* shouldn't get here */ abort (); /* shouldn't get here */
return function_arg_record_value (type, slotno, named, regbase); return function_arg_record_value (type, mode, slotno, named, regbase);
} }
else if (type && TREE_CODE (type) == UNION_TYPE) else if (type && TREE_CODE (type) == UNION_TYPE)
{ {
...@@ -4642,7 +4643,7 @@ function_value (type, mode, incoming_p) ...@@ -4642,7 +4643,7 @@ function_value (type, mode, incoming_p)
if (int_size_in_bytes (type) > 32) if (int_size_in_bytes (type) > 32)
abort (); /* shouldn't get here */ abort (); /* shouldn't get here */
return function_arg_record_value (type, 0, 1, regbase); return function_arg_record_value (type, mode, 0, 1, regbase);
} }
else if (TREE_CODE (type) == UNION_TYPE) else if (TREE_CODE (type) == UNION_TYPE)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment