From bd94ae8903e6256d9777a28bf86f425116fca316 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Wed, 23 Jul 2025 23:51:16 +0700 Subject: cmd/compile: use unsigned power-of-two detector for unsigned mod Same as CL 689815, but for modulus instead of division. Updates #74485 Change-Id: I73000231c886a987a1093669ff207fd9117a8160 Reviewed-on: https://go-review.googlesource.com/c/go/+/689895 LUCI-TryBot-Result: Go LUCI Reviewed-by: David Chase Auto-Submit: Cuong Manh Le Reviewed-by: Keith Randall Reviewed-by: Keith Randall --- test/codegen/issue74485.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/codegen') diff --git a/test/codegen/issue74485.go b/test/codegen/issue74485.go index 570707509b..b5aba9568c 100644 --- a/test/codegen/issue74485.go +++ b/test/codegen/issue74485.go @@ -25,3 +25,23 @@ func divUint8(b uint8) uint8 { // amd64:"SHRB [$]7, AL" return b / 128 } + +func modUint64(b uint64) uint64 { + // amd64:"BTRQ [$]63, AX" + return b % 9223372036854775808 +} + +func modUint32(b uint32) uint32 { + // amd64:"ANDL [$]2147483647, AX" + return b % 2147483648 +} + +func modUint16(b uint16) uint16 { + // amd64:"ANDL [$]32767, AX" + return b % 32768 +} + +func modUint8(b uint8) uint8 { + // amd64:"ANDL [$]127, AX" + return b % 128 +} -- cgit v1.3-6-g1900