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.).

Reply via email to