[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