>> Passes bootstrap and regression test powerpc64-linux.
> 
> Thanks a lot, Alan!
> 
> So, Aurelien, you only need to adjust the formatting of the patch and post a 
> ChangeLog entry along with it.  TIA.
> 

Thanks Alan!
Bootstrap and regression test for m68k-elf ok, but I have trouble cross
compiling trunk for powerpc64-linux target...

Changelog:
* expmed.c (store_bit_field_1): Fix wordnum value for big endian targets

Will this fix be backported to 4.6 branch for next release?

Aurélien


Index: gcc/expmed.c
===================================================================
--- gcc/expmed.c        (revision 185732)
+++ gcc/expmed.c        (working copy)
@@ -550,7 +550,10 @@
        {
          /* 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.  */
-         unsigned int wordnum = (backwards ? nwords - i - 1 : i);
+         unsigned int wordnum = (backwards
+                                 ? GET_MODE_SIZE (fieldmode) / UNITS_PER_WORD
+                                 - i - 1
+                                 : i);
          unsigned int bit_offset = (backwards
                                     ? MAX ((int) bitsize - ((int) i + 1)
                                            * BITS_PER_WORD,

Reply via email to