diff options
Diffstat (limited to 'test/codegen/mathbits.go')
| -rw-r--r-- | test/codegen/mathbits.go | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/test/codegen/mathbits.go b/test/codegen/mathbits.go index 02552e1fdb..98ee8f2a0b 100644 --- a/test/codegen/mathbits.go +++ b/test/codegen/mathbits.go @@ -8,6 +8,50 @@ package codegen import "math/bits" +// ----------------------- // +// bits.LeadingZeros // +// ----------------------- // + +func LeadingZeros(n uint) int { + //amd64:"BSRQ" + //s390x:"FLOGR" + //arm:"CLZ" arm64:"CLZ" + //mips:"CLZ" + return bits.LeadingZeros(n) +} + +func LeadingZeros64(n uint64) int { + //amd64:"BSRQ" + //s390x:"FLOGR" + //arm:"CLZ" arm64:"CLZ" + //mips:"CLZ" + return bits.LeadingZeros64(n) +} + +func LeadingZeros32(n uint32) int { + //amd64:"BSRQ" + //s390x:"FLOGR" + //arm:"CLZ" arm64:"CLZ" + //mips:"CLZ" + return bits.LeadingZeros32(n) +} + +func LeadingZeros16(n uint16) int { + //amd64:"BSRQ" + //s390x:"FLOGR" + //arm:"CLZ" arm64:"CLZ" + //mips:"CLZ" + return bits.LeadingZeros16(n) +} + +func LeadingZeros8(n uint8) int { + //amd64 LeadingZeros8 not intrinsified (see ssa.go) + //s390x:"FLOGR" + //arm:"CLZ" arm64:"CLZ" + //mips:"CLZ" + return bits.LeadingZeros8(n) +} + // --------------- // // bits.Len* // // --------------- // @@ -45,7 +89,7 @@ func Len16(n uint16) int { } func Len8(n uint8) int { - //amd64 Len8 not intrisified + //amd64 Len8 not intrisified (see ssa.go) //s390x:"FLOGR" //arm:"CLZ" arm64:"CLZ" //mips:"CLZ" |
