1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| // Copyright 2011 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.
|
| #include "textflag.h"
|
| // func Sqrt(x float64) float64
| TEXT ·Sqrt(SB),NOSPLIT,$0
| MOVB runtime·goarm(SB), R11
| CMP $5, R11
| BEQ arm5
| MOVD x+0(FP),F0
| SQRTD F0,F0
| MOVD F0,ret+8(FP)
| RET
| arm5:
| // Tail call to Go implementation.
| // Can't use JMP, as in softfloat mode SQRTD is rewritten
| // to a CALL, which makes this function have a frame.
| RET ·sqrt(SB)
|
|