Always store into multi-word bitfields starting with low addresses.
authorPer Bothner <bothner@gcc.gnu.org>
Fri, 26 Aug 1994 00:15:35 +0000 (17:15 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Fri, 26 Aug 1994 00:15:35 +0000 (17:15 -0700)
From-SVN: r7985

gcc/expmed.c

index ab685eafcadc1c922fd48c5e08e38f0ebcc9f538..026b6503ec58388b650e47e7c8d28556b43535b7 100644 (file)
@@ -313,12 +313,8 @@ store_bit_field (str_rtx, bitsize, bitnum, fieldmode, value, align, total_size)
 
       for (i = 0; i < nwords; i++)
        {
-         /* If I is 0, use the low-order word in both field and target;
-            if I is 1, use the next to lowest word; and so on.  */
-         int wordnum = (WORDS_BIG_ENDIAN ? nwords - i - 1 : i);
-         int bit_offset = (WORDS_BIG_ENDIAN
-                           ? MAX (bitsize - (i + 1) * BITS_PER_WORD, 0)
-                           : i * BITS_PER_WORD);
+         int wordnum = i;
+         int bit_offset = i * BITS_PER_WORD;
          store_bit_field (op0, MIN (BITS_PER_WORD,
                                     bitsize - i * BITS_PER_WORD),
                           bitnum + bit_offset, word_mode,