mirror of https://github.com/golang/go.git
runtime: add upper half and carry bit with zero
https://golang.org/cl/246763 accidentally changed this from upper + 0 + carry to upper + old vdsoSP + carry. The old value of vdsoPC is usually zero, so this typically works. However, the reentrant case will have a non-zero value, resulting in a bogus returned time. Fixes #49481 Change-Id: I0110b84277bf911804cb0ff8097aebf1b7eb100a Reviewed-on: https://go-review.googlesource.com/c/go/+/362674 Trust: Michael Pratt <mpratt@google.com> Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
90f47dbba6
commit
15a54d627c
|
|
@ -456,7 +456,7 @@ finish:
|
|||
MOVW $1000000000, R3
|
||||
MULLU R0, R3, (R1, R0)
|
||||
ADD.S R2, R0
|
||||
ADC R4, R1
|
||||
ADC $0, R1 // Add carry bit to upper half.
|
||||
|
||||
MOVW R0, ret_lo+0(FP)
|
||||
MOVW R1, ret_hi+4(FP)
|
||||
|
|
|
|||
Loading…
Reference in New Issue