// run // Copyright 2024 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 main import "fmt" func main() { testMod() testMul() } //go:noinline func mod3(x uint32) uint64 { return uint64(x % 3) } func testMod() { got := mod3(1<<32 - 1) want := uint64((1<<32 - 1) % 3) if got != want { fmt.Printf("testMod: got %x want %x\n", got, want) } } //go:noinline func mul3(a uint32) uint64 { return uint64(a * 3) } func testMul() { got := mul3(1<<32 - 1) want := uint64((1<<32-1)*3 - 2<<32) if got != want { fmt.Printf("testMul: got %x want %x\n", got, want) } }