On Mon, Feb 18, 2013 at 6:40 PM, Greta Yorsh wrote:
> This patch adds patterns to handle negation of an extended 32-bit value more
> efficiently.
>
> For example,
>
> (set (reg:DI r0) (neg:DI (sign_extend:DI (reg:SI r0)))
>
> The compiler currently generates
> mov r1, r0, asr #31
>
This patch adds patterns to handle negation of an extended 32-bit value more
efficiently.
For example,
(set (reg:DI r0) (neg:DI (sign_extend:DI (reg:SI r0)))
The compiler currently generates
mov r1, r0, asr #31
rsbsr0, r0, #0
rsc r1, r1, #0
and after the patch