(store_bit_field): When calling operand_subword_force,
authorRichard Stallman <rms@gnu.org>
Sat, 30 Oct 1993 06:04:18 +0000 (06:04 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 30 Oct 1993 06:04:18 +0000 (06:04 +0000)
if VALUE has a non-void mode, pass that mode.

From-SVN: r5939

gcc/expmed.c

index 8c6edd817ceda7e93cc4f14de0ee25ed4380a99c..b340b6db6459da1d595f97628cb97f6384c1d6e2 100644 (file)
@@ -319,7 +319,10 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, align, total_size)
          store_bit_field (op0, MIN (BITS_PER_WORD,
                                     bitsize - i * BITS_PER_WORD),
                           bitnum + bit_offset, word_mode,
-                          operand_subword_force (value, wordnum, fieldmode),
+                          operand_subword_force (value, wordnum,
+                                                 (GET_MODE (value) == VOIDmode
+                                                  ? fieldmode
+                                                  : GET_MODE (value))),
                           align, total_size);
        }
       return value;