https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84071

--- Comment #8 from Wilco <wdijkstr at arm dot com> ---
(In reply to Eric Botcazou from comment #6)
> > They are always written but have an undefined value. Adding 2 8-bit values
> > results in a 9-bit value with WORD_REGISTER_OPERATIONS.
> 
> If they have an undefined value, then WORD_REGISTER_OPERATIONS must not be
> defined for ARM.  Here's the definition:
> 
>  -- Macro: WORD_REGISTER_OPERATIONS
>      Define this macro to 1 if operations between registers with
>      integral mode smaller than a word are always performed on the
>      entire register.  Most RISC machines have this property and most
>      CISC machines do not.
> 
> If the 8-bit addition is not performed on the entire 32-bit register, then
> this is not a WORD_REGISTER_OPERATIONS target.

The addition is performed on the full 32-bit register, so this obviously means
that the top 24 bits have an undefined value.

Reply via email to