negative memcpy
Denys Vlasenko
vda.linux at googlemail.com
Thu Aug 11 00:53:14 UTC 2011
On Wednesday 10 August 2011 07:05, manish kumar wrote:
> On Wed, Aug 10, 2011 at 12:06 PM, Denys Vlasenko
> <vda.linux at googlemail.com> wrote:
> > Try disassembling a static binary.
>
> I disassembled the static version. It appears it is calling the CPU
> specific optimized memcpy(). But then how can I fix this problem. I
> want this test case to crash.
>
> 00400140 <__start>:
> 400140: 3c1c0042 lui gp,0x42
> 400144: 279cb0d0 addiu gp,gp,-20272
> 400148: 0000f821 move ra,zero
> 40014c: 3c040040 lui a0,0x40
> 400150: 248402a0 addiu a0,a0,672
> 400154: 8fa50000 lw a1,0(sp)
> 400158: 27a60004 addiu a2,sp,4
> 40015c: 2401fff8 li at,-8
> 400160: 03a1e824 and sp,sp,at
> 400164: 27bdffe0 addiu sp,sp,-32
> 400168: 3c070040 lui a3,0x40
> 40016c: 24e700ec addiu a3,a3,236
> 400170: 3c080040 lui t0,0x40
> 400174: 25082f90 addiu t0,t0,12176
> 400178: afa80010 sw t0,16(sp)
> 40017c: afa20014 sw v0,20(sp)
> 400180: 0c100738 jal 401ce0 <__uClibc_main>
> 400184: afbd0018 sw sp,24(sp)
So, this is uclibc.
> 004002a0 <main>:
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
>
> int main()
> {
> 4002a0: 27bdffc0 addiu sp,sp,-64
> 4002a4: afbf003c sw ra,60(sp)
> 4002a8: afbe0038 sw s8,56(sp)
> 4002ac: 03a0f021 move s8,sp
> size_t size = -1;
> 4002b0: 2402ffff li v0,-1
> 4002b4: afc20018 sw v0,24(s8)
> char src[10] = {0, }, dest[10] = {0, };
> 4002b8: afc0001c sw zero,28(s8)
> 4002bc: afc00020 sw zero,32(s8)
> 4002c0: a7c00024 sh zero,36(s8)
> 4002c4: afc00028 sw zero,40(s8)
> 4002c8: afc0002c sw zero,44(s8)
> 4002cc: a7c00030 sh zero,48(s8)
> memcpy(dest, src, size);
> 4002d0: 27c30028 addiu v1,s8,40
> 4002d4: 27c2001c addiu v0,s8,28
> 4002d8: 00602021 move a0,v1
> 4002dc: 00402821 move a1,v0
> 4002e0: 8fc60018 lw a2,24(s8)
> 4002e4: 0c1000c4 jal 400310 <__GI_memcpy>
> 4002e8: 00000000 nop
> return 1;
> 4002ec: 24020001 li v0,1
> }
> 4002f0: 03c0e821 move sp,s8
> 4002f4: 8fbf003c lw ra,60(sp)
> 4002f8: 8fbe0038 lw s8,56(sp)
> 4002fc: 27bd0040 addiu sp,sp,64
> 400300: 03e00008 jr ra
> 400304: 00000000 nop
> ...
...but the below doesn't look like memcpy from uclibc:
in iclibc tree, uClibc/libc/string/mips/memcpy.S is hardly
5 screenfuls of code including comments,
and it, for example, doesn't use "pref" instruction
(and never did according to git log).
Whereas code below is HUGEST: nearly FORTY screenfuls,
and it uses "pref" insn.
Google code search failed to find the source
(I looked for "memcpy detect_done").
Is this a modified uclibc, with someone's
"more optimized" memcpy?
> 00400310 <__GI_memcpy>:
> 400310: 3c080041 lui t0,0x41
> 400314: 8d083060 lw t0,12384(t0)
> 400318: 110005ec beqz t0,401acc <detect_cpu>
> 40031c: 00000000 nop
>
> 00400320 <detect_done>:
> 400320: 2409111c li t1,4380
> 400324: 11090058 beq t0,t1,400488 <_4380_memcpy>
> 400328: 00000000 nop
> 40032c: 24091388 li t1,5000
> 400330: 110902b2 beq t0,t1,400dfc <_5000_memcpy>
> 400334: 00000000 nop
> 400338: 28c80008 slti t0,a2,8
> 40033c: 15000035 bnez t0,400414 <__BMIPS3300_memcpy_last8>
> 400340: 00801021 move v0,a0
> 400344: 00a44026 xor t0,a1,a0
> 400348: 31080003 andi t0,t0,0x3
> 40034c: 1500003a bnez t0,400438 <__BMIPS3300_memcpy_shift>
> 400350: 00054823 negu t1,a1
> 400354: 31290003 andi t1,t1,0x3
> 400358: 11200005 beqz t1,400370 <__BMIPS3300_memcpy_chk8w>
> 40035c: 00c93023 subu a2,a2,t1
> 400360: 98a80000 lwr t0,0(a1)
> 400364: 00a92821 addu a1,a1,t1
> 400368: b8880000 swr t0,0(a0)
> 40036c: 00892021 addu a0,a0,t1
>
> 00400370 <__BMIPS3300_memcpy_chk8w>:
> 400370: 30c8001f andi t0,a2,0x1f
> 400374: 1106001d beq t0,a2,4003ec <__BMIPS3300_memcpy_chk1w>
> 400378: 00c83823 subu a3,a2,t0
> 40037c: 00e43821 addu a3,a3,a0
> 400380: 24e7fff0 addiu a3,a3,-16
> ...
> 400390: 01003021 move a2,t0
> 400394: 8ca80000 lw t0,0(a1)
> 400398: ac880000 sw t0,0(a0)
>
> 0040039c <__BMIPS3300_memcpy_lop8w>:
> 40039c: 8ca90010 lw t1,16(a1)
> 4003a0: cc9f0010 pref 0x1f,16(a0)
> 4003a4: 8caa0004 lw t2,4(a1)
> 4003a8: 8cab0008 lw t3,8(a1)
> 4003ac: 8cac000c lw t4,12(a1)
> 4003b0: ac890010 sw t1,16(a0)
> 4003b4: ac8a0004 sw t2,4(a0)
> 4003b8: ac8b0008 sw t3,8(a0)
> 4003bc: ac8c000c sw t4,12(a0)
> 4003c0: 20840010 addi a0,a0,16
> 4003c4: 1487fff5 bne a0,a3,40039c <__BMIPS3300_memcpy_lop8w>
> 4003c8: 20a50010 addi a1,a1,16
> 4003cc: 8caa0004 lw t2,4(a1)
> 4003d0: 8cab0008 lw t3,8(a1)
> 4003d4: 8cac000c lw t4,12(a1)
> 4003d8: ac8a0004 sw t2,4(a0)
> 4003dc: ac8b0008 sw t3,8(a0)
> 4003e0: ac8c000c sw t4,12(a0)
> 4003e4: 20a50010 addi a1,a1,16
> 4003e8: 20840010 addi a0,a0,16
>
> 004003ec <__BMIPS3300_memcpy_chk1w>:
> 4003ec: 30c80003 andi t0,a2,0x3
> 4003f0: 11060008 beq t0,a2,400414 <__BMIPS3300_memcpy_last8>
> 4003f4: 00c83823 subu a3,a2,t0
> 4003f8: 00e53821 addu a3,a3,a1
> 4003fc: 01003021 move a2,t0
>
> 00400400 <__BMIPS3300_memcpy_lop1w>:
> 400400: 8ca80000 lw t0,0(a1)
> 400404: 24840004 addiu a0,a0,4
> 400408: 24a50004 addiu a1,a1,4
> 40040c: 14a7fffc bne a1,a3,400400 <__BMIPS3300_memcpy_lop1w>
> 400410: ac88fffc sw t0,-4(a0)
>
> 00400414 <__BMIPS3300_memcpy_last8>:
> 400414: 18c00006 blez a2,400430 <__BMIPS3300_memcpy_lst8e>
> 400418: 00c53821 addu a3,a2,a1
>
> 0040041c <__BMIPS3300_memcpy_lst8l>:
> 40041c: 80a80000 lb t0,0(a1)
> 400420: 24840001 addiu a0,a0,1
> 400424: 24a50001 addiu a1,a1,1
> 400428: 14a7fffc bne a1,a3,40041c <__BMIPS3300_memcpy_lst8l>
> 40042c: a088ffff sb t0,-1(a0)
>
> 00400430 <__BMIPS3300_memcpy_lst8e>:
> 400430: 03e00008 jr ra
> 400434: 00000000 nop
>
> 00400438 <__BMIPS3300_memcpy_shift>:
> 400438: 00043823 negu a3,a0
> 40043c: 30e70003 andi a3,a3,0x3
> 400440: 10e00006 beqz a3,40045c <__BMIPS3300_memcpy_shft1>
> 400444: 00c73023 subu a2,a2,a3
> 400448: 98a80000 lwr t0,0(a1)
> 40044c: 88a80003 lwl t0,3(a1)
> 400450: 00a72821 addu a1,a1,a3
> 400454: b8880000 swr t0,0(a0)
> 400458: 00872021 addu a0,a0,a3
>
> 0040045c <__BMIPS3300_memcpy_shft1>:
> 40045c: 30c80003 andi t0,a2,0x3
> 400460: 00c83823 subu a3,a2,t0
> 400464: 00e53821 addu a3,a3,a1
>
> 00400468 <__BMIPS3300_memcpy_shfth>:
> 400468: 98a90000 lwr t1,0(a1)
> 40046c: 88a90003 lwl t1,3(a1)
> 400470: 24840004 addiu a0,a0,4
> 400474: 24a50004 addiu a1,a1,4
> 400478: 14a7fffb bne a1,a3,400468 <__BMIPS3300_memcpy_shfth>
> 40047c: ac89fffc sw t1,-4(a0)
> 400480: 1000ffe4 b 400414 <__BMIPS3300_memcpy_last8>
> 400484: 01003021 move a2,t0
>
> 00400488 <_4380_memcpy>:
> 400488: 28c80008 slti t0,a2,8
> 40048c: 15000138 bnez t0,400970 <__BMIPS4380_memcpy_last8ByteCopy>
> 400490: 00801021 move v0,a0
> 400494: 00a44026 xor t0,a1,a0
> 400498: 31080003 andi t0,t0,0x3
> 40049c: 11000003 beqz t0,4004ac <__BMIPS4380_memcpy_wordAlign>
> 4004a0: 00054823 negu t1,a1
> 4004a4: 1000013b b 400994 <__BMIPS4380_memcpy_unAlignSrcDest>
> 4004a8: 00043823 negu a3,a0
>
> 004004ac <__BMIPS4380_memcpy_wordAlign>:
> 4004ac: 31290003 andi t1,t1,0x3
> 4004b0: 11200005 beqz t1,4004c8 <__BMIPS4380_memcpy_intCheck8w>
> 4004b4: 00c93023 subu a2,a2,t1
> 4004b8: 98a80000 lwr t0,0(a1)
> 4004bc: 00a92821 addu a1,a1,t1
> 4004c0: b8880000 swr t0,0(a0)
> 4004c4: 00892021 addu a0,a0,t1
>
> 004004c8 <__BMIPS4380_memcpy_intCheck8w>:
> 4004c8: 30c801ff andi t0,a2,0x1ff
> 4004cc: 1106010e beq t0,a2,400908 <__BMIPS4380_memcpy_check4w>
> 4004d0: 00c83823 subu a3,a2,t0
> 4004d4: 00e43821 addu a3,a3,a0
> 4004d8: 24e7ff00 addiu a3,a3,-256
> 4004dc: 00000000 nop
> 4004e0: 01003021 move a2,t0
> 4004e4: 8cae0000 lw t6,0(a1)
>
> 004004e8 <__BMIPS4380_memcpy_intLoopBack>:
> 4004e8: cc9e0040 pref 0x1e,64(a0)
> 4004ec: 8cad0040 lw t5,64(a1)
> 4004f0: 8caa0004 lw t2,4(a1)
> 4004f4: 8cab0008 lw t3,8(a1)
> 4004f8: 8cac000c lw t4,12(a1)
> 4004fc: ac8e0000 sw t6,0(a0)
> 400500: ac8a0004 sw t2,4(a0)
> 400504: ac8b0008 sw t3,8(a0)
> 400508: ac8c000c sw t4,12(a0)
> 40050c: 8ca90010 lw t1,16(a1)
> 400510: 8caa0014 lw t2,20(a1)
> 400514: 8cab0018 lw t3,24(a1)
> 400518: 8cac001c lw t4,28(a1)
> 40051c: ac890010 sw t1,16(a0)
> 400520: ac8a0014 sw t2,20(a0)
> 400524: ac8b0018 sw t3,24(a0)
> 400528: ac8c001c sw t4,28(a0)
> 40052c: 8ca90020 lw t1,32(a1)
> 400530: 8caa0024 lw t2,36(a1)
> 400534: 8cab0028 lw t3,40(a1)
> 400538: 8cac002c lw t4,44(a1)
> 40053c: ac890020 sw t1,32(a0)
> 400540: ac8a0024 sw t2,36(a0)
> 400544: ac8b0028 sw t3,40(a0)
> 400548: ac8c002c sw t4,44(a0)
> 40054c: 8ca90030 lw t1,48(a1)
> 400550: 8caa0034 lw t2,52(a1)
> 400554: 8cab0038 lw t3,56(a1)
> 400558: 8cac003c lw t4,60(a1)
> 40055c: ac890030 sw t1,48(a0)
> 400560: ac8a0034 sw t2,52(a0)
> 400564: ac8b0038 sw t3,56(a0)
> 400568: ac8c003c sw t4,60(a0)
> 40056c: cc9e0080 pref 0x1e,128(a0)
> 400570: 8cae0080 lw t6,128(a1)
> 400574: 8caa0044 lw t2,68(a1)
> 400578: 8cab0048 lw t3,72(a1)
> 40057c: 8cac004c lw t4,76(a1)
> 400580: ac8d0040 sw t5,64(a0)
> 400584: ac8a0044 sw t2,68(a0)
> 400588: ac8b0048 sw t3,72(a0)
> 40058c: ac8c004c sw t4,76(a0)
> 400590: 8ca90050 lw t1,80(a1)
> 400594: 8caa0054 lw t2,84(a1)
> 400598: 8cab0058 lw t3,88(a1)
> 40059c: 8cac005c lw t4,92(a1)
> 4005a0: ac890050 sw t1,80(a0)
> 4005a4: ac8a0054 sw t2,84(a0)
> 4005a8: ac8b0058 sw t3,88(a0)
> 4005ac: ac8c005c sw t4,92(a0)
> 4005b0: 8ca90060 lw t1,96(a1)
> 4005b4: 8caa0064 lw t2,100(a1)
> 4005b8: 8cab0068 lw t3,104(a1)
> 4005bc: 8cac006c lw t4,108(a1)
> 4005c0: ac890060 sw t1,96(a0)
> 4005c4: ac8a0064 sw t2,100(a0)
> 4005c8: ac8b0068 sw t3,104(a0)
> 4005cc: ac8c006c sw t4,108(a0)
> 4005d0: 8ca90070 lw t1,112(a1)
> 4005d4: 8caa0074 lw t2,116(a1)
> 4005d8: 8cab0078 lw t3,120(a1)
> 4005dc: 8cac007c lw t4,124(a1)
> 4005e0: ac890070 sw t1,112(a0)
> 4005e4: ac8a0074 sw t2,116(a0)
> 4005e8: ac8b0078 sw t3,120(a0)
> 4005ec: ac8c007c sw t4,124(a0)
> 4005f0: cc9e00c0 pref 0x1e,192(a0)
> 4005f4: 8cad00c0 lw t5,192(a1)
> 4005f8: 8caa0084 lw t2,132(a1)
> 4005fc: 8cab0088 lw t3,136(a1)
> 400600: 8cac008c lw t4,140(a1)
> 400604: ac8e0080 sw t6,128(a0)
> 400608: ac8a0084 sw t2,132(a0)
> 40060c: ac8b0088 sw t3,136(a0)
> 400610: ac8c008c sw t4,140(a0)
> 400614: 8ca90090 lw t1,144(a1)
> 400618: 8caa0094 lw t2,148(a1)
> 40061c: 8cab0098 lw t3,152(a1)
> 400620: 8cac009c lw t4,156(a1)
> 400624: ac890090 sw t1,144(a0)
> 400628: ac8a0094 sw t2,148(a0)
> 40062c: ac8b0098 sw t3,152(a0)
> 400630: ac8c009c sw t4,156(a0)
> 400634: 8ca900a0 lw t1,160(a1)
> 400638: 8caa00a4 lw t2,164(a1)
> 40063c: 8cab00a8 lw t3,168(a1)
> 400640: 8cac00ac lw t4,172(a1)
> 400644: ac8900a0 sw t1,160(a0)
> 400648: ac8a00a4 sw t2,164(a0)
> 40064c: ac8b00a8 sw t3,168(a0)
> 400650: ac8c00ac sw t4,172(a0)
> 400654: 8ca900b0 lw t1,176(a1)
> 400658: 8caa00b4 lw t2,180(a1)
> 40065c: 8cab00b8 lw t3,184(a1)
> 400660: 8cac00bc lw t4,188(a1)
> 400664: ac8900b0 sw t1,176(a0)
> 400668: ac8a00b4 sw t2,180(a0)
> 40066c: ac8b00b8 sw t3,184(a0)
> 400670: ac8c00bc sw t4,188(a0)
> 400674: cc9e0100 pref 0x1e,256(a0)
> 400678: 8cae0100 lw t6,256(a1)
> 40067c: 8caa00c4 lw t2,196(a1)
> 400680: 8cab00c8 lw t3,200(a1)
> 400684: 8cac00cc lw t4,204(a1)
> 400688: ac8d00c0 sw t5,192(a0)
> 40068c: ac8a00c4 sw t2,196(a0)
> 400690: ac8b00c8 sw t3,200(a0)
> 400694: ac8c00cc sw t4,204(a0)
> 400698: 8ca900d0 lw t1,208(a1)
> 40069c: 8caa00d4 lw t2,212(a1)
> 4006a0: 8cab00d8 lw t3,216(a1)
> 4006a4: 8cac00dc lw t4,220(a1)
> 4006a8: ac8900d0 sw t1,208(a0)
> 4006ac: ac8a00d4 sw t2,212(a0)
> 4006b0: ac8b00d8 sw t3,216(a0)
> 4006b4: ac8c00dc sw t4,220(a0)
> 4006b8: 8ca900e0 lw t1,224(a1)
> 4006bc: 8caa00e4 lw t2,228(a1)
> 4006c0: 8cab00e8 lw t3,232(a1)
> 4006c4: 8cac00ec lw t4,236(a1)
> 4006c8: ac8900e0 sw t1,224(a0)
> 4006cc: ac8a00e4 sw t2,228(a0)
> 4006d0: ac8b00e8 sw t3,232(a0)
> 4006d4: ac8c00ec sw t4,236(a0)
> 4006d8: 8ca900f0 lw t1,240(a1)
> 4006dc: 8caa00f4 lw t2,244(a1)
> 4006e0: 8cab00f8 lw t3,248(a1)
> 4006e4: 8cac00fc lw t4,252(a1)
> 4006e8: ac8900f0 sw t1,240(a0)
> 4006ec: ac8a00f4 sw t2,244(a0)
> 4006f0: ac8b00f8 sw t3,248(a0)
> 4006f4: ac8c00fc sw t4,252(a0)
> 4006f8: 20840100 addi a0,a0,256
> 4006fc: 1487ff7a bne a0,a3,4004e8 <__BMIPS4380_memcpy_intLoopBack>
> 400700: 20a50100 addi a1,a1,256
> 400704: 8caa0004 lw t2,4(a1)
> 400708: 8cab0008 lw t3,8(a1)
> 40070c: 8cac000c lw t4,12(a1)
> 400710: ac8e0000 sw t6,0(a0)
> 400714: ac8a0004 sw t2,4(a0)
> 400718: ac8b0008 sw t3,8(a0)
> 40071c: ac8c000c sw t4,12(a0)
> 400720: 8ca90010 lw t1,16(a1)
> 400724: 8caa0014 lw t2,20(a1)
> 400728: 8cab0018 lw t3,24(a1)
> 40072c: 8cac001c lw t4,28(a1)
> 400730: ac890010 sw t1,16(a0)
> 400734: ac8a0014 sw t2,20(a0)
> 400738: ac8b0018 sw t3,24(a0)
> 40073c: ac8c001c sw t4,28(a0)
> 400740: 8ca90020 lw t1,32(a1)
> 400744: 8caa0024 lw t2,36(a1)
> 400748: 8cab0028 lw t3,40(a1)
> 40074c: 8cac002c lw t4,44(a1)
> 400750: ac890020 sw t1,32(a0)
> 400754: ac8a0024 sw t2,36(a0)
> 400758: ac8b0028 sw t3,40(a0)
> 40075c: ac8c002c sw t4,44(a0)
> 400760: 8ca90030 lw t1,48(a1)
> 400764: 8caa0034 lw t2,52(a1)
> 400768: 8cab0038 lw t3,56(a1)
> 40076c: 8cac003c lw t4,60(a1)
> 400770: ac890030 sw t1,48(a0)
> 400774: ac8a0034 sw t2,52(a0)
> 400778: ac8b0038 sw t3,56(a0)
> 40077c: ac8c003c sw t4,60(a0)
> 400780: 8ca90040 lw t1,64(a1)
> 400784: 8caa0044 lw t2,68(a1)
> 400788: 8cab0048 lw t3,72(a1)
> 40078c: 8cac004c lw t4,76(a1)
> 400790: ac890040 sw t1,64(a0)
> 400794: ac8a0044 sw t2,68(a0)
> 400798: ac8b0048 sw t3,72(a0)
> 40079c: ac8c004c sw t4,76(a0)
> 4007a0: 8ca90050 lw t1,80(a1)
> 4007a4: 8caa0054 lw t2,84(a1)
> 4007a8: 8cab0058 lw t3,88(a1)
> 4007ac: 8cac005c lw t4,92(a1)
> 4007b0: ac890050 sw t1,80(a0)
> 4007b4: ac8a0054 sw t2,84(a0)
> 4007b8: ac8b0058 sw t3,88(a0)
> 4007bc: ac8c005c sw t4,92(a0)
> 4007c0: 8ca90060 lw t1,96(a1)
> 4007c4: 8caa0064 lw t2,100(a1)
> 4007c8: 8cab0068 lw t3,104(a1)
> 4007cc: 8cac006c lw t4,108(a1)
> 4007d0: ac890060 sw t1,96(a0)
> 4007d4: ac8a0064 sw t2,100(a0)
> 4007d8: ac8b0068 sw t3,104(a0)
> 4007dc: ac8c006c sw t4,108(a0)
> 4007e0: 8ca90070 lw t1,112(a1)
> 4007e4: 8caa0074 lw t2,116(a1)
> 4007e8: 8cab0078 lw t3,120(a1)
> 4007ec: 8cac007c lw t4,124(a1)
> 4007f0: ac890070 sw t1,112(a0)
> 4007f4: ac8a0074 sw t2,116(a0)
> 4007f8: ac8b0078 sw t3,120(a0)
> 4007fc: ac8c007c sw t4,124(a0)
> 400800: 8ca90080 lw t1,128(a1)
> 400804: 8caa0084 lw t2,132(a1)
> 400808: 8cab0088 lw t3,136(a1)
> 40080c: 8cac008c lw t4,140(a1)
> 400810: ac890080 sw t1,128(a0)
> 400814: ac8a0084 sw t2,132(a0)
> 400818: ac8b0088 sw t3,136(a0)
> 40081c: ac8c008c sw t4,140(a0)
> 400820: 8ca90090 lw t1,144(a1)
> 400824: 8caa0094 lw t2,148(a1)
> 400828: 8cab0098 lw t3,152(a1)
> 40082c: 8cac009c lw t4,156(a1)
> 400830: ac890090 sw t1,144(a0)
> 400834: ac8a0094 sw t2,148(a0)
> 400838: ac8b0098 sw t3,152(a0)
> 40083c: ac8c009c sw t4,156(a0)
> 400840: 8ca900a0 lw t1,160(a1)
> 400844: 8caa00a4 lw t2,164(a1)
> 400848: 8cab00a8 lw t3,168(a1)
> 40084c: 8cac00ac lw t4,172(a1)
> 400850: ac8900a0 sw t1,160(a0)
> 400854: ac8a00a4 sw t2,164(a0)
> 400858: ac8b00a8 sw t3,168(a0)
> 40085c: ac8c00ac sw t4,172(a0)
> 400860: 8ca900b0 lw t1,176(a1)
> 400864: 8caa00b4 lw t2,180(a1)
> 400868: 8cab00b8 lw t3,184(a1)
> 40086c: 8cac00bc lw t4,188(a1)
> 400870: ac8900b0 sw t1,176(a0)
> 400874: ac8a00b4 sw t2,180(a0)
> 400878: ac8b00b8 sw t3,184(a0)
> 40087c: ac8c00bc sw t4,188(a0)
> 400880: 8ca900c0 lw t1,192(a1)
> 400884: 8caa00c4 lw t2,196(a1)
> 400888: 8cab00c8 lw t3,200(a1)
> 40088c: 8cac00cc lw t4,204(a1)
> 400890: ac8900c0 sw t1,192(a0)
> 400894: ac8a00c4 sw t2,196(a0)
> 400898: ac8b00c8 sw t3,200(a0)
> 40089c: ac8c00cc sw t4,204(a0)
> 4008a0: 8ca900d0 lw t1,208(a1)
> 4008a4: 8caa00d4 lw t2,212(a1)
> 4008a8: 8cab00d8 lw t3,216(a1)
> 4008ac: 8cac00dc lw t4,220(a1)
> 4008b0: ac8900d0 sw t1,208(a0)
> 4008b4: ac8a00d4 sw t2,212(a0)
> 4008b8: ac8b00d8 sw t3,216(a0)
> 4008bc: ac8c00dc sw t4,220(a0)
> 4008c0: 8ca900e0 lw t1,224(a1)
> 4008c4: 8caa00e4 lw t2,228(a1)
> 4008c8: 8cab00e8 lw t3,232(a1)
> 4008cc: 8cac00ec lw t4,236(a1)
> 4008d0: ac8900e0 sw t1,224(a0)
> 4008d4: ac8a00e4 sw t2,228(a0)
> 4008d8: ac8b00e8 sw t3,232(a0)
> 4008dc: ac8c00ec sw t4,236(a0)
> 4008e0: 8ca900f0 lw t1,240(a1)
> 4008e4: 8caa00f4 lw t2,244(a1)
> 4008e8: 8cab00f8 lw t3,248(a1)
> 4008ec: 8cac00fc lw t4,252(a1)
> 4008f0: ac8900f0 sw t1,240(a0)
> 4008f4: ac8a00f4 sw t2,244(a0)
> 4008f8: ac8b00f8 sw t3,248(a0)
> 4008fc: ac8c00fc sw t4,252(a0)
> 400900: 20a50100 addi a1,a1,256
> 400904: 20840100 addi a0,a0,256
>
> 00400908 <__BMIPS4380_memcpy_check4w>:
> 400908: 30c8000f andi t0,a2,0xf
> 40090c: 1106000e beq t0,a2,400948 <__BMIPS4380_memcpy_check1w>
> 400910: 00c83823 subu a3,a2,t0
> 400914: 00e53821 addu a3,a3,a1
> 400918: 01003021 move a2,t0
>
> 0040091c <__BMIPS4380_memcpy_loop4w>:
> 40091c: 8ca80000 lw t0,0(a1)
> 400920: 8ca90004 lw t1,4(a1)
> 400924: 8caa0008 lw t2,8(a1)
> 400928: 8cab000c lw t3,12(a1)
> 40092c: ac880000 sw t0,0(a0)
> 400930: ac890004 sw t1,4(a0)
> 400934: ac8a0008 sw t2,8(a0)
> 400938: 24840010 addiu a0,a0,16
> 40093c: 24a50010 addiu a1,a1,16
> 400940: 14a7fff6 bne a1,a3,40091c <__BMIPS4380_memcpy_loop4w>
> 400944: ac8bfffc sw t3,-4(a0)
>
> 00400948 <__BMIPS4380_memcpy_check1w>:
> 400948: 30c80003 andi t0,a2,0x3
> 40094c: 11060008 beq t0,a2,400970 <__BMIPS4380_memcpy_last8ByteCopy>
> 400950: 00c83823 subu a3,a2,t0
> 400954: 00e53821 addu a3,a3,a1
> 400958: 01003021 move a2,t0
>
> 0040095c <__BMIPS4380_memcpy_loop1w>:
> 40095c: 8ca80000 lw t0,0(a1)
> 400960: 24840004 addiu a0,a0,4
> 400964: 24a50004 addiu a1,a1,4
> 400968: 14a7fffc bne a1,a3,40095c <__BMIPS4380_memcpy_loop1w>
> 40096c: ac88fffc sw t0,-4(a0)
>
> 00400970 <__BMIPS4380_memcpy_last8ByteCopy>:
> 400970: 18c00006 blez a2,40098c <__BMIPS4380_memcpy_last8BCExit>
> 400974: 00c53821 addu a3,a2,a1
>
> 00400978 <__BMIPS4380_memcpy_last8BCLoopBack>:
> 400978: 80a80000 lb t0,0(a1)
> 40097c: 24840001 addiu a0,a0,1
> 400980: 24a50001 addiu a1,a1,1
> 400984: 14a7fffc bne a1,a3,400978 <__BMIPS4380_memcpy_last8BCLoopBack>
> 400988: a088ffff sb t0,-1(a0)
>
> 0040098c <__BMIPS4380_memcpy_last8BCExit>:
> 40098c: 03e00008 jr ra
> 400990: 00000000 nop
>
> 00400994 <__BMIPS4380_memcpy_unAlignSrcDest>:
> 400994: 30e70003 andi a3,a3,0x3
> 400998: 10e00006 beqz a3,4009b4 <__BMIPS4380_memcpy_uaCheck512>
> 40099c: 00c73023 subu a2,a2,a3
> 4009a0: 98a80000 lwr t0,0(a1)
> 4009a4: 88a80003 lwl t0,3(a1)
> 4009a8: 00a72821 addu a1,a1,a3
> 4009ac: b8880000 swr t0,0(a0)
> 4009b0: 00872021 addu a0,a0,a3
>
> 004009b4 <__BMIPS4380_memcpy_uaCheck512>:
> 4009b4: 30c801ff andi t0,a2,0x1ff
> 4009b8: 110600f0 beq t0,a2,400d7c <__BMIPS4380_memcpy_uaCheck4w>
> 4009bc: 00c83823 subu a3,a2,t0
> 4009c0: 00e43821 addu a3,a3,a0
> 4009c4: 24e7ff00 addiu a3,a3,-256
> ...
> 4009d0: 01003021 move a2,t0
> 4009d4: 98ae0000 lwr t6,0(a1)
> 4009d8: 208f0300 addi t7,a0,768
>
> 004009dc <__BMIPS4380_memcpy_uaLoopBack>:
> 4009dc: cc9e0040 pref 0x1e,64(a0)
> 4009e0: 98ad0040 lwr t5,64(a1)
> 4009e4: 98aa0004 lwr t2,4(a1)
> 4009e8: 98ab0008 lwr t3,8(a1)
> 4009ec: 98ac000c lwr t4,12(a1)
> 4009f0: 88ae0003 lwl t6,3(a1)
> 4009f4: 88aa0007 lwl t2,7(a1)
> 4009f8: 88ab000b lwl t3,11(a1)
> 4009fc: 88ac000f lwl t4,15(a1)
> 400a00: ac8e0000 sw t6,0(a0)
> 400a04: ac8a0004 sw t2,4(a0)
> 400a08: ac8b0008 sw t3,8(a0)
> 400a0c: ac8c000c sw t4,12(a0)
> 400a10: 01e7082a slt at,t7,a3
> 400a14: 10200002 beqz at,400a20 <__BMIPS4380_memcpy_uaSkip>
> 400a18: 21ef0100 addi t7,t7,256
> 400a1c: 80a00300 lb zero,768(a1)
>
> 00400a20 <__BMIPS4380_memcpy_uaSkip>:
> 400a20: 98a90010 lwr t1,16(a1)
> 400a24: 98aa0014 lwr t2,20(a1)
> 400a28: 98ab0018 lwr t3,24(a1)
> 400a2c: 98ac001c lwr t4,28(a1)
> 400a30: 88a90013 lwl t1,19(a1)
> 400a34: 88aa0017 lwl t2,23(a1)
> 400a38: 88ab001b lwl t3,27(a1)
> 400a3c: 88ac001f lwl t4,31(a1)
> 400a40: ac890010 sw t1,16(a0)
> 400a44: ac8a0014 sw t2,20(a0)
> 400a48: ac8b0018 sw t3,24(a0)
> 400a4c: ac8c001c sw t4,28(a0)
> 400a50: 98a90020 lwr t1,32(a1)
> 400a54: 98aa0024 lwr t2,36(a1)
> 400a58: 98ab0028 lwr t3,40(a1)
> 400a5c: 98ac002c lwr t4,44(a1)
> 400a60: 88a90023 lwl t1,35(a1)
> 400a64: 88aa0027 lwl t2,39(a1)
> 400a68: 88ab002b lwl t3,43(a1)
> 400a6c: 88ac002f lwl t4,47(a1)
> 400a70: ac890020 sw t1,32(a0)
> 400a74: ac8a0024 sw t2,36(a0)
> 400a78: ac8b0028 sw t3,40(a0)
> 400a7c: ac8c002c sw t4,44(a0)
> 400a80: 98a90030 lwr t1,48(a1)
> 400a84: 98aa0034 lwr t2,52(a1)
> 400a88: 98ab0038 lwr t3,56(a1)
> 400a8c: 98ac003c lwr t4,60(a1)
> 400a90: 88a90033 lwl t1,51(a1)
> 400a94: 88aa0037 lwl t2,55(a1)
> 400a98: 88ab003b lwl t3,59(a1)
> 400a9c: 88ac003f lwl t4,63(a1)
> 400aa0: ac890030 sw t1,48(a0)
> 400aa4: ac8a0034 sw t2,52(a0)
> 400aa8: ac8b0038 sw t3,56(a0)
> 400aac: ac8c003c sw t4,60(a0)
> 400ab0: cc9e0080 pref 0x1e,128(a0)
> 400ab4: 98ae0080 lwr t6,128(a1)
> 400ab8: 98aa0044 lwr t2,68(a1)
> 400abc: 98ab0048 lwr t3,72(a1)
> 400ac0: 98ac004c lwr t4,76(a1)
> 400ac4: 88ad0043 lwl t5,67(a1)
> 400ac8: 88aa0047 lwl t2,71(a1)
> 400acc: 88ab004b lwl t3,75(a1)
> 400ad0: 88ac004f lwl t4,79(a1)
> 400ad4: ac8d0040 sw t5,64(a0)
> 400ad8: ac8a0044 sw t2,68(a0)
> 400adc: ac8b0048 sw t3,72(a0)
> 400ae0: ac8c004c sw t4,76(a0)
> 400ae4: 98a90050 lwr t1,80(a1)
> 400ae8: 98aa0054 lwr t2,84(a1)
> 400aec: 98ab0058 lwr t3,88(a1)
> 400af0: 98ac005c lwr t4,92(a1)
> 400af4: 88a90053 lwl t1,83(a1)
> 400af8: 88aa0057 lwl t2,87(a1)
> 400afc: 88ab005b lwl t3,91(a1)
> 400b00: 88ac005f lwl t4,95(a1)
> 400b04: ac890050 sw t1,80(a0)
> 400b08: ac8a0054 sw t2,84(a0)
> 400b0c: ac8b0058 sw t3,88(a0)
> 400b10: ac8c005c sw t4,92(a0)
> 400b14: 98a90060 lwr t1,96(a1)
> 400b18: 98aa0064 lwr t2,100(a1)
> 400b1c: 98ab0068 lwr t3,104(a1)
> 400b20: 98ac006c lwr t4,108(a1)
> 400b24: 88a90063 lwl t1,99(a1)
> 400b28: 88aa0067 lwl t2,103(a1)
> 400b2c: 88ab006b lwl t3,107(a1)
> 400b30: 88ac006f lwl t4,111(a1)
> 400b34: ac890060 sw t1,96(a0)
> 400b38: ac8a0064 sw t2,100(a0)
> 400b3c: ac8b0068 sw t3,104(a0)
> 400b40: ac8c006c sw t4,108(a0)
> 400b44: 98a90070 lwr t1,112(a1)
> 400b48: 98aa0074 lwr t2,116(a1)
> 400b4c: 98ab0078 lwr t3,120(a1)
> 400b50: 98ac007c lwr t4,124(a1)
> 400b54: 88a90073 lwl t1,115(a1)
> 400b58: 88aa0077 lwl t2,119(a1)
> 400b5c: 88ab007b lwl t3,123(a1)
> 400b60: 88ac007f lwl t4,127(a1)
> 400b64: ac890070 sw t1,112(a0)
> 400b68: ac8a0074 sw t2,116(a0)
> 400b6c: ac8b0078 sw t3,120(a0)
> 400b70: ac8c007c sw t4,124(a0)
> 400b74: cc9e00c0 pref 0x1e,192(a0)
> 400b78: 98ad00c0 lwr t5,192(a1)
> 400b7c: 98aa0084 lwr t2,132(a1)
> 400b80: 98ab0088 lwr t3,136(a1)
> 400b84: 98ac008c lwr t4,140(a1)
> 400b88: 88ae0083 lwl t6,131(a1)
> 400b8c: 88aa0087 lwl t2,135(a1)
> 400b90: 88ab008b lwl t3,139(a1)
> 400b94: 88ac008f lwl t4,143(a1)
> 400b98: ac8e0080 sw t6,128(a0)
> 400b9c: ac8a0084 sw t2,132(a0)
> 400ba0: ac8b0088 sw t3,136(a0)
> 400ba4: ac8c008c sw t4,140(a0)
> 400ba8: 98a90090 lwr t1,144(a1)
> 400bac: 98aa0094 lwr t2,148(a1)
> 400bb0: 98ab0098 lwr t3,152(a1)
> 400bb4: 98ac009c lwr t4,156(a1)
> 400bb8: 88a90093 lwl t1,147(a1)
> 400bbc: 88aa0097 lwl t2,151(a1)
> 400bc0: 88ab009b lwl t3,155(a1)
> 400bc4: 88ac009f lwl t4,159(a1)
> 400bc8: ac890090 sw t1,144(a0)
> 400bcc: ac8a0094 sw t2,148(a0)
> 400bd0: ac8b0098 sw t3,152(a0)
> 400bd4: ac8c009c sw t4,156(a0)
> 400bd8: 98a900a0 lwr t1,160(a1)
> 400bdc: 98aa00a4 lwr t2,164(a1)
> 400be0: 98ab00a8 lwr t3,168(a1)
> 400be4: 98ac00ac lwr t4,172(a1)
> 400be8: 88a900a3 lwl t1,163(a1)
> 400bec: 88aa00a7 lwl t2,167(a1)
> 400bf0: 88ab00ab lwl t3,171(a1)
> 400bf4: 88ac00af lwl t4,175(a1)
> 400bf8: ac8900a0 sw t1,160(a0)
> 400bfc: ac8a00a4 sw t2,164(a0)
> 400c00: ac8b00a8 sw t3,168(a0)
> 400c04: ac8c00ac sw t4,172(a0)
> 400c08: 98a900b0 lwr t1,176(a1)
> 400c0c: 98aa00b4 lwr t2,180(a1)
> 400c10: 98ab00b8 lwr t3,184(a1)
> 400c14: 98ac00bc lwr t4,188(a1)
> 400c18: 88a900b3 lwl t1,179(a1)
> 400c1c: 88aa00b7 lwl t2,183(a1)
> 400c20: 88ab00bb lwl t3,187(a1)
> 400c24: 88ac00bf lwl t4,191(a1)
> 400c28: ac8900b0 sw t1,176(a0)
> 400c2c: ac8a00b4 sw t2,180(a0)
> 400c30: ac8b00b8 sw t3,184(a0)
> 400c34: ac8c00bc sw t4,188(a0)
> 400c38: cc9e0100 pref 0x1e,256(a0)
> 400c3c: 98ae0100 lwr t6,256(a1)
> 400c40: 98aa00c4 lwr t2,196(a1)
> 400c44: 98ab00c8 lwr t3,200(a1)
> 400c48: 98ac00cc lwr t4,204(a1)
> 400c4c: 88ad00c3 lwl t5,195(a1)
> 400c50: 88aa00c7 lwl t2,199(a1)
> 400c54: 88ab00cb lwl t3,203(a1)
> 400c58: 88ac00cf lwl t4,207(a1)
> 400c5c: ac8d00c0 sw t5,192(a0)
> 400c60: ac8a00c4 sw t2,196(a0)
> 400c64: ac8b00c8 sw t3,200(a0)
> 400c68: ac8c00cc sw t4,204(a0)
> 400c6c: 98a900d0 lwr t1,208(a1)
> 400c70: 98aa00d4 lwr t2,212(a1)
> 400c74: 98ab00d8 lwr t3,216(a1)
> 400c78: 98ac00dc lwr t4,220(a1)
> 400c7c: 88a900d3 lwl t1,211(a1)
> 400c80: 88aa00d7 lwl t2,215(a1)
> 400c84: 88ab00db lwl t3,219(a1)
> 400c88: 88ac00df lwl t4,223(a1)
> 400c8c: ac8900d0 sw t1,208(a0)
> 400c90: ac8a00d4 sw t2,212(a0)
> 400c94: ac8b00d8 sw t3,216(a0)
> 400c98: ac8c00dc sw t4,220(a0)
> 400c9c: 98a900e0 lwr t1,224(a1)
> 400ca0: 98aa00e4 lwr t2,228(a1)
> 400ca4: 98ab00e8 lwr t3,232(a1)
> 400ca8: 98ac00ec lwr t4,236(a1)
> 400cac: 88a900e3 lwl t1,227(a1)
> 400cb0: 88aa00e7 lwl t2,231(a1)
> 400cb4: 88ab00eb lwl t3,235(a1)
> 400cb8: 88ac00ef lwl t4,239(a1)
> 400cbc: ac8900e0 sw t1,224(a0)
> 400cc0: ac8a00e4 sw t2,228(a0)
> 400cc4: ac8b00e8 sw t3,232(a0)
> 400cc8: ac8c00ec sw t4,236(a0)
> 400ccc: 98a900f0 lwr t1,240(a1)
> 400cd0: 98aa00f4 lwr t2,244(a1)
> 400cd4: 98ab00f8 lwr t3,248(a1)
> 400cd8: 98ac00fc lwr t4,252(a1)
> 400cdc: 88a900f3 lwl t1,243(a1)
> 400ce0: 88aa00f7 lwl t2,247(a1)
> 400ce4: 88ab00fb lwl t3,251(a1)
> 400ce8: 88ac00ff lwl t4,255(a1)
> 400cec: ac8900f0 sw t1,240(a0)
> 400cf0: ac8a00f4 sw t2,244(a0)
> 400cf4: ac8b00f8 sw t3,248(a0)
> 400cf8: ac8c00fc sw t4,252(a0)
> 400cfc: 20840100 addi a0,a0,256
> 400d00: 1487ff36 bne a0,a3,4009dc <__BMIPS4380_memcpy_uaLoopBack>
> 400d04: 20a50100 addi a1,a1,256
> 400d08: 24e70100 addiu a3,a3,256
>
> 00400d0c <__BMIPS4380_memcpy_uaRemain64LoopBack>:
> 400d0c: 98ae0000 lwr t6,0(a1)
> 400d10: 98aa0004 lwr t2,4(a1)
> 400d14: 98ab0008 lwr t3,8(a1)
> 400d18: 98ac000c lwr t4,12(a1)
> 400d1c: 88ae0003 lwl t6,3(a1)
> 400d20: 88aa0007 lwl t2,7(a1)
> 400d24: 88ab000b lwl t3,11(a1)
> 400d28: 88ac000f lwl t4,15(a1)
> 400d2c: ac8e0000 sw t6,0(a0)
> 400d30: ac8a0004 sw t2,4(a0)
> 400d34: ac8b0008 sw t3,8(a0)
> 400d38: ac8c000c sw t4,12(a0)
> 400d3c: 98ae0010 lwr t6,16(a1)
> 400d40: 98aa0014 lwr t2,20(a1)
> 400d44: 98ab0018 lwr t3,24(a1)
> 400d48: 98ac001c lwr t4,28(a1)
> 400d4c: 88ae0013 lwl t6,19(a1)
> 400d50: 88aa0017 lwl t2,23(a1)
> 400d54: 88ab001b lwl t3,27(a1)
> 400d58: 88ac001f lwl t4,31(a1)
> 400d5c: ac8e0010 sw t6,16(a0)
> 400d60: ac8a0014 sw t2,20(a0)
> 400d64: ac8b0018 sw t3,24(a0)
> 400d68: ac8c001c sw t4,28(a0)
> 400d6c: 24840020 addiu a0,a0,32
> 400d70: 1487ffe6 bne a0,a3,400d0c <__BMIPS4380_memcpy_uaRemain64LoopBack>
> 400d74: 24a50020 addiu a1,a1,32
> 400d78: 00e63821 addu a3,a3,a2
>
> 00400d7c <__BMIPS4380_memcpy_uaCheck4w>:
> 400d7c: 30c8000f andi t0,a2,0xf
> 400d80: 11060012 beq t0,a2,400dcc <__BMIPS4380_memcpy_uaCheck1w>
> 400d84: 00c83823 subu a3,a2,t0
> 400d88: 00e53821 addu a3,a3,a1
> 400d8c: 01003021 move a2,t0
>
> 00400d90 <__BMIPS4380_memcpy_ua4wLoopBack>:
> 400d90: 98a80000 lwr t0,0(a1)
> 400d94: 98a90004 lwr t1,4(a1)
> 400d98: 98aa0008 lwr t2,8(a1)
> 400d9c: 98ab000c lwr t3,12(a1)
> 400da0: 88a80003 lwl t0,3(a1)
> 400da4: 88a90007 lwl t1,7(a1)
> 400da8: 88aa000b lwl t2,11(a1)
> 400dac: 88ab000f lwl t3,15(a1)
> 400db0: ac880000 sw t0,0(a0)
> 400db4: ac890004 sw t1,4(a0)
> 400db8: ac8a0008 sw t2,8(a0)
> 400dbc: 24840010 addiu a0,a0,16
> 400dc0: 24a50010 addiu a1,a1,16
> 400dc4: 14a7fff2 bne a1,a3,400d90 <__BMIPS4380_memcpy_ua4wLoopBack>
> 400dc8: ac8bfffc sw t3,-4(a0)
>
> 00400dcc <__BMIPS4380_memcpy_uaCheck1w>:
> 400dcc: 30c80003 andi t0,a2,0x3
> 400dd0: 1106fee7 beq t0,a2,400970 <__BMIPS4380_memcpy_last8ByteCopy>
> 400dd4: 00c83823 subu a3,a2,t0
> 400dd8: 00e43821 addu a3,a3,a0
>
> 00400ddc <__BMIPS4380_memcpy_uaRemain>:
> 400ddc: 98a90000 lwr t1,0(a1)
> 400de0: 88a90003 lwl t1,3(a1)
> 400de4: 24840004 addiu a0,a0,4
> 400de8: 24a50004 addiu a1,a1,4
> 400dec: 1487fffb bne a0,a3,400ddc <__BMIPS4380_memcpy_uaRemain>
> 400df0: ac89fffc sw t1,-4(a0)
> 400df4: 1000fede b 400970 <__BMIPS4380_memcpy_last8ByteCopy>
> 400df8: 01003021 move a2,t0
>
> 00400dfc <_5000_memcpy>:
> 400dfc: 28c80008 slti t0,a2,8
> 400e00: 150000de bnez t0,40117c <__BMIPS5000_memcpy_last8ByteCopy>
> 400e04: 00801021 move v0,a0
> 400e08: 00a44026 xor t0,a1,a0
> 400e0c: 31080007 andi t0,t0,0x7
> 400e10: 11000006 beqz t0,400e2c <__BMIPS5000_memcpy_doubleWordAlign>
> 400e14: 00054823 negu t1,a1
> 400e18: 31080003 andi t0,t0,0x3
> 400e1c: 110000e0 beqz t0,4011a0 <__BMIPS5000_memcpy_wordAlign>
> 400e20: 00000000 nop
> 400e24: 1000020e b 401660 <__BMIPS5000_memcpy_unAlignSrcDest>
> 400e28: 00043823 negu a3,a0
>
> 00400e2c <__BMIPS5000_memcpy_doubleWordAlign>:
> 400e2c: 31290007 andi t1,t1,0x7
> 400e30: 1120000b beqz t1,400e60 <__BMIPS5000_memcpy_dwCheck8w>
> 400e34: 00c93023 subu a2,a2,t1
>
> 00400e38 <__BMIPS5000_memcpy_adjust>:
> 400e38: 312a0003 andi t2,t1,0x3
> 400e3c: 98a80000 lwr t0,0(a1)
> 400e40: 00a92821 addu a1,a1,t1
> 400e44: b8880000 swr t0,0(a0)
> 400e48: 00892021 addu a0,a0,t1
> 400e4c: 31290004 andi t1,t1,0x4
> 400e50: 11200003 beqz t1,400e60 <__BMIPS5000_memcpy_dwCheck8w>
> 400e54: 00000000 nop
> 400e58: 8ca8fffc lw t0,-4(a1)
> 400e5c: ac88fffc sw t0,-4(a0)
>
> 00400e60 <__BMIPS5000_memcpy_dwCheck8w>:
> 400e60: 30c801ff andi t0,a2,0x1ff
> 400e64: 110600ab beq t0,a2,401114 <__BMIPS5000_memcpy_check4w>
> 400e68: 00c83823 subu a3,a2,t0
> 400e6c: 00e43821 addu a3,a3,a0
> 400e70: 24e7ff00 addiu a3,a3,-256
> ...
> 400e80: 01003021 move a2,t0
> 400e84: 27bdffd8 addiu sp,sp,-40
> 400e88: f7ac0000 sdc1 $f12,0(sp)
> 400e8c: f7ae0008 sdc1 $f14,8(sp)
> 400e90: f7b40010 sdc1 $f20,16(sp)
> 400e94: f7b80018 sdc1 $f24,24(sp)
> 400e98: f7ba0020 sdc1 $f26,32(sp)
> 400e9c: d4a40000 ldc1 $f4,0(a1)
> 400ea0: d4b40080 ldc1 $f20,128(a1)
> 400ea4: d4a60020 ldc1 $f6,32(a1)
> 400ea8: d4a80040 ldc1 $f8,64(a1)
> 400eac: d4aa0060 ldc1 $f10,96(a1)
> 400eb0: d4b200a0 ldc1 $f18,160(a1)
> 400eb4: d4b800c0 ldc1 $f24,192(a1)
> 400eb8: d4ba00e0 ldc1 $f26,224(a1)
> 400ebc: cc9e0020 pref 0x1e,32(a0)
> 400ec0: cc9e0040 pref 0x1e,64(a0)
> 400ec4: cc9e0060 pref 0x1e,96(a0)
>
> 00400ec8 <__BMIPS5000_memcpy_fmCopyLoopBack>:
> 400ec8: d4ac0008 ldc1 $f12,8(a1)
> 400ecc: d4ae0010 ldc1 $f14,16(a1)
> 400ed0: d4b00018 ldc1 $f16,24(a1)
> 400ed4: f4840000 sdc1 $f4,0(a0)
> 400ed8: d4a40100 ldc1 $f4,256(a1)
> 400edc: f48c0008 sdc1 $f12,8(a0)
> 400ee0: f48e0010 sdc1 $f14,16(a0)
> 400ee4: f4900018 sdc1 $f16,24(a0)
> 400ee8: cc9e0080 pref 0x1e,128(a0)
> 400eec: d4ac0028 ldc1 $f12,40(a1)
> 400ef0: d4ae0030 ldc1 $f14,48(a1)
> 400ef4: d4b00038 ldc1 $f16,56(a1)
> 400ef8: f4860020 sdc1 $f6,32(a0)
> 400efc: d4a60120 ldc1 $f6,288(a1)
> 400f00: f48c0028 sdc1 $f12,40(a0)
> 400f04: f48e0030 sdc1 $f14,48(a0)
> 400f08: f4900038 sdc1 $f16,56(a0)
> 400f0c: cc9e00a0 pref 0x1e,160(a0)
> 400f10: d4ac0048 ldc1 $f12,72(a1)
> 400f14: d4ae0050 ldc1 $f14,80(a1)
> 400f18: d4b00058 ldc1 $f16,88(a1)
> 400f1c: f4880040 sdc1 $f8,64(a0)
> 400f20: d4a80140 ldc1 $f8,320(a1)
> 400f24: f48c0048 sdc1 $f12,72(a0)
> 400f28: f48e0050 sdc1 $f14,80(a0)
> 400f2c: f4900058 sdc1 $f16,88(a0)
> 400f30: cc9e00c0 pref 0x1e,192(a0)
> 400f34: d4ac0068 ldc1 $f12,104(a1)
> 400f38: d4ae0070 ldc1 $f14,112(a1)
> 400f3c: d4b00078 ldc1 $f16,120(a1)
> 400f40: f48a0060 sdc1 $f10,96(a0)
> 400f44: d4aa0160 ldc1 $f10,352(a1)
> 400f48: f48c0068 sdc1 $f12,104(a0)
> 400f4c: f48e0070 sdc1 $f14,112(a0)
> 400f50: f4900078 sdc1 $f16,120(a0)
> 400f54: cc9e00e0 pref 0x1e,224(a0)
> 400f58: d4ac0088 ldc1 $f12,136(a1)
> 400f5c: d4ae0090 ldc1 $f14,144(a1)
> 400f60: d4b00098 ldc1 $f16,152(a1)
> 400f64: f4940080 sdc1 $f20,128(a0)
> 400f68: d4b40180 ldc1 $f20,384(a1)
> 400f6c: f48c0088 sdc1 $f12,136(a0)
> 400f70: f48e0090 sdc1 $f14,144(a0)
> 400f74: f4900098 sdc1 $f16,152(a0)
> 400f78: cc9e0100 pref 0x1e,256(a0)
> 400f7c: d4ac00a8 ldc1 $f12,168(a1)
> 400f80: d4ae00b0 ldc1 $f14,176(a1)
> 400f84: d4b000b8 ldc1 $f16,184(a1)
> 400f88: f49200a0 sdc1 $f18,160(a0)
> 400f8c: d4b201a0 ldc1 $f18,416(a1)
> 400f90: f48c00a8 sdc1 $f12,168(a0)
> 400f94: f48e00b0 sdc1 $f14,176(a0)
> 400f98: f49000b8 sdc1 $f16,184(a0)
> 400f9c: cc9e0120 pref 0x1e,288(a0)
> 400fa0: d4ac00c8 ldc1 $f12,200(a1)
> 400fa4: d4ae00d0 ldc1 $f14,208(a1)
> 400fa8: d4b000d8 ldc1 $f16,216(a1)
> 400fac: f49800c0 sdc1 $f24,192(a0)
> 400fb0: d4b801c0 ldc1 $f24,448(a1)
> 400fb4: f48c00c8 sdc1 $f12,200(a0)
> 400fb8: f48e00d0 sdc1 $f14,208(a0)
> 400fbc: f49000d8 sdc1 $f16,216(a0)
> 400fc0: cc9e0140 pref 0x1e,320(a0)
> 400fc4: d4ac00e8 ldc1 $f12,232(a1)
> 400fc8: d4ae00f0 ldc1 $f14,240(a1)
> 400fcc: d4b000f8 ldc1 $f16,248(a1)
> 400fd0: f49a00e0 sdc1 $f26,224(a0)
> 400fd4: d4ba01e0 ldc1 $f26,480(a1)
> 400fd8: f48c00e8 sdc1 $f12,232(a0)
> 400fdc: f48e00f0 sdc1 $f14,240(a0)
> 400fe0: f49000f8 sdc1 $f16,248(a0)
> 400fe4: cc9e0160 pref 0x1e,352(a0)
> 400fe8: 20840100 addi a0,a0,256
> 400fec: 1487ffb6 bne a0,a3,400ec8 <__BMIPS5000_memcpy_fmCopyLoopBack>
> 400ff0: 20a50100 addi a1,a1,256
> 400ff4: d4a40000 ldc1 $f4,0(a1)
> 400ff8: d4b40080 ldc1 $f20,128(a1)
> 400ffc: d4a60020 ldc1 $f6,32(a1)
> 401000: d4a80040 ldc1 $f8,64(a1)
> 401004: d4aa0060 ldc1 $f10,96(a1)
> 401008: d4b200a0 ldc1 $f18,160(a1)
> 40100c: d4b800c0 ldc1 $f24,192(a1)
> 401010: d4ba00e0 ldc1 $f26,224(a1)
> 401014: d4ac0008 ldc1 $f12,8(a1)
> 401018: d4ae0010 ldc1 $f14,16(a1)
> 40101c: d4b00018 ldc1 $f16,24(a1)
> 401020: f4840000 sdc1 $f4,0(a0)
> 401024: f48c0008 sdc1 $f12,8(a0)
> 401028: f48e0010 sdc1 $f14,16(a0)
> 40102c: f4900018 sdc1 $f16,24(a0)
> 401030: d4ac0028 ldc1 $f12,40(a1)
> 401034: d4ae0030 ldc1 $f14,48(a1)
> 401038: d4b00038 ldc1 $f16,56(a1)
> 40103c: f4860020 sdc1 $f6,32(a0)
> 401040: f48c0028 sdc1 $f12,40(a0)
> 401044: f48e0030 sdc1 $f14,48(a0)
> 401048: f4900038 sdc1 $f16,56(a0)
> 40104c: d4ac0048 ldc1 $f12,72(a1)
> 401050: d4ae0050 ldc1 $f14,80(a1)
> 401054: d4b00058 ldc1 $f16,88(a1)
> 401058: f4880040 sdc1 $f8,64(a0)
> 40105c: f48c0048 sdc1 $f12,72(a0)
> 401060: f48e0050 sdc1 $f14,80(a0)
> 401064: f4900058 sdc1 $f16,88(a0)
> 401068: d4ac0068 ldc1 $f12,104(a1)
> 40106c: d4ae0070 ldc1 $f14,112(a1)
> 401070: d4b00078 ldc1 $f16,120(a1)
> 401074: f48a0060 sdc1 $f10,96(a0)
> 401078: f48c0068 sdc1 $f12,104(a0)
> 40107c: f48e0070 sdc1 $f14,112(a0)
> 401080: f4900078 sdc1 $f16,120(a0)
> 401084: d4ac0088 ldc1 $f12,136(a1)
> 401088: d4ae0090 ldc1 $f14,144(a1)
> 40108c: d4b00098 ldc1 $f16,152(a1)
> 401090: f4940080 sdc1 $f20,128(a0)
> 401094: f48c0088 sdc1 $f12,136(a0)
> 401098: f48e0090 sdc1 $f14,144(a0)
> 40109c: f4900098 sdc1 $f16,152(a0)
> 4010a0: d4ac00a8 ldc1 $f12,168(a1)
> 4010a4: d4ae00b0 ldc1 $f14,176(a1)
> 4010a8: d4b000b8 ldc1 $f16,184(a1)
> 4010ac: f49200a0 sdc1 $f18,160(a0)
> 4010b0: f48c00a8 sdc1 $f12,168(a0)
> 4010b4: f48e00b0 sdc1 $f14,176(a0)
> 4010b8: f49000b8 sdc1 $f16,184(a0)
> 4010bc: d4ac00c8 ldc1 $f12,200(a1)
> 4010c0: d4ae00d0 ldc1 $f14,208(a1)
> 4010c4: d4b000d8 ldc1 $f16,216(a1)
> 4010c8: f49800c0 sdc1 $f24,192(a0)
> 4010cc: f48c00c8 sdc1 $f12,200(a0)
> 4010d0: f48e00d0 sdc1 $f14,208(a0)
> 4010d4: f49000d8 sdc1 $f16,216(a0)
> 4010d8: d4ac00e8 ldc1 $f12,232(a1)
> 4010dc: d4ae00f0 ldc1 $f14,240(a1)
> 4010e0: d4b000f8 ldc1 $f16,248(a1)
> 4010e4: f49a00e0 sdc1 $f26,224(a0)
> 4010e8: f48c00e8 sdc1 $f12,232(a0)
> 4010ec: f48e00f0 sdc1 $f14,240(a0)
> 4010f0: f49000f8 sdc1 $f16,248(a0)
> 4010f4: 20a50100 addi a1,a1,256
> 4010f8: 20840100 addi a0,a0,256
> 4010fc: d7ac0000 ldc1 $f12,0(sp)
> 401100: d7ae0008 ldc1 $f14,8(sp)
> 401104: d7b40010 ldc1 $f20,16(sp)
> 401108: d7b80018 ldc1 $f24,24(sp)
> 40110c: d7ba0020 ldc1 $f26,32(sp)
> 401110: 27bd0028 addiu sp,sp,40
>
> 00401114 <__BMIPS5000_memcpy_check4w>:
> 401114: 30c8000f andi t0,a2,0xf
> 401118: 1106000e beq t0,a2,401154 <__BMIPS5000_memcpy_check1w>
> 40111c: 00c83823 subu a3,a2,t0
> 401120: 00e53821 addu a3,a3,a1
> 401124: 01003021 move a2,t0
>
> 00401128 <__BMIPS5000_memcpy_loop4w>:
> 401128: 8ca80000 lw t0,0(a1)
> 40112c: 8ca90004 lw t1,4(a1)
> 401130: 8caa0008 lw t2,8(a1)
> 401134: 8cab000c lw t3,12(a1)
> 401138: ac880000 sw t0,0(a0)
> 40113c: ac890004 sw t1,4(a0)
> 401140: ac8a0008 sw t2,8(a0)
> 401144: 24840010 addiu a0,a0,16
> 401148: 24a50010 addiu a1,a1,16
> 40114c: 14a7fff6 bne a1,a3,401128 <__BMIPS5000_memcpy_loop4w>
> 401150: ac8bfffc sw t3,-4(a0)
>
> 00401154 <__BMIPS5000_memcpy_check1w>:
> 401154: 30c80003 andi t0,a2,0x3
> 401158: 11060008 beq t0,a2,40117c <__BMIPS5000_memcpy_last8ByteCopy>
> 40115c: 00c83823 subu a3,a2,t0
> 401160: 00e53821 addu a3,a3,a1
> 401164: 01003021 move a2,t0
>
> 00401168 <__BMIPS5000_memcpy_loop1w>:
> 401168: 8ca80000 lw t0,0(a1)
> 40116c: 24840004 addiu a0,a0,4
> 401170: 24a50004 addiu a1,a1,4
> 401174: 14a7fffc bne a1,a3,401168 <__BMIPS5000_memcpy_loop1w>
> 401178: ac88fffc sw t0,-4(a0)
>
> 0040117c <__BMIPS5000_memcpy_last8ByteCopy>:
> 40117c: 18c00006 blez a2,401198 <__BMIPS5000_memcpy_last8BCExit>
> 401180: 00c53821 addu a3,a2,a1
>
> 00401184 <__BMIPS5000_memcpy_last8BCLoopBack>:
> 401184: 80a80000 lb t0,0(a1)
> 401188: 24840001 addiu a0,a0,1
> 40118c: 24a50001 addiu a1,a1,1
> 401190: 14a7fffc bne a1,a3,401184 <__BMIPS5000_memcpy_last8BCLoopBack>
> 401194: a088ffff sb t0,-1(a0)
>
> 00401198 <__BMIPS5000_memcpy_last8BCExit>:
> 401198: 03e00008 jr ra
> 40119c: 00000000 nop
>
> 004011a0 <__BMIPS5000_memcpy_wordAlign>:
> 4011a0: 31290003 andi t1,t1,0x3
> 4011a4: 11200005 beqz t1,4011bc <__BMIPS5000_memcpy_intCheck8w>
> 4011a8: 00c93023 subu a2,a2,t1
> 4011ac: 98a80000 lwr t0,0(a1)
> 4011b0: 00a92821 addu a1,a1,t1
> 4011b4: b8880000 swr t0,0(a0)
> 4011b8: 00892021 addu a0,a0,t1
>
> 004011bc <__BMIPS5000_memcpy_intCheck8w>:
> 4011bc: 30c801ff andi t0,a2,0x1ff
> 4011c0: 1106ffd4 beq t0,a2,401114 <__BMIPS5000_memcpy_check4w>
> 4011c4: 00c83823 subu a3,a2,t0
> 4011c8: 24e7ff00 addiu a3,a3,-256
> 4011cc: 00000000 nop
> 4011d0: 01003021 move a2,t0
> 4011d4: 00871820 add v1,a0,a3
> 4011d8: 27bdffe4 addiu sp,sp,-28
> 4011dc: afb00000 sw s0,0(sp)
> 4011e0: afb10004 sw s1,4(sp)
> 4011e4: afb20008 sw s2,8(sp)
> 4011e8: afb3000c sw s3,12(sp)
> 4011ec: afb40010 sw s4,16(sp)
> 4011f0: afb50014 sw s5,20(sp)
> 4011f4: afb60018 sw s6,24(sp)
> 4011f8: 8ca80000 lw t0,0(a1)
> 4011fc: 8ca90020 lw t1,32(a1)
> 401200: 8cac0080 lw t4,128(a1)
> 401204: 8caa0040 lw t2,64(a1)
> 401208: 8cab0060 lw t3,96(a1)
> 40120c: 8cad00a0 lw t5,160(a1)
> 401210: 8cae00c0 lw t6,192(a1)
> 401214: 8caf00e0 lw t7,224(a1)
> 401218: cc9e0020 pref 0x1e,32(a0)
> 40121c: cc9e0040 pref 0x1e,64(a0)
> 401220: cc9e0060 pref 0x1e,96(a0)
>
> 00401224 <__BMIPS5000_memcpy_intCopyLoopBack>:
> 401224: 8cb00004 lw s0,4(a1)
> 401228: 8cb10008 lw s1,8(a1)
> 40122c: 8cb2000c lw s2,12(a1)
> 401230: 8cb30010 lw s3,16(a1)
> 401234: 8cb40014 lw s4,20(a1)
> 401238: 8cb50018 lw s5,24(a1)
> 40123c: 8cb6001c lw s6,28(a1)
> 401240: ac880000 sw t0,0(a0)
> 401244: 8ca80100 lw t0,256(a1)
> 401248: ac900004 sw s0,4(a0)
> 40124c: ac910008 sw s1,8(a0)
> 401250: ac92000c sw s2,12(a0)
> 401254: ac930010 sw s3,16(a0)
> 401258: ac940014 sw s4,20(a0)
> 40125c: ac950018 sw s5,24(a0)
> 401260: ac96001c sw s6,28(a0)
> 401264: cc9e0080 pref 0x1e,128(a0)
> 401268: 8cb00024 lw s0,36(a1)
> 40126c: 8cb10028 lw s1,40(a1)
> 401270: 8cb2002c lw s2,44(a1)
> 401274: 8cb30030 lw s3,48(a1)
> 401278: 8cb40034 lw s4,52(a1)
> 40127c: 8cb50038 lw s5,56(a1)
> 401280: 8cb6003c lw s6,60(a1)
> 401284: ac890020 sw t1,32(a0)
> 401288: 8ca90120 lw t1,288(a1)
> 40128c: ac900024 sw s0,36(a0)
> 401290: ac910028 sw s1,40(a0)
> 401294: ac92002c sw s2,44(a0)
> 401298: ac930030 sw s3,48(a0)
> 40129c: ac940034 sw s4,52(a0)
> 4012a0: ac950038 sw s5,56(a0)
> 4012a4: ac96003c sw s6,60(a0)
> 4012a8: cc9e00a1 pref 0x1e,161(a0)
> 4012ac: 8cb00044 lw s0,68(a1)
> 4012b0: 8cb10048 lw s1,72(a1)
> 4012b4: 8cb2004c lw s2,76(a1)
> 4012b8: 8cb30050 lw s3,80(a1)
> 4012bc: 8cb40054 lw s4,84(a1)
> 4012c0: 8cb50058 lw s5,88(a1)
> 4012c4: 8cb6005c lw s6,92(a1)
> 4012c8: ac8a0040 sw t2,64(a0)
> 4012cc: 8caa0140 lw t2,320(a1)
> 4012d0: ac900044 sw s0,68(a0)
> 4012d4: ac910048 sw s1,72(a0)
> 4012d8: ac92004c sw s2,76(a0)
> 4012dc: ac930050 sw s3,80(a0)
> 4012e0: ac940054 sw s4,84(a0)
> 4012e4: ac950058 sw s5,88(a0)
> 4012e8: ac96005c sw s6,92(a0)
> 4012ec: cc9e00c0 pref 0x1e,192(a0)
> 4012f0: 8cb00064 lw s0,100(a1)
> 4012f4: 8cb10068 lw s1,104(a1)
> 4012f8: 8cb2006c lw s2,108(a1)
> 4012fc: 8cb30070 lw s3,112(a1)
> 401300: 8cb40074 lw s4,116(a1)
> 401304: 8cb50078 lw s5,120(a1)
> 401308: 8cb6007c lw s6,124(a1)
> 40130c: ac8b0060 sw t3,96(a0)
> 401310: 8cab0160 lw t3,352(a1)
> 401314: ac900064 sw s0,100(a0)
> 401318: ac910068 sw s1,104(a0)
> 40131c: ac92006c sw s2,108(a0)
> 401320: ac930070 sw s3,112(a0)
> 401324: ac940074 sw s4,116(a0)
> 401328: ac950078 sw s5,120(a0)
> 40132c: ac96007c sw s6,124(a0)
> 401330: cc9e00e0 pref 0x1e,224(a0)
> 401334: 8cb00084 lw s0,132(a1)
> 401338: 8cb10088 lw s1,136(a1)
> 40133c: 8cb2008c lw s2,140(a1)
> 401340: 8cb30090 lw s3,144(a1)
> 401344: 8cb40094 lw s4,148(a1)
> 401348: 8cb50098 lw s5,152(a1)
> 40134c: 8cb6009c lw s6,156(a1)
> 401350: ac8c0080 sw t4,128(a0)
> 401354: 8cac0180 lw t4,384(a1)
> 401358: ac900084 sw s0,132(a0)
> 40135c: ac910088 sw s1,136(a0)
> 401360: ac92008c sw s2,140(a0)
> 401364: ac930090 sw s3,144(a0)
> 401368: ac940094 sw s4,148(a0)
> 40136c: ac950098 sw s5,152(a0)
> 401370: ac96009c sw s6,156(a0)
> 401374: cc9e0100 pref 0x1e,256(a0)
> 401378: 8cb000a4 lw s0,164(a1)
> 40137c: 8cb100a8 lw s1,168(a1)
> 401380: 8cb200ac lw s2,172(a1)
> 401384: 8cb300b0 lw s3,176(a1)
> 401388: 8cb400b4 lw s4,180(a1)
> 40138c: 8cb500b8 lw s5,184(a1)
> 401390: 8cb600bc lw s6,188(a1)
> 401394: ac8d00a0 sw t5,160(a0)
> 401398: 8cad01a0 lw t5,416(a1)
> 40139c: ac9000a4 sw s0,164(a0)
> 4013a0: ac9100a8 sw s1,168(a0)
> 4013a4: ac9200ac sw s2,172(a0)
> 4013a8: ac9300b0 sw s3,176(a0)
> 4013ac: ac9400b4 sw s4,180(a0)
> 4013b0: ac9500b8 sw s5,184(a0)
> 4013b4: ac9600bc sw s6,188(a0)
> 4013b8: cc9e0120 pref 0x1e,288(a0)
> 4013bc: 8cb000c4 lw s0,196(a1)
> 4013c0: 8cb100c8 lw s1,200(a1)
> 4013c4: 8cb200cc lw s2,204(a1)
> 4013c8: 8cb300d0 lw s3,208(a1)
> 4013cc: 8cb400d4 lw s4,212(a1)
> 4013d0: 8cb500d8 lw s5,216(a1)
> 4013d4: 8cb600dc lw s6,220(a1)
> 4013d8: ac8e00c0 sw t6,192(a0)
> 4013dc: 8cae01c0 lw t6,448(a1)
> 4013e0: ac9000c4 sw s0,196(a0)
> 4013e4: ac9100c8 sw s1,200(a0)
> 4013e8: ac9200cc sw s2,204(a0)
> 4013ec: ac9300d0 sw s3,208(a0)
> 4013f0: ac9400d4 sw s4,212(a0)
> 4013f4: ac9500d8 sw s5,216(a0)
> 4013f8: ac9600dc sw s6,220(a0)
> 4013fc: cc9e0140 pref 0x1e,320(a0)
> 401400: 8cb000e4 lw s0,228(a1)
> 401404: 8cb100e8 lw s1,232(a1)
> 401408: 8cb200ec lw s2,236(a1)
> 40140c: 8cb300f0 lw s3,240(a1)
> 401410: 8cb400f4 lw s4,244(a1)
> 401414: 8cb500f8 lw s5,248(a1)
> 401418: 8cb600fc lw s6,252(a1)
> 40141c: ac8f00e0 sw t7,224(a0)
> 401420: 8caf01e0 lw t7,480(a1)
> 401424: ac9000e4 sw s0,228(a0)
> 401428: ac9100e8 sw s1,232(a0)
> 40142c: ac9200ec sw s2,236(a0)
> 401430: ac9300f0 sw s3,240(a0)
> 401434: ac9400f4 sw s4,244(a0)
> 401438: ac9500f8 sw s5,248(a0)
> 40143c: ac9600fc sw s6,252(a0)
> 401440: cc9e0160 pref 0x1e,352(a0)
> 401444: 20840100 addi a0,a0,256
> 401448: 1483ff76 bne a0,v1,401224 <__BMIPS5000_memcpy_intCopyLoopBack>
> 40144c: 20a50100 addi a1,a1,256
> 401450: 8cb00004 lw s0,4(a1)
> 401454: 8cb10008 lw s1,8(a1)
> 401458: 8cb2000c lw s2,12(a1)
> 40145c: 8cb30010 lw s3,16(a1)
> 401460: 8cb40014 lw s4,20(a1)
> 401464: 8cb50018 lw s5,24(a1)
> 401468: 8cb6001c lw s6,28(a1)
> 40146c: ac880000 sw t0,0(a0)
> 401470: ac900004 sw s0,4(a0)
> 401474: ac910008 sw s1,8(a0)
> 401478: ac92000c sw s2,12(a0)
> 40147c: ac930010 sw s3,16(a0)
> 401480: ac940014 sw s4,20(a0)
> 401484: ac950018 sw s5,24(a0)
> 401488: ac96001c sw s6,28(a0)
> 40148c: 8cb00024 lw s0,36(a1)
> 401490: 8cb10028 lw s1,40(a1)
> 401494: 8cb2002c lw s2,44(a1)
> 401498: 8cb30030 lw s3,48(a1)
> 40149c: 8cb40034 lw s4,52(a1)
> 4014a0: 8cb50038 lw s5,56(a1)
> 4014a4: 8cb6003c lw s6,60(a1)
> 4014a8: ac890020 sw t1,32(a0)
> 4014ac: ac900024 sw s0,36(a0)
> 4014b0: ac910028 sw s1,40(a0)
> 4014b4: ac92002c sw s2,44(a0)
> 4014b8: ac930030 sw s3,48(a0)
> 4014bc: ac940034 sw s4,52(a0)
> 4014c0: ac950038 sw s5,56(a0)
> 4014c4: ac96003c sw s6,60(a0)
> 4014c8: 8cb00044 lw s0,68(a1)
> 4014cc: 8cb10048 lw s1,72(a1)
> 4014d0: 8cb2004c lw s2,76(a1)
> 4014d4: 8cb30050 lw s3,80(a1)
> 4014d8: 8cb40054 lw s4,84(a1)
> 4014dc: 8cb50058 lw s5,88(a1)
> 4014e0: 8cb6005c lw s6,92(a1)
> 4014e4: ac8a0040 sw t2,64(a0)
> 4014e8: ac900044 sw s0,68(a0)
> 4014ec: ac910048 sw s1,72(a0)
> 4014f0: ac92004c sw s2,76(a0)
> 4014f4: ac930050 sw s3,80(a0)
> 4014f8: ac940054 sw s4,84(a0)
> 4014fc: ac950058 sw s5,88(a0)
> 401500: ac96005c sw s6,92(a0)
> 401504: 8cb00064 lw s0,100(a1)
> 401508: 8cb10068 lw s1,104(a1)
> 40150c: 8cb2006c lw s2,108(a1)
> 401510: 8cb30070 lw s3,112(a1)
> 401514: 8cb40074 lw s4,116(a1)
> 401518: 8cb50078 lw s5,120(a1)
> 40151c: 8cb6007c lw s6,124(a1)
> 401520: ac8b0060 sw t3,96(a0)
> 401524: ac900064 sw s0,100(a0)
> 401528: ac910068 sw s1,104(a0)
> 40152c: ac92006c sw s2,108(a0)
> 401530: ac930070 sw s3,112(a0)
> 401534: ac940074 sw s4,116(a0)
> 401538: ac950078 sw s5,120(a0)
> 40153c: ac96007c sw s6,124(a0)
> 401540: 8cb00084 lw s0,132(a1)
> 401544: 8cb10088 lw s1,136(a1)
> 401548: 8cb2008c lw s2,140(a1)
> 40154c: 8cb30090 lw s3,144(a1)
> 401550: 8cb40094 lw s4,148(a1)
> 401554: 8cb50098 lw s5,152(a1)
> 401558: 8cb6009c lw s6,156(a1)
> 40155c: ac8c0080 sw t4,128(a0)
> 401560: ac900084 sw s0,132(a0)
> 401564: ac910088 sw s1,136(a0)
> 401568: ac92008c sw s2,140(a0)
> 40156c: ac930090 sw s3,144(a0)
> 401570: ac940094 sw s4,148(a0)
> 401574: ac950098 sw s5,152(a0)
> 401578: ac96009c sw s6,156(a0)
> 40157c: 8cb000a4 lw s0,164(a1)
> 401580: 8cb100a8 lw s1,168(a1)
> 401584: 8cb200ac lw s2,172(a1)
> 401588: 8cb300b0 lw s3,176(a1)
> 40158c: 8cb400b4 lw s4,180(a1)
> 401590: 8cb500b8 lw s5,184(a1)
> 401594: 8cb600bc lw s6,188(a1)
> 401598: ac8d00a0 sw t5,160(a0)
> 40159c: ac9000a4 sw s0,164(a0)
> 4015a0: ac9100a8 sw s1,168(a0)
> 4015a4: ac9200ac sw s2,172(a0)
> 4015a8: ac9300b0 sw s3,176(a0)
> 4015ac: ac9400b4 sw s4,180(a0)
> 4015b0: ac9500b8 sw s5,184(a0)
> 4015b4: ac9600bc sw s6,188(a0)
> 4015b8: 8cb000c4 lw s0,196(a1)
> 4015bc: 8cb100c8 lw s1,200(a1)
> 4015c0: 8cb200cc lw s2,204(a1)
> 4015c4: 8cb300d0 lw s3,208(a1)
> 4015c8: 8cb400d4 lw s4,212(a1)
> 4015cc: 8cb500d8 lw s5,216(a1)
> 4015d0: 8cb600dc lw s6,220(a1)
> 4015d4: ac8e00c0 sw t6,192(a0)
> 4015d8: ac9000c4 sw s0,196(a0)
> 4015dc: ac9100c8 sw s1,200(a0)
> 4015e0: ac9200cc sw s2,204(a0)
> 4015e4: ac9300d0 sw s3,208(a0)
> 4015e8: ac9400d4 sw s4,212(a0)
> 4015ec: ac9500d8 sw s5,216(a0)
> 4015f0: ac9600dc sw s6,220(a0)
> 4015f4: 8cb000e4 lw s0,228(a1)
> 4015f8: 8cb100e8 lw s1,232(a1)
> 4015fc: 8cb200ec lw s2,236(a1)
> 401600: 8cb300f0 lw s3,240(a1)
> 401604: 8cb400f4 lw s4,244(a1)
> 401608: 8cb500f8 lw s5,248(a1)
> 40160c: 8cb600fc lw s6,252(a1)
> 401610: ac8f00e0 sw t7,224(a0)
> 401614: ac9000e4 sw s0,228(a0)
> 401618: ac9100e8 sw s1,232(a0)
> 40161c: ac9200ec sw s2,236(a0)
> 401620: ac9300f0 sw s3,240(a0)
> 401624: ac9400f4 sw s4,244(a0)
> 401628: ac9500f8 sw s5,248(a0)
> 40162c: ac9600fc sw s6,252(a0)
> 401630: 20840100 addi a0,a0,256
> 401634: 20a50100 addi a1,a1,256
> 401638: 8fb00000 lw s0,0(sp)
> 40163c: 8fb10004 lw s1,4(sp)
> 401640: 8fb20008 lw s2,8(sp)
> 401644: 8fb3000c lw s3,12(sp)
> 401648: 8fb40010 lw s4,16(sp)
> 40164c: 8fb50014 lw s5,20(sp)
> 401650: 8fb60018 lw s6,24(sp)
> 401654: 27bd001c addiu sp,sp,28
> 401658: 1000feae b 401114 <__BMIPS5000_memcpy_check4w>
> 40165c: 00000000 nop
>
> 00401660 <__BMIPS5000_memcpy_unAlignSrcDest>:
> 401660: 30e70003 andi a3,a3,0x3
> 401664: 10e00006 beqz a3,401680 <__BMIPS5000_memcpy_uaCheck512>
> 401668: 00c73023 subu a2,a2,a3
> 40166c: 98a80000 lwr t0,0(a1)
> 401670: 88a80003 lwl t0,3(a1)
> 401674: 00a72821 addu a1,a1,a3
> 401678: b8880000 swr t0,0(a0)
> 40167c: 00872021 addu a0,a0,a3
>
> 00401680 <__BMIPS5000_memcpy_uaCheck512>:
> 401680: 30c801ff andi t0,a2,0x1ff
> 401684: 110600f1 beq t0,a2,401a4c <__BMIPS5000_memcpy_uaCheck4w>
> 401688: 00c83823 subu a3,a2,t0
> 40168c: 00e43821 addu a3,a3,a0
> 401690: 24e7ff00 addiu a3,a3,-256
> ...
> 4016a0: 01003021 move a2,t0
> 4016a4: 98ae0000 lwr t6,0(a1)
> 4016a8: 208f0300 addi t7,a0,768
>
> 004016ac <__BMIPS5000_memcpy_uaLoopBack>:
> 4016ac: cc9e0040 pref 0x1e,64(a0)
> 4016b0: 98ad0040 lwr t5,64(a1)
> 4016b4: 98aa0004 lwr t2,4(a1)
> 4016b8: 98ab0008 lwr t3,8(a1)
> 4016bc: 98ac000c lwr t4,12(a1)
> 4016c0: 88ae0003 lwl t6,3(a1)
> 4016c4: 88aa0007 lwl t2,7(a1)
> 4016c8: 88ab000b lwl t3,11(a1)
> 4016cc: 88ac000f lwl t4,15(a1)
> 4016d0: ac8e0000 sw t6,0(a0)
> 4016d4: ac8a0004 sw t2,4(a0)
> 4016d8: ac8b0008 sw t3,8(a0)
> 4016dc: ac8c000c sw t4,12(a0)
> 4016e0: 01e7082a slt at,t7,a3
> 4016e4: 10200002 beqz at,4016f0 <__BMIPS5000_memcpy_uaSkip>
> 4016e8: 21ef0100 addi t7,t7,256
> 4016ec: 80a00300 lb zero,768(a1)
>
> 004016f0 <__BMIPS5000_memcpy_uaSkip>:
> 4016f0: 98a90010 lwr t1,16(a1)
> 4016f4: 98aa0014 lwr t2,20(a1)
> 4016f8: 98ab0018 lwr t3,24(a1)
> 4016fc: 98ac001c lwr t4,28(a1)
> 401700: 88a90013 lwl t1,19(a1)
> 401704: 88aa0017 lwl t2,23(a1)
> 401708: 88ab001b lwl t3,27(a1)
> 40170c: 88ac001f lwl t4,31(a1)
> 401710: ac890010 sw t1,16(a0)
> 401714: ac8a0014 sw t2,20(a0)
> 401718: ac8b0018 sw t3,24(a0)
> 40171c: ac8c001c sw t4,28(a0)
> 401720: 98a90020 lwr t1,32(a1)
> 401724: 98aa0024 lwr t2,36(a1)
> 401728: 98ab0028 lwr t3,40(a1)
> 40172c: 98ac002c lwr t4,44(a1)
> 401730: 88a90023 lwl t1,35(a1)
> 401734: 88aa0027 lwl t2,39(a1)
> 401738: 88ab002b lwl t3,43(a1)
> 40173c: 88ac002f lwl t4,47(a1)
> 401740: ac890020 sw t1,32(a0)
> 401744: ac8a0024 sw t2,36(a0)
> 401748: ac8b0028 sw t3,40(a0)
> 40174c: ac8c002c sw t4,44(a0)
> 401750: 98a90030 lwr t1,48(a1)
> 401754: 98aa0034 lwr t2,52(a1)
> 401758: 98ab0038 lwr t3,56(a1)
> 40175c: 98ac003c lwr t4,60(a1)
> 401760: 88a90033 lwl t1,51(a1)
> 401764: 88aa0037 lwl t2,55(a1)
> 401768: 88ab003b lwl t3,59(a1)
> 40176c: 88ac003f lwl t4,63(a1)
> 401770: ac890030 sw t1,48(a0)
> 401774: ac8a0034 sw t2,52(a0)
> 401778: ac8b0038 sw t3,56(a0)
> 40177c: ac8c003c sw t4,60(a0)
> 401780: cc9e0080 pref 0x1e,128(a0)
> 401784: 98ae0080 lwr t6,128(a1)
> 401788: 98aa0044 lwr t2,68(a1)
> 40178c: 98ab0048 lwr t3,72(a1)
> 401790: 98ac004c lwr t4,76(a1)
> 401794: 88ad0043 lwl t5,67(a1)
> 401798: 88aa0047 lwl t2,71(a1)
> 40179c: 88ab004b lwl t3,75(a1)
> 4017a0: 88ac004f lwl t4,79(a1)
> 4017a4: ac8d0040 sw t5,64(a0)
> 4017a8: ac8a0044 sw t2,68(a0)
> 4017ac: ac8b0048 sw t3,72(a0)
> 4017b0: ac8c004c sw t4,76(a0)
> 4017b4: 98a90050 lwr t1,80(a1)
> 4017b8: 98aa0054 lwr t2,84(a1)
> 4017bc: 98ab0058 lwr t3,88(a1)
> 4017c0: 98ac005c lwr t4,92(a1)
> 4017c4: 88a90053 lwl t1,83(a1)
> 4017c8: 88aa0057 lwl t2,87(a1)
> 4017cc: 88ab005b lwl t3,91(a1)
> 4017d0: 88ac005f lwl t4,95(a1)
> 4017d4: ac890050 sw t1,80(a0)
> 4017d8: ac8a0054 sw t2,84(a0)
> 4017dc: ac8b0058 sw t3,88(a0)
> 4017e0: ac8c005c sw t4,92(a0)
> 4017e4: 98a90060 lwr t1,96(a1)
> 4017e8: 98aa0064 lwr t2,100(a1)
> 4017ec: 98ab0068 lwr t3,104(a1)
> 4017f0: 98ac006c lwr t4,108(a1)
> 4017f4: 88a90063 lwl t1,99(a1)
> 4017f8: 88aa0067 lwl t2,103(a1)
> 4017fc: 88ab006b lwl t3,107(a1)
> 401800: 88ac006f lwl t4,111(a1)
> 401804: ac890060 sw t1,96(a0)
> 401808: ac8a0064 sw t2,100(a0)
> 40180c: ac8b0068 sw t3,104(a0)
> 401810: ac8c006c sw t4,108(a0)
> 401814: 98a90070 lwr t1,112(a1)
> 401818: 98aa0074 lwr t2,116(a1)
> 40181c: 98ab0078 lwr t3,120(a1)
> 401820: 98ac007c lwr t4,124(a1)
> 401824: 88a90073 lwl t1,115(a1)
> 401828: 88aa0077 lwl t2,119(a1)
> 40182c: 88ab007b lwl t3,123(a1)
> 401830: 88ac007f lwl t4,127(a1)
> 401834: ac890070 sw t1,112(a0)
> 401838: ac8a0074 sw t2,116(a0)
> 40183c: ac8b0078 sw t3,120(a0)
> 401840: ac8c007c sw t4,124(a0)
> 401844: cc9e00c0 pref 0x1e,192(a0)
> 401848: 98ad00c0 lwr t5,192(a1)
> 40184c: 98aa0084 lwr t2,132(a1)
> 401850: 98ab0088 lwr t3,136(a1)
> 401854: 98ac008c lwr t4,140(a1)
> 401858: 88ae0083 lwl t6,131(a1)
> 40185c: 88aa0087 lwl t2,135(a1)
> 401860: 88ab008b lwl t3,139(a1)
> 401864: 88ac008f lwl t4,143(a1)
> 401868: ac8e0080 sw t6,128(a0)
> 40186c: ac8a0084 sw t2,132(a0)
> 401870: ac8b0088 sw t3,136(a0)
> 401874: ac8c008c sw t4,140(a0)
> 401878: 98a90090 lwr t1,144(a1)
> 40187c: 98aa0094 lwr t2,148(a1)
> 401880: 98ab0098 lwr t3,152(a1)
> 401884: 98ac009c lwr t4,156(a1)
> 401888: 88a90093 lwl t1,147(a1)
> 40188c: 88aa0097 lwl t2,151(a1)
> 401890: 88ab009b lwl t3,155(a1)
> 401894: 88ac009f lwl t4,159(a1)
> 401898: ac890090 sw t1,144(a0)
> 40189c: ac8a0094 sw t2,148(a0)
> 4018a0: ac8b0098 sw t3,152(a0)
> 4018a4: ac8c009c sw t4,156(a0)
> 4018a8: 98a900a0 lwr t1,160(a1)
> 4018ac: 98aa00a4 lwr t2,164(a1)
> 4018b0: 98ab00a8 lwr t3,168(a1)
> 4018b4: 98ac00ac lwr t4,172(a1)
> 4018b8: 88a900a3 lwl t1,163(a1)
> 4018bc: 88aa00a7 lwl t2,167(a1)
> 4018c0: 88ab00ab lwl t3,171(a1)
> 4018c4: 88ac00af lwl t4,175(a1)
> 4018c8: ac8900a0 sw t1,160(a0)
> 4018cc: ac8a00a4 sw t2,164(a0)
> 4018d0: ac8b00a8 sw t3,168(a0)
> 4018d4: ac8c00ac sw t4,172(a0)
> 4018d8: 98a900b0 lwr t1,176(a1)
> 4018dc: 98aa00b4 lwr t2,180(a1)
> 4018e0: 98ab00b8 lwr t3,184(a1)
> 4018e4: 98ac00bc lwr t4,188(a1)
> 4018e8: 88a900b3 lwl t1,179(a1)
> 4018ec: 88aa00b7 lwl t2,183(a1)
> 4018f0: 88ab00bb lwl t3,187(a1)
> 4018f4: 88ac00bf lwl t4,191(a1)
> 4018f8: ac8900b0 sw t1,176(a0)
> 4018fc: ac8a00b4 sw t2,180(a0)
> 401900: ac8b00b8 sw t3,184(a0)
> 401904: ac8c00bc sw t4,188(a0)
> 401908: cc9e0100 pref 0x1e,256(a0)
> 40190c: 98ae0100 lwr t6,256(a1)
> 401910: 98aa00c4 lwr t2,196(a1)
> 401914: 98ab00c8 lwr t3,200(a1)
> 401918: 98ac00cc lwr t4,204(a1)
> 40191c: 88ad00c3 lwl t5,195(a1)
> 401920: 88aa00c7 lwl t2,199(a1)
> 401924: 88ab00cb lwl t3,203(a1)
> 401928: 88ac00cf lwl t4,207(a1)
> 40192c: ac8d00c0 sw t5,192(a0)
> 401930: ac8a00c4 sw t2,196(a0)
> 401934: ac8b00c8 sw t3,200(a0)
> 401938: ac8c00cc sw t4,204(a0)
> 40193c: 98a900d0 lwr t1,208(a1)
> 401940: 98aa00d4 lwr t2,212(a1)
> 401944: 98ab00d8 lwr t3,216(a1)
> 401948: 98ac00dc lwr t4,220(a1)
> 40194c: 88a900d3 lwl t1,211(a1)
> 401950: 88aa00d7 lwl t2,215(a1)
> 401954: 88ab00db lwl t3,219(a1)
> 401958: 88ac00df lwl t4,223(a1)
> 40195c: ac8900d0 sw t1,208(a0)
> 401960: ac8a00d4 sw t2,212(a0)
> 401964: ac8b00d8 sw t3,216(a0)
> 401968: ac8c00dc sw t4,220(a0)
> 40196c: 98a900e0 lwr t1,224(a1)
> 401970: 98aa00e4 lwr t2,228(a1)
> 401974: 98ab00e8 lwr t3,232(a1)
> 401978: 98ac00ec lwr t4,236(a1)
> 40197c: 88a900e3 lwl t1,227(a1)
> 401980: 88aa00e7 lwl t2,231(a1)
> 401984: 88ab00eb lwl t3,235(a1)
> 401988: 88ac00ef lwl t4,239(a1)
> 40198c: ac8900e0 sw t1,224(a0)
> 401990: ac8a00e4 sw t2,228(a0)
> 401994: ac8b00e8 sw t3,232(a0)
> 401998: ac8c00ec sw t4,236(a0)
> 40199c: 98a900f0 lwr t1,240(a1)
> 4019a0: 98aa00f4 lwr t2,244(a1)
> 4019a4: 98ab00f8 lwr t3,248(a1)
> 4019a8: 98ac00fc lwr t4,252(a1)
> 4019ac: 88a900f3 lwl t1,243(a1)
> 4019b0: 88aa00f7 lwl t2,247(a1)
> 4019b4: 88ab00fb lwl t3,251(a1)
> 4019b8: 88ac00ff lwl t4,255(a1)
> 4019bc: ac8900f0 sw t1,240(a0)
> 4019c0: ac8a00f4 sw t2,244(a0)
> 4019c4: ac8b00f8 sw t3,248(a0)
> 4019c8: ac8c00fc sw t4,252(a0)
> 4019cc: 20840100 addi a0,a0,256
> 4019d0: 1487ff36 bne a0,a3,4016ac <__BMIPS5000_memcpy_uaLoopBack>
> 4019d4: 20a50100 addi a1,a1,256
> 4019d8: 24e70100 addiu a3,a3,256
>
> 004019dc <__BMIPS5000_memcpy_uaRemain64LoopBack>:
> 4019dc: 98ae0000 lwr t6,0(a1)
> 4019e0: 98aa0004 lwr t2,4(a1)
> 4019e4: 98ab0008 lwr t3,8(a1)
> 4019e8: 98ac000c lwr t4,12(a1)
> 4019ec: 88ae0003 lwl t6,3(a1)
> 4019f0: 88aa0007 lwl t2,7(a1)
> 4019f4: 88ab000b lwl t3,11(a1)
> 4019f8: 88ac000f lwl t4,15(a1)
> 4019fc: ac8e0000 sw t6,0(a0)
> 401a00: ac8a0004 sw t2,4(a0)
> 401a04: ac8b0008 sw t3,8(a0)
> 401a08: ac8c000c sw t4,12(a0)
> 401a0c: 98ae0010 lwr t6,16(a1)
> 401a10: 98aa0014 lwr t2,20(a1)
> 401a14: 98ab0018 lwr t3,24(a1)
> 401a18: 98ac001c lwr t4,28(a1)
> 401a1c: 88ae0013 lwl t6,19(a1)
> 401a20: 88aa0017 lwl t2,23(a1)
> 401a24: 88ab001b lwl t3,27(a1)
> 401a28: 88ac001f lwl t4,31(a1)
> 401a2c: ac8e0010 sw t6,16(a0)
> 401a30: ac8a0014 sw t2,20(a0)
> 401a34: ac8b0018 sw t3,24(a0)
> 401a38: ac8c001c sw t4,28(a0)
> 401a3c: 24840020 addiu a0,a0,32
> 401a40: 1487ffe6 bne a0,a3,4019dc <__BMIPS5000_memcpy_uaRemain64LoopBack>
> 401a44: 24a50020 addiu a1,a1,32
> 401a48: 00e63821 addu a3,a3,a2
>
> 00401a4c <__BMIPS5000_memcpy_uaCheck4w>:
> 401a4c: 30c8000f andi t0,a2,0xf
> 401a50: 11060012 beq t0,a2,401a9c <__BMIPS5000_memcpy_uaCheck1w>
> 401a54: 00c83823 subu a3,a2,t0
> 401a58: 00e53821 addu a3,a3,a1
> 401a5c: 01003021 move a2,t0
>
> 00401a60 <__BMIPS5000_memcpy_ua4wLoopBack>:
> 401a60: 98a80000 lwr t0,0(a1)
> 401a64: 98a90004 lwr t1,4(a1)
> 401a68: 98aa0008 lwr t2,8(a1)
> 401a6c: 98ab000c lwr t3,12(a1)
> 401a70: 88a80003 lwl t0,3(a1)
> 401a74: 88a90007 lwl t1,7(a1)
> 401a78: 88aa000b lwl t2,11(a1)
> 401a7c: 88ab000f lwl t3,15(a1)
> 401a80: ac880000 sw t0,0(a0)
> 401a84: ac890004 sw t1,4(a0)
> 401a88: ac8a0008 sw t2,8(a0)
> 401a8c: 24840010 addiu a0,a0,16
> 401a90: 24a50010 addiu a1,a1,16
> 401a94: 14a7fff2 bne a1,a3,401a60 <__BMIPS5000_memcpy_ua4wLoopBack>
> 401a98: ac8bfffc sw t3,-4(a0)
>
> 00401a9c <__BMIPS5000_memcpy_uaCheck1w>:
> 401a9c: 30c80003 andi t0,a2,0x3
> 401aa0: 1106fdb6 beq t0,a2,40117c <__BMIPS5000_memcpy_last8ByteCopy>
> 401aa4: 00c83823 subu a3,a2,t0
> 401aa8: 00e43821 addu a3,a3,a0
>
> 00401aac <__BMIPS5000_memcpy_uaRemain>:
> 401aac: 98a90000 lwr t1,0(a1)
> 401ab0: 88a90003 lwl t1,3(a1)
> 401ab4: 24840004 addiu a0,a0,4
> 401ab8: 24a50004 addiu a1,a1,4
> 401abc: 1487fffb bne a0,a3,401aac <__BMIPS5000_memcpy_uaRemain>
> 401ac0: ac89fffc sw t1,-4(a0)
> 401ac4: 1000fdad b 40117c <__BMIPS5000_memcpy_last8ByteCopy>
> 401ac8: 01003021 move a2,t0
>
> 00401acc <detect_cpu>:
> 401acc: 24080ce4 li t0,3300
> 401ad0: 3c020041 lui v0,0x41
> 401ad4: 8c423144 lw v0,12612(v0)
> 401ad8: 1040fa11 beqz v0,400320 <detect_done>
> 401adc: 00000000 nop
> 401ae0: 2408111c li t0,4380
> 401ae4: 00404821 move t1,v0
> 401ae8: 3c0a0041 lui t2,0x41
> 401aec: 254a3064 addiu t2,t2,12388
> 401af0: 812b0000 lb t3,0(t1)
> 401af4: 814c0000 lb t4,0(t2)
> 401af8: 156c0005 bne t3,t4,401b10 <detect_cpu+0x44>
> 401afc: 25290001 addiu t1,t1,1
> 401b00: 11600010 beqz t3,401b44 <detect_cpu+0x78>
> 401b04: 254a0001 addiu t2,t2,1
> 401b08: 1580fff9 bnez t4,401af0 <detect_cpu+0x24>
> 401b0c: 00000000 nop
> 401b10: 24081388 li t0,5000
> 401b14: 00404821 move t1,v0
> 401b18: 3c0a0041 lui t2,0x41
> 401b1c: 254a306e addiu t2,t2,12398
> 401b20: 812b0000 lb t3,0(t1)
> 401b24: 814c0000 lb t4,0(t2)
> 401b28: 156c0005 bne t3,t4,401b40 <detect_cpu+0x74>
> 401b2c: 25290001 addiu t1,t1,1
> 401b30: 11600004 beqz t3,401b44 <detect_cpu+0x78>
> 401b34: 254a0001 addiu t2,t2,1
> 401b38: 1580fff9 bnez t4,401b20 <detect_cpu+0x54>
> 401b3c: 00000000 nop
> 401b40: 24080ce4 li t0,3300
> 401b44: 3c010041 lui at,0x41
> 401b48: ac283060 sw t0,12384(at)
> 401b4c: 1000f9f4 b 400320 <detect_done>
> 401b50: 00000000 nop
> ...
>
More information about the uClibc
mailing list