NetBSD/regress/sys/arch/m68k/emuspeed/div64.s
is fceedefe6d Some 68060 tests:
- 060sp is calling glue to Motorolas test code for the 68060SP. We dont call
  the ftest #3, as it requires special kernel support not wanted normally.
- emuspeed is a partially table-driven instruction, thus easily extensible
  benchmark. Tests are in for the emulated-on-68060 mul 32->64bit and
  div 64->32bit.
1997-09-30 23:12:45 +00:00

51 lines
553 B
ArmAsm

/*
* stack:
* + 8: count
* + 4: retads
* + 0: d2
*/
.globl _div64ureg
_div64ureg:
movl d2,sp@-
movl sp@(8),d2
L1:
divul d2,d1:d0
subql #1,d2
jne L1
movl sp@+,d2
rts
.globl _div64sreg
_div64sreg:
movl d2,sp@-
movl sp@(8),d2
L2:
divsl d2,d1:d0
subql #1,d2
jne L2
movl sp@+,d2
rts
.globl _div64umem
_div64umem:
movl d2,sp@-
movl sp@(8),d2
L3:
divul sp@(8),d1:d0
subql #1,d2
jne L3
movl sp@+,d2
rts
.globl _div64smem
_div64smem:
movl d2,sp@-
movl sp@(8),d2
L4:
divsl sp@(8),d1:d0
subql #1,d2
jne L4
movl sp@+,d2
rts