diff options
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewrite.go')
| -rw-r--r-- | src/cmd/compile/internal/ssa/rewrite.go | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/cmd/compile/internal/ssa/rewrite.go b/src/cmd/compile/internal/ssa/rewrite.go index 6f415e9760..b4e1a7fd33 100644 --- a/src/cmd/compile/internal/ssa/rewrite.go +++ b/src/cmd/compile/internal/ssa/rewrite.go @@ -518,22 +518,17 @@ func log32(n int32) int64 { return log32u(uint32(n)) } func log64(n int64) int64 { return log64u(uint64(n)) } // logXu returns the logarithm of n base 2. -// n must be a power of 2 (isUnsignedPowerOfTwo returns true) +// n must be a power of 2 (isPowerOfTwo returns true) func log8u(n uint8) int64 { return int64(bits.Len8(n)) - 1 } func log16u(n uint16) int64 { return int64(bits.Len16(n)) - 1 } func log32u(n uint32) int64 { return int64(bits.Len32(n)) - 1 } func log64u(n uint64) int64 { return int64(bits.Len64(n)) - 1 } // isPowerOfTwoX functions report whether n is a power of 2. -func isPowerOfTwo[T int8 | int16 | int32 | int64](n T) bool { +func isPowerOfTwo[T int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64](n T) bool { return n > 0 && n&(n-1) == 0 } -// isUnsignedPowerOfTwo reports whether n is an unsigned power of 2. -func isUnsignedPowerOfTwo[T uint8 | uint16 | uint32 | uint64](n T) bool { - return n != 0 && n&(n-1) == 0 -} - // is32Bit reports whether n can be represented as a signed 32 bit integer. func is32Bit(n int64) bool { return n == int64(int32(n)) |
