]> Cypherpunks repositories - gostls13.git/commitdiff
install assembly math.Sqrt on amd64
authorRuss Cox <rsc@golang.org>
Thu, 24 Sep 2009 21:27:52 +0000 (14:27 -0700)
committerRuss Cox <rsc@golang.org>
Thu, 24 Sep 2009 21:27:52 +0000 (14:27 -0700)
R=r
DELTA=33  (32 added, 0 deleted, 1 changed)
OCL=34983
CL=34986

src/pkg/math/Makefile
src/pkg/math/sqrt_amd64.s [new file with mode: 0644]
src/pkg/math/sqrt_decl.go [new file with mode: 0644]

index f062a7468b92d21291d6fca9a493b88d0b44fc0c..bf8d99a608473594accaf2b829954a136982c958 100644 (file)
@@ -5,7 +5,14 @@
 include $(GOROOT)/src/Make.$(GOARCH)
 
 TARG=math
-GOFILES=\
+
+OFILES_amd64=\
+       sqrt_amd64.$O\
+
+OFILES=\
+       $(OFILES_$(GOARCH))
+
+ALLGOFILES=\
        asin.go\
        atan.go\
        atan2.go\
@@ -25,4 +32,11 @@ GOFILES=\
        tan.go\
        tanh.go\
 
+NOGOFILES=\
+       $(subst _$(GOARCH).$O,.go,$(OFILES_$(GOARCH)))
+
+GOFILES=\
+       $(filter-out $(NOGOFILES),$(ALLGOFILES))\
+       $(subst .go,_decl.go,$(NOGOFILES))\
+
 include $(GOROOT)/src/Make.pkg
diff --git a/src/pkg/math/sqrt_amd64.s b/src/pkg/math/sqrt_amd64.s
new file mode 100644 (file)
index 0000000..5972faf
--- /dev/null
@@ -0,0 +1,10 @@
+// Copyright 2009 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 Sqrt(x float64) float64
+TEXT math·Sqrt(SB),7,$0
+       MOVSD x+0(FP), X0
+       SQRTSD X0, X0
+       MOVSD X0, r+8(FP)
+       RET
diff --git a/src/pkg/math/sqrt_decl.go b/src/pkg/math/sqrt_decl.go
new file mode 100644 (file)
index 0000000..4e9112d
--- /dev/null
@@ -0,0 +1,8 @@
+// Copyright 2009 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 Sqrt(x float64) float64
+