http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46636
--- Comment #4 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2010-11-24 15:32:00 UTC --- On Wed, 24 Nov 2010, rguenth at gcc dot gnu.org wrote: > Well, on these targets "bytes" really are larger I suppose (for example > each character in a C string constant consumes BITS_PER_UNIT). A character in a C string constant consumes TYPE_PRECISION (char_type_node) bits. Any attribute defined in terms of bytes - such as "aligned" or "vector_size" - should work in bytes in the C sense, that is units of TYPE_PRECISION (char_type_node) bits. The __SIZEOF_* macros should also count in bytes, but it appears they wrongly work in BITS_PER_UNIT (via TYPE_SIZE_UNIT) at present - although c_sizeof_or_alignof_type gets this right for the actual "sizeof" operator. QImode, however, I think corresponds to BITS_PER_UNIT bits (and SImode to 4*BITS_PER_UNIT, etc.).