aboutsummaryrefslogtreecommitdiff
path: root/test/codegen
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2025-07-23 18:48:18 +0700
committerGopher Robot <gobot@golang.org>2025-07-29 16:22:37 -0700
commitf3582fc80e19050d915ac9621bbeecef78c0548e (patch)
tree105a69f920955c8fdc8831b3ef35468ba7d964a9 /test/codegen
parentf7d167fe710501f687fad006125f4ec60be42c35 (diff)
downloadgo-f3582fc80e19050d915ac9621bbeecef78c0548e.tar.xz
cmd/compile: add unsigned power-of-two detector
Fixes #74485 Change-Id: Ia22a58ac43bdc36c8414d555672a3a3eafc749ca Reviewed-on: https://go-review.googlesource.com/c/go/+/689815 Reviewed-by: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'test/codegen')
-rw-r--r--test/codegen/issue74485.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/codegen/issue74485.go b/test/codegen/issue74485.go
new file mode 100644
index 0000000000..570707509b
--- /dev/null
+++ b/test/codegen/issue74485.go
@@ -0,0 +1,27 @@
+// asmcheck
+
+// Copyright 2025 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.
+
+package codegen
+
+func divUint64(b uint64) uint64 {
+ // amd64:"SHRQ [$]63, AX"
+ return b / 9223372036854775808
+}
+
+func divUint32(b uint32) uint32 {
+ // amd64:"SHRL [$]31, AX"
+ return b / 2147483648
+}
+
+func divUint16(b uint16) uint16 {
+ // amd64:"SHRW [$]15, AX"
+ return b / 32768
+}
+
+func divUint8(b uint8) uint8 {
+ // amd64:"SHRB [$]7, AL"
+ return b / 128
+}