[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    Re: A strange bit of code in MacroAssembler::multiply_128_x_128_loop
From:       Andrew Haley <aph () redhat ! com>
Date:       2015-04-10 16:49:41
Message-ID: 5527FF25.5030508 () redhat ! com
[Download RAW message or body]

On 04/10/2015 05:47 PM, Vladimir Kozlov wrote:
> On 4/10/15 9:30 AM, Vladimir Kozlov wrote:
> > It restores counter after:
> > 
> > subl(idx, 2);
> > jcc(Assembler::negative, L_check_1);
> > 
> > The value could be 1,2,3 before this point (idx & 3 before).
> > After 'sub 2': -1, 0, 1.
> > 
> > So we have to restore to positive values before subtracting 1.
> 
> And you are right, it is not needed. We get the same (correct) result from 'and \
> idx,1' regardless executing 'add'.

OK, cool.  It's not important then: I was just wondering if I'd found a
latent bug.

Andrew.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic