mirror of
https://github.com/golang/go
synced 2024-11-25 09:57:57 -07:00
test/codegen: add initial codegen tests for integer min/max
Change-Id: I006370053748edbec930c7279ee88a805009aa0d Reviewed-on: https://go-review.googlesource.com/c/go/+/606976 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Meng Zhuo <mengzhuo1203@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
1e9c5bbc8a
commit
02a9f51011
@ -629,3 +629,39 @@ func constantFold3(i, j int) int {
|
|||||||
r := (5 * i) * (6 * j)
|
r := (5 * i) * (6 * j)
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------- //
|
||||||
|
// Integer Min/Max //
|
||||||
|
// ----------------- //
|
||||||
|
|
||||||
|
func Int64Min(a, b int64) int64 {
|
||||||
|
// amd64: "CMPQ","CMOVQLT"
|
||||||
|
// arm64: "CMP","CSEL"
|
||||||
|
// riscv64/rva20u64:"BLT\t"
|
||||||
|
// riscv64/rva22u64:"MIN\t"
|
||||||
|
return min(a, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Int64Max(a, b int64) int64 {
|
||||||
|
// amd64: "CMPQ","CMOVQGT"
|
||||||
|
// arm64: "CMP","CSEL"
|
||||||
|
// riscv64/rva20u64:"BLT\t"
|
||||||
|
// riscv64/rva22u64:"MAX\t"
|
||||||
|
return max(a, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Uint64Min(a, b uint64) uint64 {
|
||||||
|
// amd64: "CMPQ","CMOVQCS"
|
||||||
|
// arm64: "CMP","CSEL"
|
||||||
|
// riscv64/rva20u64:"BLTU"
|
||||||
|
// riscv64/rva22u64:"MINU"
|
||||||
|
return min(a, b)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Uint64Max(a, b uint64) uint64 {
|
||||||
|
// amd64: "CMPQ","CMOVQHI"
|
||||||
|
// arm64: "CMP","CSEL"
|
||||||
|
// riscv64/rva20u64:"BLTU"
|
||||||
|
// riscv64/rva22u64:"MAXU"
|
||||||
|
return max(a, b)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user