/home/xin/repo/ysyx-workbench/am-kernels/tests/cpu-tests/build/mersenne-riscv32-nemu.elf: file format elf32-littleriscv Disassembly of section .text: 80000000 <_start>: 80000000: 00000413 li s0,0 80000004: 00009117 auipc sp,0x9 80000008: ffc10113 add sp,sp,-4 # 80009000 <_end> 8000000c: 134000ef jal 80000140 <_trm_init> 80000010 : 80000010: 00050463 beqz a0,80000018 80000014: 00008067 ret 80000018: ff010113 add sp,sp,-16 8000001c: 00100513 li a0,1 80000020: 00112623 sw ra,12(sp) 80000024: 110000ef jal 80000134 80000028
: 80000028: fe010113 add sp,sp,-32 8000002c: 00112e23 sw ra,28(sp) 80000030: 00812c23 sw s0,24(sp) 80000034: 00500793 li a5,5 80000038: 3a100693 li a3,929 8000003c: 00878713 add a4,a5,8 80000040: 00678793 add a5,a5,6 80000044: 02f78633 mul a2,a5,a5 80000048: 02c6c463 blt a3,a2,80000070 8000004c: 00d78663 beq a5,a3,80000058 80000050: 02e6e733 rem a4,a3,a4 80000054: fe0714e3 bnez a4,8000003c 80000058: 00100413 li s0,1 8000005c: 01c12083 lw ra,28(sp) 80000060: 00040513 mv a0,s0 80000064: 01812403 lw s0,24(sp) 80000068: 02010113 add sp,sp,32 8000006c: 00008067 ret 80000070: 01312623 sw s3,12(sp) 80000074: 00912a23 sw s1,20(sp) 80000078: 01212823 sw s2,16(sp) 8000007c: 01412423 sw s4,8(sp) 80000080: 01600793 li a5,22 80000084: 3a100993 li s3,929 80000088: fff78793 add a5,a5,-1 8000008c: 00199993 sll s3,s3,0x1 80000090: fe079ce3 bnez a5,80000088 80000094: 74300493 li s1,1859 80000098: 00100a13 li s4,1 8000009c: 41f4d913 sra s2,s1,0x1f 800000a0: 00098413 mv s0,s3 800000a4: 00100793 li a5,1 800000a8: 02f795b3 mulh a1,a5,a5 800000ac: 00048613 mv a2,s1 800000b0: 00090693 mv a3,s2 800000b4: 02f78533 mul a0,a5,a5 800000b8: 410000ef jal 800004c8 <__moddi3> 800000bc: 00050793 mv a5,a0 800000c0: 02044663 bltz s0,800000ec 800000c4: 00a4d463 bge s1,a0,800000cc 800000c8: 409507b3 sub a5,a0,s1 800000cc: 02f795b3 mulh a1,a5,a5 800000d0: 00048613 mv a2,s1 800000d4: 00090693 mv a3,s2 800000d8: 00141413 sll s0,s0,0x1 800000dc: 02f78533 mul a0,a5,a5 800000e0: 3e8000ef jal 800004c8 <__moddi3> 800000e4: 00050793 mv a5,a0 800000e8: fc045ee3 bgez s0,800000c4 800000ec: 00151793 sll a5,a0,0x1 800000f0: 00141413 sll s0,s0,0x1 800000f4: 00f4d463 bge s1,a5,800000fc 800000f8: 409787b3 sub a5,a5,s1 800000fc: fa0416e3 bnez s0,800000a8 80000100: 01478663 beq a5,s4,8000010c 80000104: 74248493 add s1,s1,1858 80000108: f95ff06f j 8000009c 8000010c: ffffd7b7 lui a5,0xffffd 80000110: d3178793 add a5,a5,-719 # ffffcd31 <_end+0x7fff3d31> 80000114: 00f48533 add a0,s1,a5 80000118: 00153513 seqz a0,a0 8000011c: ef5ff0ef jal 80000010 80000120: 01412483 lw s1,20(sp) 80000124: 01012903 lw s2,16(sp) 80000128: 00c12983 lw s3,12(sp) 8000012c: 00812a03 lw s4,8(sp) 80000130: f2dff06f j 8000005c 80000134 : 80000134: 00050513 mv a0,a0 80000138: 00100073 ebreak 8000013c: 0000006f j 8000013c 80000140 <_trm_init>: 80000140: ff010113 add sp,sp,-16 80000144: 00000517 auipc a0,0x0 80000148: 50850513 add a0,a0,1288 # 8000064c <_etext> 8000014c: 00112623 sw ra,12(sp) 80000150: ed9ff0ef jal 80000028
80000154: 00050513 mv a0,a0 80000158: 00100073 ebreak 8000015c: 0000006f j 8000015c <_trm_init+0x1c> 80000160 <__udivmoddi4>: 80000160: fd010113 add sp,sp,-48 80000164: 01312e23 sw s3,28(sp) 80000168: 01412c23 sw s4,24(sp) 8000016c: 01612823 sw s6,16(sp) 80000170: 01712623 sw s7,12(sp) 80000174: 02112623 sw ra,44(sp) 80000178: 00068b13 mv s6,a3 8000017c: 00050993 mv s3,a0 80000180: 00060a13 mv s4,a2 80000184: 00070b93 mv s7,a4 80000188: 02059e63 bnez a1,800001c4 <__udivmoddi4+0x64> 8000018c: 1a069263 bnez a3,80000330 <__udivmoddi4+0x1d0> 80000190: 00070863 beqz a4,800001a0 <__udivmoddi4+0x40> 80000194: 02c577b3 remu a5,a0,a2 80000198: 00072223 sw zero,4(a4) 8000019c: 00f72023 sw a5,0(a4) 800001a0: 0349d533 divu a0,s3,s4 800001a4: 00000593 li a1,0 800001a8: 02c12083 lw ra,44(sp) 800001ac: 01c12983 lw s3,28(sp) 800001b0: 01812a03 lw s4,24(sp) 800001b4: 01012b03 lw s6,16(sp) 800001b8: 00c12b83 lw s7,12(sp) 800001bc: 03010113 add sp,sp,48 800001c0: 00008067 ret 800001c4: 02912223 sw s1,36(sp) 800001c8: 03212023 sw s2,32(sp) 800001cc: 01512a23 sw s5,20(sp) 800001d0: 02812423 sw s0,40(sp) 800001d4: 00058913 mv s2,a1 800001d8: 00058493 mv s1,a1 800001dc: 00060a93 mv s5,a2 800001e0: 0e061e63 bnez a2,800002dc <__udivmoddi4+0x17c> 800001e4: 1c068063 beqz a3,800003a4 <__udivmoddi4+0x244> 800001e8: 22050a63 beqz a0,8000041c <__udivmoddi4+0x2bc> 800001ec: fff68793 add a5,a3,-1 800001f0: 00d7f733 and a4,a5,a3 800001f4: 28070263 beqz a4,80000478 <__udivmoddi4+0x318> 800001f8: 00068513 mv a0,a3 800001fc: 348000ef jal 80000544 <__clzsi2> 80000200: 00050413 mv s0,a0 80000204: 00090513 mv a0,s2 80000208: 33c000ef jal 80000544 <__clzsi2> 8000020c: 40a406b3 sub a3,s0,a0 80000210: 01e00793 li a5,30 80000214: 18d7ea63 bltu a5,a3,800003a8 <__udivmoddi4+0x248> 80000218: 00168693 add a3,a3,1 8000021c: 02000793 li a5,32 80000220: 40d787b3 sub a5,a5,a3 80000224: 00f91633 sll a2,s2,a5 80000228: 00d9d733 srl a4,s3,a3 8000022c: 00d95433 srl s0,s2,a3 80000230: 00f99833 sll a6,s3,a5 80000234: 00e664b3 or s1,a2,a4 80000238: 00000713 li a4,0 8000023c: 01f85793 srl a5,a6,0x1f 80000240: 00149593 sll a1,s1,0x1 80000244: 00f5e5b3 or a1,a1,a5 80000248: 01f4d493 srl s1,s1,0x1f 8000024c: 00141793 sll a5,s0,0x1 80000250: 0097e7b3 or a5,a5,s1 80000254: 40ba0333 sub t1,s4,a1 80000258: 006a3633 sltu a2,s4,t1 8000025c: 40fb08b3 sub a7,s6,a5 80000260: 40c888b3 sub a7,a7,a2 80000264: 00133313 seqz t1,t1 80000268: 406888b3 sub a7,a7,t1 8000026c: 41f8d313 sra t1,a7,0x1f 80000270: 014374b3 and s1,t1,s4 80000274: 409584b3 sub s1,a1,s1 80000278: 01637333 and t1,t1,s6 8000027c: 01fad613 srl a2,s5,0x1f 80000280: 00181813 sll a6,a6,0x1 80000284: 001a9a93 sll s5,s5,0x1 80000288: 0095b5b3 sltu a1,a1,s1 8000028c: 406787b3 sub a5,a5,t1 80000290: fff68693 add a3,a3,-1 80000294: 00eaeab3 or s5,s5,a4 80000298: 00c86833 or a6,a6,a2 8000029c: 01f8d713 srl a4,a7,0x1f 800002a0: 40b78433 sub s0,a5,a1 800002a4: f8069ce3 bnez a3,8000023c <__udivmoddi4+0xdc> 800002a8: 000b8663 beqz s7,800002b4 <__udivmoddi4+0x154> 800002ac: 009ba023 sw s1,0(s7) 800002b0: 008ba223 sw s0,4(s7) 800002b4: 01fad913 srl s2,s5,0x1f 800002b8: 001a9993 sll s3,s5,0x1 800002bc: 00181793 sll a5,a6,0x1 800002c0: 00f965b3 or a1,s2,a5 800002c4: 02812403 lw s0,40(sp) 800002c8: 02412483 lw s1,36(sp) 800002cc: 02012903 lw s2,32(sp) 800002d0: 01412a83 lw s5,20(sp) 800002d4: 00e9e533 or a0,s3,a4 800002d8: ed1ff06f j 800001a8 <__udivmoddi4+0x48> 800002dc: 06068663 beqz a3,80000348 <__udivmoddi4+0x1e8> 800002e0: 00068513 mv a0,a3 800002e4: 260000ef jal 80000544 <__clzsi2> 800002e8: 00050413 mv s0,a0 800002ec: 00090513 mv a0,s2 800002f0: 254000ef jal 80000544 <__clzsi2> 800002f4: 40a406b3 sub a3,s0,a0 800002f8: 01f00793 li a5,31 800002fc: 0ad7e663 bltu a5,a3,800003a8 <__udivmoddi4+0x248> 80000300: 00168693 add a3,a3,1 80000304: 02000793 li a5,32 80000308: 00098813 mv a6,s3 8000030c: 18f68663 beq a3,a5,80000498 <__udivmoddi4+0x338> 80000310: 40d787b3 sub a5,a5,a3 80000314: 00d9d733 srl a4,s3,a3 80000318: 00f91633 sll a2,s2,a5 8000031c: 00d95433 srl s0,s2,a3 80000320: 00f99833 sll a6,s3,a5 80000324: 00e664b3 or s1,a2,a4 80000328: 00000a93 li s5,0 8000032c: f0dff06f j 80000238 <__udivmoddi4+0xd8> 80000330: 00070663 beqz a4,8000033c <__udivmoddi4+0x1dc> 80000334: 00aba023 sw a0,0(s7) 80000338: 00072223 sw zero,4(a4) 8000033c: 00000513 li a0,0 80000340: 00000593 li a1,0 80000344: e65ff06f j 800001a8 <__udivmoddi4+0x48> 80000348: fff60793 add a5,a2,-1 8000034c: 00c7f733 and a4,a5,a2 80000350: 06071c63 bnez a4,800003c8 <__udivmoddi4+0x268> 80000354: 000b8863 beqz s7,80000364 <__udivmoddi4+0x204> 80000358: 00a7f7b3 and a5,a5,a0 8000035c: 00fba023 sw a5,0(s7) 80000360: 000ba223 sw zero,4(s7) 80000364: 00100793 li a5,1 80000368: 0efa0063 beq s4,a5,80000448 <__udivmoddi4+0x2e8> 8000036c: 000a0513 mv a0,s4 80000370: 264000ef jal 800005d4 <__ctzsi2> 80000374: 02000713 li a4,32 80000378: 40a70733 sub a4,a4,a0 8000037c: 00050793 mv a5,a0 80000380: 00e91733 sll a4,s2,a4 80000384: 00a9d833 srl a6,s3,a0 80000388: 00f955b3 srl a1,s2,a5 8000038c: 02812403 lw s0,40(sp) 80000390: 02412483 lw s1,36(sp) 80000394: 02012903 lw s2,32(sp) 80000398: 01412a83 lw s5,20(sp) 8000039c: 01076533 or a0,a4,a6 800003a0: e09ff06f j 800001a8 <__udivmoddi4+0x48> 800003a4: 00100073 ebreak 800003a8: 0a0b8e63 beqz s7,80000464 <__udivmoddi4+0x304> 800003ac: 012ba223 sw s2,4(s7) 800003b0: 02812403 lw s0,40(sp) 800003b4: 02412483 lw s1,36(sp) 800003b8: 02012903 lw s2,32(sp) 800003bc: 01412a83 lw s5,20(sp) 800003c0: 013ba023 sw s3,0(s7) 800003c4: f79ff06f j 8000033c <__udivmoddi4+0x1dc> 800003c8: 00060513 mv a0,a2 800003cc: 00068413 mv s0,a3 800003d0: 174000ef jal 80000544 <__clzsi2> 800003d4: 00050913 mv s2,a0 800003d8: 00048513 mv a0,s1 800003dc: 168000ef jal 80000544 <__clzsi2> 800003e0: 40a90533 sub a0,s2,a0 800003e4: 02150693 add a3,a0,33 800003e8: 02000793 li a5,32 800003ec: 00098813 mv a6,s3 800003f0: 00000a93 li s5,0 800003f4: e4f682e3 beq a3,a5,80000238 <__udivmoddi4+0xd8> 800003f8: 01f00713 li a4,31 800003fc: 0ad76463 bltu a4,a3,800004a4 <__udivmoddi4+0x344> 80000400: 40d78733 sub a4,a5,a3 80000404: 00d4d433 srl s0,s1,a3 80000408: 00d9d7b3 srl a5,s3,a3 8000040c: 00e494b3 sll s1,s1,a4 80000410: 00f4e4b3 or s1,s1,a5 80000414: 00e99833 sll a6,s3,a4 80000418: e21ff06f j 80000238 <__udivmoddi4+0xd8> 8000041c: 00070863 beqz a4,8000042c <__udivmoddi4+0x2cc> 80000420: 02d5f7b3 remu a5,a1,a3 80000424: 00072023 sw zero,0(a4) 80000428: 00f72223 sw a5,4(a4) 8000042c: 03695533 divu a0,s2,s6 80000430: 02812403 lw s0,40(sp) 80000434: 02412483 lw s1,36(sp) 80000438: 02012903 lw s2,32(sp) 8000043c: 01412a83 lw s5,20(sp) 80000440: 00000593 li a1,0 80000444: d65ff06f j 800001a8 <__udivmoddi4+0x48> 80000448: 00090593 mv a1,s2 8000044c: 02812403 lw s0,40(sp) 80000450: 02412483 lw s1,36(sp) 80000454: 02012903 lw s2,32(sp) 80000458: 01412a83 lw s5,20(sp) 8000045c: 00098513 mv a0,s3 80000460: d49ff06f j 800001a8 <__udivmoddi4+0x48> 80000464: 02812403 lw s0,40(sp) 80000468: 02412483 lw s1,36(sp) 8000046c: 02012903 lw s2,32(sp) 80000470: 01412a83 lw s5,20(sp) 80000474: ec9ff06f j 8000033c <__udivmoddi4+0x1dc> 80000478: 000b8863 beqz s7,80000488 <__udivmoddi4+0x328> 8000047c: 00b7f7b3 and a5,a5,a1 80000480: 00aba023 sw a0,0(s7) 80000484: 00fba223 sw a5,4(s7) 80000488: 000b0513 mv a0,s6 8000048c: 148000ef jal 800005d4 <__ctzsi2> 80000490: 00a95533 srl a0,s2,a0 80000494: f9dff06f j 80000430 <__udivmoddi4+0x2d0> 80000498: 00000413 li s0,0 8000049c: 00000a93 li s5,0 800004a0: d99ff06f j 80000238 <__udivmoddi4+0xd8> 800004a4: 04000a93 li s5,64 800004a8: 40da8ab3 sub s5,s5,a3 800004ac: 00150513 add a0,a0,1 800004b0: 01549733 sll a4,s1,s5 800004b4: 00a9d7b3 srl a5,s3,a0 800004b8: 01599ab3 sll s5,s3,s5 800004bc: 00a4d4b3 srl s1,s1,a0 800004c0: 00f76833 or a6,a4,a5 800004c4: d75ff06f j 80000238 <__udivmoddi4+0xd8> 800004c8 <__moddi3>: 800004c8: fe010113 add sp,sp,-32 800004cc: 00812c23 sw s0,24(sp) 800004d0: 41f6d893 sra a7,a3,0x1f 800004d4: 41f5d413 sra s0,a1,0x1f 800004d8: 01164733 xor a4,a2,a7 800004dc: 008547b3 xor a5,a0,s0 800004e0: 41170633 sub a2,a4,a7 800004e4: 40878533 sub a0,a5,s0 800004e8: 0116c6b3 xor a3,a3,a7 800004ec: 0085c5b3 xor a1,a1,s0 800004f0: 00c73833 sltu a6,a4,a2 800004f4: 00a7b7b3 sltu a5,a5,a0 800004f8: 411686b3 sub a3,a3,a7 800004fc: 408585b3 sub a1,a1,s0 80000500: 00810713 add a4,sp,8 80000504: 40f585b3 sub a1,a1,a5 80000508: 410686b3 sub a3,a3,a6 8000050c: 00112e23 sw ra,28(sp) 80000510: c51ff0ef jal 80000160 <__udivmoddi4> 80000514: 00812783 lw a5,8(sp) 80000518: 00c12583 lw a1,12(sp) 8000051c: 01c12083 lw ra,28(sp) 80000520: 0087c7b3 xor a5,a5,s0 80000524: 0085c5b3 xor a1,a1,s0 80000528: 40878533 sub a0,a5,s0 8000052c: 408585b3 sub a1,a1,s0 80000530: 01812403 lw s0,24(sp) 80000534: 00a7b7b3 sltu a5,a5,a0 80000538: 40f585b3 sub a1,a1,a5 8000053c: 02010113 add sp,sp,32 80000540: 00008067 ret 80000544 <__clzsi2>: 80000544: 000105b7 lui a1,0x10 80000548: 00b535b3 sltu a1,a0,a1 8000054c: 00459593 sll a1,a1,0x4 80000550: 01000793 li a5,16 80000554: 40b787b3 sub a5,a5,a1 80000558: 00010737 lui a4,0x10 8000055c: 00f557b3 srl a5,a0,a5 80000560: f0070713 add a4,a4,-256 # ff00 <_entry_offset+0xff00> 80000564: 00e7f733 and a4,a5,a4 80000568: 00173713 seqz a4,a4 8000056c: 00371713 sll a4,a4,0x3 80000570: 00800693 li a3,8 80000574: 40e686b3 sub a3,a3,a4 80000578: 00d7d7b3 srl a5,a5,a3 8000057c: 0f07f613 and a2,a5,240 80000580: 00163613 seqz a2,a2 80000584: 00261613 sll a2,a2,0x2 80000588: 00400693 li a3,4 8000058c: 40c686b3 sub a3,a3,a2 80000590: 00d7d7b3 srl a5,a5,a3 80000594: 00c7f693 and a3,a5,12 80000598: 0016b693 seqz a3,a3 8000059c: 00200513 li a0,2 800005a0: 00169693 sll a3,a3,0x1 800005a4: 40d50833 sub a6,a0,a3 800005a8: 0107d7b3 srl a5,a5,a6 800005ac: 0017d813 srl a6,a5,0x1 800005b0: 00b70733 add a4,a4,a1 800005b4: 00187593 and a1,a6,1 800005b8: 00e60633 add a2,a2,a4 800005bc: 40f50533 sub a0,a0,a5 800005c0: 00058463 beqz a1,800005c8 <__clzsi2+0x84> 800005c4: 00000513 li a0,0 800005c8: 00c686b3 add a3,a3,a2 800005cc: 00d50533 add a0,a0,a3 800005d0: 00008067 ret 800005d4 <__ctzsi2>: 800005d4: 01051593 sll a1,a0,0x10 800005d8: 0105d593 srl a1,a1,0x10 800005dc: 0015b593 seqz a1,a1 800005e0: 00459593 sll a1,a1,0x4 800005e4: 00b557b3 srl a5,a0,a1 800005e8: 0ff7f613 zext.b a2,a5 800005ec: 00163613 seqz a2,a2 800005f0: 00361613 sll a2,a2,0x3 800005f4: 00c7d7b3 srl a5,a5,a2 800005f8: 00f7f693 and a3,a5,15 800005fc: 0016b693 seqz a3,a3 80000600: 00269693 sll a3,a3,0x2 80000604: 00d7d7b3 srl a5,a5,a3 80000608: 0037f713 and a4,a5,3 8000060c: 00173713 seqz a4,a4 80000610: 00171713 sll a4,a4,0x1 80000614: 00e7d7b3 srl a5,a5,a4 80000618: 0017d513 srl a0,a5,0x1 8000061c: fff7c793 not a5,a5 80000620: 00b60633 add a2,a2,a1 80000624: 0017f793 and a5,a5,1 80000628: 00157593 and a1,a0,1 8000062c: 00200513 li a0,2 80000630: 00c686b3 add a3,a3,a2 80000634: 40b50533 sub a0,a0,a1 80000638: 40f007b3 neg a5,a5 8000063c: 00f57533 and a0,a0,a5 80000640: 00d70733 add a4,a4,a3 80000644: 00e50533 add a0,a0,a4 80000648: 00008067 ret