blob: 45c4ca8d6aee615581a34b2e68236f624ff91a11 [file] [log] [blame]
// 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
import "cmp"
func isNaN[T cmp.Ordered](x T) bool {
return x != x
}
func compare[T cmp.Ordered](x, y T) int {
// amd64:-"TESTB"
// arm64:-"MOVB"
xNaN := isNaN(x)
yNaN := isNaN(y)
if xNaN {
if yNaN {
return 0
}
return -1
}
if yNaN {
return +1
}
if x < y {
return -1
}
if x > y {
return +1
}
return 0
}
func usesCompare(a, b int) int {
return compare(a, b)
}