diff options
Diffstat (limited to 'test/codegen/mathbits.go')
| -rw-r--r-- | test/codegen/mathbits.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/codegen/mathbits.go b/test/codegen/mathbits.go index 4754f29525..4519d8bd6c 100644 --- a/test/codegen/mathbits.go +++ b/test/codegen/mathbits.go @@ -17,6 +17,7 @@ func LeadingZeros(n uint) int { // amd64/v3:"LZCNTQ", -"BSRQ" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV",-"SUB" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"CNTLZD" @@ -28,6 +29,7 @@ func LeadingZeros64(n uint64) int { // amd64/v3:"LZCNTQ", -"BSRQ" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV",-"SUB" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"CNTLZD" @@ -39,6 +41,7 @@ func LeadingZeros32(n uint32) int { // amd64/v3: "LZCNTL",- "BSRL" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZW" + // loong64:"CLZW",-"SUB" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"CNTLZW" @@ -50,6 +53,7 @@ func LeadingZeros16(n uint16) int { // amd64/v3: "LZCNTL",- "BSRL" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"CNTLZD" @@ -61,6 +65,7 @@ func LeadingZeros8(n uint8) int { // amd64/v3: "LZCNTL",- "BSRL" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"CNTLZD" @@ -76,6 +81,7 @@ func Len(n uint) int { // amd64/v3: "LZCNTQ" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"SUBC","CNTLZD" @@ -87,6 +93,7 @@ func Len64(n uint64) int { // amd64/v3: "LZCNTQ" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"SUBC","CNTLZD" @@ -94,15 +101,22 @@ func Len64(n uint64) int { } func SubFromLen64(n uint64) int { + // loong64:"CLZV",-"ADD" // ppc64x:"CNTLZD",-"SUBC" return 64 - bits.Len64(n) } +func CompareWithLen64(n uint64) bool { + // loong64:"CLZV",-"ADD",-"[$]64",-"[$]9" + return bits.Len64(n) < 9 +} + func Len32(n uint32) int { // amd64/v1,amd64/v2:"BSRQ","LEAQ",-"CMOVQEQ" // amd64/v3: "LZCNTL" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZW" // mips:"CLZ" // wasm:"I64Clz" // ppc64x: "CNTLZW" @@ -114,6 +128,7 @@ func Len16(n uint16) int { // amd64/v3: "LZCNTL" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"SUBC","CNTLZD" @@ -125,6 +140,7 @@ func Len8(n uint8) int { // amd64/v3: "LZCNTL" // s390x:"FLOGR" // arm:"CLZ" arm64:"CLZ" + // loong64:"CLZV" // mips:"CLZ" // wasm:"I64Clz" // ppc64x:"SUBC","CNTLZD" |
