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:
Michael Pratt 2021-11-09 11:35:52 -05:00
parent 90f47dbba6
commit 15a54d627c
1 changed files with 1 additions and 1 deletions

View File

@ -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)