[aarch64-port-dev ] RFR: 8179933: aarch64: incorrect match rule for immL_63 and immL_255

Zhongwei Yao zhongwei.yao at linaro.org
Fri May 12 07:24:41 UTC 2017


Hi, Andrew,
Thanks.

And I find immL_63's modification in the previous patch is incorrect. The
original immL_63 definition is correct. I renamed immL_63 to the proper
name: immI_63 in the updated patch.

I've uploaded to the new webrev at:
http://cr.openjdk.java.net/~njian/8179933/webrev.01/
("hg export" looks better than the diff in webrev).

And here is my test case for "SubExtL_uxtb_and" instruction. Case for
"AddExtL_uxtb_and" is similar.

java case:
    public static long subAnd255() {
           long acc1 = 0;
           for (long i = 0; i < 10000; i++) {
             acc1 -= (i & 255);
           }
           return acc1;
    }

orignal generated code:
  0xa0: add x19, x19, #0x1
  0xa4: sub x20, x20, x11
  0xa8: ldr wzr, [x10]
  0xac: and x11, x19, #0xff
  0xb0: mov x8, #0x2710
  0xb4: cmp x19, x8
  0xb8: b.lt 0xa0

generated code after applying this patch:
  0x20: sub x20, x20, w19, uxtb
  0x24: add x19, x19, #0x1
  0x28: ldr wzr, [x10]
  0x2c: mov x8, #0x2710
  0x30: cmp x19, x8
  0x34: b.lt 0x20


-- 
Best regards,
Zhongwei

On 11 May 2017 at 18:30, Andrew Haley <aph at redhat.com> wrote:

> On 11/05/17 11:07, Zhongwei Yao wrote:
> > Bug:
> > https://bugs.openjdk.java.net/browse/JDK-8179933
> >
> > Webrev:
> > http://cr.openjdk.java.net/~njian/8179933/webrev.00/
>
> Did you run a test case to see the difference in the generated code?
> If so, you should provide it.
>
> Andrew.
>
>


-- 
Best regards,
Zhongwei


More information about the aarch64-port-dev mailing list