From: Russ Cox Date: Mon, 29 Jul 2013 20:42:07 +0000 (-0400) Subject: runtime: adjust timediv to avoid _vasop; mark _subv okay X-Git-Tag: go1.2rc2~905 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c7d5c438a2bd6bad779cc535d11466bb93cc08e3;p=gostls13.git runtime: adjust timediv to avoid _vasop; mark _subv okay R=dvyukov CC=golang-dev https://golang.org/cl/12028046 --- diff --git a/src/pkg/runtime/runtime.c b/src/pkg/runtime/runtime.c index 03a9daf4c2..5bca6f87b4 100644 --- a/src/pkg/runtime/runtime.c +++ b/src/pkg/runtime/runtime.c @@ -429,7 +429,7 @@ runtime·timediv(int64 v, int32 div, int32 *rem) res = 0; for(bit = 0x40000000; bit != 0; bit >>= 1) { if(v >= (int64)bit*div) { - v -= (int64)bit*div; + v = v - (int64)bit*div; res += bit; } } diff --git a/src/pkg/runtime/vlrt_arm.c b/src/pkg/runtime/vlrt_arm.c index cc3b90963f..11813f91c4 100644 --- a/src/pkg/runtime/vlrt_arm.c +++ b/src/pkg/runtime/vlrt_arm.c @@ -66,27 +66,20 @@ void runtime·abort(void); void _addv(Vlong *r, Vlong a, Vlong b) { - ulong lo, hi; - - lo = a.lo + b.lo; - hi = a.hi + b.hi; - if(lo < a.lo) - hi++; - r->lo = lo; - r->hi = hi; + r->lo = a.lo + b.lo; + r->hi = a.hi + b.hi; + if(r->lo < a.lo) + r->hi++; } +#pragma textflag 7 void _subv(Vlong *r, Vlong a, Vlong b) { - ulong lo, hi; - - lo = a.lo - b.lo; - hi = a.hi - b.hi; - if(lo > a.lo) - hi--; - r->lo = lo; - r->hi = hi; + r->lo = a.lo - b.lo; + r->hi = a.hi - b.hi; + if(r->lo > a.lo) + r->hi--; } void