RFR(S): 8209783: AArch64: Combine Multiply and Neg operations in C2

Pengfei Li Pengfei.Li at arm.com
Wed Aug 22 10:30:59 UTC 2018


Hi Andrew,

Thanks for your review. I've run jtreg full tests on an AArch64 server. No new failures were found compared to the code base. I've also tested the corner case that the product of two integers is -2147483648 (0x80000000 in Hex). Of course, I could see new instructions like "0x0000ffff81168e54: mneg      w0, w2, w1" are generated if I switch on -XX:+PrintOptoAssembly.

Could you help push the commit if there's no other issues?

--
Thanks,
Pengfei


> -----Original Message-----
> 
> Hi Pengfei,
> 
> On 21/08/18 11:29, Pengfei Li wrote:
> > Could you help review this small optimization in AArch64 codegen?
> >
> > JBS: https://bugs.openjdk.java.net/browse/JDK-8209783
> > Patch: http://cr.openjdk.java.net/~zyao/8209783/webrev.00/
> >
> > Note: For Java code patterns a*(-b) or (-a)*b, SubI/SubL nodes are
> > created in ideal graphs to do the ineg/lneg operations.
> 
> The patch looks ok. However, it would be good to know it works correctly.
> Can you provide details of how you have tested it?
> 
> regards,
> 
> 
> Andrew Dinn
> -----------
> Senior Principal Software Engineer
> Red Hat UK Ltd
> Registered in England and Wales under Company Registration No. 03798903
> Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the hotspot-compiler-dev mailing list