[aarch64-port-dev ] RFR: Optimised multiplyExact patch
Andrew Haley
aph at redhat.com
Mon Jul 7 15:56:49 UTC 2014
On 07/07/2014 04:34 PM, Edward Nevill wrote:
> Hi,
>
> The following patch optimises multiplyExact to generate the following code
>
> Integer case:-
>
> 0x0000007f751404e0: smull x8, w19, w11
> 0x0000007f751404e4: cmp x8, w8, sxtw
> 0x0000007f751404e8: b.ne 0x0000007f75140530 ;*invokestatic multiplyExact
>
> Long case:-
>
> 0x0000007f811404e0: mul x8, x19, x10
> 0x0000007f811404e4: smulh x9, x19, x10
> 0x0000007f811404e8: cmp x9, x8, asr #31
> 0x0000007f811404ec: b.ne 0x0000007f81140534 ;*invokestatic multiplyExact
>
> The patch has additional rules to convert the bvs after the multiply exact into a bne and therefor no longer needs the ugly code to generate the V flag from the Z flag.
>
> OK?
> Ed.
>
Great, thanks.
Andrew.
More information about the aarch64-port-dev
mailing list