aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/softfloat_arm.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/softfloat_arm.go')
-rw-r--r--src/runtime/softfloat_arm.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/runtime/softfloat_arm.go b/src/runtime/softfloat_arm.go
index b1f1a72925..648b2e1169 100644
--- a/src/runtime/softfloat_arm.go
+++ b/src/runtime/softfloat_arm.go
@@ -168,14 +168,15 @@ execute:
}
return 1
}
- if i == 0xe08bb00d {
- // add sp to r11.
- // might be part of a large stack offset address
+ if i&0xfffffff0 == 0xe08bb000 {
+ r := i & 0xf
+ // add r to r11.
+ // might be part of a large offset address calculation
// (or might not, but again no harm done).
- regs[11] += regs[13]
+ regs[11] += regs[r]
if fptrace > 0 {
- print("*** cpu R[11] += R[13] ", hex(regs[11]), "\n")
+ print("*** cpu R[11] += R[", r, "] ", hex(regs[11]), "\n")
}
return 1
}