diff options
| author | Cherry Zhang <cherryyz@google.com> | 2016-06-29 15:20:48 -0400 |
|---|---|---|
| committer | Cherry Zhang <cherryyz@google.com> | 2016-07-20 18:15:37 +0000 |
| commit | 7b9873b9b9daba332be582cf8a9249b7430311f8 (patch) | |
| tree | 983800f50dc1b2e963be3dee7fe0f8f70aa89aa8 /src/runtime/softfloat_arm.go | |
| parent | 4a33af6bb63eaa69a4a2cc0d4f222d37d7531b9c (diff) | |
| download | go-7b9873b9b9daba332be582cf8a9249b7430311f8.tar.xz | |
[dev.ssa] cmd/internal/obj, etc.: add and use NEGF, NEGD instructions on ARM
Updates #15365.
Change-Id: I372a5617c2c7d91de545cac0464809b96711b63a
Reviewed-on: https://go-review.googlesource.com/24646
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/runtime/softfloat_arm.go')
| -rw-r--r-- | src/runtime/softfloat_arm.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/runtime/softfloat_arm.go b/src/runtime/softfloat_arm.go index 802a151fbf..3cbb4b3fc0 100644 --- a/src/runtime/softfloat_arm.go +++ b/src/runtime/softfloat_arm.go @@ -446,6 +446,23 @@ execute: } return 1 + case 0xeeb10b40: // D[regd] = neg D[regm] + m.freglo[regd] = m.freglo[regm] + m.freghi[regd] = m.freghi[regm] ^ 1<<31 + + if fptrace > 0 { + print("*** D[", regd, "] = neg D[", regm, "] ", hex(m.freghi[regd]), "-", hex(m.freglo[regd]), "\n") + } + return 1 + + case 0xeeb10a40: // F[regd] = neg F[regm] + m.freglo[regd] = m.freglo[regm] ^ 1<<31 + + if fptrace > 0 { + print("*** F[", regd, "] = neg F[", regm, "] ", hex(m.freglo[regd]), "\n") + } + return 1 + case 0xeeb40bc0: // D[regd] :: D[regm] (CMPD) cmp, nan := fcmp64(fgetd(regd), fgetd(regm)) m.fflag = fstatus(nan, cmp) |
