liyujie
2025-08-28 d9927380ed7c8366f762049be9f3fee225860833
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)