aboutsummaryrefslogtreecommitdiff
path: root/test/codegen
diff options
context:
space:
mode:
authorcuiweixie <cuiweixie@gmail.com>2022-08-05 14:01:57 +0000
committerKeith Randall <khr@golang.org>2022-08-08 16:40:58 +0000
commite7307034ccdd3c3e482f80b9ea6d4a69bb04d7b6 (patch)
treec7c8765c707b330d2407b114e1bf4a73fb274e44 /test/codegen
parent52d0667e6ba69059422a138dd6589f3f697fc0db (diff)
downloadgo-e7307034ccdd3c3e482f80b9ea6d4a69bb04d7b6.tar.xz
cmd/compile: store combine on amd64
Fixes #54120 Change-Id: I6915b6e8d459d9becfdef4fdcba95ee4dea6af05 GitHub-Last-Rev: 03f19942c7a697d3b5e696e700a9827633d709bb GitHub-Pull-Request: golang/go#54126 Reviewed-on: https://go-review.googlesource.com/c/go/+/420115 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org>
Diffstat (limited to 'test/codegen')
-rw-r--r--test/codegen/memcombine.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/codegen/memcombine.go b/test/codegen/memcombine.go
index 1427f7a7d5..6e0132744c 100644
--- a/test/codegen/memcombine.go
+++ b/test/codegen/memcombine.go
@@ -369,6 +369,14 @@ func store_le64_idx(b []byte, x uint64, idx int) {
binary.LittleEndian.PutUint64(b[idx:], x)
}
+func store_le64_idx2(dst []byte, d, length, offset int) []byte {
+ a := dst[d : d+length]
+ b := dst[d-offset:]
+ // amd64:`MOVQ\s.*\(.*\)\(.*\*1\)$`,-`SHR.`
+ binary.LittleEndian.PutUint64(a, binary.LittleEndian.Uint64(b))
+ return dst
+}
+
func store_le64_load(b []byte, x *[8]byte) {
_ = b[8]
// amd64:-`MOV[BWL]`