| // asmcheck | |
| // Copyright 2025 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 codegen | |
| func divUint64(b uint64) uint64 { | |
| // amd64:"SHRQ [$]63, AX" | |
| return b / 9223372036854775808 | |
| } | |
| func divUint32(b uint32) uint32 { | |
| // amd64:"SHRL [$]31, AX" | |
| return b / 2147483648 | |
| } | |
| func divUint16(b uint16) uint16 { | |
| // amd64:"SHRW [$]15, AX" | |
| return b / 32768 | |
| } | |
| 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 | |
| } | |