[aarch64-port-dev ] RFR: JDK-8205004: AArch64: fix failures in jtreg ArraysEqCmpTest

Dmitrij Pochepko dmitrij.pochepko at bell-sw.com
Mon Jun 18 11:28:59 UTC 2018


Hi,

you're right. cbz(cnt1, SAME); is enough and LEN_IS_ZERO can be removed 
then.


(just in case, I'm not a reviewer)

Thanks,

Dmitrij


On 17.06.2018 06:35, Joshua Zhu wrote:
>
> Hi Dmitrij,
>
>
> >> and label LEN_IS_ZERO and its path can also be deleted like below:
> >>      bind(SHORT);
> >>      cmp(cnt2, cnt1);
> >>      br(NE, DONE);
> >>     *cbz(cnt1, SAME);*
>
> >regarding LEN_IS_ZERO removal: we must keep it. Otherwise it'll compare
> >garbage memory later, because loaded data is shifted by lslv(tmp5, tmp4,
> >tmp5); to remove extra data. In case of 0 length, shift will be 0, so, a
> >memory after this particular array will be compared.
>
>
> It will not execute the instruction you mentioned, because my added 
> instruction cbz(cnt1, SAME); will directly goto SAME path when cnt1 is 
> zero. (no need to goto LEN_IS_ZERO to execute another compare and branch)
>
> Best Regards,
> Joshua
>



More information about the aarch64-port-dev mailing list