http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55438
--- Comment #3 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2012-11-28 20:13:39 UTC --- Author: rsandifo Date: Wed Nov 28 20:13:22 2012 New Revision: 193905 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193905 Log: gcc/ PR middle-end/55438 * expmed.c (simple_mem_bitfield_p): New function, extracted from store_bit_field_1 and extract_bit_field_1. Use GET_MODE_ALIGNMENT rather than bitsize when checking the alignment. (store_bit_field_1, extract_bit_field_1): Call it. * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Don't limit ALIGN_. Assume that memory is mapped in chunks of at least word size, regardless of BIGGEST_ALIGNMENT. (bit_field_mode_iterator::get_mode): Use GET_MODE_ALIGNMENT rather than unit when checking the alignment. (get_best_mode): Use GET_MODE_ALIGNMENT. Modified: trunk/gcc/ChangeLog trunk/gcc/expmed.c trunk/gcc/stor-layout.c