1/* $NetBSD: mul64.S,v 1.1 1999/12/09 09:08:00 itohy Exp $ */ 2 3#include <m68k/asm.h> 4 5/* 6 * stack: 7 * + 8: count 8 * + 4: retads 9 * + 0: d2 10 */ 11 12ENTRY_NOPROFILE(mul64ureg) 13 movl %d2,%sp@- 14 movl %sp@(8),%d2 15L1: 16 mulul %d2,%d1:%d0 17 subql #1,%d2 18 jne L1 19 movl %sp@+,%d2 20 rts 21 22ENTRY_NOPROFILE(mul64sreg) 23 movl %d2,%sp@- 24 movl %sp@(8),%d2 25L2: 26 mulsl %d2,%d1:%d0 27 subql #1,%d2 28 jne L2 29 movl %sp@+,%d2 30 rts 31 32ENTRY_NOPROFILE(mul64umem) 33 movl %d2,%sp@- 34 movl %sp@(8),%d2 35L3: 36 mulul %sp@(8),%d1:%d0 37 subql #1,%d2 38 jne L3 39 movl %sp@+,%d2 40 rts 41 42ENTRY_NOPROFILE(mul64smem) 43 movl %d2,%sp@- 44 movl %sp@(8),%d2 45L4: 46 mulsl %sp@(8),%d1:%d0 47 subql #1,%d2 48 jne L4 49 movl %sp@+,%d2 50 rts 51