mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Separate patterns in asmcheck by spaces instead of commas. Many patterns end in comma (like "MOV [$]123,") so separating patterns by comma is not great; they're already quoted, so spaces are fine. Also replace all tabs in the assembly lines with spaces before matching. Finally, replace \$ or \\$ with [$] as the matching idiom. The effect of all these is to make the patterns look like: // amd64:"BSFQ" "ORQ [$]256" instead of the old: // amd64:"BSFQ","ORQ\t\\$256" Update all tests as well. Change-Id: Ia39febe5d7f67ba115846422789e11b185d5c807 Reviewed-on: https://go-review.googlesource.com/c/go/+/716060 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Alan Donovan <adonovan@google.com> Reviewed-by: Jorropo <jorropo.pgm@gmail.com>
47 lines
884 B
Go
47 lines
884 B
Go
// 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
|
|
}
|