...
Text file src/pkg/math/mod_386.s
1 // Copyright 2010 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 #include "textflag.h"
6
7 // func Mod(x, y float64) float64
8 TEXT ·Mod(SB),NOSPLIT,$0
9 FMOVD y+8(FP), F0 // F0=y
10 FMOVD x+0(FP), F0 // F0=x, F1=y
11 FPREM // F0=reduced_x, F1=y
12 FSTSW AX // AX=status word
13 ANDW $0x0400, AX
14 JNE -3(PC) // jump if reduction incomplete
15 FMOVDP F0, F1 // F0=x-q*y
16 FMOVDP F0, ret+16(FP)
17 RET
View as plain text