On Wed, 2016-03-02 at 14:25 +0000, Renato Golin wrote:
> On 2 March 2016 at 11:35, Edward Nevill <edward.nev...@linaro.org> wrote:
> >         cmp     x2, 8           <<< (1)
> > (1) If count as a 64 bit unsigned is <= 8 then it is probably still <= 8 as 
> > a 32 bit unsigned.
> 
> You mean to use "cmp w2, 8" instead? Is there any difference?

No. Look at the assembler again

> pd_disjoint_words:
>         cmp     x2, 8           <<< (1)
>         sub     sp, sp, #64     <<< (2)
>         bhi     .L2
>         cmp     w2, 8           <<< (1)
>         bls     .L15

It is doing cmp x2, 8 then a few instructions later, without modifying
x2/w2 and without any intervening branch destinations it does cmp w2, 8.
I assert the 2nd cmp w2, 8 and bls are redundant, because we know it is
(unsigned) <= 8 already.

> Have you tried building OpenJDK with Clang?

No. I might if you can provide me a binary.

Thanks,
Ed.


_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to