2 #* Some misc routines for Allegrex MIPS
3 #* (C) notaz, 2007-2008
5 #* This work is licensed under the terms of MAME license.
6 #* See COPYING file in the top-level directory.
15 .globl memset32 # int *dest, int c, int count
20 beqz $t0, ms32_bloop_prep
30 srl $t0, $a2, 4 # we will do 64 bytes per iteration (cache line)
31 beqz $t0, ms32_bloop_end
35 cache 0x18, ($a0) # create dirty exclusive
70 .globl memset32_uncached # int *dest, int c, int count
73 srl $t0, $a2, 3 # we will do 32 bytes per iteration
74 beqz $t0, ms32u_bloop_end
91 beqz $a2, ms32u_return
104 .globl memcpy32 # int *dest, int *src, int count
109 beqz $t0, mc32_bloop_prep
114 beqz $a2, mc32_return
120 srl $t0, $a2, 4 # we will do 64 bytes per iteration (cache line)
121 beqz $t0, mc32_bloop_end
125 cache 0x18, ($a0) # create dirty exclusive
164 beqz $a2, mc32_return