Uses the SSE2 max, min instructions. Also shorter sqrt_amd64.s
R=rsc
CC=golang-dev
https://golang.org/cl/
1216042
TARG=math
OFILES_amd64=\
+ fdim_amd64.$O\
sqrt_amd64.$O\
OFILES_386=\
--- /dev/null
+// Copyright 2010 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.
+
+// func Fdim(x, y float64) float64
+TEXT ·Fdim(SB),7,$0
+ MOVSD x+0(FP), X0
+ SUBSD y+8(FP), X0
+ MOVSD $(0.0), X1
+ MAXSD X1, X0
+ MOVSD X0, r+16(FP)
+ RET
+
+// func Fmax(x, y float64) float64
+TEXT ·Fmax(SB),7,$0
+ MOVSD x+0(FP), X0
+ MAXSD y+8(FP), X0
+ MOVSD X0, r+16(FP)
+ RET
+
+// func Fmin(x, y float64) float64
+TEXT ·Fmin(SB),7,$0
+ MOVSD x+0(FP), X0
+ MINSD y+8(FP), X0
+ MOVSD X0, r+16(FP)
+ RET
--- /dev/null
+// Copyright 2010 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 math
+
+func Fdim(x, y float64) float64
+func Fmax(x, y float64) float64
+func Fmin(x, y float64) float64
// func Sqrt(x float64) float64
TEXT ·Sqrt(SB),7,$0
- MOVSD x+0(FP), X0
- SQRTSD X0, X0
+ SQRTSD x+0(FP), X0
MOVSD X0, r+8(FP)
RET