(emit_group_store): For REG case, call gen_lowpart if
authorJim Wilson <wilson@gcc.gnu.org>
Tue, 12 Nov 1996 23:46:05 +0000 (15:46 -0800)
committerJim Wilson <wilson@gcc.gnu.org>
Tue, 12 Nov 1996 23:46:05 +0000 (15:46 -0800)
modes are different.

From-SVN: r13152

gcc/expr.c

index 60501a5..15e036b 100644 (file)
@@ -1846,7 +1846,11 @@ emit_group_store (x, y)
                                 plus_constant (XEXP (x, 0),
                                                INTVAL (XEXP (element, 1))));
       else if (XEXP (element, 1) == const0_rtx)
-       target = x;
+       {
+         target = x;
+         if (GET_MODE (target) != GET_MODE (source_reg))
+           target = gen_lowpart (GET_MODE (source_reg), target);
+       }
       else
        abort ();