diff options
| author | Keith Randall <khr@golang.org> | 2023-07-14 09:45:31 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2023-07-26 17:19:14 +0000 |
| commit | 505e50b1e34cdf6dff29615a076e26fb0780d10d (patch) | |
| tree | 271a064d066827894b0991aac271fee6ec93b719 /test/codegen | |
| parent | c94f39a80e30f38c8a6e72f58c4cb63c1c106eb0 (diff) | |
| download | go-505e50b1e34cdf6dff29615a076e26fb0780d10d.tar.xz | |
cmd/compile: get rid of special case in scheduler for entry block
It isn't needed.
Fixes #61356
Change-Id: Ib466a3eac90c3ea57888cf40c294513033fc6118
Reviewed-on: https://go-review.googlesource.com/c/go/+/509856
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
Diffstat (limited to 'test/codegen')
| -rw-r--r-- | test/codegen/issue61356.go | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/codegen/issue61356.go b/test/codegen/issue61356.go new file mode 100644 index 0000000000..65753d5407 --- /dev/null +++ b/test/codegen/issue61356.go @@ -0,0 +1,55 @@ +// asmcheck + +// Copyright 2023 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Make sure this code doesn't generate spill/restore. + +package codegen + +func pack20(in *[20]uint64) uint64 { + var out uint64 + out |= 4 + // amd64:-`.*SP.*` + out |= in[0] << 4 + // amd64:-`.*SP.*` + out |= in[1] << 7 + // amd64:-`.*SP.*` + out |= in[2] << 10 + // amd64:-`.*SP.*` + out |= in[3] << 13 + // amd64:-`.*SP.*` + out |= in[4] << 16 + // amd64:-`.*SP.*` + out |= in[5] << 19 + // amd64:-`.*SP.*` + out |= in[6] << 22 + // amd64:-`.*SP.*` + out |= in[7] << 25 + // amd64:-`.*SP.*` + out |= in[8] << 28 + // amd64:-`.*SP.*` + out |= in[9] << 31 + // amd64:-`.*SP.*` + out |= in[10] << 34 + // amd64:-`.*SP.*` + out |= in[11] << 37 + // amd64:-`.*SP.*` + out |= in[12] << 40 + // amd64:-`.*SP.*` + out |= in[13] << 43 + // amd64:-`.*SP.*` + out |= in[14] << 46 + // amd64:-`.*SP.*` + out |= in[15] << 49 + // amd64:-`.*SP.*` + out |= in[16] << 52 + // amd64:-`.*SP.*` + out |= in[17] << 55 + // amd64:-`.*SP.*` + out |= in[18] << 58 + // amd64:-`.*SP.*` + out |= in[19] << 61 + return out +} |
