gorgonia.org/gorgonia@v0.9.17/mathutils_amd64.s (about) 1 // +build !noasm,!wasm, !arm64 2 3 #include "textflag.h" 4 5 // divmod(a, b int) (q,r int) 6 TEXT ·divmod(SB),NOSPLIT,$0 7 MOVQ a+0(FP), SI 8 MOVQ b+8(FP), CX 9 MOVQ SI, AX 10 CMPQ CX, $-1 11 JEQ $1, denomIsOne // if denominator is 1, then jump to end 12 13 CQO 14 IDIVQ CX 15 MOVQ AX, q+16(FP) 16 MOVQ DX, r+24(FP) 17 bye: 18 RET 19 denomIsOne: 20 NEGQ AX 21 MOVQ AX, q+16(FP) 22 MOVQ $0, r+24(FP) 23 JMP bye