github.com/sanprasirt/go@v0.0.0-20170607001320-a027466e4b6d/src/math/mod_386.s (about) 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