diff options
author | Austin Clements <austin@google.com> | 2019-03-28 14:58:06 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2019-05-03 19:25:37 +0000 |
commit | 4a4e05b0b166ef17d62789d7ca6d58aeb846c5d1 (patch) | |
tree | 678cafc2a6988214970602778ce15b85a8840ff9 /src/cmd/compile/internal/ssa/rewriteMIPS64.go | |
parent | 7fcba81549b7088e8f4cda3a2702d948de42839e (diff) | |
download | go-4a4e05b0b166ef17d62789d7ca6d58aeb846c5d1.tar.gz go-4a4e05b0b166ef17d62789d7ca6d58aeb846c5d1.zip |
cmd/compile,runtime/internal/atomic: add Load8
Change-Id: Id52a5730cf9207ee7ccebac4ef12791dc5720e7c
Reviewed-on: https://go-review.googlesource.com/c/go/+/172283
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewriteMIPS64.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewriteMIPS64.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS64.go b/src/cmd/compile/internal/ssa/rewriteMIPS64.go index 93087fb759..db104504e9 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS64.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS64.go @@ -59,6 +59,8 @@ func rewriteValueMIPS64(v *Value) bool { return rewriteValueMIPS64_OpAtomicLoad32_0(v) case OpAtomicLoad64: return rewriteValueMIPS64_OpAtomicLoad64_0(v) + case OpAtomicLoad8: + return rewriteValueMIPS64_OpAtomicLoad8_0(v) case OpAtomicLoadPtr: return rewriteValueMIPS64_OpAtomicLoadPtr_0(v) case OpAtomicStore32: @@ -913,6 +915,19 @@ func rewriteValueMIPS64_OpAtomicLoad64_0(v *Value) bool { return true } } +func rewriteValueMIPS64_OpAtomicLoad8_0(v *Value) bool { + // match: (AtomicLoad8 ptr mem) + // cond: + // result: (LoweredAtomicLoad8 ptr mem) + for { + mem := v.Args[1] + ptr := v.Args[0] + v.reset(OpMIPS64LoweredAtomicLoad8) + v.AddArg(ptr) + v.AddArg(mem) + return true + } +} func rewriteValueMIPS64_OpAtomicLoadPtr_0(v *Value) bool { // match: (AtomicLoadPtr ptr mem) // cond: |