[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