diff options
author | Michael Stapelberg <stapelberg@debian.org> | 2013-03-04 21:27:36 +0100 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2013-03-04 21:27:36 +0100 |
commit | 04b08da9af0c450d645ab7389d1467308cfc2db8 (patch) | |
tree | db247935fa4f2f94408edc3acd5d0d4f997aa0d8 /src/pkg/runtime/softfloat_arm.c | |
parent | 917c5fb8ec48e22459d77e3849e6d388f93d3260 (diff) | |
download | golang-upstream/1.1_hg20130304.tar.gz |
Imported Upstream version 1.1~hg20130304upstream/1.1_hg20130304
Diffstat (limited to 'src/pkg/runtime/softfloat_arm.c')
-rw-r--r-- | src/pkg/runtime/softfloat_arm.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/pkg/runtime/softfloat_arm.c b/src/pkg/runtime/softfloat_arm.c index bd73cb15b..9a5440630 100644 --- a/src/pkg/runtime/softfloat_arm.c +++ b/src/pkg/runtime/softfloat_arm.c @@ -420,6 +420,23 @@ stage3: // regd, regm are 4bit variables regd, regm, m->freghi[regd], m->freglo[regd]); break; + case 0xeeb00bc0: // D[regd] = abs D[regm] + m->freglo[regd] = m->freglo[regm]; + m->freghi[regd] = m->freghi[regm] & ((1<<31)-1); + + if(trace) + runtime·printf("*** D[%d] = abs D[%d] %x-%x\n", + regd, regm, m->freghi[regd], m->freglo[regd]); + break; + + case 0xeeb00ac0: // F[regd] = abs F[regm] + m->freglo[regd] = m->freglo[regm] & ((1<<31)-1); + + if(trace) + runtime·printf("*** F[%d] = abs F[%d] %x\n", + regd, regm, m->freglo[regd]); + break; + case 0xeeb40bc0: // D[regd] :: D[regm] (CMPD) runtime·fcmp64c(getd(regd), getd(regm), &cmp, &nan); m->fflag = fstatus(nan, cmp); |