ysyx-workbench/am-kernels/tests/cpu-tests/build/mersenne-riscv32-nemu.txt

427 lines
18 KiB
Text
Raw Normal View History

/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 <check>:
80000010: 00050463 beqz a0,80000018 <check+0x8>
80000014: 00008067 ret
80000018: ff010113 add sp,sp,-16
8000001c: 00100513 li a0,1
80000020: 00112623 sw ra,12(sp)
80000024: 110000ef jal 80000134 <halt>
80000028 <main>:
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 <main+0x48>
8000004c: 00d78663 beq a5,a3,80000058 <main+0x30>
80000050: 02e6e733 rem a4,a3,a4
80000054: fe0714e3 bnez a4,8000003c <main+0x14>
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 <main+0x60>
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 <main+0xc4>
800000c4: 00a4d463 bge s1,a0,800000cc <main+0xa4>
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 <main+0x9c>
800000ec: 00151793 sll a5,a0,0x1
800000f0: 00141413 sll s0,s0,0x1
800000f4: 00f4d463 bge s1,a5,800000fc <main+0xd4>
800000f8: 409787b3 sub a5,a5,s1
800000fc: fa0416e3 bnez s0,800000a8 <main+0x80>
80000100: 01478663 beq a5,s4,8000010c <main+0xe4>
80000104: 74248493 add s1,s1,1858
80000108: f95ff06f j 8000009c <main+0x74>
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 <check>
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 <main+0x34>
80000134 <halt>:
80000134: 00050513 mv a0,a0
80000138: 00100073 ebreak
8000013c: 0000006f j 8000013c <halt+0x8>
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 <main>
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