expr.c (emit_group_store): Do not treat floats as BLKmode.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 26 Oct 2004 23:17:57 +0000 (23:17 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Tue, 26 Oct 2004 23:17:57 +0000 (23:17 +0000)
* expr.c (emit_group_store): Do not treat floats as BLKmode.
(emit_group_load): Same.

From-SVN: r89612

gcc/ChangeLog
gcc/expr.c

index 2851099342c106c443a9cd100e9da908fdb493da..ae5616ccc7c2c7f9909734f2d69f6650465e941b 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+
+       * expr.c (emit_group_store): Do not treat floats as BLKmode.
+       (emit_group_load): Same.
+
 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
 
        * c-parse.in (datadef): Use pedwarn rather than error and warning
index e71c22f8df305bea1232dafeb9aae6b30e37b680..f5abce705a0cd9ef759d534ff748cf5ba37839f3 100644 (file)
@@ -1567,10 +1567,11 @@ emit_group_load (rtx dst, rtx orig_src, tree type ATTRIBUTE_UNUSED, int ssize)
 {
   rtx *tmps, src;
   int start, i;
+  enum machine_mode m = GET_MODE (orig_src);
 
   gcc_assert (GET_CODE (dst) == PARALLEL);
 
-  if (!SCALAR_INT_MODE_P (GET_MODE (orig_src)))
+  if (!SCALAR_INT_MODE_P (m) && m != BLKmode)
     {
       enum machine_mode imode = int_mode_for_mode (GET_MODE (orig_src));
       if (imode == BLKmode)
@@ -1740,10 +1741,11 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
 {
   rtx *tmps, dst;
   int start, i;
+  enum machine_mode m = GET_MODE (orig_dst);
 
   gcc_assert (GET_CODE (src) == PARALLEL);
 
-  if (!SCALAR_INT_MODE_P (GET_MODE (orig_dst)))
+  if (!SCALAR_INT_MODE_P (m) && m != BLKmode)
     {
       enum machine_mode imode = int_mode_for_mode (GET_MODE (orig_dst));
       if (imode == BLKmode)