On 25 September 2014 21:11, Joerg Wunsch <j...@uriah.heep.sax.de> wrote:
> As Christian Schmidt wrote:
>
>> Is it fair to conclude that the ~
>> operator, applied to an unsigned char, does produce an int as output
>> instead of the input type?
>
> Yes, this is exactly what the C standard promotion rules require.
>
> Well, to be exact, they *require* it behaves "as if" it were promoted
> to "int", so if the sign extension has no net effect to the result, it
> might be left out as well.  So in that sense, it might be considered a
> "missed optimization" bug in GCC here, but it's probably always hard
> to catch all those situations well were the integer promotion could be
> bypassed.

The first principle is to split all the multi-word operations into single
operations to expose them to the late rtl optimizers, but the branches
need some more specific peepholes.

Attachment: avr-opt-promotion
Description: Binary data

_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to