Will work on getting this fixed up before Sven gets back.


https://codereview.chromium.org/213943002/diff/160001/src/arm64/simulator-arm64.cc
File src/arm64/simulator-arm64.cc (right):

https://codereview.chromium.org/213943002/diff/160001/src/arm64/simulator-arm64.cc#newcode843
src/arm64/simulator-arm64.cc:843:
((std::numeric_limits<unsignedT>::max() - u1 - carry_in) < u2);
The bug introduced is in the computation of C.  It errors now when u1 ==
u2 == max and carry_in == 1 as the computation is not promoted to
uint64_t.

max - u1 == 0, but u2 + carry_in also == 0 as it outranges
max - u1 - carry_in == max which is equal to u2, not less than

so C is false.

If the promotion occurs then (u2 + carry_in) > (max - u1) and so C is
true.

I'll work on getting a fix up for this.  I'm in and out this week so it
might not be immediate.

https://codereview.chromium.org/213943002/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to