From: Joel Sing Date: Tue, 20 Aug 2024 13:41:40 +0000 (+1000) Subject: test/codegen: add initial codegen tests for integer min/max X-Git-Tag: go1.24rc1~1117 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=02a9f51011eb7b6150828aab623eede497eb1e09;p=gostls13.git 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 Reviewed-by: Meng Zhuo Reviewed-by: Dmitri Shuralyov LUCI-TryBot-Result: Go LUCI --- diff --git a/test/codegen/arithmetic.go b/test/codegen/arithmetic.go index e474a10ba2..4b47f6c13d 100644 --- a/test/codegen/arithmetic.go +++ b/test/codegen/arithmetic.go @@ -629,3 +629,39 @@ func constantFold3(i, j int) int { r := (5 * i) * (6 * j) 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) +}