function.c (assign_parm_setup_block): Look inside original entry_parm when inspecting...
authorAldy Hernandez <aldyh@redhat.com>
Thu, 13 Jan 2005 17:06:44 +0000 (17:06 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Thu, 13 Jan 2005 17:06:44 +0000 (17:06 +0000)
* function.c (assign_parm_setup_block): Look inside original
entry_parm when inspecting PARALLEL.

From-SVN: r93602

gcc/ChangeLog
gcc/function.c

index 0b8b1a9..1a548bc 100644 (file)
@@ -1,3 +1,8 @@
+2005-01-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * function.c (assign_parm_setup_block): Look inside original
+       entry_parm when inspecting PARALLEL.
+
 2005-01-13  Ralf Corsepius  <ralf.corsepius@rtems.org>
            Joel Sherrill  <joel@oarcorp.com>
 
index 4f1fc1a..76c1b8e 100644 (file)
@@ -2553,6 +2553,7 @@ assign_parm_setup_block (struct assign_parm_data_all *all,
   rtx stack_parm = data->stack_parm;
   HOST_WIDE_INT size;
   HOST_WIDE_INT size_stored;
+  rtx orig_entry_parm = entry_parm;
 
   if (GET_CODE (entry_parm) == PARALLEL)
     entry_parm = emit_group_move_into_temps (entry_parm);
@@ -2562,7 +2563,7 @@ assign_parm_setup_block (struct assign_parm_data_all *all,
   if (GET_CODE (entry_parm) == PARALLEL
       && data->nominal_mode != BLKmode)
     {
-      rtx elt0 = XEXP (XVECEXP (entry_parm, 0, 0), 0);
+      rtx elt0 = XEXP (XVECEXP (orig_entry_parm, 0, 0), 0);
 
       if ((XVECLEN (entry_parm, 0) > 1
           || hard_regno_nregs[REGNO (elt0)][GET_MODE (elt0)] > 1)