[aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations
Zhongwei Yao
zhongwei.yao at linaro.org
Fri Jun 23 09:50:54 UTC 2017
Hi, Andrew,
Besides pass jtreg on aarch64 and x86, for each pattern, I added one or two
test cases, which will hit the testing pattern. And check the test cases'
assembly output to ensure the hit pattern generates correct instructions.
Here is a test case for: AddExtL_uxtb_and_shift pattern:
// testrule: AddExtL_uxtb_and_shift
// geninst: add.*x.*, x.*, w.*, uxtb #3
public Flonglong adduxtb = new Flonglong() {
public long func(long x, long y) {
return y + ((x & 255) << 3);
}
};
And the "geninst" line defines this case's required generated assembly
instruction pattern.
A script will check whether this case's generated C2 assembly has the
required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test
passes. And if there is a "nosense" on "// testrule" line, such check is
skipped.
All test cases are at http://cr.openjdk.java.net/~njian/8158361/ExtTest.java
On 23 June 2017 at 15:53, Andrew Haley <aph at redhat.com> wrote:
> Hi,
>
> On 23/06/17 05:00, Zhongwei Yao wrote:
> > Patch is updated: http://cr.openjdk.java.net/~njian/8158361/webrev.01/
> >
> > Summary: 22 rules are added.
>
> That looks great. Please also send the Java program you used to make sure
> that
> these are generated correctly. :-)
>
>
> --
> Andrew Haley
> Java Platform Lead Engineer
> Red Hat UK Ltd. <https://www.redhat.com>
> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
>
--
Best regards,
Zhongwei
More information about the aarch64-port-dev
mailing list