diff options
Diffstat (limited to 'VexRiscv/src/test/resources/asm')
167 files changed, 77863 insertions, 0 deletions
diff --git a/VexRiscv/src/test/resources/asm/C.ADD.elf.objdump b/VexRiscv/src/test/resources/asm/C.ADD.elf.objdump new file mode 100644 index 0000000..32ee1ad --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.ADD.elf.objdump @@ -0,0 +1,334 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.ADD.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4201 li tp,0 +800000f8: 4181 li gp,0 +800000fa: 9192 add gp,gp,tp +800000fc: c00e sw gp,0(sp) +800000fe: 4481 li s1,0 +80000100: 4405 li s0,1 +80000102: 9426 add s0,s0,s1 +80000104: c222 sw s0,4(sp) +80000106: 4601 li a2,0 +80000108: fff00593 li a1,-1 +8000010c: 95b2 add a1,a1,a2 +8000010e: c42e sw a1,8(sp) +80000110: 4701 li a4,0 +80000112: 000086b7 lui a3,0x8 +80000116: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +8000011a: 96ba add a3,a3,a4 +8000011c: c636 sw a3,12(sp) +8000011e: 4801 li a6,0 +80000120: 67a1 lui a5,0x8 +80000122: 97c2 add a5,a5,a6 +80000124: c83e sw a5,16(sp) +80000126: 00001117 auipc sp,0x1 +8000012a: eee10113 addi sp,sp,-274 # 80001014 <test_2_res> +8000012e: 4905 li s2,1 +80000130: 4881 li a7,0 +80000132: 98ca add a7,a7,s2 +80000134: c046 sw a7,0(sp) +80000136: 4a05 li s4,1 +80000138: 4985 li s3,1 +8000013a: 99d2 add s3,s3,s4 +8000013c: c24e sw s3,4(sp) +8000013e: 4b05 li s6,1 +80000140: fff00a93 li s5,-1 +80000144: 9ada add s5,s5,s6 +80000146: c456 sw s5,8(sp) +80000148: 4c05 li s8,1 +8000014a: 00008bb7 lui s7,0x8 +8000014e: fffb8b93 addi s7,s7,-1 # 7fff <_start-0x7fff8001> +80000152: 9be2 add s7,s7,s8 +80000154: c65e sw s7,12(sp) +80000156: 4d05 li s10,1 +80000158: 6ca1 lui s9,0x8 +8000015a: 9cea add s9,s9,s10 +8000015c: c866 sw s9,16(sp) +8000015e: 00001117 auipc sp,0x1 +80000162: eca10113 addi sp,sp,-310 # 80001028 <test_3_res> +80000166: fff00e13 li t3,-1 +8000016a: 4d81 li s11,0 +8000016c: 9df2 add s11,s11,t3 +8000016e: c06e sw s11,0(sp) +80000170: fff00f13 li t5,-1 +80000174: 4e85 li t4,1 +80000176: 9efa add t4,t4,t5 +80000178: c276 sw t4,4(sp) +8000017a: fff00193 li gp,-1 +8000017e: fff00f93 li t6,-1 +80000182: 9f8e add t6,t6,gp +80000184: c47e sw t6,8(sp) +80000186: fff00413 li s0,-1 +8000018a: 00008237 lui tp,0x8 +8000018e: fff20213 addi tp,tp,-1 # 7fff <_start-0x7fff8001> +80000192: 9222 add tp,tp,s0 +80000194: c612 sw tp,12(sp) +80000196: fff00593 li a1,-1 +8000019a: 64a1 lui s1,0x8 +8000019c: 94ae add s1,s1,a1 +8000019e: c826 sw s1,16(sp) +800001a0: 00001117 auipc sp,0x1 +800001a4: e9c10113 addi sp,sp,-356 # 8000103c <test_4_res> +800001a8: 000086b7 lui a3,0x8 +800001ac: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +800001b0: 4601 li a2,0 +800001b2: 9636 add a2,a2,a3 +800001b4: c032 sw a2,0(sp) +800001b6: 000087b7 lui a5,0x8 +800001ba: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +800001be: 4705 li a4,1 +800001c0: 973e add a4,a4,a5 +800001c2: c23a sw a4,4(sp) +800001c4: 000088b7 lui a7,0x8 +800001c8: fff88893 addi a7,a7,-1 # 7fff <_start-0x7fff8001> +800001cc: fff00813 li a6,-1 +800001d0: 9846 add a6,a6,a7 +800001d2: c442 sw a6,8(sp) +800001d4: 000089b7 lui s3,0x8 +800001d8: fff98993 addi s3,s3,-1 # 7fff <_start-0x7fff8001> +800001dc: 00008937 lui s2,0x8 +800001e0: fff90913 addi s2,s2,-1 # 7fff <_start-0x7fff8001> +800001e4: 994e add s2,s2,s3 +800001e6: c64a sw s2,12(sp) +800001e8: 00008ab7 lui s5,0x8 +800001ec: fffa8a93 addi s5,s5,-1 # 7fff <_start-0x7fff8001> +800001f0: 6a21 lui s4,0x8 +800001f2: 9a56 add s4,s4,s5 +800001f4: c852 sw s4,16(sp) +800001f6: 00001117 auipc sp,0x1 +800001fa: e5a10113 addi sp,sp,-422 # 80001050 <test_5_res> +800001fe: 6ba1 lui s7,0x8 +80000200: 4b01 li s6,0 +80000202: 9b5e add s6,s6,s7 +80000204: c05a sw s6,0(sp) +80000206: 6ca1 lui s9,0x8 +80000208: 4c05 li s8,1 +8000020a: 9c66 add s8,s8,s9 +8000020c: c262 sw s8,4(sp) +8000020e: 6da1 lui s11,0x8 +80000210: fff00d13 li s10,-1 +80000214: 9d6e add s10,s10,s11 +80000216: c46a sw s10,8(sp) +80000218: 6ea1 lui t4,0x8 +8000021a: 00008e37 lui t3,0x8 +8000021e: fffe0e13 addi t3,t3,-1 # 7fff <_start-0x7fff8001> +80000222: 9e76 add t3,t3,t4 +80000224: c672 sw t3,12(sp) +80000226: 6fa1 lui t6,0x8 +80000228: 6f21 lui t5,0x8 +8000022a: 9f7e add t5,t5,t6 +8000022c: c87a sw t5,16(sp) +8000022e: 00001517 auipc a0,0x1 +80000232: dd250513 addi a0,a0,-558 # 80001000 <codasip_signature_start> +80000236: 00001597 auipc a1,0x1 +8000023a: e3a58593 addi a1,a1,-454 # 80001070 <_end> +8000023e: f0100637 lui a2,0xf0100 +80000242: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000246 <complience_halt_loop>: +80000246: 00b50c63 beq a0,a1,8000025e <complience_halt_break> +8000024a: 4554 lw a3,12(a0) +8000024c: c214 sw a3,0(a2) +8000024e: 4514 lw a3,8(a0) +80000250: c214 sw a3,0(a2) +80000252: 4154 lw a3,4(a0) +80000254: c214 sw a3,0(a2) +80000256: 4114 lw a3,0(a0) +80000258: c214 sw a3,0(a2) +8000025a: 0541 addi a0,a0,16 +8000025c: b7ed j 80000246 <complience_halt_loop> + +8000025e <complience_halt_break>: +8000025e: f0100537 lui a0,0xf0100 +80000262: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000266: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.ADDI.elf.objdump b/VexRiscv/src/test/resources/asm/C.ADDI.elf.objdump new file mode 100644 index 0000000..e0e0a94 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.ADDI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.ADDI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4181 li gp,0 +800000f8: 0185 addi gp,gp,1 +800000fa: c00e sw gp,0(sp) +800000fc: 4201 li tp,0 +800000fe: 0209 addi tp,tp,2 +80000100: c212 sw tp,4(sp) +80000102: 4401 li s0,0 +80000104: 043d addi s0,s0,15 +80000106: c422 sw s0,8(sp) +80000108: 4481 li s1,0 +8000010a: 04c1 addi s1,s1,16 +8000010c: c626 sw s1,12(sp) +8000010e: 4581 li a1,0 +80000110: 05fd addi a1,a1,31 +80000112: c82e sw a1,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4605 li a2,1 +8000011e: 0605 addi a2,a2,1 +80000120: c032 sw a2,0(sp) +80000122: 4685 li a3,1 +80000124: 0689 addi a3,a3,2 +80000126: c236 sw a3,4(sp) +80000128: 4705 li a4,1 +8000012a: 073d addi a4,a4,15 +8000012c: c43a sw a4,8(sp) +8000012e: 4785 li a5,1 +80000130: 07c1 addi a5,a5,16 +80000132: c63e sw a5,12(sp) +80000134: 4805 li a6,1 +80000136: 087d addi a6,a6,31 +80000138: c842 sw a6,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00893 li a7,-1 +80000146: 0885 addi a7,a7,1 +80000148: c046 sw a7,0(sp) +8000014a: fff00913 li s2,-1 +8000014e: 0909 addi s2,s2,2 +80000150: c24a sw s2,4(sp) +80000152: fff00993 li s3,-1 +80000156: 09bd addi s3,s3,15 +80000158: c44e sw s3,8(sp) +8000015a: fff00a13 li s4,-1 +8000015e: 0a41 addi s4,s4,16 +80000160: c652 sw s4,12(sp) +80000162: fff00a93 li s5,-1 +80000166: 0afd addi s5,s5,31 +80000168: c856 sw s5,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 00080b37 lui s6,0x80 +80000176: fffb0b13 addi s6,s6,-1 # 7ffff <_start-0x7ff80001> +8000017a: 0b05 addi s6,s6,1 +8000017c: c05a sw s6,0(sp) +8000017e: 00080bb7 lui s7,0x80 +80000182: fffb8b93 addi s7,s7,-1 # 7ffff <_start-0x7ff80001> +80000186: 0b89 addi s7,s7,2 +80000188: c25e sw s7,4(sp) +8000018a: 00080c37 lui s8,0x80 +8000018e: fffc0c13 addi s8,s8,-1 # 7ffff <_start-0x7ff80001> +80000192: 0c3d addi s8,s8,15 +80000194: c462 sw s8,8(sp) +80000196: 00080cb7 lui s9,0x80 +8000019a: fffc8c93 addi s9,s9,-1 # 7ffff <_start-0x7ff80001> +8000019e: 0cc1 addi s9,s9,16 +800001a0: c666 sw s9,12(sp) +800001a2: 00080d37 lui s10,0x80 +800001a6: fffd0d13 addi s10,s10,-1 # 7ffff <_start-0x7ff80001> +800001aa: 0d7d addi s10,s10,31 +800001ac: c86a sw s10,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 00080db7 lui s11,0x80 +800001ba: 0d85 addi s11,s11,1 +800001bc: c06e sw s11,0(sp) +800001be: 00080e37 lui t3,0x80 +800001c2: 0e09 addi t3,t3,2 +800001c4: c272 sw t3,4(sp) +800001c6: 00080eb7 lui t4,0x80 +800001ca: 0ebd addi t4,t4,15 +800001cc: c476 sw t4,8(sp) +800001ce: 00080f37 lui t5,0x80 +800001d2: 0f41 addi t5,t5,16 +800001d4: c67a sw t5,12(sp) +800001d6: 00080fb7 lui t6,0x80 +800001da: 0ffd addi t6,t6,31 +800001dc: c87e sw t6,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.ADDI16SP.elf.objdump b/VexRiscv/src/test/resources/asm/C.ADDI16SP.elf.objdump new file mode 100644 index 0000000..bd3351c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.ADDI16SP.elf.objdump @@ -0,0 +1,194 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.ADDI16SP.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001097 auipc ra,0x1 +800000f2: f1208093 addi ra,ra,-238 # 80001000 <codasip_signature_start> +800000f6: 0141 addi sp,sp,16 +800000f8: 0020a023 sw sp,0(ra) +800000fc: 00001097 auipc ra,0x1 +80000100: f0808093 addi ra,ra,-248 # 80001004 <test_2_res> +80000104: 6105 addi sp,sp,32 +80000106: 0020a023 sw sp,0(ra) +8000010a: 00001097 auipc ra,0x1 +8000010e: efe08093 addi ra,ra,-258 # 80001008 <test_3_res> +80000112: 6121 addi sp,sp,64 +80000114: 0020a023 sw sp,0(ra) +80000118: 00001097 auipc ra,0x1 +8000011c: ef408093 addi ra,ra,-268 # 8000100c <test_4_res> +80000120: 617d addi sp,sp,496 +80000122: 0020a023 sw sp,0(ra) +80000126: 00001097 auipc ra,0x1 +8000012a: eea08093 addi ra,ra,-278 # 80001010 <test_5_res> +8000012e: 7101 addi sp,sp,-512 +80000130: 0020a023 sw sp,0(ra) +80000134: 00001517 auipc a0,0x1 +80000138: ecc50513 addi a0,a0,-308 # 80001000 <codasip_signature_start> +8000013c: 00001597 auipc a1,0x1 +80000140: ee458593 addi a1,a1,-284 # 80001020 <_end> +80000144: f0100637 lui a2,0xf0100 +80000148: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +8000014c <complience_halt_loop>: +8000014c: 00b50c63 beq a0,a1,80000164 <complience_halt_break> +80000150: 4554 lw a3,12(a0) +80000152: c214 sw a3,0(a2) +80000154: 4514 lw a3,8(a0) +80000156: c214 sw a3,0(a2) +80000158: 4154 lw a3,4(a0) +8000015a: c214 sw a3,0(a2) +8000015c: 4114 lw a3,0(a0) +8000015e: c214 sw a3,0(a2) +80000160: 0541 addi a0,a0,16 +80000162: b7ed j 8000014c <complience_halt_loop> + +80000164 <complience_halt_break>: +80000164: f0100537 lui a0,0xf0100 +80000168: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +8000016c: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.ADDI4SPN.elf.objdump b/VexRiscv/src/test/resources/asm/C.ADDI4SPN.elf.objdump new file mode 100644 index 0000000..5a09876 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.ADDI4SPN.elf.objdump @@ -0,0 +1,194 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.ADDI4SPN.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001097 auipc ra,0x1 +800000f2: f1208093 addi ra,ra,-238 # 80001000 <codasip_signature_start> +800000f6: 0050 addi a2,sp,4 +800000f8: 00c0a023 sw a2,0(ra) +800000fc: 00001097 auipc ra,0x1 +80000100: f0808093 addi ra,ra,-248 # 80001004 <test_2_res> +80000104: 0034 addi a3,sp,8 +80000106: 00d0a023 sw a3,0(ra) +8000010a: 00001097 auipc ra,0x1 +8000010e: efe08093 addi ra,ra,-258 # 80001008 <test_3_res> +80000112: 0078 addi a4,sp,12 +80000114: 00e0a023 sw a4,0(ra) +80000118: 00001097 auipc ra,0x1 +8000011c: ef408093 addi ra,ra,-268 # 8000100c <test_4_res> +80000120: 081c addi a5,sp,16 +80000122: 00f0a023 sw a5,0(ra) +80000126: 00001097 auipc ra,0x1 +8000012a: eea08093 addi ra,ra,-278 # 80001010 <test_5_res> +8000012e: 1fe0 addi s0,sp,1020 +80000130: 0080a023 sw s0,0(ra) +80000134: 00001517 auipc a0,0x1 +80000138: ecc50513 addi a0,a0,-308 # 80001000 <codasip_signature_start> +8000013c: 00001597 auipc a1,0x1 +80000140: ee458593 addi a1,a1,-284 # 80001020 <_end> +80000144: f0100637 lui a2,0xf0100 +80000148: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +8000014c <complience_halt_loop>: +8000014c: 00b50c63 beq a0,a1,80000164 <complience_halt_break> +80000150: 4554 lw a3,12(a0) +80000152: c214 sw a3,0(a2) +80000154: 4514 lw a3,8(a0) +80000156: c214 sw a3,0(a2) +80000158: 4154 lw a3,4(a0) +8000015a: c214 sw a3,0(a2) +8000015c: 4114 lw a3,0(a0) +8000015e: c214 sw a3,0(a2) +80000160: 0541 addi a0,a0,16 +80000162: b7ed j 8000014c <complience_halt_loop> + +80000164 <complience_halt_break>: +80000164: f0100537 lui a0,0xf0100 +80000168: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +8000016c: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.AND.elf.objdump b/VexRiscv/src/test/resources/asm/C.AND.elf.objdump new file mode 100644 index 0000000..d78ccb9 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.AND.elf.objdump @@ -0,0 +1,334 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.AND.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4581 li a1,0 +800000f8: 4481 li s1,0 +800000fa: 8ced and s1,s1,a1 +800000fc: c026 sw s1,0(sp) +800000fe: 4681 li a3,0 +80000100: 4605 li a2,1 +80000102: 8e75 and a2,a2,a3 +80000104: c232 sw a2,4(sp) +80000106: 4781 li a5,0 +80000108: fff00713 li a4,-1 +8000010c: 8f7d and a4,a4,a5 +8000010e: c43a sw a4,8(sp) +80000110: 4481 li s1,0 +80000112: 00008437 lui s0,0x8 +80000116: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +8000011a: 8c65 and s0,s0,s1 +8000011c: c622 sw s0,12(sp) +8000011e: 4601 li a2,0 +80000120: 65a1 lui a1,0x8 +80000122: 8df1 and a1,a1,a2 +80000124: c82e sw a1,16(sp) +80000126: 00001117 auipc sp,0x1 +8000012a: eee10113 addi sp,sp,-274 # 80001014 <test_2_res> +8000012e: 4705 li a4,1 +80000130: 4681 li a3,0 +80000132: 8ef9 and a3,a3,a4 +80000134: c036 sw a3,0(sp) +80000136: 4405 li s0,1 +80000138: 4785 li a5,1 +8000013a: 8fe1 and a5,a5,s0 +8000013c: c23e sw a5,4(sp) +8000013e: 4585 li a1,1 +80000140: fff00493 li s1,-1 +80000144: 8ced and s1,s1,a1 +80000146: c426 sw s1,8(sp) +80000148: 4685 li a3,1 +8000014a: 00008637 lui a2,0x8 +8000014e: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000152: 8e75 and a2,a2,a3 +80000154: c632 sw a2,12(sp) +80000156: 4785 li a5,1 +80000158: 6721 lui a4,0x8 +8000015a: 8f7d and a4,a4,a5 +8000015c: c83a sw a4,16(sp) +8000015e: 00001117 auipc sp,0x1 +80000162: eca10113 addi sp,sp,-310 # 80001028 <test_3_res> +80000166: fff00493 li s1,-1 +8000016a: 4401 li s0,0 +8000016c: 8c65 and s0,s0,s1 +8000016e: c022 sw s0,0(sp) +80000170: fff00613 li a2,-1 +80000174: 4585 li a1,1 +80000176: 8df1 and a1,a1,a2 +80000178: c22e sw a1,4(sp) +8000017a: fff00713 li a4,-1 +8000017e: fff00693 li a3,-1 +80000182: 8ef9 and a3,a3,a4 +80000184: c436 sw a3,8(sp) +80000186: fff00413 li s0,-1 +8000018a: 000087b7 lui a5,0x8 +8000018e: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +80000192: 8fe1 and a5,a5,s0 +80000194: c63e sw a5,12(sp) +80000196: fff00593 li a1,-1 +8000019a: 64a1 lui s1,0x8 +8000019c: 8ced and s1,s1,a1 +8000019e: c826 sw s1,16(sp) +800001a0: 00001117 auipc sp,0x1 +800001a4: e9c10113 addi sp,sp,-356 # 8000103c <test_4_res> +800001a8: 000086b7 lui a3,0x8 +800001ac: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +800001b0: 4601 li a2,0 +800001b2: 8e75 and a2,a2,a3 +800001b4: c032 sw a2,0(sp) +800001b6: 000087b7 lui a5,0x8 +800001ba: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +800001be: 4705 li a4,1 +800001c0: 8f7d and a4,a4,a5 +800001c2: c23a sw a4,4(sp) +800001c4: 000084b7 lui s1,0x8 +800001c8: fff48493 addi s1,s1,-1 # 7fff <_start-0x7fff8001> +800001cc: fff00413 li s0,-1 +800001d0: 8c65 and s0,s0,s1 +800001d2: c422 sw s0,8(sp) +800001d4: 00008637 lui a2,0x8 +800001d8: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800001dc: 000085b7 lui a1,0x8 +800001e0: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +800001e4: 8df1 and a1,a1,a2 +800001e6: c62e sw a1,12(sp) +800001e8: 00008737 lui a4,0x8 +800001ec: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +800001f0: 66a1 lui a3,0x8 +800001f2: 8ef9 and a3,a3,a4 +800001f4: c836 sw a3,16(sp) +800001f6: 00001117 auipc sp,0x1 +800001fa: e5a10113 addi sp,sp,-422 # 80001050 <test_5_res> +800001fe: 6421 lui s0,0x8 +80000200: 4781 li a5,0 +80000202: 8fe1 and a5,a5,s0 +80000204: c03e sw a5,0(sp) +80000206: 65a1 lui a1,0x8 +80000208: 4485 li s1,1 +8000020a: 8ced and s1,s1,a1 +8000020c: c226 sw s1,4(sp) +8000020e: 66a1 lui a3,0x8 +80000210: fff00613 li a2,-1 +80000214: 8e75 and a2,a2,a3 +80000216: c432 sw a2,8(sp) +80000218: 67a1 lui a5,0x8 +8000021a: 00008737 lui a4,0x8 +8000021e: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +80000222: 8f7d and a4,a4,a5 +80000224: c63a sw a4,12(sp) +80000226: 64a1 lui s1,0x8 +80000228: 6421 lui s0,0x8 +8000022a: 8c65 and s0,s0,s1 +8000022c: c822 sw s0,16(sp) +8000022e: 00001517 auipc a0,0x1 +80000232: dd250513 addi a0,a0,-558 # 80001000 <codasip_signature_start> +80000236: 00001597 auipc a1,0x1 +8000023a: e3a58593 addi a1,a1,-454 # 80001070 <_end> +8000023e: f0100637 lui a2,0xf0100 +80000242: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000246 <complience_halt_loop>: +80000246: 00b50c63 beq a0,a1,8000025e <complience_halt_break> +8000024a: 4554 lw a3,12(a0) +8000024c: c214 sw a3,0(a2) +8000024e: 4514 lw a3,8(a0) +80000250: c214 sw a3,0(a2) +80000252: 4154 lw a3,4(a0) +80000254: c214 sw a3,0(a2) +80000256: 4114 lw a3,0(a0) +80000258: c214 sw a3,0(a2) +8000025a: 0541 addi a0,a0,16 +8000025c: b7ed j 80000246 <complience_halt_loop> + +8000025e <complience_halt_break>: +8000025e: f0100537 lui a0,0xf0100 +80000262: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000266: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.ANDI.elf.objdump b/VexRiscv/src/test/resources/asm/C.ANDI.elf.objdump new file mode 100644 index 0000000..525df9d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.ANDI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.ANDI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4581 li a1,0 +800000f8: 8981 andi a1,a1,0 +800000fa: c02e sw a1,0(sp) +800000fc: 4601 li a2,0 +800000fe: 8a05 andi a2,a2,1 +80000100: c232 sw a2,4(sp) +80000102: 4681 li a3,0 +80000104: 8ac1 andi a3,a3,16 +80000106: c436 sw a3,8(sp) +80000108: 4701 li a4,0 +8000010a: 8b7d andi a4,a4,31 +8000010c: c63a sw a4,12(sp) +8000010e: 4781 li a5,0 +80000110: 9b85 andi a5,a5,-31 +80000112: c83e sw a5,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4405 li s0,1 +8000011e: 8801 andi s0,s0,0 +80000120: c022 sw s0,0(sp) +80000122: 4485 li s1,1 +80000124: 8885 andi s1,s1,1 +80000126: c226 sw s1,4(sp) +80000128: 4585 li a1,1 +8000012a: 89c1 andi a1,a1,16 +8000012c: c42e sw a1,8(sp) +8000012e: 4605 li a2,1 +80000130: 8a7d andi a2,a2,31 +80000132: c632 sw a2,12(sp) +80000134: 4685 li a3,1 +80000136: 9a85 andi a3,a3,-31 +80000138: c836 sw a3,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00713 li a4,-1 +80000146: 8b01 andi a4,a4,0 +80000148: c03a sw a4,0(sp) +8000014a: fff00793 li a5,-1 +8000014e: 8b85 andi a5,a5,1 +80000150: c23e sw a5,4(sp) +80000152: fff00413 li s0,-1 +80000156: 8841 andi s0,s0,16 +80000158: c422 sw s0,8(sp) +8000015a: fff00493 li s1,-1 +8000015e: 88fd andi s1,s1,31 +80000160: c626 sw s1,12(sp) +80000162: fff00593 li a1,-1 +80000166: 9985 andi a1,a1,-31 +80000168: c82e sw a1,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 00080637 lui a2,0x80 +80000176: fff60613 addi a2,a2,-1 # 7ffff <_start-0x7ff80001> +8000017a: 8a01 andi a2,a2,0 +8000017c: c032 sw a2,0(sp) +8000017e: 000806b7 lui a3,0x80 +80000182: fff68693 addi a3,a3,-1 # 7ffff <_start-0x7ff80001> +80000186: 8a85 andi a3,a3,1 +80000188: c236 sw a3,4(sp) +8000018a: 00080737 lui a4,0x80 +8000018e: fff70713 addi a4,a4,-1 # 7ffff <_start-0x7ff80001> +80000192: 8b41 andi a4,a4,16 +80000194: c43a sw a4,8(sp) +80000196: 000807b7 lui a5,0x80 +8000019a: fff78793 addi a5,a5,-1 # 7ffff <_start-0x7ff80001> +8000019e: 8bfd andi a5,a5,31 +800001a0: c63e sw a5,12(sp) +800001a2: 00080437 lui s0,0x80 +800001a6: fff40413 addi s0,s0,-1 # 7ffff <_start-0x7ff80001> +800001aa: 9805 andi s0,s0,-31 +800001ac: c822 sw s0,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 000804b7 lui s1,0x80 +800001ba: 8881 andi s1,s1,0 +800001bc: c026 sw s1,0(sp) +800001be: 000805b7 lui a1,0x80 +800001c2: 8985 andi a1,a1,1 +800001c4: c22e sw a1,4(sp) +800001c6: 00080637 lui a2,0x80 +800001ca: 8a41 andi a2,a2,16 +800001cc: c432 sw a2,8(sp) +800001ce: 000806b7 lui a3,0x80 +800001d2: 8afd andi a3,a3,31 +800001d4: c636 sw a3,12(sp) +800001d6: 00080737 lui a4,0x80 +800001da: 9b05 andi a4,a4,-31 +800001dc: c83a sw a4,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.BEQZ.elf.objdump b/VexRiscv/src/test/resources/asm/C.BEQZ.elf.objdump new file mode 100644 index 0000000..f94b96f --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.BEQZ.elf.objdump @@ -0,0 +1,215 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.BEQZ.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4781 li a5,0 +800000f8: 8f9d sub a5,a5,a5 +800000fa: c789 beqz a5,80000104 <_start+0x104> +800000fc: 000127b7 lui a5,0x12 +80000100: 3ab78793 addi a5,a5,939 # 123ab <_start-0x7ffedc55> +80000104: c03e sw a5,0(sp) +80000106: 00001117 auipc sp,0x1 +8000010a: efe10113 addi sp,sp,-258 # 80001004 <test_2_res> +8000010e: 4405 li s0,1 +80000110: 8c01 sub s0,s0,s0 +80000112: c409 beqz s0,8000011c <_start+0x11c> +80000114: 00012437 lui s0,0x12 +80000118: 3ab40413 addi s0,s0,939 # 123ab <_start-0x7ffedc55> +8000011c: c022 sw s0,0(sp) +8000011e: 00001117 auipc sp,0x1 +80000122: eea10113 addi sp,sp,-278 # 80001008 <test_3_res> +80000126: 54fd li s1,-1 +80000128: 8c85 sub s1,s1,s1 +8000012a: c489 beqz s1,80000134 <_start+0x134> +8000012c: 000124b7 lui s1,0x12 +80000130: 3ab48493 addi s1,s1,939 # 123ab <_start-0x7ffedc55> +80000134: c026 sw s1,0(sp) +80000136: 00001117 auipc sp,0x1 +8000013a: ed610113 addi sp,sp,-298 # 8000100c <test_4_res> +8000013e: 000085b7 lui a1,0x8 +80000142: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +80000146: 8d8d sub a1,a1,a1 +80000148: c589 beqz a1,80000152 <_start+0x152> +8000014a: 000125b7 lui a1,0x12 +8000014e: 3ab58593 addi a1,a1,939 # 123ab <_start-0x7ffedc55> +80000152: c02e sw a1,0(sp) +80000154: 00001117 auipc sp,0x1 +80000158: ebc10113 addi sp,sp,-324 # 80001010 <test_5_res> +8000015c: 6621 lui a2,0x8 +8000015e: 8e11 sub a2,a2,a2 +80000160: c609 beqz a2,8000016a <_start+0x16a> +80000162: 00012637 lui a2,0x12 +80000166: 3ab60613 addi a2,a2,939 # 123ab <_start-0x7ffedc55> +8000016a: c032 sw a2,0(sp) +8000016c: 00001517 auipc a0,0x1 +80000170: e9450513 addi a0,a0,-364 # 80001000 <codasip_signature_start> +80000174: 00001597 auipc a1,0x1 +80000178: eac58593 addi a1,a1,-340 # 80001020 <_end> +8000017c: f0100637 lui a2,0xf0100 +80000180: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +80000184 <complience_halt_loop>: +80000184: 00b50c63 beq a0,a1,8000019c <complience_halt_break> +80000188: 4554 lw a3,12(a0) +8000018a: c214 sw a3,0(a2) +8000018c: 4514 lw a3,8(a0) +8000018e: c214 sw a3,0(a2) +80000190: 4154 lw a3,4(a0) +80000192: c214 sw a3,0(a2) +80000194: 4114 lw a3,0(a0) +80000196: c214 sw a3,0(a2) +80000198: 0541 addi a0,a0,16 +8000019a: b7ed j 80000184 <complience_halt_loop> + +8000019c <complience_halt_break>: +8000019c: f0100537 lui a0,0xf0100 +800001a0: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +800001a4: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.BNEZ.elf.objdump b/VexRiscv/src/test/resources/asm/C.BNEZ.elf.objdump new file mode 100644 index 0000000..1519203 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.BNEZ.elf.objdump @@ -0,0 +1,205 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.BNEZ.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4681 li a3,0 +800000f8: e291 bnez a3,800000fc <_start+0xfc> +800000fa: 4681 li a3,0 +800000fc: c036 sw a3,0(sp) +800000fe: 00001117 auipc sp,0x1 +80000102: f0610113 addi sp,sp,-250 # 80001004 <test_2_res> +80000106: 4705 li a4,1 +80000108: e311 bnez a4,8000010c <_start+0x10c> +8000010a: 4701 li a4,0 +8000010c: c03a sw a4,0(sp) +8000010e: 00001117 auipc sp,0x1 +80000112: efa10113 addi sp,sp,-262 # 80001008 <test_3_res> +80000116: 57fd li a5,-1 +80000118: e391 bnez a5,8000011c <_start+0x11c> +8000011a: 4781 li a5,0 +8000011c: c03e sw a5,0(sp) +8000011e: 00001117 auipc sp,0x1 +80000122: eee10113 addi sp,sp,-274 # 8000100c <test_4_res> +80000126: 00008437 lui s0,0x8 +8000012a: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +8000012e: e011 bnez s0,80000132 <_start+0x132> +80000130: 4401 li s0,0 +80000132: c022 sw s0,0(sp) +80000134: 00001117 auipc sp,0x1 +80000138: edc10113 addi sp,sp,-292 # 80001010 <test_5_res> +8000013c: 64a1 lui s1,0x8 +8000013e: e091 bnez s1,80000142 <_start+0x142> +80000140: 4481 li s1,0 +80000142: c026 sw s1,0(sp) +80000144: 00001517 auipc a0,0x1 +80000148: ebc50513 addi a0,a0,-324 # 80001000 <codasip_signature_start> +8000014c: 00001597 auipc a1,0x1 +80000150: ed458593 addi a1,a1,-300 # 80001020 <_end> +80000154: f0100637 lui a2,0xf0100 +80000158: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +8000015c <complience_halt_loop>: +8000015c: 00b50c63 beq a0,a1,80000174 <complience_halt_break> +80000160: 4554 lw a3,12(a0) +80000162: c214 sw a3,0(a2) +80000164: 4514 lw a3,8(a0) +80000166: c214 sw a3,0(a2) +80000168: 4154 lw a3,4(a0) +8000016a: c214 sw a3,0(a2) +8000016c: 4114 lw a3,0(a0) +8000016e: c214 sw a3,0(a2) +80000170: 0541 addi a0,a0,16 +80000172: b7ed j 8000015c <complience_halt_loop> + +80000174 <complience_halt_break>: +80000174: f0100537 lui a0,0xf0100 +80000178: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +8000017c: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.J.elf.objdump b/VexRiscv/src/test/resources/asm/C.J.elf.objdump new file mode 100644 index 0000000..717bca1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.J.elf.objdump @@ -0,0 +1,211 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.J.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4581 li a1,0 +800000f8: a029 j 80000102 <_start+0x102> +800000fa: 000125b7 lui a1,0x12 +800000fe: 3ab58593 addi a1,a1,939 # 123ab <_start-0x7ffedc55> +80000102: c02e sw a1,0(sp) +80000104: 00001117 auipc sp,0x1 +80000108: f0010113 addi sp,sp,-256 # 80001004 <test_2_res> +8000010c: 4605 li a2,1 +8000010e: a029 j 80000118 <_start+0x118> +80000110: 00012637 lui a2,0x12 +80000114: 3ab60613 addi a2,a2,939 # 123ab <_start-0x7ffedc55> +80000118: c032 sw a2,0(sp) +8000011a: 00001117 auipc sp,0x1 +8000011e: eee10113 addi sp,sp,-274 # 80001008 <test_3_res> +80000122: 56fd li a3,-1 +80000124: a029 j 8000012e <_start+0x12e> +80000126: 000126b7 lui a3,0x12 +8000012a: 3ab68693 addi a3,a3,939 # 123ab <_start-0x7ffedc55> +8000012e: c036 sw a3,0(sp) +80000130: 00001117 auipc sp,0x1 +80000134: edc10113 addi sp,sp,-292 # 8000100c <test_4_res> +80000138: 00008737 lui a4,0x8 +8000013c: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +80000140: a029 j 8000014a <_start+0x14a> +80000142: 00012737 lui a4,0x12 +80000146: 3ab70713 addi a4,a4,939 # 123ab <_start-0x7ffedc55> +8000014a: c03a sw a4,0(sp) +8000014c: 00001117 auipc sp,0x1 +80000150: ec410113 addi sp,sp,-316 # 80001010 <test_5_res> +80000154: 67a1 lui a5,0x8 +80000156: a029 j 80000160 <_start+0x160> +80000158: 000127b7 lui a5,0x12 +8000015c: 3ab78793 addi a5,a5,939 # 123ab <_start-0x7ffedc55> +80000160: c03e sw a5,0(sp) +80000162: 00001517 auipc a0,0x1 +80000166: e9e50513 addi a0,a0,-354 # 80001000 <codasip_signature_start> +8000016a: 00001597 auipc a1,0x1 +8000016e: eb658593 addi a1,a1,-330 # 80001020 <_end> +80000172: f0100637 lui a2,0xf0100 +80000176: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +8000017a <complience_halt_loop>: +8000017a: 00b50c63 beq a0,a1,80000192 <complience_halt_break> +8000017e: 4554 lw a3,12(a0) +80000180: c214 sw a3,0(a2) +80000182: 4514 lw a3,8(a0) +80000184: c214 sw a3,0(a2) +80000186: 4154 lw a3,4(a0) +80000188: c214 sw a3,0(a2) +8000018a: 4114 lw a3,0(a0) +8000018c: c214 sw a3,0(a2) +8000018e: 0541 addi a0,a0,16 +80000190: b7ed j 8000017a <complience_halt_loop> + +80000192 <complience_halt_break>: +80000192: f0100537 lui a0,0xf0100 +80000196: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +8000019a: 00052023 sw zero,0(a0) +8000019e: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.JAL.elf.objdump b/VexRiscv/src/test/resources/asm/C.JAL.elf.objdump new file mode 100644 index 0000000..b8a4de7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.JAL.elf.objdump @@ -0,0 +1,211 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.JAL.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4401 li s0,0 +800000f8: 2029 jal 80000102 <_start+0x102> +800000fa: 00012437 lui s0,0x12 +800000fe: 3ab40413 addi s0,s0,939 # 123ab <_start-0x7ffedc55> +80000102: c022 sw s0,0(sp) +80000104: 00001117 auipc sp,0x1 +80000108: f0010113 addi sp,sp,-256 # 80001004 <test_2_res> +8000010c: 4485 li s1,1 +8000010e: 2029 jal 80000118 <_start+0x118> +80000110: 000124b7 lui s1,0x12 +80000114: 3ab48493 addi s1,s1,939 # 123ab <_start-0x7ffedc55> +80000118: c026 sw s1,0(sp) +8000011a: 00001117 auipc sp,0x1 +8000011e: eee10113 addi sp,sp,-274 # 80001008 <test_3_res> +80000122: 55fd li a1,-1 +80000124: 2029 jal 8000012e <_start+0x12e> +80000126: 000125b7 lui a1,0x12 +8000012a: 3ab58593 addi a1,a1,939 # 123ab <_start-0x7ffedc55> +8000012e: c02e sw a1,0(sp) +80000130: 00001117 auipc sp,0x1 +80000134: edc10113 addi sp,sp,-292 # 8000100c <test_4_res> +80000138: 00008637 lui a2,0x8 +8000013c: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000140: 2029 jal 8000014a <_start+0x14a> +80000142: 00012637 lui a2,0x12 +80000146: 3ab60613 addi a2,a2,939 # 123ab <_start-0x7ffedc55> +8000014a: c032 sw a2,0(sp) +8000014c: 00001117 auipc sp,0x1 +80000150: ec410113 addi sp,sp,-316 # 80001010 <test_5_res> +80000154: 66a1 lui a3,0x8 +80000156: 2029 jal 80000160 <_start+0x160> +80000158: 000126b7 lui a3,0x12 +8000015c: 3ab68693 addi a3,a3,939 # 123ab <_start-0x7ffedc55> +80000160: c036 sw a3,0(sp) +80000162: 00001517 auipc a0,0x1 +80000166: e9e50513 addi a0,a0,-354 # 80001000 <codasip_signature_start> +8000016a: 00001597 auipc a1,0x1 +8000016e: eb658593 addi a1,a1,-330 # 80001020 <_end> +80000172: f0100637 lui a2,0xf0100 +80000176: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +8000017a <complience_halt_loop>: +8000017a: 00b50c63 beq a0,a1,80000192 <complience_halt_break> +8000017e: 4554 lw a3,12(a0) +80000180: c214 sw a3,0(a2) +80000182: 4514 lw a3,8(a0) +80000184: c214 sw a3,0(a2) +80000186: 4154 lw a3,4(a0) +80000188: c214 sw a3,0(a2) +8000018a: 4114 lw a3,0(a0) +8000018c: c214 sw a3,0(a2) +8000018e: 0541 addi a0,a0,16 +80000190: b7ed j 8000017a <complience_halt_loop> + +80000192 <complience_halt_break>: +80000192: f0100537 lui a0,0xf0100 +80000196: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +8000019a: 00052023 sw zero,0(a0) +8000019e: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.JALR.elf.objdump b/VexRiscv/src/test/resources/asm/C.JALR.elf.objdump new file mode 100644 index 0000000..2959f30 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.JALR.elf.objdump @@ -0,0 +1,220 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.JALR.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4501 li a0,0 +800000f8: 00000617 auipc a2,0x0 +800000fc: 01260613 addi a2,a2,18 # 8000010a <_start+0x10a> +80000100: 9602 jalr a2 +80000102: 00012537 lui a0,0x12 +80000106: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +8000010a: c032 sw a2,0(sp) +8000010c: 00001117 auipc sp,0x1 +80000110: ef810113 addi sp,sp,-264 # 80001004 <test_2_res> +80000114: 4505 li a0,1 +80000116: 00000697 auipc a3,0x0 +8000011a: 01268693 addi a3,a3,18 # 80000128 <_start+0x128> +8000011e: 9682 jalr a3 +80000120: 00012537 lui a0,0x12 +80000124: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +80000128: c036 sw a3,0(sp) +8000012a: 00001117 auipc sp,0x1 +8000012e: ede10113 addi sp,sp,-290 # 80001008 <test_3_res> +80000132: 557d li a0,-1 +80000134: 00000717 auipc a4,0x0 +80000138: 01270713 addi a4,a4,18 # 80000146 <_start+0x146> +8000013c: 9702 jalr a4 +8000013e: 00012537 lui a0,0x12 +80000142: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +80000146: c03a sw a4,0(sp) +80000148: 00001117 auipc sp,0x1 +8000014c: ec410113 addi sp,sp,-316 # 8000100c <test_4_res> +80000150: 00008537 lui a0,0x8 +80000154: fff50513 addi a0,a0,-1 # 7fff <_start-0x7fff8001> +80000158: 00000797 auipc a5,0x0 +8000015c: 01278793 addi a5,a5,18 # 8000016a <_start+0x16a> +80000160: 9782 jalr a5 +80000162: 00012537 lui a0,0x12 +80000166: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +8000016a: c03e sw a5,0(sp) +8000016c: 00001117 auipc sp,0x1 +80000170: ea410113 addi sp,sp,-348 # 80001010 <test_5_res> +80000174: 6521 lui a0,0x8 +80000176: 00000817 auipc a6,0x0 +8000017a: 01280813 addi a6,a6,18 # 80000188 <_start+0x188> +8000017e: 9802 jalr a6 +80000180: 00012537 lui a0,0x12 +80000184: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +80000188: c042 sw a6,0(sp) +8000018a: 00001517 auipc a0,0x1 +8000018e: e7650513 addi a0,a0,-394 # 80001000 <codasip_signature_start> +80000192: 00001597 auipc a1,0x1 +80000196: e8e58593 addi a1,a1,-370 # 80001020 <_end> +8000019a: f0100637 lui a2,0xf0100 +8000019e: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +800001a2 <complience_halt_loop>: +800001a2: 00b50c63 beq a0,a1,800001ba <complience_halt_break> +800001a6: 4554 lw a3,12(a0) +800001a8: c214 sw a3,0(a2) +800001aa: 4514 lw a3,8(a0) +800001ac: c214 sw a3,0(a2) +800001ae: 4154 lw a3,4(a0) +800001b0: c214 sw a3,0(a2) +800001b2: 4114 lw a3,0(a0) +800001b4: c214 sw a3,0(a2) +800001b6: 0541 addi a0,a0,16 +800001b8: b7ed j 800001a2 <complience_halt_loop> + +800001ba <complience_halt_break>: +800001ba: f0100537 lui a0,0xf0100 +800001be: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +800001c2: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.JR.elf.objdump b/VexRiscv/src/test/resources/asm/C.JR.elf.objdump new file mode 100644 index 0000000..0b05122 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.JR.elf.objdump @@ -0,0 +1,220 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.JR.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4501 li a0,0 +800000f8: 00000197 auipc gp,0x0 +800000fc: 01218193 addi gp,gp,18 # 8000010a <_start+0x10a> +80000100: 8182 jr gp +80000102: 00012537 lui a0,0x12 +80000106: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +8000010a: c00e sw gp,0(sp) +8000010c: 00001117 auipc sp,0x1 +80000110: ef810113 addi sp,sp,-264 # 80001004 <test_2_res> +80000114: 4505 li a0,1 +80000116: 00000217 auipc tp,0x0 +8000011a: 01220213 addi tp,tp,18 # 80000128 <_start+0x128> +8000011e: 8202 jr tp +80000120: 00012537 lui a0,0x12 +80000124: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +80000128: c012 sw tp,0(sp) +8000012a: 00001117 auipc sp,0x1 +8000012e: ede10113 addi sp,sp,-290 # 80001008 <test_3_res> +80000132: 557d li a0,-1 +80000134: 00000417 auipc s0,0x0 +80000138: 01240413 addi s0,s0,18 # 80000146 <_start+0x146> +8000013c: 8402 jr s0 +8000013e: 00012537 lui a0,0x12 +80000142: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +80000146: c022 sw s0,0(sp) +80000148: 00001117 auipc sp,0x1 +8000014c: ec410113 addi sp,sp,-316 # 8000100c <test_4_res> +80000150: 00008537 lui a0,0x8 +80000154: fff50513 addi a0,a0,-1 # 7fff <_start-0x7fff8001> +80000158: 00000497 auipc s1,0x0 +8000015c: 01248493 addi s1,s1,18 # 8000016a <_start+0x16a> +80000160: 8482 jr s1 +80000162: 00012537 lui a0,0x12 +80000166: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +8000016a: c026 sw s1,0(sp) +8000016c: 00001117 auipc sp,0x1 +80000170: ea410113 addi sp,sp,-348 # 80001010 <test_5_res> +80000174: 6521 lui a0,0x8 +80000176: 00000597 auipc a1,0x0 +8000017a: 01258593 addi a1,a1,18 # 80000188 <_start+0x188> +8000017e: 8582 jr a1 +80000180: 00012537 lui a0,0x12 +80000184: 3ab50513 addi a0,a0,939 # 123ab <_start-0x7ffedc55> +80000188: c02e sw a1,0(sp) +8000018a: 00001517 auipc a0,0x1 +8000018e: e7650513 addi a0,a0,-394 # 80001000 <codasip_signature_start> +80000192: 00001597 auipc a1,0x1 +80000196: e8e58593 addi a1,a1,-370 # 80001020 <_end> +8000019a: f0100637 lui a2,0xf0100 +8000019e: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +800001a2 <complience_halt_loop>: +800001a2: 00b50c63 beq a0,a1,800001ba <complience_halt_break> +800001a6: 4554 lw a3,12(a0) +800001a8: c214 sw a3,0(a2) +800001aa: 4514 lw a3,8(a0) +800001ac: c214 sw a3,0(a2) +800001ae: 4154 lw a3,4(a0) +800001b0: c214 sw a3,0(a2) +800001b2: 4114 lw a3,0(a0) +800001b4: c214 sw a3,0(a2) +800001b6: 0541 addi a0,a0,16 +800001b8: b7ed j 800001a2 <complience_halt_loop> + +800001ba <complience_halt_break>: +800001ba: f0100537 lui a0,0xf0100 +800001be: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +800001c2: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.LI.elf.objdump b/VexRiscv/src/test/resources/asm/C.LI.elf.objdump new file mode 100644 index 0000000..f1b51bd --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.LI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.LI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4181 li gp,0 +800000f8: 4181 li gp,0 +800000fa: c00e sw gp,0(sp) +800000fc: 4201 li tp,0 +800000fe: 4205 li tp,1 +80000100: c212 sw tp,4(sp) +80000102: 4401 li s0,0 +80000104: 4441 li s0,16 +80000106: c422 sw s0,8(sp) +80000108: 4481 li s1,0 +8000010a: 44fd li s1,31 +8000010c: c626 sw s1,12(sp) +8000010e: 4581 li a1,0 +80000110: 5585 li a1,-31 +80000112: c82e sw a1,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4605 li a2,1 +8000011e: 4601 li a2,0 +80000120: c032 sw a2,0(sp) +80000122: 4685 li a3,1 +80000124: 4685 li a3,1 +80000126: c236 sw a3,4(sp) +80000128: 4705 li a4,1 +8000012a: 4741 li a4,16 +8000012c: c43a sw a4,8(sp) +8000012e: 4785 li a5,1 +80000130: 47fd li a5,31 +80000132: c63e sw a5,12(sp) +80000134: 4805 li a6,1 +80000136: 5805 li a6,-31 +80000138: c842 sw a6,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00893 li a7,-1 +80000146: 4881 li a7,0 +80000148: c046 sw a7,0(sp) +8000014a: fff00913 li s2,-1 +8000014e: 4905 li s2,1 +80000150: c24a sw s2,4(sp) +80000152: fff00993 li s3,-1 +80000156: 49c1 li s3,16 +80000158: c44e sw s3,8(sp) +8000015a: fff00a13 li s4,-1 +8000015e: 4a7d li s4,31 +80000160: c652 sw s4,12(sp) +80000162: fff00a93 li s5,-1 +80000166: 5a85 li s5,-31 +80000168: c856 sw s5,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 00080b37 lui s6,0x80 +80000176: fffb0b13 addi s6,s6,-1 # 7ffff <_start-0x7ff80001> +8000017a: 4b01 li s6,0 +8000017c: c05a sw s6,0(sp) +8000017e: 00080bb7 lui s7,0x80 +80000182: fffb8b93 addi s7,s7,-1 # 7ffff <_start-0x7ff80001> +80000186: 4b85 li s7,1 +80000188: c25e sw s7,4(sp) +8000018a: 00080c37 lui s8,0x80 +8000018e: fffc0c13 addi s8,s8,-1 # 7ffff <_start-0x7ff80001> +80000192: 4c41 li s8,16 +80000194: c462 sw s8,8(sp) +80000196: 00080cb7 lui s9,0x80 +8000019a: fffc8c93 addi s9,s9,-1 # 7ffff <_start-0x7ff80001> +8000019e: 4cfd li s9,31 +800001a0: c666 sw s9,12(sp) +800001a2: 00080d37 lui s10,0x80 +800001a6: fffd0d13 addi s10,s10,-1 # 7ffff <_start-0x7ff80001> +800001aa: 5d05 li s10,-31 +800001ac: c86a sw s10,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 00080db7 lui s11,0x80 +800001ba: 4d81 li s11,0 +800001bc: c06e sw s11,0(sp) +800001be: 00080e37 lui t3,0x80 +800001c2: 4e05 li t3,1 +800001c4: c272 sw t3,4(sp) +800001c6: 00080eb7 lui t4,0x80 +800001ca: 4ec1 li t4,16 +800001cc: c476 sw t4,8(sp) +800001ce: 00080f37 lui t5,0x80 +800001d2: 4f7d li t5,31 +800001d4: c67a sw t5,12(sp) +800001d6: 00080fb7 lui t6,0x80 +800001da: 5f85 li t6,-31 +800001dc: c87e sw t6,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.LUI.elf.objdump b/VexRiscv/src/test/resources/asm/C.LUI.elf.objdump new file mode 100644 index 0000000..980309e --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.LUI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.LUI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4181 li gp,0 +800000f8: 6185 lui gp,0x1 +800000fa: c00e sw gp,0(sp) +800000fc: 4201 li tp,0 +800000fe: 6209 lui tp,0x2 +80000100: c212 sw tp,4(sp) +80000102: 4401 li s0,0 +80000104: 643d lui s0,0xf +80000106: c422 sw s0,8(sp) +80000108: 4481 li s1,0 +8000010a: 64fd lui s1,0x1f +8000010c: c626 sw s1,12(sp) +8000010e: 4581 li a1,0 +80000110: 75fd lui a1,0xfffff +80000112: c82e sw a1,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4605 li a2,1 +8000011e: 6605 lui a2,0x1 +80000120: c032 sw a2,0(sp) +80000122: 4685 li a3,1 +80000124: 6689 lui a3,0x2 +80000126: c236 sw a3,4(sp) +80000128: 4705 li a4,1 +8000012a: 673d lui a4,0xf +8000012c: c43a sw a4,8(sp) +8000012e: 4785 li a5,1 +80000130: 67fd lui a5,0x1f +80000132: c63e sw a5,12(sp) +80000134: 4805 li a6,1 +80000136: 787d lui a6,0xfffff +80000138: c842 sw a6,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00893 li a7,-1 +80000146: 6885 lui a7,0x1 +80000148: c046 sw a7,0(sp) +8000014a: fff00913 li s2,-1 +8000014e: 6909 lui s2,0x2 +80000150: c24a sw s2,4(sp) +80000152: fff00993 li s3,-1 +80000156: 69bd lui s3,0xf +80000158: c44e sw s3,8(sp) +8000015a: fff00a13 li s4,-1 +8000015e: 6a7d lui s4,0x1f +80000160: c652 sw s4,12(sp) +80000162: fff00a93 li s5,-1 +80000166: 7afd lui s5,0xfffff +80000168: c856 sw s5,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 00080b37 lui s6,0x80 +80000176: fffb0b13 addi s6,s6,-1 # 7ffff <_start-0x7ff80001> +8000017a: 6b05 lui s6,0x1 +8000017c: c05a sw s6,0(sp) +8000017e: 00080bb7 lui s7,0x80 +80000182: fffb8b93 addi s7,s7,-1 # 7ffff <_start-0x7ff80001> +80000186: 6b89 lui s7,0x2 +80000188: c25e sw s7,4(sp) +8000018a: 00080c37 lui s8,0x80 +8000018e: fffc0c13 addi s8,s8,-1 # 7ffff <_start-0x7ff80001> +80000192: 6c3d lui s8,0xf +80000194: c462 sw s8,8(sp) +80000196: 00080cb7 lui s9,0x80 +8000019a: fffc8c93 addi s9,s9,-1 # 7ffff <_start-0x7ff80001> +8000019e: 6cfd lui s9,0x1f +800001a0: c666 sw s9,12(sp) +800001a2: 00080d37 lui s10,0x80 +800001a6: fffd0d13 addi s10,s10,-1 # 7ffff <_start-0x7ff80001> +800001aa: 7d7d lui s10,0xfffff +800001ac: c86a sw s10,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 00080db7 lui s11,0x80 +800001ba: 6d85 lui s11,0x1 +800001bc: c06e sw s11,0(sp) +800001be: 00080e37 lui t3,0x80 +800001c2: 6e09 lui t3,0x2 +800001c4: c272 sw t3,4(sp) +800001c6: 00080eb7 lui t4,0x80 +800001ca: 6ebd lui t4,0xf +800001cc: c476 sw t4,8(sp) +800001ce: 00080f37 lui t5,0x80 +800001d2: 6f7d lui t5,0x1f +800001d4: c67a sw t5,12(sp) +800001d6: 00080fb7 lui t6,0x80 +800001da: 7ffd lui t6,0xfffff +800001dc: c87e sw t6,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.LW.elf.objdump b/VexRiscv/src/test/resources/asm/C.LW.elf.objdump new file mode 100644 index 0000000..93bca0e --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.LW.elf.objdump @@ -0,0 +1,263 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.LW.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 00001717 auipc a4,0x1 +800000fa: f1e70713 addi a4,a4,-226 # 80001014 <test_data> +800000fe: 4318 lw a4,0(a4) +80000100: c03a sw a4,0(sp) +80000102: 00001117 auipc sp,0x1 +80000106: f0210113 addi sp,sp,-254 # 80001004 <test_2_res> +8000010a: 00001797 auipc a5,0x1 +8000010e: f0a78793 addi a5,a5,-246 # 80001014 <test_data> +80000112: 43dc lw a5,4(a5) +80000114: c03e sw a5,0(sp) +80000116: 00001117 auipc sp,0x1 +8000011a: ef210113 addi sp,sp,-270 # 80001008 <test_3_res> +8000011e: 00001417 auipc s0,0x1 +80000122: ef640413 addi s0,s0,-266 # 80001014 <test_data> +80000126: 4400 lw s0,8(s0) +80000128: c022 sw s0,0(sp) +8000012a: 00001117 auipc sp,0x1 +8000012e: ee210113 addi sp,sp,-286 # 8000100c <test_4_res> +80000132: 00001497 auipc s1,0x1 +80000136: ee248493 addi s1,s1,-286 # 80001014 <test_data> +8000013a: 50e4 lw s1,100(s1) +8000013c: c026 sw s1,0(sp) +8000013e: 00001117 auipc sp,0x1 +80000142: ed210113 addi sp,sp,-302 # 80001010 <test_5_res> +80000146: 00001697 auipc a3,0x1 +8000014a: ece68693 addi a3,a3,-306 # 80001014 <test_data> +8000014e: 5ef4 lw a3,124(a3) +80000150: c036 sw a3,0(sp) +80000152: 00001517 auipc a0,0x1 +80000156: eae50513 addi a0,a0,-338 # 80001000 <codasip_signature_start> +8000015a: 00001597 auipc a1,0x1 +8000015e: f4658593 addi a1,a1,-186 # 800010a0 <_end> +80000162: f0100637 lui a2,0xf0100 +80000166: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee8c> + +8000016a <complience_halt_loop>: +8000016a: 00b50c63 beq a0,a1,80000182 <complience_halt_break> +8000016e: 4554 lw a3,12(a0) +80000170: c214 sw a3,0(a2) +80000172: 4514 lw a3,8(a0) +80000174: c214 sw a3,0(a2) +80000176: 4154 lw a3,4(a0) +80000178: c214 sw a3,0(a2) +8000017a: 4114 lw a3,0(a0) +8000017c: c214 sw a3,0(a2) +8000017e: 0541 addi a0,a0,16 +80000180: b7ed j 8000016a <complience_halt_loop> + +80000182 <complience_halt_break>: +80000182: f0100537 lui a0,0xf0100 +80000186: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee80> +8000018a: 00052023 sw zero,0(a0) +8000018e: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_data>: +80001014: 0000 unimp +80001016: 0000 unimp +80001018: 0001 nop +8000101a: 0000 unimp +8000101c: 0002 c.slli zero,0x0 +8000101e: 0000 unimp +80001020: 00000003 lb zero,0(zero) # 0 <_start-0x80000000> +80001024: 0004 0x4 +80001026: 0000 unimp +80001028: 0005 c.nop 1 +8000102a: 0000 unimp +8000102c: 0006 c.slli zero,0x1 +8000102e: 0000 unimp +80001030: 00000007 0x7 +80001034: 0008 0x8 +80001036: 0000 unimp +80001038: 0009 c.nop 2 +8000103a: 0000 unimp +8000103c: 000a c.slli zero,0x2 +8000103e: 0000 unimp +80001040: 0000000b 0xb +80001044: 000c 0xc +80001046: 0000 unimp +80001048: 000d c.nop 3 +8000104a: 0000 unimp +8000104c: 000e c.slli zero,0x3 +8000104e: 0000 unimp +80001050: 0000000f fence unknown,unknown +80001054: 0010 0x10 +80001056: 0000 unimp +80001058: 0011 c.nop 4 +8000105a: 0000 unimp +8000105c: 0012 c.slli zero,0x4 +8000105e: 0000 unimp +80001060: 00000013 nop +80001064: 0014 0x14 +80001066: 0000 unimp +80001068: 0015 c.nop 5 +8000106a: 0000 unimp +8000106c: 0016 c.slli zero,0x5 +8000106e: 0000 unimp +80001070: 00000017 auipc zero,0x0 +80001074: 0018 0x18 +80001076: 0000 unimp +80001078: 0019 c.nop 6 +8000107a: 0000 unimp +8000107c: 001a c.slli zero,0x6 +8000107e: 0000 unimp +80001080: 0000001b 0x1b +80001084: 001c 0x1c +80001086: 0000 unimp +80001088: 001d c.nop 7 +8000108a: 0000 unimp +8000108c: 001e c.slli zero,0x7 +8000108e: 0000 unimp +80001090: 001f 0000 0000 0x1f + ... diff --git a/VexRiscv/src/test/resources/asm/C.LWSP.elf.objdump b/VexRiscv/src/test/resources/asm/C.LWSP.elf.objdump new file mode 100644 index 0000000..a8f61ca --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.LWSP.elf.objdump @@ -0,0 +1,262 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.LWSP.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001097 auipc ra,0x1 +800000f2: f1208093 addi ra,ra,-238 # 80001000 <codasip_signature_start> +800000f6: 00001117 auipc sp,0x1 +800000fa: f1e10113 addi sp,sp,-226 # 80001014 <test_data> +800000fe: 4202 lw tp,0(sp) +80000100: 0040a023 sw tp,0(ra) +80000104: 00001097 auipc ra,0x1 +80000108: f0008093 addi ra,ra,-256 # 80001004 <test_2_res> +8000010c: 00001117 auipc sp,0x1 +80000110: f0810113 addi sp,sp,-248 # 80001014 <test_data> +80000114: 4412 lw s0,4(sp) +80000116: 0080a023 sw s0,0(ra) +8000011a: 00001097 auipc ra,0x1 +8000011e: eee08093 addi ra,ra,-274 # 80001008 <test_3_res> +80000122: 00001117 auipc sp,0x1 +80000126: ef210113 addi sp,sp,-270 # 80001014 <test_data> +8000012a: 4822 lw a6,8(sp) +8000012c: 0100a023 sw a6,0(ra) +80000130: 00001097 auipc ra,0x1 +80000134: edc08093 addi ra,ra,-292 # 8000100c <test_4_res> +80000138: 00001117 auipc sp,0x1 +8000013c: edc10113 addi sp,sp,-292 # 80001014 <test_data> +80000140: 5ff6 lw t6,124(sp) +80000142: 01f0a023 sw t6,0(ra) +80000146: 00001097 auipc ra,0x1 +8000014a: eca08093 addi ra,ra,-310 # 80001010 <test_5_res> +8000014e: 00001117 auipc sp,0x1 +80000152: ec610113 addi sp,sp,-314 # 80001014 <test_data> +80000156: 5afe lw s5,252(sp) +80000158: 0150a023 sw s5,0(ra) +8000015c: 00001517 auipc a0,0x1 +80000160: ea450513 addi a0,a0,-348 # 80001000 <codasip_signature_start> +80000164: 00001597 auipc a1,0x1 +80000168: f3c58593 addi a1,a1,-196 # 800010a0 <_end> +8000016c: f0100637 lui a2,0xf0100 +80000170: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee8c> + +80000174 <complience_halt_loop>: +80000174: 00b50c63 beq a0,a1,8000018c <complience_halt_break> +80000178: 4554 lw a3,12(a0) +8000017a: c214 sw a3,0(a2) +8000017c: 4514 lw a3,8(a0) +8000017e: c214 sw a3,0(a2) +80000180: 4154 lw a3,4(a0) +80000182: c214 sw a3,0(a2) +80000184: 4114 lw a3,0(a0) +80000186: c214 sw a3,0(a2) +80000188: 0541 addi a0,a0,16 +8000018a: b7ed j 80000174 <complience_halt_loop> + +8000018c <complience_halt_break>: +8000018c: f0100537 lui a0,0xf0100 +80000190: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee80> +80000194: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_data>: +80001014: 0000 unimp +80001016: 0000 unimp +80001018: 0001 nop +8000101a: 0000 unimp +8000101c: 0002 c.slli zero,0x0 +8000101e: 0000 unimp +80001020: 00000003 lb zero,0(zero) # 0 <_start-0x80000000> +80001024: 0004 0x4 +80001026: 0000 unimp +80001028: 0005 c.nop 1 +8000102a: 0000 unimp +8000102c: 0006 c.slli zero,0x1 +8000102e: 0000 unimp +80001030: 00000007 0x7 +80001034: 0008 0x8 +80001036: 0000 unimp +80001038: 0009 c.nop 2 +8000103a: 0000 unimp +8000103c: 000a c.slli zero,0x2 +8000103e: 0000 unimp +80001040: 0000000b 0xb +80001044: 000c 0xc +80001046: 0000 unimp +80001048: 000d c.nop 3 +8000104a: 0000 unimp +8000104c: 000e c.slli zero,0x3 +8000104e: 0000 unimp +80001050: 0000000f fence unknown,unknown +80001054: 0010 0x10 +80001056: 0000 unimp +80001058: 0011 c.nop 4 +8000105a: 0000 unimp +8000105c: 0012 c.slli zero,0x4 +8000105e: 0000 unimp +80001060: 00000013 nop +80001064: 0014 0x14 +80001066: 0000 unimp +80001068: 0015 c.nop 5 +8000106a: 0000 unimp +8000106c: 0016 c.slli zero,0x5 +8000106e: 0000 unimp +80001070: 00000017 auipc zero,0x0 +80001074: 0018 0x18 +80001076: 0000 unimp +80001078: 0019 c.nop 6 +8000107a: 0000 unimp +8000107c: 001a c.slli zero,0x6 +8000107e: 0000 unimp +80001080: 0000001b 0x1b +80001084: 001c 0x1c +80001086: 0000 unimp +80001088: 001d c.nop 7 +8000108a: 0000 unimp +8000108c: 001e c.slli zero,0x7 +8000108e: 0000 unimp +80001090: 001f 0000 0000 0x1f + ... diff --git a/VexRiscv/src/test/resources/asm/C.MV.elf.objdump b/VexRiscv/src/test/resources/asm/C.MV.elf.objdump new file mode 100644 index 0000000..491d682 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.MV.elf.objdump @@ -0,0 +1,334 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.MV.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4601 li a2,0 +800000f8: 4581 li a1,0 +800000fa: 85b2 mv a1,a2 +800000fc: c02e sw a1,0(sp) +800000fe: 4701 li a4,0 +80000100: 4685 li a3,1 +80000102: 86ba mv a3,a4 +80000104: c236 sw a3,4(sp) +80000106: 4401 li s0,0 +80000108: fff00793 li a5,-1 +8000010c: 87a2 mv a5,s0 +8000010e: c43e sw a5,8(sp) +80000110: 4581 li a1,0 +80000112: 000084b7 lui s1,0x8 +80000116: fff48493 addi s1,s1,-1 # 7fff <_start-0x7fff8001> +8000011a: 84ae mv s1,a1 +8000011c: c626 sw s1,12(sp) +8000011e: 4681 li a3,0 +80000120: 6621 lui a2,0x8 +80000122: 8636 mv a2,a3 +80000124: c832 sw a2,16(sp) +80000126: 00001117 auipc sp,0x1 +8000012a: eee10113 addi sp,sp,-274 # 80001014 <test_2_res> +8000012e: 4785 li a5,1 +80000130: 4701 li a4,0 +80000132: 873e mv a4,a5 +80000134: c03a sw a4,0(sp) +80000136: 4485 li s1,1 +80000138: 4405 li s0,1 +8000013a: 8426 mv s0,s1 +8000013c: c222 sw s0,4(sp) +8000013e: 4605 li a2,1 +80000140: fff00593 li a1,-1 +80000144: 85b2 mv a1,a2 +80000146: c42e sw a1,8(sp) +80000148: 4705 li a4,1 +8000014a: 000086b7 lui a3,0x8 +8000014e: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +80000152: 86ba mv a3,a4 +80000154: c636 sw a3,12(sp) +80000156: 4405 li s0,1 +80000158: 67a1 lui a5,0x8 +8000015a: 87a2 mv a5,s0 +8000015c: c83e sw a5,16(sp) +8000015e: 00001117 auipc sp,0x1 +80000162: eca10113 addi sp,sp,-310 # 80001028 <test_3_res> +80000166: fff00593 li a1,-1 +8000016a: 4481 li s1,0 +8000016c: 84ae mv s1,a1 +8000016e: c026 sw s1,0(sp) +80000170: fff00693 li a3,-1 +80000174: 4605 li a2,1 +80000176: 8636 mv a2,a3 +80000178: c232 sw a2,4(sp) +8000017a: fff00793 li a5,-1 +8000017e: fff00713 li a4,-1 +80000182: 873e mv a4,a5 +80000184: c43a sw a4,8(sp) +80000186: fff00493 li s1,-1 +8000018a: 00008437 lui s0,0x8 +8000018e: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +80000192: 8426 mv s0,s1 +80000194: c622 sw s0,12(sp) +80000196: fff00613 li a2,-1 +8000019a: 65a1 lui a1,0x8 +8000019c: 85b2 mv a1,a2 +8000019e: c82e sw a1,16(sp) +800001a0: 00001117 auipc sp,0x1 +800001a4: e9c10113 addi sp,sp,-356 # 8000103c <test_4_res> +800001a8: 00008737 lui a4,0x8 +800001ac: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +800001b0: 4681 li a3,0 +800001b2: 86ba mv a3,a4 +800001b4: c036 sw a3,0(sp) +800001b6: 00008437 lui s0,0x8 +800001ba: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +800001be: 4785 li a5,1 +800001c0: 87a2 mv a5,s0 +800001c2: c23e sw a5,4(sp) +800001c4: 000085b7 lui a1,0x8 +800001c8: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +800001cc: fff00493 li s1,-1 +800001d0: 84ae mv s1,a1 +800001d2: c426 sw s1,8(sp) +800001d4: 000086b7 lui a3,0x8 +800001d8: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +800001dc: 00008637 lui a2,0x8 +800001e0: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800001e4: 8636 mv a2,a3 +800001e6: c632 sw a2,12(sp) +800001e8: 000087b7 lui a5,0x8 +800001ec: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +800001f0: 6721 lui a4,0x8 +800001f2: 873e mv a4,a5 +800001f4: c83a sw a4,16(sp) +800001f6: 00001117 auipc sp,0x1 +800001fa: e5a10113 addi sp,sp,-422 # 80001050 <test_5_res> +800001fe: 64a1 lui s1,0x8 +80000200: 4401 li s0,0 +80000202: 8426 mv s0,s1 +80000204: c022 sw s0,0(sp) +80000206: 6621 lui a2,0x8 +80000208: 4585 li a1,1 +8000020a: 85b2 mv a1,a2 +8000020c: c22e sw a1,4(sp) +8000020e: 6721 lui a4,0x8 +80000210: fff00693 li a3,-1 +80000214: 86ba mv a3,a4 +80000216: c436 sw a3,8(sp) +80000218: 6421 lui s0,0x8 +8000021a: 000087b7 lui a5,0x8 +8000021e: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +80000222: 87a2 mv a5,s0 +80000224: c63e sw a5,12(sp) +80000226: 65a1 lui a1,0x8 +80000228: 64a1 lui s1,0x8 +8000022a: 84ae mv s1,a1 +8000022c: c826 sw s1,16(sp) +8000022e: 00001517 auipc a0,0x1 +80000232: dd250513 addi a0,a0,-558 # 80001000 <codasip_signature_start> +80000236: 00001597 auipc a1,0x1 +8000023a: e3a58593 addi a1,a1,-454 # 80001070 <_end> +8000023e: f0100637 lui a2,0xf0100 +80000242: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000246 <complience_halt_loop>: +80000246: 00b50c63 beq a0,a1,8000025e <complience_halt_break> +8000024a: 4554 lw a3,12(a0) +8000024c: c214 sw a3,0(a2) +8000024e: 4514 lw a3,8(a0) +80000250: c214 sw a3,0(a2) +80000252: 4154 lw a3,4(a0) +80000254: c214 sw a3,0(a2) +80000256: 4114 lw a3,0(a0) +80000258: c214 sw a3,0(a2) +8000025a: 0541 addi a0,a0,16 +8000025c: b7ed j 80000246 <complience_halt_loop> + +8000025e <complience_halt_break>: +8000025e: f0100537 lui a0,0xf0100 +80000262: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000266: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.OR.elf.objdump b/VexRiscv/src/test/resources/asm/C.OR.elf.objdump new file mode 100644 index 0000000..0bd35cb --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.OR.elf.objdump @@ -0,0 +1,334 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.OR.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4401 li s0,0 +800000f8: 4781 li a5,0 +800000fa: 8fc1 or a5,a5,s0 +800000fc: c03e sw a5,0(sp) +800000fe: 4581 li a1,0 +80000100: 4485 li s1,1 +80000102: 8ccd or s1,s1,a1 +80000104: c226 sw s1,4(sp) +80000106: 4681 li a3,0 +80000108: fff00613 li a2,-1 +8000010c: 8e55 or a2,a2,a3 +8000010e: c432 sw a2,8(sp) +80000110: 4781 li a5,0 +80000112: 00008737 lui a4,0x8 +80000116: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +8000011a: 8f5d or a4,a4,a5 +8000011c: c63a sw a4,12(sp) +8000011e: 4481 li s1,0 +80000120: 6421 lui s0,0x8 +80000122: 8c45 or s0,s0,s1 +80000124: c822 sw s0,16(sp) +80000126: 00001117 auipc sp,0x1 +8000012a: eee10113 addi sp,sp,-274 # 80001014 <test_2_res> +8000012e: 4605 li a2,1 +80000130: 4581 li a1,0 +80000132: 8dd1 or a1,a1,a2 +80000134: c02e sw a1,0(sp) +80000136: 4705 li a4,1 +80000138: 4685 li a3,1 +8000013a: 8ed9 or a3,a3,a4 +8000013c: c236 sw a3,4(sp) +8000013e: 4405 li s0,1 +80000140: fff00793 li a5,-1 +80000144: 8fc1 or a5,a5,s0 +80000146: c43e sw a5,8(sp) +80000148: 4585 li a1,1 +8000014a: 000084b7 lui s1,0x8 +8000014e: fff48493 addi s1,s1,-1 # 7fff <_start-0x7fff8001> +80000152: 8ccd or s1,s1,a1 +80000154: c626 sw s1,12(sp) +80000156: 4685 li a3,1 +80000158: 6621 lui a2,0x8 +8000015a: 8e55 or a2,a2,a3 +8000015c: c832 sw a2,16(sp) +8000015e: 00001117 auipc sp,0x1 +80000162: eca10113 addi sp,sp,-310 # 80001028 <test_3_res> +80000166: fff00793 li a5,-1 +8000016a: 4701 li a4,0 +8000016c: 8f5d or a4,a4,a5 +8000016e: c03a sw a4,0(sp) +80000170: fff00493 li s1,-1 +80000174: 4405 li s0,1 +80000176: 8c45 or s0,s0,s1 +80000178: c222 sw s0,4(sp) +8000017a: fff00613 li a2,-1 +8000017e: fff00593 li a1,-1 +80000182: 8dd1 or a1,a1,a2 +80000184: c42e sw a1,8(sp) +80000186: fff00713 li a4,-1 +8000018a: 000086b7 lui a3,0x8 +8000018e: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +80000192: 8ed9 or a3,a3,a4 +80000194: c636 sw a3,12(sp) +80000196: fff00413 li s0,-1 +8000019a: 67a1 lui a5,0x8 +8000019c: 8fc1 or a5,a5,s0 +8000019e: c83e sw a5,16(sp) +800001a0: 00001117 auipc sp,0x1 +800001a4: e9c10113 addi sp,sp,-356 # 8000103c <test_4_res> +800001a8: 000085b7 lui a1,0x8 +800001ac: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +800001b0: 4481 li s1,0 +800001b2: 8ccd or s1,s1,a1 +800001b4: c026 sw s1,0(sp) +800001b6: 000086b7 lui a3,0x8 +800001ba: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +800001be: 4605 li a2,1 +800001c0: 8e55 or a2,a2,a3 +800001c2: c232 sw a2,4(sp) +800001c4: 000087b7 lui a5,0x8 +800001c8: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +800001cc: fff00713 li a4,-1 +800001d0: 8f5d or a4,a4,a5 +800001d2: c43a sw a4,8(sp) +800001d4: 000084b7 lui s1,0x8 +800001d8: fff48493 addi s1,s1,-1 # 7fff <_start-0x7fff8001> +800001dc: 00008437 lui s0,0x8 +800001e0: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +800001e4: 8c45 or s0,s0,s1 +800001e6: c622 sw s0,12(sp) +800001e8: 00008637 lui a2,0x8 +800001ec: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800001f0: 65a1 lui a1,0x8 +800001f2: 8dd1 or a1,a1,a2 +800001f4: c82e sw a1,16(sp) +800001f6: 00001117 auipc sp,0x1 +800001fa: e5a10113 addi sp,sp,-422 # 80001050 <test_5_res> +800001fe: 6721 lui a4,0x8 +80000200: 4681 li a3,0 +80000202: 8ed9 or a3,a3,a4 +80000204: c036 sw a3,0(sp) +80000206: 6421 lui s0,0x8 +80000208: 4785 li a5,1 +8000020a: 8fc1 or a5,a5,s0 +8000020c: c23e sw a5,4(sp) +8000020e: 65a1 lui a1,0x8 +80000210: fff00493 li s1,-1 +80000214: 8ccd or s1,s1,a1 +80000216: c426 sw s1,8(sp) +80000218: 66a1 lui a3,0x8 +8000021a: 00008637 lui a2,0x8 +8000021e: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000222: 8e55 or a2,a2,a3 +80000224: c632 sw a2,12(sp) +80000226: 67a1 lui a5,0x8 +80000228: 6721 lui a4,0x8 +8000022a: 8f5d or a4,a4,a5 +8000022c: c83a sw a4,16(sp) +8000022e: 00001517 auipc a0,0x1 +80000232: dd250513 addi a0,a0,-558 # 80001000 <codasip_signature_start> +80000236: 00001597 auipc a1,0x1 +8000023a: e3a58593 addi a1,a1,-454 # 80001070 <_end> +8000023e: f0100637 lui a2,0xf0100 +80000242: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000246 <complience_halt_loop>: +80000246: 00b50c63 beq a0,a1,8000025e <complience_halt_break> +8000024a: 4554 lw a3,12(a0) +8000024c: c214 sw a3,0(a2) +8000024e: 4514 lw a3,8(a0) +80000250: c214 sw a3,0(a2) +80000252: 4154 lw a3,4(a0) +80000254: c214 sw a3,0(a2) +80000256: 4114 lw a3,0(a0) +80000258: c214 sw a3,0(a2) +8000025a: 0541 addi a0,a0,16 +8000025c: b7ed j 80000246 <complience_halt_loop> + +8000025e <complience_halt_break>: +8000025e: f0100537 lui a0,0xf0100 +80000262: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000266: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.SLLI.elf.objdump b/VexRiscv/src/test/resources/asm/C.SLLI.elf.objdump new file mode 100644 index 0000000..a0f3226 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.SLLI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.SLLI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4181 li gp,0 +800000f8: 0186 slli gp,gp,0x1 +800000fa: c00e sw gp,0(sp) +800000fc: 4201 li tp,0 +800000fe: 020a slli tp,tp,0x2 +80000100: c212 sw tp,4(sp) +80000102: 4401 li s0,0 +80000104: 043e slli s0,s0,0xf +80000106: c422 sw s0,8(sp) +80000108: 4481 li s1,0 +8000010a: 04c2 slli s1,s1,0x10 +8000010c: c626 sw s1,12(sp) +8000010e: 4581 li a1,0 +80000110: 05fe slli a1,a1,0x1f +80000112: c82e sw a1,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4605 li a2,1 +8000011e: 0606 slli a2,a2,0x1 +80000120: c032 sw a2,0(sp) +80000122: 4685 li a3,1 +80000124: 068a slli a3,a3,0x2 +80000126: c236 sw a3,4(sp) +80000128: 4705 li a4,1 +8000012a: 073e slli a4,a4,0xf +8000012c: c43a sw a4,8(sp) +8000012e: 4785 li a5,1 +80000130: 07c2 slli a5,a5,0x10 +80000132: c63e sw a5,12(sp) +80000134: 4805 li a6,1 +80000136: 087e slli a6,a6,0x1f +80000138: c842 sw a6,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00893 li a7,-1 +80000146: 0886 slli a7,a7,0x1 +80000148: c046 sw a7,0(sp) +8000014a: fff00913 li s2,-1 +8000014e: 090a slli s2,s2,0x2 +80000150: c24a sw s2,4(sp) +80000152: fff00993 li s3,-1 +80000156: 09be slli s3,s3,0xf +80000158: c44e sw s3,8(sp) +8000015a: fff00a13 li s4,-1 +8000015e: 0a42 slli s4,s4,0x10 +80000160: c652 sw s4,12(sp) +80000162: fff00a93 li s5,-1 +80000166: 0afe slli s5,s5,0x1f +80000168: c856 sw s5,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 00080b37 lui s6,0x80 +80000176: fffb0b13 addi s6,s6,-1 # 7ffff <_start-0x7ff80001> +8000017a: 0b06 slli s6,s6,0x1 +8000017c: c05a sw s6,0(sp) +8000017e: 00080bb7 lui s7,0x80 +80000182: fffb8b93 addi s7,s7,-1 # 7ffff <_start-0x7ff80001> +80000186: 0b8a slli s7,s7,0x2 +80000188: c25e sw s7,4(sp) +8000018a: 00080c37 lui s8,0x80 +8000018e: fffc0c13 addi s8,s8,-1 # 7ffff <_start-0x7ff80001> +80000192: 0c3e slli s8,s8,0xf +80000194: c462 sw s8,8(sp) +80000196: 00080cb7 lui s9,0x80 +8000019a: fffc8c93 addi s9,s9,-1 # 7ffff <_start-0x7ff80001> +8000019e: 0cc2 slli s9,s9,0x10 +800001a0: c666 sw s9,12(sp) +800001a2: 00080d37 lui s10,0x80 +800001a6: fffd0d13 addi s10,s10,-1 # 7ffff <_start-0x7ff80001> +800001aa: 0d7e slli s10,s10,0x1f +800001ac: c86a sw s10,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 00080db7 lui s11,0x80 +800001ba: 0d86 slli s11,s11,0x1 +800001bc: c06e sw s11,0(sp) +800001be: 00080e37 lui t3,0x80 +800001c2: 0e0a slli t3,t3,0x2 +800001c4: c272 sw t3,4(sp) +800001c6: 00080eb7 lui t4,0x80 +800001ca: 0ebe slli t4,t4,0xf +800001cc: c476 sw t4,8(sp) +800001ce: 00080f37 lui t5,0x80 +800001d2: 0f42 slli t5,t5,0x10 +800001d4: c67a sw t5,12(sp) +800001d6: 00080fb7 lui t6,0x80 +800001da: 0ffe slli t6,t6,0x1f +800001dc: c87e sw t6,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.SRAI.elf.objdump b/VexRiscv/src/test/resources/asm/C.SRAI.elf.objdump new file mode 100644 index 0000000..b5a4de3 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.SRAI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.SRAI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4481 li s1,0 +800000f8: 8485 srai s1,s1,0x1 +800000fa: c026 sw s1,0(sp) +800000fc: 4581 li a1,0 +800000fe: 8589 srai a1,a1,0x2 +80000100: c22e sw a1,4(sp) +80000102: 4601 li a2,0 +80000104: 863d srai a2,a2,0xf +80000106: c432 sw a2,8(sp) +80000108: 4681 li a3,0 +8000010a: 86c1 srai a3,a3,0x10 +8000010c: c636 sw a3,12(sp) +8000010e: 4701 li a4,0 +80000110: 877d srai a4,a4,0x1f +80000112: c83a sw a4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4785 li a5,1 +8000011e: 8785 srai a5,a5,0x1 +80000120: c03e sw a5,0(sp) +80000122: 4405 li s0,1 +80000124: 8409 srai s0,s0,0x2 +80000126: c222 sw s0,4(sp) +80000128: 4485 li s1,1 +8000012a: 84bd srai s1,s1,0xf +8000012c: c426 sw s1,8(sp) +8000012e: 4585 li a1,1 +80000130: 85c1 srai a1,a1,0x10 +80000132: c62e sw a1,12(sp) +80000134: 4605 li a2,1 +80000136: 867d srai a2,a2,0x1f +80000138: c832 sw a2,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00693 li a3,-1 +80000146: 8685 srai a3,a3,0x1 +80000148: c036 sw a3,0(sp) +8000014a: fff00713 li a4,-1 +8000014e: 8709 srai a4,a4,0x2 +80000150: c23a sw a4,4(sp) +80000152: fff00793 li a5,-1 +80000156: 87bd srai a5,a5,0xf +80000158: c43e sw a5,8(sp) +8000015a: fff00413 li s0,-1 +8000015e: 8441 srai s0,s0,0x10 +80000160: c622 sw s0,12(sp) +80000162: fff00493 li s1,-1 +80000166: 84fd srai s1,s1,0x1f +80000168: c826 sw s1,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 000805b7 lui a1,0x80 +80000176: fff58593 addi a1,a1,-1 # 7ffff <_start-0x7ff80001> +8000017a: 8585 srai a1,a1,0x1 +8000017c: c02e sw a1,0(sp) +8000017e: 00080637 lui a2,0x80 +80000182: fff60613 addi a2,a2,-1 # 7ffff <_start-0x7ff80001> +80000186: 8609 srai a2,a2,0x2 +80000188: c232 sw a2,4(sp) +8000018a: 000806b7 lui a3,0x80 +8000018e: fff68693 addi a3,a3,-1 # 7ffff <_start-0x7ff80001> +80000192: 86bd srai a3,a3,0xf +80000194: c436 sw a3,8(sp) +80000196: 00080737 lui a4,0x80 +8000019a: fff70713 addi a4,a4,-1 # 7ffff <_start-0x7ff80001> +8000019e: 8741 srai a4,a4,0x10 +800001a0: c63a sw a4,12(sp) +800001a2: 000807b7 lui a5,0x80 +800001a6: fff78793 addi a5,a5,-1 # 7ffff <_start-0x7ff80001> +800001aa: 87fd srai a5,a5,0x1f +800001ac: c83e sw a5,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 00080437 lui s0,0x80 +800001ba: 8405 srai s0,s0,0x1 +800001bc: c022 sw s0,0(sp) +800001be: 000804b7 lui s1,0x80 +800001c2: 8489 srai s1,s1,0x2 +800001c4: c226 sw s1,4(sp) +800001c6: 000805b7 lui a1,0x80 +800001ca: 85bd srai a1,a1,0xf +800001cc: c42e sw a1,8(sp) +800001ce: 00080637 lui a2,0x80 +800001d2: 8641 srai a2,a2,0x10 +800001d4: c632 sw a2,12(sp) +800001d6: 000806b7 lui a3,0x80 +800001da: 86fd srai a3,a3,0x1f +800001dc: c836 sw a3,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.SRLI.elf.objdump b/VexRiscv/src/test/resources/asm/C.SRLI.elf.objdump new file mode 100644 index 0000000..ac89194 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.SRLI.elf.objdump @@ -0,0 +1,304 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.SRLI.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4701 li a4,0 +800000f8: 8305 srli a4,a4,0x1 +800000fa: c03a sw a4,0(sp) +800000fc: 4781 li a5,0 +800000fe: 8389 srli a5,a5,0x2 +80000100: c23e sw a5,4(sp) +80000102: 4401 li s0,0 +80000104: 803d srli s0,s0,0xf +80000106: c422 sw s0,8(sp) +80000108: 4481 li s1,0 +8000010a: 80c1 srli s1,s1,0x10 +8000010c: c626 sw s1,12(sp) +8000010e: 4581 li a1,0 +80000110: 81fd srli a1,a1,0x1f +80000112: c82e sw a1,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f0010113 addi sp,sp,-256 # 80001014 <test_2_res> +8000011c: 4605 li a2,1 +8000011e: 8205 srli a2,a2,0x1 +80000120: c032 sw a2,0(sp) +80000122: 4685 li a3,1 +80000124: 8289 srli a3,a3,0x2 +80000126: c236 sw a3,4(sp) +80000128: 4705 li a4,1 +8000012a: 833d srli a4,a4,0xf +8000012c: c43a sw a4,8(sp) +8000012e: 4785 li a5,1 +80000130: 83c1 srli a5,a5,0x10 +80000132: c63e sw a5,12(sp) +80000134: 4405 li s0,1 +80000136: 807d srli s0,s0,0x1f +80000138: c822 sw s0,16(sp) +8000013a: 00001117 auipc sp,0x1 +8000013e: eee10113 addi sp,sp,-274 # 80001028 <test_3_res> +80000142: fff00493 li s1,-1 +80000146: 8085 srli s1,s1,0x1 +80000148: c026 sw s1,0(sp) +8000014a: fff00593 li a1,-1 +8000014e: 8189 srli a1,a1,0x2 +80000150: c22e sw a1,4(sp) +80000152: fff00613 li a2,-1 +80000156: 823d srli a2,a2,0xf +80000158: c432 sw a2,8(sp) +8000015a: fff00693 li a3,-1 +8000015e: 82c1 srli a3,a3,0x10 +80000160: c636 sw a3,12(sp) +80000162: fff00713 li a4,-1 +80000166: 837d srli a4,a4,0x1f +80000168: c83a sw a4,16(sp) +8000016a: 00001117 auipc sp,0x1 +8000016e: ed210113 addi sp,sp,-302 # 8000103c <test_4_res> +80000172: 000807b7 lui a5,0x80 +80000176: fff78793 addi a5,a5,-1 # 7ffff <_start-0x7ff80001> +8000017a: 8385 srli a5,a5,0x1 +8000017c: c03e sw a5,0(sp) +8000017e: 00080437 lui s0,0x80 +80000182: fff40413 addi s0,s0,-1 # 7ffff <_start-0x7ff80001> +80000186: 8009 srli s0,s0,0x2 +80000188: c222 sw s0,4(sp) +8000018a: 000804b7 lui s1,0x80 +8000018e: fff48493 addi s1,s1,-1 # 7ffff <_start-0x7ff80001> +80000192: 80bd srli s1,s1,0xf +80000194: c426 sw s1,8(sp) +80000196: 000805b7 lui a1,0x80 +8000019a: fff58593 addi a1,a1,-1 # 7ffff <_start-0x7ff80001> +8000019e: 81c1 srli a1,a1,0x10 +800001a0: c62e sw a1,12(sp) +800001a2: 00080637 lui a2,0x80 +800001a6: fff60613 addi a2,a2,-1 # 7ffff <_start-0x7ff80001> +800001aa: 827d srli a2,a2,0x1f +800001ac: c832 sw a2,16(sp) +800001ae: 00001117 auipc sp,0x1 +800001b2: ea210113 addi sp,sp,-350 # 80001050 <test_5_res> +800001b6: 000806b7 lui a3,0x80 +800001ba: 8285 srli a3,a3,0x1 +800001bc: c036 sw a3,0(sp) +800001be: 00080737 lui a4,0x80 +800001c2: 8309 srli a4,a4,0x2 +800001c4: c23a sw a4,4(sp) +800001c6: 000807b7 lui a5,0x80 +800001ca: 83bd srli a5,a5,0xf +800001cc: c43e sw a5,8(sp) +800001ce: 00080437 lui s0,0x80 +800001d2: 8041 srli s0,s0,0x10 +800001d4: c622 sw s0,12(sp) +800001d6: 000804b7 lui s1,0x80 +800001da: 80fd srli s1,s1,0x1f +800001dc: c826 sw s1,16(sp) +800001de: 00001517 auipc a0,0x1 +800001e2: e2250513 addi a0,a0,-478 # 80001000 <codasip_signature_start> +800001e6: 00001597 auipc a1,0x1 +800001ea: e8a58593 addi a1,a1,-374 # 80001070 <_end> +800001ee: f0100637 lui a2,0xf0100 +800001f2: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800001f6 <complience_halt_loop>: +800001f6: 00b50c63 beq a0,a1,8000020e <complience_halt_break> +800001fa: 4554 lw a3,12(a0) +800001fc: c214 sw a3,0(a2) +800001fe: 4514 lw a3,8(a0) +80000200: c214 sw a3,0(a2) +80000202: 4154 lw a3,4(a0) +80000204: c214 sw a3,0(a2) +80000206: 4114 lw a3,0(a0) +80000208: c214 sw a3,0(a2) +8000020a: 0541 addi a0,a0,16 +8000020c: b7ed j 800001f6 <complience_halt_loop> + +8000020e <complience_halt_break>: +8000020e: f0100537 lui a0,0xf0100 +80000212: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000216: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.SUB.elf.objdump b/VexRiscv/src/test/resources/asm/C.SUB.elf.objdump new file mode 100644 index 0000000..800d933 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.SUB.elf.objdump @@ -0,0 +1,334 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.SUB.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4581 li a1,0 +800000f8: 4481 li s1,0 +800000fa: 8c8d sub s1,s1,a1 +800000fc: c026 sw s1,0(sp) +800000fe: 4681 li a3,0 +80000100: 4605 li a2,1 +80000102: 8e15 sub a2,a2,a3 +80000104: c232 sw a2,4(sp) +80000106: 4781 li a5,0 +80000108: fff00713 li a4,-1 +8000010c: 8f1d sub a4,a4,a5 +8000010e: c43a sw a4,8(sp) +80000110: 4481 li s1,0 +80000112: 00008437 lui s0,0x8 +80000116: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +8000011a: 8c05 sub s0,s0,s1 +8000011c: c622 sw s0,12(sp) +8000011e: 4601 li a2,0 +80000120: 65a1 lui a1,0x8 +80000122: 8d91 sub a1,a1,a2 +80000124: c82e sw a1,16(sp) +80000126: 00001117 auipc sp,0x1 +8000012a: eee10113 addi sp,sp,-274 # 80001014 <test_2_res> +8000012e: 4705 li a4,1 +80000130: 4681 li a3,0 +80000132: 8e99 sub a3,a3,a4 +80000134: c036 sw a3,0(sp) +80000136: 4405 li s0,1 +80000138: 4785 li a5,1 +8000013a: 8f81 sub a5,a5,s0 +8000013c: c23e sw a5,4(sp) +8000013e: 4585 li a1,1 +80000140: fff00493 li s1,-1 +80000144: 8c8d sub s1,s1,a1 +80000146: c426 sw s1,8(sp) +80000148: 4685 li a3,1 +8000014a: 00008637 lui a2,0x8 +8000014e: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +80000152: 8e15 sub a2,a2,a3 +80000154: c632 sw a2,12(sp) +80000156: 4785 li a5,1 +80000158: 6721 lui a4,0x8 +8000015a: 8f1d sub a4,a4,a5 +8000015c: c83a sw a4,16(sp) +8000015e: 00001117 auipc sp,0x1 +80000162: eca10113 addi sp,sp,-310 # 80001028 <test_3_res> +80000166: fff00493 li s1,-1 +8000016a: 4401 li s0,0 +8000016c: 8c05 sub s0,s0,s1 +8000016e: c022 sw s0,0(sp) +80000170: fff00613 li a2,-1 +80000174: 4585 li a1,1 +80000176: 8d91 sub a1,a1,a2 +80000178: c22e sw a1,4(sp) +8000017a: fff00713 li a4,-1 +8000017e: fff00693 li a3,-1 +80000182: 8e99 sub a3,a3,a4 +80000184: c436 sw a3,8(sp) +80000186: fff00413 li s0,-1 +8000018a: 000087b7 lui a5,0x8 +8000018e: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +80000192: 8f81 sub a5,a5,s0 +80000194: c63e sw a5,12(sp) +80000196: fff00593 li a1,-1 +8000019a: 64a1 lui s1,0x8 +8000019c: 8c8d sub s1,s1,a1 +8000019e: c826 sw s1,16(sp) +800001a0: 00001117 auipc sp,0x1 +800001a4: e9c10113 addi sp,sp,-356 # 8000103c <test_4_res> +800001a8: 000086b7 lui a3,0x8 +800001ac: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +800001b0: 4601 li a2,0 +800001b2: 8e15 sub a2,a2,a3 +800001b4: c032 sw a2,0(sp) +800001b6: 000087b7 lui a5,0x8 +800001ba: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +800001be: 4705 li a4,1 +800001c0: 8f1d sub a4,a4,a5 +800001c2: c23a sw a4,4(sp) +800001c4: 000084b7 lui s1,0x8 +800001c8: fff48493 addi s1,s1,-1 # 7fff <_start-0x7fff8001> +800001cc: fff00413 li s0,-1 +800001d0: 8c05 sub s0,s0,s1 +800001d2: c422 sw s0,8(sp) +800001d4: 00008637 lui a2,0x8 +800001d8: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800001dc: 000085b7 lui a1,0x8 +800001e0: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +800001e4: 8d91 sub a1,a1,a2 +800001e6: c62e sw a1,12(sp) +800001e8: 00008737 lui a4,0x8 +800001ec: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +800001f0: 66a1 lui a3,0x8 +800001f2: 8e99 sub a3,a3,a4 +800001f4: c836 sw a3,16(sp) +800001f6: 00001117 auipc sp,0x1 +800001fa: e5a10113 addi sp,sp,-422 # 80001050 <test_5_res> +800001fe: 6421 lui s0,0x8 +80000200: 4781 li a5,0 +80000202: 8f81 sub a5,a5,s0 +80000204: c03e sw a5,0(sp) +80000206: 65a1 lui a1,0x8 +80000208: 4485 li s1,1 +8000020a: 8c8d sub s1,s1,a1 +8000020c: c226 sw s1,4(sp) +8000020e: 66a1 lui a3,0x8 +80000210: fff00613 li a2,-1 +80000214: 8e15 sub a2,a2,a3 +80000216: c432 sw a2,8(sp) +80000218: 67a1 lui a5,0x8 +8000021a: 00008737 lui a4,0x8 +8000021e: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +80000222: 8f1d sub a4,a4,a5 +80000224: c63a sw a4,12(sp) +80000226: 64a1 lui s1,0x8 +80000228: 6421 lui s0,0x8 +8000022a: 8c05 sub s0,s0,s1 +8000022c: c822 sw s0,16(sp) +8000022e: 00001517 auipc a0,0x1 +80000232: dd250513 addi a0,a0,-558 # 80001000 <codasip_signature_start> +80000236: 00001597 auipc a1,0x1 +8000023a: e3a58593 addi a1,a1,-454 # 80001070 <_end> +8000023e: f0100637 lui a2,0xf0100 +80000242: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000246 <complience_halt_loop>: +80000246: 00b50c63 beq a0,a1,8000025e <complience_halt_break> +8000024a: 4554 lw a3,12(a0) +8000024c: c214 sw a3,0(a2) +8000024e: 4514 lw a3,8(a0) +80000250: c214 sw a3,0(a2) +80000252: 4154 lw a3,4(a0) +80000254: c214 sw a3,0(a2) +80000256: 4114 lw a3,0(a0) +80000258: c214 sw a3,0(a2) +8000025a: 0541 addi a0,a0,16 +8000025c: b7ed j 80000246 <complience_halt_loop> + +8000025e <complience_halt_break>: +8000025e: f0100537 lui a0,0xf0100 +80000262: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000266: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.SW.elf.objdump b/VexRiscv/src/test/resources/asm/C.SW.elf.objdump new file mode 100644 index 0000000..4ab3204 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.SW.elf.objdump @@ -0,0 +1,281 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.SW.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4401 li s0,0 +800000f8: 00001617 auipc a2,0x1 +800000fc: f1c60613 addi a2,a2,-228 # 80001014 <test_data> +80000100: c200 sw s0,0(a2) +80000102: 4200 lw s0,0(a2) +80000104: c022 sw s0,0(sp) +80000106: 00001117 auipc sp,0x1 +8000010a: efe10113 addi sp,sp,-258 # 80001004 <test_2_res> +8000010e: 4485 li s1,1 +80000110: 00001797 auipc a5,0x1 +80000114: f0478793 addi a5,a5,-252 # 80001014 <test_data> +80000118: c3c4 sw s1,4(a5) +8000011a: 43c4 lw s1,4(a5) +8000011c: c026 sw s1,0(sp) +8000011e: 00001117 auipc sp,0x1 +80000122: eea10113 addi sp,sp,-278 # 80001008 <test_3_res> +80000126: 557d li a0,-1 +80000128: 00001497 auipc s1,0x1 +8000012c: eec48493 addi s1,s1,-276 # 80001014 <test_data> +80000130: c488 sw a0,8(s1) +80000132: 4488 lw a0,8(s1) +80000134: c02a sw a0,0(sp) +80000136: 00001117 auipc sp,0x1 +8000013a: ed610113 addi sp,sp,-298 # 8000100c <test_4_res> +8000013e: 000086b7 lui a3,0x8 +80000142: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +80000146: 00001717 auipc a4,0x1 +8000014a: ece70713 addi a4,a4,-306 # 80001014 <test_data> +8000014e: cb14 sw a3,16(a4) +80000150: 4b14 lw a3,16(a4) +80000152: c036 sw a3,0(sp) +80000154: 00001117 auipc sp,0x1 +80000158: ebc10113 addi sp,sp,-324 # 80001010 <test_5_res> +8000015c: 67a1 lui a5,0x8 +8000015e: 00001617 auipc a2,0x1 +80000162: eb660613 addi a2,a2,-330 # 80001014 <test_data> +80000166: de7c sw a5,124(a2) +80000168: 5e7c lw a5,124(a2) +8000016a: c03e sw a5,0(sp) +8000016c: 00001517 auipc a0,0x1 +80000170: e9450513 addi a0,a0,-364 # 80001000 <codasip_signature_start> +80000174: 00001597 auipc a1,0x1 +80000178: f2c58593 addi a1,a1,-212 # 800010a0 <_end> +8000017c: f0100637 lui a2,0xf0100 +80000180: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee8c> + +80000184 <complience_halt_loop>: +80000184: 00b50c63 beq a0,a1,8000019c <complience_halt_break> +80000188: 4554 lw a3,12(a0) +8000018a: c214 sw a3,0(a2) +8000018c: 4514 lw a3,8(a0) +8000018e: c214 sw a3,0(a2) +80000190: 4154 lw a3,4(a0) +80000192: c214 sw a3,0(a2) +80000194: 4114 lw a3,0(a0) +80000196: c214 sw a3,0(a2) +80000198: 0541 addi a0,a0,16 +8000019a: b7ed j 80000184 <complience_halt_loop> + +8000019c <complience_halt_break>: +8000019c: f0100537 lui a0,0xf0100 +800001a0: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee80> +800001a4: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_data>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.SWSP.elf.objdump b/VexRiscv/src/test/resources/asm/C.SWSP.elf.objdump new file mode 100644 index 0000000..ae87ddd --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.SWSP.elf.objdump @@ -0,0 +1,280 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.SWSP.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001097 auipc ra,0x1 +800000f2: f1208093 addi ra,ra,-238 # 80001000 <codasip_signature_start> +800000f6: 00001117 auipc sp,0x1 +800000fa: f1e10113 addi sp,sp,-226 # 80001014 <test_data> +800000fe: 4181 li gp,0 +80000100: c00e sw gp,0(sp) +80000102: 4182 lw gp,0(sp) +80000104: 0030a023 sw gp,0(ra) +80000108: 00001097 auipc ra,0x1 +8000010c: efc08093 addi ra,ra,-260 # 80001004 <test_2_res> +80000110: 00001117 auipc sp,0x1 +80000114: f0410113 addi sp,sp,-252 # 80001014 <test_data> +80000118: 4205 li tp,1 +8000011a: c212 sw tp,4(sp) +8000011c: 4212 lw tp,4(sp) +8000011e: 0040a023 sw tp,0(ra) +80000122: 00001097 auipc ra,0x1 +80000126: ee608093 addi ra,ra,-282 # 80001008 <test_3_res> +8000012a: 00001117 auipc sp,0x1 +8000012e: eea10113 addi sp,sp,-278 # 80001014 <test_data> +80000132: 587d li a6,-1 +80000134: c0c2 sw a6,64(sp) +80000136: 4806 lw a6,64(sp) +80000138: 0100a023 sw a6,0(ra) +8000013c: 00001097 auipc ra,0x1 +80000140: ed008093 addi ra,ra,-304 # 8000100c <test_4_res> +80000144: 00001117 auipc sp,0x1 +80000148: ed010113 addi sp,sp,-304 # 80001014 <test_data> +8000014c: 00008c37 lui s8,0x8 +80000150: fffc0c13 addi s8,s8,-1 # 7fff <_start-0x7fff8001> +80000154: dce2 sw s8,120(sp) +80000156: 5c66 lw s8,120(sp) +80000158: 0180a023 sw s8,0(ra) +8000015c: 00001097 auipc ra,0x1 +80000160: eb408093 addi ra,ra,-332 # 80001010 <test_5_res> +80000164: 00001117 auipc sp,0x1 +80000168: eb010113 addi sp,sp,-336 # 80001014 <test_data> +8000016c: 6fa1 lui t6,0x8 +8000016e: dffe sw t6,252(sp) +80000170: 5ffe lw t6,252(sp) +80000172: 01f0a023 sw t6,0(ra) +80000176: 00001517 auipc a0,0x1 +8000017a: e8a50513 addi a0,a0,-374 # 80001000 <codasip_signature_start> +8000017e: 00001597 auipc a1,0x1 +80000182: f2258593 addi a1,a1,-222 # 800010a0 <_end> +80000186: f0100637 lui a2,0xf0100 +8000018a: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee8c> + +8000018e <complience_halt_loop>: +8000018e: 00b50c63 beq a0,a1,800001a6 <complience_halt_break> +80000192: 4554 lw a3,12(a0) +80000194: c214 sw a3,0(a2) +80000196: 4514 lw a3,8(a0) +80000198: c214 sw a3,0(a2) +8000019a: 4154 lw a3,4(a0) +8000019c: c214 sw a3,0(a2) +8000019e: 4114 lw a3,0(a0) +800001a0: c214 sw a3,0(a2) +800001a2: 0541 addi a0,a0,16 +800001a4: b7ed j 8000018e <complience_halt_loop> + +800001a6 <complience_halt_break>: +800001a6: f0100537 lui a0,0xf0100 +800001aa: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee80> +800001ae: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_3_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_4_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_5_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_data>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/C.XOR.elf.objdump b/VexRiscv/src/test/resources/asm/C.XOR.elf.objdump new file mode 100644 index 0000000..b60bcb6 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/C.XOR.elf.objdump @@ -0,0 +1,334 @@ + +/home/spinalvm/hdl/riscv-compliance/work//C.XOR.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 0001 nop +80000002: 0001 nop +80000004: 0001 nop +80000006: 0001 nop +80000008: 0001 nop +8000000a: 0001 nop +8000000c: 0001 nop +8000000e: 0001 nop +80000010: 0001 nop +80000012: 0001 nop +80000014: 0001 nop +80000016: 0001 nop +80000018: 0001 nop +8000001a: 0001 nop +8000001c: 0001 nop +8000001e: 0001 nop +80000020: 0001 nop +80000022: 0001 nop +80000024: 0001 nop +80000026: 0001 nop +80000028: 0001 nop +8000002a: 0001 nop +8000002c: 0001 nop +8000002e: 0001 nop +80000030: 0001 nop +80000032: 0001 nop +80000034: 0001 nop +80000036: 0001 nop +80000038: 0001 nop +8000003a: 0001 nop +8000003c: 0001 nop +8000003e: 0001 nop +80000040: 0001 nop +80000042: 0001 nop +80000044: 0001 nop +80000046: 0001 nop +80000048: 0001 nop +8000004a: 0001 nop +8000004c: 0001 nop +8000004e: 0001 nop +80000050: 0001 nop +80000052: 0001 nop +80000054: 0001 nop +80000056: 0001 nop +80000058: 0001 nop +8000005a: 0001 nop +8000005c: 0001 nop +8000005e: 0001 nop +80000060: 0001 nop +80000062: 0001 nop +80000064: 0001 nop +80000066: 0001 nop +80000068: 0001 nop +8000006a: 0001 nop +8000006c: 0001 nop +8000006e: 0001 nop +80000070: 0001 nop +80000072: 0001 nop +80000074: 0001 nop +80000076: 0001 nop +80000078: 0001 nop +8000007a: 0001 nop +8000007c: 0001 nop +8000007e: 0001 nop +80000080: 0001 nop +80000082: 0001 nop +80000084: 0001 nop +80000086: 0001 nop +80000088: 0001 nop +8000008a: 0001 nop +8000008c: 0001 nop +8000008e: 0001 nop +80000090: 0001 nop +80000092: 0001 nop +80000094: 0001 nop +80000096: 0001 nop +80000098: 0001 nop +8000009a: 0001 nop +8000009c: 0001 nop +8000009e: 0001 nop +800000a0: 0001 nop +800000a2: 0001 nop +800000a4: 0001 nop +800000a6: 0001 nop +800000a8: 0001 nop +800000aa: 0001 nop +800000ac: 0001 nop +800000ae: 0001 nop +800000b0: 0001 nop +800000b2: 0001 nop +800000b4: 0001 nop +800000b6: 0001 nop +800000b8: 0001 nop +800000ba: 0001 nop +800000bc: 0001 nop +800000be: 0001 nop +800000c0: 0001 nop +800000c2: 0001 nop +800000c4: 0001 nop +800000c6: 0001 nop +800000c8: 0001 nop +800000ca: 0001 nop +800000cc: 0001 nop +800000ce: 0001 nop +800000d0: 0001 nop +800000d2: 0001 nop +800000d4: 0001 nop +800000d6: 0001 nop +800000d8: 0001 nop +800000da: 0001 nop +800000dc: 0001 nop +800000de: 0001 nop +800000e0: 0001 nop +800000e2: 0001 nop +800000e4: 0001 nop +800000e6: 0001 nop +800000e8: 0001 nop +800000ea: 0001 nop +800000ec: 0001 nop +800000ee: 00001117 auipc sp,0x1 +800000f2: f1210113 addi sp,sp,-238 # 80001000 <codasip_signature_start> +800000f6: 4481 li s1,0 +800000f8: 4401 li s0,0 +800000fa: 8c25 xor s0,s0,s1 +800000fc: c022 sw s0,0(sp) +800000fe: 4601 li a2,0 +80000100: 4585 li a1,1 +80000102: 8db1 xor a1,a1,a2 +80000104: c22e sw a1,4(sp) +80000106: 4701 li a4,0 +80000108: fff00693 li a3,-1 +8000010c: 8eb9 xor a3,a3,a4 +8000010e: c436 sw a3,8(sp) +80000110: 4401 li s0,0 +80000112: 000087b7 lui a5,0x8 +80000116: fff78793 addi a5,a5,-1 # 7fff <_start-0x7fff8001> +8000011a: 8fa1 xor a5,a5,s0 +8000011c: c63e sw a5,12(sp) +8000011e: 4581 li a1,0 +80000120: 64a1 lui s1,0x8 +80000122: 8cad xor s1,s1,a1 +80000124: c826 sw s1,16(sp) +80000126: 00001117 auipc sp,0x1 +8000012a: eee10113 addi sp,sp,-274 # 80001014 <test_2_res> +8000012e: 4685 li a3,1 +80000130: 4601 li a2,0 +80000132: 8e35 xor a2,a2,a3 +80000134: c032 sw a2,0(sp) +80000136: 4785 li a5,1 +80000138: 4705 li a4,1 +8000013a: 8f3d xor a4,a4,a5 +8000013c: c23a sw a4,4(sp) +8000013e: 4485 li s1,1 +80000140: fff00413 li s0,-1 +80000144: 8c25 xor s0,s0,s1 +80000146: c422 sw s0,8(sp) +80000148: 4605 li a2,1 +8000014a: 000085b7 lui a1,0x8 +8000014e: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +80000152: 8db1 xor a1,a1,a2 +80000154: c62e sw a1,12(sp) +80000156: 4705 li a4,1 +80000158: 66a1 lui a3,0x8 +8000015a: 8eb9 xor a3,a3,a4 +8000015c: c836 sw a3,16(sp) +8000015e: 00001117 auipc sp,0x1 +80000162: eca10113 addi sp,sp,-310 # 80001028 <test_3_res> +80000166: fff00413 li s0,-1 +8000016a: 4781 li a5,0 +8000016c: 8fa1 xor a5,a5,s0 +8000016e: c03e sw a5,0(sp) +80000170: fff00593 li a1,-1 +80000174: 4485 li s1,1 +80000176: 8cad xor s1,s1,a1 +80000178: c226 sw s1,4(sp) +8000017a: fff00693 li a3,-1 +8000017e: fff00613 li a2,-1 +80000182: 8e35 xor a2,a2,a3 +80000184: c432 sw a2,8(sp) +80000186: fff00793 li a5,-1 +8000018a: 00008737 lui a4,0x8 +8000018e: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +80000192: 8f3d xor a4,a4,a5 +80000194: c63a sw a4,12(sp) +80000196: fff00493 li s1,-1 +8000019a: 6421 lui s0,0x8 +8000019c: 8c25 xor s0,s0,s1 +8000019e: c822 sw s0,16(sp) +800001a0: 00001117 auipc sp,0x1 +800001a4: e9c10113 addi sp,sp,-356 # 8000103c <test_4_res> +800001a8: 00008637 lui a2,0x8 +800001ac: fff60613 addi a2,a2,-1 # 7fff <_start-0x7fff8001> +800001b0: 4581 li a1,0 +800001b2: 8db1 xor a1,a1,a2 +800001b4: c02e sw a1,0(sp) +800001b6: 00008737 lui a4,0x8 +800001ba: fff70713 addi a4,a4,-1 # 7fff <_start-0x7fff8001> +800001be: 4685 li a3,1 +800001c0: 8eb9 xor a3,a3,a4 +800001c2: c236 sw a3,4(sp) +800001c4: 00008437 lui s0,0x8 +800001c8: fff40413 addi s0,s0,-1 # 7fff <_start-0x7fff8001> +800001cc: fff00793 li a5,-1 +800001d0: 8fa1 xor a5,a5,s0 +800001d2: c43e sw a5,8(sp) +800001d4: 000085b7 lui a1,0x8 +800001d8: fff58593 addi a1,a1,-1 # 7fff <_start-0x7fff8001> +800001dc: 000084b7 lui s1,0x8 +800001e0: fff48493 addi s1,s1,-1 # 7fff <_start-0x7fff8001> +800001e4: 8cad xor s1,s1,a1 +800001e6: c626 sw s1,12(sp) +800001e8: 000086b7 lui a3,0x8 +800001ec: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +800001f0: 6621 lui a2,0x8 +800001f2: 8e35 xor a2,a2,a3 +800001f4: c832 sw a2,16(sp) +800001f6: 00001117 auipc sp,0x1 +800001fa: e5a10113 addi sp,sp,-422 # 80001050 <test_5_res> +800001fe: 67a1 lui a5,0x8 +80000200: 4701 li a4,0 +80000202: 8f3d xor a4,a4,a5 +80000204: c03a sw a4,0(sp) +80000206: 64a1 lui s1,0x8 +80000208: 4405 li s0,1 +8000020a: 8c25 xor s0,s0,s1 +8000020c: c222 sw s0,4(sp) +8000020e: 6621 lui a2,0x8 +80000210: fff00593 li a1,-1 +80000214: 8db1 xor a1,a1,a2 +80000216: c42e sw a1,8(sp) +80000218: 6721 lui a4,0x8 +8000021a: 000086b7 lui a3,0x8 +8000021e: fff68693 addi a3,a3,-1 # 7fff <_start-0x7fff8001> +80000222: 8eb9 xor a3,a3,a4 +80000224: c636 sw a3,12(sp) +80000226: 6421 lui s0,0x8 +80000228: 67a1 lui a5,0x8 +8000022a: 8fa1 xor a5,a5,s0 +8000022c: c83e sw a5,16(sp) +8000022e: 00001517 auipc a0,0x1 +80000232: dd250513 addi a0,a0,-558 # 80001000 <codasip_signature_start> +80000236: 00001597 auipc a1,0x1 +8000023a: e3a58593 addi a1,a1,-454 # 80001070 <_end> +8000023e: f0100637 lui a2,0xf0100 +80000242: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000246 <complience_halt_loop>: +80000246: 00b50c63 beq a0,a1,8000025e <complience_halt_break> +8000024a: 4554 lw a3,12(a0) +8000024c: c214 sw a3,0(a2) +8000024e: 4514 lw a3,8(a0) +80000250: c214 sw a3,0(a2) +80000252: 4154 lw a3,4(a0) +80000254: c214 sw a3,0(a2) +80000256: 4114 lw a3,0(a0) +80000258: c214 sw a3,0(a2) +8000025a: 0541 addi a0,a0,16 +8000025c: b7ed j 80000246 <complience_halt_loop> + +8000025e <complience_halt_break>: +8000025e: f0100537 lui a0,0xf0100 +80000262: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000266: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/DIV.elf.objdump b/VexRiscv/src/test/resources/asm/DIV.elf.objdump new file mode 100644 index 0000000..9846875 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/DIV.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//DIV.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031948b3 div a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a49b3 div s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b4ab3 div s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c4bb3 div s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d4cb3 div s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be4db3 div s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df4eb3 div t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f1cfb3 div t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02444233 div tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 0295c4b3 div s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c6c633 div a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e7c733 div a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 0308c833 div a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 0329c933 div s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034aca33 div s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036bcb33 div s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038ccc33 div s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03adcd33 div s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03cece33 div t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03efcf33 div t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023241b3 div gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 0284c433 div s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b645b3 div a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d746b3 div a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f847b3 div a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/DIVU.elf.objdump b/VexRiscv/src/test/resources/asm/DIVU.elf.objdump new file mode 100644 index 0000000..4f855b3 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/DIVU.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//DIVU.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031958b3 divu a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a59b3 divu s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b5ab3 divu s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c5bb3 divu s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d5cb3 divu s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be5db3 divu s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df5eb3 divu t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f1dfb3 divu t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02445233 divu tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 0295d4b3 divu s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c6d633 divu a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e7d733 divu a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 0308d833 divu a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 0329d933 divu s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034ada33 divu s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036bdb33 divu s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038cdc33 divu s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03addd33 divu s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03cede33 divu t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03efdf33 divu t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023251b3 divu gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 0284d433 divu s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b655b3 divu a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d756b3 divu a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f857b3 divu a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/DIVW.elf.objdump b/VexRiscv/src/test/resources/asm/DIVW.elf.objdump new file mode 100644 index 0000000..00918b4 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/DIVW.elf.objdump @@ -0,0 +1,460 @@ + +/home/spinalvm/hdl/riscv-compliance/work//DIVW.elf: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 00000013 nop + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <begin_testcode> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <begin_testcode>: + 80000108: 00002117 auipc sp,0x2 + 8000010c: ef810113 addi sp,sp,-264 # 80002000 <begin_signature> + 80000110: 00000213 li tp,0 + 80000114: 00000193 li gp,0 + 80000118: 023241bb divw gp,tp,gp + 8000011c: 00312023 sw gp,0(sp) + 80000120: 00000493 li s1,0 + 80000124: 00100413 li s0,1 + 80000128: 0284c43b divw s0,s1,s0 + 8000012c: 00812423 sw s0,8(sp) + 80000130: 00000613 li a2,0 + 80000134: fff00593 li a1,-1 + 80000138: 02b645bb divw a1,a2,a1 + 8000013c: 00b12823 sw a1,16(sp) + 80000140: 00000713 li a4,0 + 80000144: fff0069b addiw a3,zero,-1 + 80000148: 03f69693 slli a3,a3,0x3f + 8000014c: fff68693 addi a3,a3,-1 + 80000150: 02d746bb divw a3,a4,a3 + 80000154: 00d12c23 sw a3,24(sp) + 80000158: 00000813 li a6,0 + 8000015c: fff0079b addiw a5,zero,-1 + 80000160: 03f79793 slli a5,a5,0x3f + 80000164: 02f847bb divw a5,a6,a5 + 80000168: 02f12023 sw a5,32(sp) + 8000016c: 00002117 auipc sp,0x2 + 80000170: ebc10113 addi sp,sp,-324 # 80002028 <test_2_res> + 80000174: 00100913 li s2,1 + 80000178: 00000893 li a7,0 + 8000017c: 031948bb divw a7,s2,a7 + 80000180: 01112023 sw a7,0(sp) + 80000184: 00100a13 li s4,1 + 80000188: 00100993 li s3,1 + 8000018c: 033a49bb divw s3,s4,s3 + 80000190: 01312423 sw s3,8(sp) + 80000194: 00100b13 li s6,1 + 80000198: fff00a93 li s5,-1 + 8000019c: 035b4abb divw s5,s6,s5 + 800001a0: 01512823 sw s5,16(sp) + 800001a4: 00100c13 li s8,1 + 800001a8: fff00b9b addiw s7,zero,-1 + 800001ac: 03fb9b93 slli s7,s7,0x3f + 800001b0: fffb8b93 addi s7,s7,-1 + 800001b4: 037c4bbb divw s7,s8,s7 + 800001b8: 01712c23 sw s7,24(sp) + 800001bc: 00100d13 li s10,1 + 800001c0: fff00c9b addiw s9,zero,-1 + 800001c4: 03fc9c93 slli s9,s9,0x3f + 800001c8: 039d4cbb divw s9,s10,s9 + 800001cc: 03912023 sw s9,32(sp) + 800001d0: 00002117 auipc sp,0x2 + 800001d4: e8010113 addi sp,sp,-384 # 80002050 <test_3_res> + 800001d8: fff00e13 li t3,-1 + 800001dc: 00000d93 li s11,0 + 800001e0: 03be4dbb divw s11,t3,s11 + 800001e4: 01b12023 sw s11,0(sp) + 800001e8: fff00f13 li t5,-1 + 800001ec: 00100e93 li t4,1 + 800001f0: 03df4ebb divw t4,t5,t4 + 800001f4: 01d12423 sw t4,8(sp) + 800001f8: fff00193 li gp,-1 + 800001fc: fff00f93 li t6,-1 + 80000200: 03f1cfbb divw t6,gp,t6 + 80000204: 01f12823 sw t6,16(sp) + 80000208: fff00413 li s0,-1 + 8000020c: fff0021b addiw tp,zero,-1 + 80000210: 03f21213 slli tp,tp,0x3f + 80000214: fff20213 addi tp,tp,-1 + 80000218: 0244423b divw tp,s0,tp + 8000021c: 00412c23 sw tp,24(sp) + 80000220: fff00593 li a1,-1 + 80000224: fff0049b addiw s1,zero,-1 + 80000228: 03f49493 slli s1,s1,0x3f + 8000022c: 0295c4bb divw s1,a1,s1 + 80000230: 02912023 sw s1,32(sp) + 80000234: 00002117 auipc sp,0x2 + 80000238: e4410113 addi sp,sp,-444 # 80002078 <test_4_res> + 8000023c: fff0069b addiw a3,zero,-1 + 80000240: 03f69693 slli a3,a3,0x3f + 80000244: fff68693 addi a3,a3,-1 + 80000248: 00000613 li a2,0 + 8000024c: 02c6c63b divw a2,a3,a2 + 80000250: 00c12023 sw a2,0(sp) + 80000254: fff0079b addiw a5,zero,-1 + 80000258: 03f79793 slli a5,a5,0x3f + 8000025c: fff78793 addi a5,a5,-1 + 80000260: 00100713 li a4,1 + 80000264: 02e7c73b divw a4,a5,a4 + 80000268: 00e12423 sw a4,8(sp) + 8000026c: fff0089b addiw a7,zero,-1 + 80000270: 03f89893 slli a7,a7,0x3f + 80000274: fff88893 addi a7,a7,-1 + 80000278: fff00813 li a6,-1 + 8000027c: 0308c83b divw a6,a7,a6 + 80000280: 01012823 sw a6,16(sp) + 80000284: fff0099b addiw s3,zero,-1 + 80000288: 03f99993 slli s3,s3,0x3f + 8000028c: fff98993 addi s3,s3,-1 + 80000290: fff0091b addiw s2,zero,-1 + 80000294: 03f91913 slli s2,s2,0x3f + 80000298: fff90913 addi s2,s2,-1 + 8000029c: 0329c93b divw s2,s3,s2 + 800002a0: 01212c23 sw s2,24(sp) + 800002a4: fff00a9b addiw s5,zero,-1 + 800002a8: 03fa9a93 slli s5,s5,0x3f + 800002ac: fffa8a93 addi s5,s5,-1 + 800002b0: fff00a1b addiw s4,zero,-1 + 800002b4: 03fa1a13 slli s4,s4,0x3f + 800002b8: 034aca3b divw s4,s5,s4 + 800002bc: 03412023 sw s4,32(sp) + 800002c0: 00002117 auipc sp,0x2 + 800002c4: de010113 addi sp,sp,-544 # 800020a0 <test_5_res> + 800002c8: fff00b9b addiw s7,zero,-1 + 800002cc: 03fb9b93 slli s7,s7,0x3f + 800002d0: 00000b13 li s6,0 + 800002d4: 036bcb3b divw s6,s7,s6 + 800002d8: 01612023 sw s6,0(sp) + 800002dc: fff00c9b addiw s9,zero,-1 + 800002e0: 03fc9c93 slli s9,s9,0x3f + 800002e4: 00100c13 li s8,1 + 800002e8: 038ccc3b divw s8,s9,s8 + 800002ec: 01812423 sw s8,8(sp) + 800002f0: fff00d9b addiw s11,zero,-1 + 800002f4: 03fd9d93 slli s11,s11,0x3f + 800002f8: fff00d13 li s10,-1 + 800002fc: 03adcd3b divw s10,s11,s10 + 80000300: 01a12823 sw s10,16(sp) + 80000304: fff00e9b addiw t4,zero,-1 + 80000308: 03fe9e93 slli t4,t4,0x3f + 8000030c: fff00e1b addiw t3,zero,-1 + 80000310: 03fe1e13 slli t3,t3,0x3f + 80000314: fffe0e13 addi t3,t3,-1 + 80000318: 03cece3b divw t3,t4,t3 + 8000031c: 01c12c23 sw t3,24(sp) + 80000320: fff00f9b addiw t6,zero,-1 + 80000324: 03ff9f93 slli t6,t6,0x3f + 80000328: fff00f1b addiw t5,zero,-1 + 8000032c: 03ff1f13 slli t5,t5,0x3f + 80000330: 03efcf3b divw t5,t6,t5 + 80000334: 03e12023 sw t5,32(sp) + 80000338: 00000013 nop + 8000033c: 00100193 li gp,1 + 80000340: 00000073 ecall + +0000000080000344 <end_testcode>: + 80000344: c0001073 unimp + ... + +Disassembly of section .tohost: + +0000000080001000 <tohost>: + ... + +0000000080001100 <fromhost>: + ... + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: ffff 0xffff + 80002002: ffff 0xffff + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: ffff 0xffff + 8000200a: ffff 0xffff + 8000200c: 0000 unimp + 8000200e: 0000 unimp + 80002010: ffff 0xffff + 80002012: ffff 0xffff + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: ffff 0xffff + 8000201a: ffff 0xffff + 8000201c: 0000 unimp + 8000201e: 0000 unimp + 80002020: ffff 0xffff + 80002022: ffff 0xffff + 80002024: 0000 unimp + ... + +0000000080002028 <test_2_res>: + 80002028: ffff 0xffff + 8000202a: ffff 0xffff + 8000202c: 0000 unimp + 8000202e: 0000 unimp + 80002030: ffff 0xffff + 80002032: ffff 0xffff + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: ffff 0xffff + 8000203a: ffff 0xffff + 8000203c: 0000 unimp + 8000203e: 0000 unimp + 80002040: ffff 0xffff + 80002042: ffff 0xffff + 80002044: 0000 unimp + 80002046: 0000 unimp + 80002048: ffff 0xffff + 8000204a: ffff 0xffff + 8000204c: 0000 unimp + ... + +0000000080002050 <test_3_res>: + 80002050: ffff 0xffff + 80002052: ffff 0xffff + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: ffff 0xffff + 8000205a: ffff 0xffff + 8000205c: 0000 unimp + 8000205e: 0000 unimp + 80002060: ffff 0xffff + 80002062: ffff 0xffff + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: ffff 0xffff + 8000206a: ffff 0xffff + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: ffff 0xffff + 80002072: ffff 0xffff + 80002074: 0000 unimp + ... + +0000000080002078 <test_4_res>: + 80002078: ffff 0xffff + 8000207a: ffff 0xffff + 8000207c: 0000 unimp + 8000207e: 0000 unimp + 80002080: ffff 0xffff + 80002082: ffff 0xffff + 80002084: 0000 unimp + 80002086: 0000 unimp + 80002088: ffff 0xffff + 8000208a: ffff 0xffff + 8000208c: 0000 unimp + 8000208e: 0000 unimp + 80002090: ffff 0xffff + 80002092: ffff 0xffff + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: ffff 0xffff + 8000209a: ffff 0xffff + 8000209c: 0000 unimp + ... + +00000000800020a0 <test_5_res>: + 800020a0: ffff 0xffff + 800020a2: ffff 0xffff + 800020a4: 0000 unimp + 800020a6: 0000 unimp + 800020a8: ffff 0xffff + 800020aa: ffff 0xffff + 800020ac: 0000 unimp + 800020ae: 0000 unimp + 800020b0: ffff 0xffff + 800020b2: ffff 0xffff + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: ffff 0xffff + 800020ba: ffff 0xffff + 800020bc: 0000 unimp + 800020be: 0000 unimp + 800020c0: ffff 0xffff + 800020c2: ffff 0xffff + 800020c4: 0000 unimp + ... + +00000000800020c8 <test_6_res>: + 800020c8: ffff 0xffff + 800020ca: ffff 0xffff + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: ffff 0xffff + 800020d2: ffff 0xffff + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: ffff 0xffff + 800020da: ffff 0xffff + 800020dc: 0000 unimp + 800020de: 0000 unimp + 800020e0: ffff 0xffff + 800020e2: ffff 0xffff + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: ffff 0xffff + 800020ea: ffff 0xffff + 800020ec: 0000 unimp + ... + +00000000800020f0 <test_7_res>: + 800020f0: ffff 0xffff + 800020f2: ffff 0xffff + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: ffff 0xffff + 800020fa: ffff 0xffff + 800020fc: 0000 unimp + 800020fe: 0000 unimp + 80002100: ffff 0xffff + 80002102: ffff 0xffff + 80002104: 0000 unimp + 80002106: 0000 unimp + 80002108: ffff 0xffff + 8000210a: ffff 0xffff + 8000210c: 0000 unimp + 8000210e: 0000 unimp + 80002110: ffff 0xffff + 80002112: ffff 0xffff + 80002114: 0000 unimp + ... + +0000000080002118 <test_8_res>: + 80002118: ffff 0xffff + 8000211a: ffff 0xffff + 8000211c: 0000 unimp + 8000211e: 0000 unimp + 80002120: ffff 0xffff + 80002122: ffff 0xffff + 80002124: 0000 unimp + 80002126: 0000 unimp + 80002128: ffff 0xffff + 8000212a: ffff 0xffff + 8000212c: 0000 unimp + 8000212e: 0000 unimp + 80002130: ffff 0xffff + 80002132: ffff 0xffff + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: ffff 0xffff + 8000213a: ffff 0xffff + 8000213c: 0000 unimp + ... + +0000000080002140 <test_9_res>: + 80002140: ffff 0xffff + 80002142: ffff 0xffff + 80002144: 0000 unimp + 80002146: 0000 unimp + 80002148: ffff 0xffff + 8000214a: ffff 0xffff + 8000214c: 0000 unimp + 8000214e: 0000 unimp + 80002150: ffff 0xffff + 80002152: ffff 0xffff + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: ffff 0xffff + 8000215a: ffff 0xffff + 8000215c: 0000 unimp + 8000215e: 0000 unimp + 80002160: ffff 0xffff + 80002162: ffff 0xffff + 80002164: 0000 unimp + ... + +0000000080002168 <test_10_res>: + 80002168: ffff 0xffff + 8000216a: ffff 0xffff + 8000216c: 0000 unimp + 8000216e: 0000 unimp + 80002170: ffff 0xffff + 80002172: ffff 0xffff + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: ffff 0xffff + 8000217a: ffff 0xffff + 8000217c: 0000 unimp + 8000217e: 0000 unimp + 80002180: ffff 0xffff + 80002182: ffff 0xffff + 80002184: 0000 unimp + 80002186: 0000 unimp + 80002188: ffff 0xffff + 8000218a: ffff 0xffff + 8000218c: 0000 unimp + ... diff --git a/VexRiscv/src/test/resources/asm/I-ADD-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-ADD-01.elf.objdump new file mode 100644 index 0000000..0da0b8d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-ADD-01.elf.objdump @@ -0,0 +1,344 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-ADD-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef1f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00418233 add tp,gp,tp +80000030: 005182b3 add t0,gp,t0 +80000034: 00618333 add t1,gp,t1 +80000038: 007183b3 add t2,gp,t2 +8000003c: 00818433 add s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fe810113 addi sp,sp,-24 # 80001048 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00000493 li s1,0 +80000070: 00100513 li a0,1 +80000074: fff00593 li a1,-1 +80000078: 80000637 lui a2,0x80000 +8000007c: fff60613 addi a2,a2,-1 # 7fffffff <_end+0xffffef1f> +80000080: 800006b7 lui a3,0x80000 +80000084: 009404b3 add s1,s0,s1 +80000088: 00a40533 add a0,s0,a0 +8000008c: 00b405b3 add a1,s0,a1 +80000090: 00c40633 add a2,s0,a2 +80000094: 00d406b3 add a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: fa810113 addi sp,sp,-88 # 80001060 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00000713 li a4,0 +800000c8: 00100793 li a5,1 +800000cc: fff00813 li a6,-1 +800000d0: 800008b7 lui a7,0x80000 +800000d4: fff88893 addi a7,a7,-1 # 7fffffff <_end+0xffffef1f> +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e68733 add a4,a3,a4 +800000e0: 00f687b3 add a5,a3,a5 +800000e4: 01068833 add a6,a3,a6 +800000e8: 011688b3 add a7,a3,a7 +800000ec: 01268933 add s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f6810113 addi sp,sp,-152 # 80001078 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00000993 li s3,0 +80000120: 00100a13 li s4,1 +80000124: fff00a93 li s5,-1 +80000128: 80000b37 lui s6,0x80000 +8000012c: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef1f> +80000130: 80000bb7 lui s7,0x80000 +80000134: 013909b3 add s3,s2,s3 +80000138: 01490a33 add s4,s2,s4 +8000013c: 01590ab3 add s5,s2,s5 +80000140: 01690b33 add s6,s2,s6 +80000144: 01790bb3 add s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f2810113 addi sp,sp,-216 # 80001090 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00000c13 li s8,0 +80000178: 00100c93 li s9,1 +8000017c: fff00d13 li s10,-1 +80000180: 80000db7 lui s11,0x80000 +80000184: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef1f> +80000188: 80000e37 lui t3,0x80000 +8000018c: 018b8c33 add s8,s7,s8 +80000190: 019b8cb3 add s9,s7,s9 +80000194: 01ab8d33 add s10,s7,s10 +80000198: 01bb8db3 add s11,s7,s11 +8000019c: 01cb8e33 add t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001c97 auipc s9,0x1 +800001bc: e5cc8c93 addi s9,s9,-420 # 80001014 <test_B_data> +800001c0: 00001d17 auipc s10,0x1 +800001c4: ee8d0d13 addi s10,s10,-280 # 800010a8 <test_B_res> +800001c8: 000cae03 lw t3,0(s9) +800001cc: 00100d93 li s11,1 +800001d0: 01be0eb3 add t4,t3,s11 +800001d4: 01be8f33 add t5,t4,s11 +800001d8: 01bf0fb3 add t6,t5,s11 +800001dc: 01bf80b3 add ra,t6,s11 +800001e0: 01b08133 add sp,ra,s11 +800001e4: 01b101b3 add gp,sp,s11 +800001e8: 01bd2023 sw s11,0(s10) +800001ec: 01cd2223 sw t3,4(s10) +800001f0: 01dd2423 sw t4,8(s10) +800001f4: 01ed2623 sw t5,12(s10) +800001f8: 01fd2823 sw t6,16(s10) +800001fc: 001d2a23 sw ra,20(s10) +80000200: 002d2c23 sw sp,24(s10) +80000204: 003d2e23 sw gp,28(s10) +80000208: 00001097 auipc ra,0x1 +8000020c: e1008093 addi ra,ra,-496 # 80001018 <test_C_data> +80000210: 00001117 auipc sp,0x1 +80000214: eb810113 addi sp,sp,-328 # 800010c8 <test_C_res> +80000218: 0000ae03 lw t3,0(ra) +8000021c: f7ff9db7 lui s11,0xf7ff9 +80000220: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000224: 01be0033 add zero,t3,s11 +80000228: 00012023 sw zero,0(sp) +8000022c: 00001097 auipc ra,0x1 +80000230: df008093 addi ra,ra,-528 # 8000101c <test_D_data> +80000234: 00001117 auipc sp,0x1 +80000238: e9810113 addi sp,sp,-360 # 800010cc <test_D_res> +8000023c: 0000ae03 lw t3,0(ra) +80000240: f7ff9db7 lui s11,0xf7ff9 +80000244: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000248: 01be0033 add zero,t3,s11 +8000024c: 000002b3 add t0,zero,zero +80000250: 00012023 sw zero,0(sp) +80000254: 00512223 sw t0,4(sp) +80000258: 00001097 auipc ra,0x1 +8000025c: dc808093 addi ra,ra,-568 # 80001020 <test_E_data> +80000260: 00001117 auipc sp,0x1 +80000264: e7410113 addi sp,sp,-396 # 800010d4 <test_E_res> +80000268: 0000a183 lw gp,0(ra) +8000026c: 00018233 add tp,gp,zero +80000270: 000202b3 add t0,tp,zero +80000274: 00500333 add t1,zero,t0 +80000278: 00030733 add a4,t1,zero +8000027c: 000707b3 add a5,a4,zero +80000280: 00078833 add a6,a5,zero +80000284: 01000cb3 add s9,zero,a6 +80000288: 01900d33 add s10,zero,s9 +8000028c: 000d0db3 add s11,s10,zero +80000290: 00412023 sw tp,0(sp) +80000294: 01a12223 sw s10,4(sp) +80000298: 01b12423 sw s11,8(sp) +8000029c: 00001517 auipc a0,0x1 +800002a0: d9450513 addi a0,a0,-620 # 80001030 <codasip_signature_start> +800002a4: 00001597 auipc a1,0x1 +800002a8: e3c58593 addi a1,a1,-452 # 800010e0 <_end> +800002ac: f0100637 lui a2,0xf0100 +800002b0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002b4 <complience_halt_loop>: +800002b4: 02b50663 beq a0,a1,800002e0 <complience_halt_break> +800002b8: 00c52683 lw a3,12(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 00852683 lw a3,8(a0) +800002c4: 00d62023 sw a3,0(a2) +800002c8: 00452683 lw a3,4(a0) +800002cc: 00d62023 sw a3,0(a2) +800002d0: 00052683 lw a3,0(a0) +800002d4: 00d62023 sw a3,0(a2) +800002d8: 01050513 addi a0,a0,16 +800002dc: fd9ff06f j 800002b4 <complience_halt_loop> + +800002e0 <complience_halt_break>: +800002e0: f0100537 lui a0,0xf0100 +800002e4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002e8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: abcd j 80001606 <_end+0x526> + ... + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_C_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff + +800010d4 <test_E_res>: +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-ADDI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-ADDI-01.elf.objdump new file mode 100644 index 0000000..3a7b768 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-ADDI-01.elf.objdump @@ -0,0 +1,310 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-ADDI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00118213 addi tp,gp,1 +80000018: 7ff18293 addi t0,gp,2047 +8000001c: fff18313 addi t1,gp,-1 +80000020: 00018393 mv t2,gp +80000024: 80018413 addi s0,gp,-2048 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: 00010113 mv sp,sp +80000050: 0000a403 lw s0,0(ra) +80000054: 00140493 addi s1,s0,1 +80000058: 7ff40513 addi a0,s0,2047 +8000005c: fff40593 addi a1,s0,-1 +80000060: 00040613 mv a2,s0 +80000064: 80040693 addi a3,s0,-2048 +80000068: 00812023 sw s0,0(sp) # 80001048 <test_A2_res> +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fd810113 addi sp,sp,-40 # 80001060 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 00168713 addi a4,a3,1 +80000098: 7ff68793 addi a5,a3,2047 +8000009c: fff68813 addi a6,a3,-1 +800000a0: 00068893 mv a7,a3 +800000a4: 80068913 addi s2,a3,-2048 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001097 auipc ra,0x1 +800000c4: f4c08093 addi ra,ra,-180 # 8000100c <test_A4_data> +800000c8: 00001117 auipc sp,0x1 +800000cc: fb010113 addi sp,sp,-80 # 80001078 <test_A4_res> +800000d0: 0000a903 lw s2,0(ra) +800000d4: 00190993 addi s3,s2,1 +800000d8: 7ff90a13 addi s4,s2,2047 +800000dc: fff90a93 addi s5,s2,-1 +800000e0: 00090b13 mv s6,s2 +800000e4: 80090b93 addi s7,s2,-2048 +800000e8: 01212023 sw s2,0(sp) +800000ec: 01312223 sw s3,4(sp) +800000f0: 01412423 sw s4,8(sp) +800000f4: 01512623 sw s5,12(sp) +800000f8: 01612823 sw s6,16(sp) +800000fc: 01712a23 sw s7,20(sp) +80000100: 00001097 auipc ra,0x1 +80000104: f1008093 addi ra,ra,-240 # 80001010 <test_A5_data> +80000108: 00001117 auipc sp,0x1 +8000010c: f8810113 addi sp,sp,-120 # 80001090 <test_A5_res> +80000110: 0000ab83 lw s7,0(ra) +80000114: 001b8c13 addi s8,s7,1 +80000118: 7ffb8c93 addi s9,s7,2047 +8000011c: fffb8d13 addi s10,s7,-1 +80000120: 000b8d93 mv s11,s7 +80000124: 800b8e13 addi t3,s7,-2048 +80000128: 01712023 sw s7,0(sp) +8000012c: 01812223 sw s8,4(sp) +80000130: 01912423 sw s9,8(sp) +80000134: 01a12623 sw s10,12(sp) +80000138: 01b12823 sw s11,16(sp) +8000013c: 01c12a23 sw t3,20(sp) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f60d8d93 addi s11,s11,-160 # 800010a8 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 001e0e93 addi t4,t3,1 +80000158: 001e8f13 addi t5,t4,1 +8000015c: 001f0f93 addi t6,t5,1 +80000160: 001f8093 addi ra,t6,1 +80000164: 00108113 addi sp,ra,1 +80000168: 00110193 addi gp,sp,1 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f3410113 addi sp,sp,-204 # 800010c4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 00128013 addi zero,t0,1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f1c10113 addi sp,sp,-228 # 800010c8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 00128013 addi zero,t0,1 +800001bc: 00100293 li t0,1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001097 auipc ra,0x1 +800001cc: e5808093 addi ra,ra,-424 # 80001020 <test_E_data> +800001d0: 00001117 auipc sp,0x1 +800001d4: f0010113 addi sp,sp,-256 # 800010d0 <test_E_res> +800001d8: 0000a183 lw gp,0(ra) +800001dc: 00018213 mv tp,gp +800001e0: 00020293 mv t0,tp +800001e4: 00028313 mv t1,t0 +800001e8: 00030713 mv a4,t1 +800001ec: 00070793 mv a5,a4 +800001f0: 00078813 mv a6,a5 +800001f4: 00080c93 mv s9,a6 +800001f8: 000c8d13 mv s10,s9 +800001fc: 000d0d93 mv s11,s10 +80000200: 00312023 sw gp,0(sp) +80000204: 00412223 sw tp,4(sp) +80000208: 01a12423 sw s10,8(sp) +8000020c: 01b12623 sw s11,12(sp) +80000210: 00001517 auipc a0,0x1 +80000214: e2050513 addi a0,a0,-480 # 80001030 <codasip_signature_start> +80000218: 00001597 auipc a1,0x1 +8000021c: ec858593 addi a1,a1,-312 # 800010e0 <_end> +80000220: f0100637 lui a2,0xf0100 +80000224: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +80000228 <complience_halt_loop>: +80000228: 02b50663 beq a0,a1,80000254 <complience_halt_break> +8000022c: 00c52683 lw a3,12(a0) +80000230: 00d62023 sw a3,0(a2) +80000234: 00852683 lw a3,8(a0) +80000238: 00d62023 sw a3,0(a2) +8000023c: 00452683 lw a3,4(a0) +80000240: 00d62023 sw a3,0(a2) +80000244: 00052683 lw a3,0(a0) +80000248: 00d62023 sw a3,0(a2) +8000024c: 01050513 addi a0,a0,16 +80000250: fd9ff06f j 80000228 <complience_halt_loop> + +80000254 <complience_halt_break>: +80000254: f0100537 lui a0,0xf0100 +80000258: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +8000025c: 00052023 sw zero,0(a0) +80000260: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: abcd j 80001606 <_end+0x526> + ... + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-AND-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-AND-01.elf.objdump new file mode 100644 index 0000000..1291340 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-AND-01.elf.objdump @@ -0,0 +1,349 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-AND-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef1f> +80000028: 80000437 lui s0,0x80000 +8000002c: 0041f233 and tp,gp,tp +80000030: 0051f2b3 and t0,gp,t0 +80000034: 0061f333 and t1,gp,t1 +80000038: 0071f3b3 and t2,gp,t2 +8000003c: 0081f433 and s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fe810113 addi sp,sp,-24 # 80001048 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00000493 li s1,0 +80000070: 00100513 li a0,1 +80000074: fff00593 li a1,-1 +80000078: 80000637 lui a2,0x80000 +8000007c: fff60613 addi a2,a2,-1 # 7fffffff <_end+0xffffef1f> +80000080: 800006b7 lui a3,0x80000 +80000084: 009474b3 and s1,s0,s1 +80000088: 00a47533 and a0,s0,a0 +8000008c: 00b475b3 and a1,s0,a1 +80000090: 00c47633 and a2,s0,a2 +80000094: 00d476b3 and a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: fa810113 addi sp,sp,-88 # 80001060 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00000713 li a4,0 +800000c8: 00100793 li a5,1 +800000cc: fff00813 li a6,-1 +800000d0: 800008b7 lui a7,0x80000 +800000d4: fff88893 addi a7,a7,-1 # 7fffffff <_end+0xffffef1f> +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e6f733 and a4,a3,a4 +800000e0: 00f6f7b3 and a5,a3,a5 +800000e4: 0106f833 and a6,a3,a6 +800000e8: 0116f8b3 and a7,a3,a7 +800000ec: 0126f933 and s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f6810113 addi sp,sp,-152 # 80001078 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00000993 li s3,0 +80000120: 00100a13 li s4,1 +80000124: fff00a93 li s5,-1 +80000128: 80000b37 lui s6,0x80000 +8000012c: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef1f> +80000130: 80000bb7 lui s7,0x80000 +80000134: 013979b3 and s3,s2,s3 +80000138: 01497a33 and s4,s2,s4 +8000013c: 01597ab3 and s5,s2,s5 +80000140: 01697b33 and s6,s2,s6 +80000144: 01797bb3 and s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f2810113 addi sp,sp,-216 # 80001090 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00000c13 li s8,0 +80000178: 00100c93 li s9,1 +8000017c: fff00d13 li s10,-1 +80000180: 80000db7 lui s11,0x80000 +80000184: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef1f> +80000188: 80000e37 lui t3,0x80000 +8000018c: 018bfc33 and s8,s7,s8 +80000190: 019bfcb3 and s9,s7,s9 +80000194: 01abfd33 and s10,s7,s10 +80000198: 01bbfdb3 and s11,s7,s11 +8000019c: 01cbfe33 and t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001c97 auipc s9,0x1 +800001bc: e5cc8c93 addi s9,s9,-420 # 80001014 <test_B_data> +800001c0: 00001d17 auipc s10,0x1 +800001c4: ee8d0d13 addi s10,s10,-280 # 800010a8 <test_B_res> +800001c8: 000cae03 lw t3,0(s9) +800001cc: 07f00213 li tp,127 +800001d0: 03f00293 li t0,63 +800001d4: 01f00313 li t1,31 +800001d8: 00f00393 li t2,15 +800001dc: 00700413 li s0,7 +800001e0: 00300493 li s1,3 +800001e4: 004e7eb3 and t4,t3,tp +800001e8: 005eff33 and t5,t4,t0 +800001ec: 006f7fb3 and t6,t5,t1 +800001f0: 007ff0b3 and ra,t6,t2 +800001f4: 0080f133 and sp,ra,s0 +800001f8: 009171b3 and gp,sp,s1 +800001fc: 004d2023 sw tp,0(s10) +80000200: 01cd2223 sw t3,4(s10) +80000204: 01dd2423 sw t4,8(s10) +80000208: 01ed2623 sw t5,12(s10) +8000020c: 01fd2823 sw t6,16(s10) +80000210: 001d2a23 sw ra,20(s10) +80000214: 002d2c23 sw sp,24(s10) +80000218: 003d2e23 sw gp,28(s10) +8000021c: 00001097 auipc ra,0x1 +80000220: dfc08093 addi ra,ra,-516 # 80001018 <test_C_data> +80000224: 00001117 auipc sp,0x1 +80000228: ea410113 addi sp,sp,-348 # 800010c8 <test_C_res> +8000022c: 0000ae03 lw t3,0(ra) +80000230: f7ff9db7 lui s11,0xf7ff9 +80000234: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000238: 01be7033 and zero,t3,s11 +8000023c: 00012023 sw zero,0(sp) +80000240: 00001097 auipc ra,0x1 +80000244: ddc08093 addi ra,ra,-548 # 8000101c <test_D_data> +80000248: 00001117 auipc sp,0x1 +8000024c: e8410113 addi sp,sp,-380 # 800010cc <test_D_res> +80000250: 0000ae03 lw t3,0(ra) +80000254: f7ff9db7 lui s11,0xf7ff9 +80000258: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +8000025c: 01be7033 and zero,t3,s11 +80000260: 000072b3 and t0,zero,zero +80000264: 00012023 sw zero,0(sp) +80000268: 00512223 sw t0,4(sp) +8000026c: 00001097 auipc ra,0x1 +80000270: db408093 addi ra,ra,-588 # 80001020 <test_E_data> +80000274: 00001117 auipc sp,0x1 +80000278: e6010113 addi sp,sp,-416 # 800010d4 <test_E_res> +8000027c: 0000a183 lw gp,0(ra) +80000280: fff00393 li t2,-1 +80000284: 0071f233 and tp,gp,t2 +80000288: 007272b3 and t0,tp,t2 +8000028c: 0053f333 and t1,t2,t0 +80000290: 00737733 and a4,t1,t2 +80000294: 007777b3 and a5,a4,t2 +80000298: 0077f833 and a6,a5,t2 +8000029c: 0103fcb3 and s9,t2,a6 +800002a0: 0193fd33 and s10,t2,s9 +800002a4: 007d7db3 and s11,s10,t2 +800002a8: 00412023 sw tp,0(sp) +800002ac: 01a12223 sw s10,4(sp) +800002b0: 01b12423 sw s11,8(sp) +800002b4: 00001517 auipc a0,0x1 +800002b8: d7c50513 addi a0,a0,-644 # 80001030 <codasip_signature_start> +800002bc: 00001597 auipc a1,0x1 +800002c0: e2458593 addi a1,a1,-476 # 800010e0 <_end> +800002c4: f0100637 lui a2,0xf0100 +800002c8: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002cc <complience_halt_loop>: +800002cc: 02b50663 beq a0,a1,800002f8 <complience_halt_break> +800002d0: 00c52683 lw a3,12(a0) +800002d4: 00d62023 sw a3,0(a2) +800002d8: 00852683 lw a3,8(a0) +800002dc: 00d62023 sw a3,0(a2) +800002e0: 00452683 lw a3,4(a0) +800002e4: 00d62023 sw a3,0(a2) +800002e8: 00052683 lw a3,0(a0) +800002ec: 00d62023 sw a3,0(a2) +800002f0: 01050513 addi a0,a0,16 +800002f4: fd9ff06f j 800002cc <complience_halt_loop> + +800002f8 <complience_halt_break>: +800002f8: f0100537 lui a0,0xf0100 +800002fc: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +80000300: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ffff 0xffff +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_C_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff + +800010d4 <test_E_res>: +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-ANDI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-ANDI-01.elf.objdump new file mode 100644 index 0000000..e3b8126 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-ANDI-01.elf.objdump @@ -0,0 +1,310 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-ANDI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 0011f213 andi tp,gp,1 +80000018: 7ff1f293 andi t0,gp,2047 +8000001c: fff1f313 andi t1,gp,-1 +80000020: 0001f393 andi t2,gp,0 +80000024: 8001f413 andi s0,gp,-2048 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: 00010113 mv sp,sp +80000050: 0000a403 lw s0,0(ra) +80000054: 00147493 andi s1,s0,1 +80000058: 7ff47513 andi a0,s0,2047 +8000005c: fff47593 andi a1,s0,-1 +80000060: 00047613 andi a2,s0,0 +80000064: 80047693 andi a3,s0,-2048 +80000068: 00812023 sw s0,0(sp) # 80001048 <test_A2_res> +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fd810113 addi sp,sp,-40 # 80001060 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 0016f713 andi a4,a3,1 +80000098: 7ff6f793 andi a5,a3,2047 +8000009c: fff6f813 andi a6,a3,-1 +800000a0: 0006f893 andi a7,a3,0 +800000a4: 8006f913 andi s2,a3,-2048 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001097 auipc ra,0x1 +800000c4: f4c08093 addi ra,ra,-180 # 8000100c <test_A4_data> +800000c8: 00001117 auipc sp,0x1 +800000cc: fb010113 addi sp,sp,-80 # 80001078 <test_A4_res> +800000d0: 0000a903 lw s2,0(ra) +800000d4: 00197993 andi s3,s2,1 +800000d8: 7ff97a13 andi s4,s2,2047 +800000dc: fff97a93 andi s5,s2,-1 +800000e0: 00097b13 andi s6,s2,0 +800000e4: 80097b93 andi s7,s2,-2048 +800000e8: 01212023 sw s2,0(sp) +800000ec: 01312223 sw s3,4(sp) +800000f0: 01412423 sw s4,8(sp) +800000f4: 01512623 sw s5,12(sp) +800000f8: 01612823 sw s6,16(sp) +800000fc: 01712a23 sw s7,20(sp) +80000100: 00001097 auipc ra,0x1 +80000104: f1008093 addi ra,ra,-240 # 80001010 <test_A5_data> +80000108: 00001117 auipc sp,0x1 +8000010c: f8810113 addi sp,sp,-120 # 80001090 <test_A5_res> +80000110: 0000ab83 lw s7,0(ra) +80000114: 001bfc13 andi s8,s7,1 +80000118: 7ffbfc93 andi s9,s7,2047 +8000011c: fffbfd13 andi s10,s7,-1 +80000120: 000bfd93 andi s11,s7,0 +80000124: 800bfe13 andi t3,s7,-2048 +80000128: 01712023 sw s7,0(sp) +8000012c: 01812223 sw s8,4(sp) +80000130: 01912423 sw s9,8(sp) +80000134: 01a12623 sw s10,12(sp) +80000138: 01b12823 sw s11,16(sp) +8000013c: 01c12a23 sw t3,20(sp) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f60d8d93 addi s11,s11,-160 # 800010a8 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 07fe7e93 andi t4,t3,127 +80000158: 03feff13 andi t5,t4,63 +8000015c: 01ff7f93 andi t6,t5,31 +80000160: 00fff093 andi ra,t6,15 +80000164: 0070f113 andi sp,ra,7 +80000168: 00317193 andi gp,sp,3 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f3410113 addi sp,sp,-204 # 800010c4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 0012f013 andi zero,t0,1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f1c10113 addi sp,sp,-228 # 800010c8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 0012f013 andi zero,t0,1 +800001bc: 00107293 andi t0,zero,1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001097 auipc ra,0x1 +800001cc: e5808093 addi ra,ra,-424 # 80001020 <test_E_data> +800001d0: 00001117 auipc sp,0x1 +800001d4: f0010113 addi sp,sp,-256 # 800010d0 <test_E_res> +800001d8: 0000a183 lw gp,0(ra) +800001dc: fff1f213 andi tp,gp,-1 +800001e0: fff27293 andi t0,tp,-1 +800001e4: fff2f313 andi t1,t0,-1 +800001e8: fff37713 andi a4,t1,-1 +800001ec: fff77793 andi a5,a4,-1 +800001f0: fff7f813 andi a6,a5,-1 +800001f4: fff87c93 andi s9,a6,-1 +800001f8: fffcfd13 andi s10,s9,-1 +800001fc: fffd7d93 andi s11,s10,-1 +80000200: 00312023 sw gp,0(sp) +80000204: 00412223 sw tp,4(sp) +80000208: 01a12423 sw s10,8(sp) +8000020c: 01b12623 sw s11,12(sp) +80000210: 00001517 auipc a0,0x1 +80000214: e2050513 addi a0,a0,-480 # 80001030 <codasip_signature_start> +80000218: 00001597 auipc a1,0x1 +8000021c: ec858593 addi a1,a1,-312 # 800010e0 <_end> +80000220: f0100637 lui a2,0xf0100 +80000224: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +80000228 <complience_halt_loop>: +80000228: 02b50663 beq a0,a1,80000254 <complience_halt_break> +8000022c: 00c52683 lw a3,12(a0) +80000230: 00d62023 sw a3,0(a2) +80000234: 00852683 lw a3,8(a0) +80000238: 00d62023 sw a3,0(a2) +8000023c: 00452683 lw a3,4(a0) +80000240: 00d62023 sw a3,0(a2) +80000244: 00052683 lw a3,0(a0) +80000248: 00d62023 sw a3,0(a2) +8000024c: 01050513 addi a0,a0,16 +80000250: fd9ff06f j 80000228 <complience_halt_loop> + +80000254 <complience_halt_break>: +80000254: f0100537 lui a0,0xf0100 +80000258: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +8000025c: 00052023 sw zero,0(a0) +80000260: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ffff 0xffff +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-AUIPC-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-AUIPC-01.elf.objdump new file mode 100644 index 0000000..a10de4b --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-AUIPC-01.elf.objdump @@ -0,0 +1,205 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-AUIPC-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001717 auipc a4,0x1 +80000004: 00070713 mv a4,a4 +80000008: 00001797 auipc a5,0x1 +8000000c: 01878793 addi a5,a5,24 # 80001020 <codasip_signature_start> +80000010: 00072083 lw ra,0(a4) # 80001000 <test_A_data> +80000014: 00001137 lui sp,0x1 +80000018: 00410113 addi sp,sp,4 # 1004 <_start-0x7fffeffc> +8000001c: fffff1b7 lui gp,0xfffff +80000020: 00818193 addi gp,gp,8 # fffff008 <_end+0x7fffdfa8> +80000024: 7ffff237 lui tp,0x7ffff +80000028: 00c20213 addi tp,tp,12 # 7ffff00c <_start-0xff4> +8000002c: 800002b7 lui t0,0x80000 +80000030: 01028293 addi t0,t0,16 # 80000010 <_end+0xffffefb0> +80000034: 00208133 add sp,ra,sp +80000038: 003081b3 add gp,ra,gp +8000003c: 00408233 add tp,ra,tp +80000040: 005082b3 add t0,ra,t0 + +80000044 <test_A>: +80000044: 00000317 auipc t1,0x0 +80000048: 00001397 auipc t2,0x1 +8000004c: fffff817 auipc a6,0xfffff +80000050: 7ffffe97 auipc t4,0x7ffff +80000054: 80000f97 auipc t6,0x80000 +80000058: 00134333 xor t1,t1,ra +8000005c: 0023c3b3 xor t2,t2,sp +80000060: 00384833 xor a6,a6,gp +80000064: 004eceb3 xor t4,t4,tp +80000068: 005fcfb3 xor t6,t6,t0 +8000006c: 0067a023 sw t1,0(a5) +80000070: 0077a223 sw t2,4(a5) +80000074: 0107a423 sw a6,8(a5) +80000078: 01d7a623 sw t4,12(a5) +8000007c: 01f7a823 sw t6,16(a5) +80000080: 00001897 auipc a7,0x1 +80000084: f8488893 addi a7,a7,-124 # 80001004 <test_B_data> +80000088: 00001817 auipc a6,0x1 +8000008c: fac80813 addi a6,a6,-84 # 80001034 <test_B_res> +80000090: 111110b7 lui ra,0x11111 +80000094: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +80000098: 22222137 lui sp,0x22222 +8000009c: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +800000a0: 333337b7 lui a5,0x33333 +800000a4: 33378793 addi a5,a5,819 # 33333333 <_start-0x4ccccccd> +800000a8: 44444e37 lui t3,0x44444 +800000ac: 444e0e13 addi t3,t3,1092 # 44444444 <_start-0x3bbbbbbc> +800000b0: 55555f37 lui t5,0x55555 +800000b4: 555f0f13 addi t5,t5,1365 # 55555555 <_start-0x2aaaaaab> +800000b8: 0008a183 lw gp,0(a7) +800000bc: 80000237 lui tp,0x80000 +800000c0: 7ffff2b7 lui t0,0x7ffff +800000c4: 00428293 addi t0,t0,4 # 7ffff004 <_start-0xffc> +800000c8: 00800313 li t1,8 +800000cc: 000013b7 lui t2,0x1 +800000d0: 00c38393 addi t2,t2,12 # 100c <_start-0x7fffeff4> +800000d4: fffff437 lui s0,0xfffff +800000d8: 01040413 addi s0,s0,16 # fffff010 <_end+0x7fffdfb0> +800000dc: 00418233 add tp,gp,tp +800000e0: 005182b3 add t0,gp,t0 +800000e4: 00618333 add t1,gp,t1 +800000e8: 007183b3 add t2,gp,t2 +800000ec: 00818433 add s0,gp,s0 + +800000f0 <test_B>: +800000f0: 80000097 auipc ra,0x80000 +800000f4: 7ffff117 auipc sp,0x7ffff +800000f8: 00000797 auipc a5,0x0 +800000fc: 00001e17 auipc t3,0x1 +80000100: ffffff17 auipc t5,0xfffff +80000104: 0040c0b3 xor ra,ra,tp +80000108: 00514133 xor sp,sp,t0 +8000010c: 0067c7b3 xor a5,a5,t1 +80000110: 007e4e33 xor t3,t3,t2 +80000114: 008f4f33 xor t5,t5,s0 +80000118: 00182023 sw ra,0(a6) +8000011c: 00282223 sw sp,4(a6) +80000120: 00f82423 sw a5,8(a6) +80000124: 01c82623 sw t3,12(a6) +80000128: 01e82823 sw t5,16(a6) +8000012c: 00001917 auipc s2,0x1 +80000130: edc90913 addi s2,s2,-292 # 80001008 <test_C_data> +80000134: 00001897 auipc a7,0x1 +80000138: f1488893 addi a7,a7,-236 # 80001048 <test_C_res> + +8000013c <test_C1>: +8000013c: 00092083 lw ra,0(s2) +80000140: 00492103 lw sp,4(s2) +80000144: 00892183 lw gp,8(s2) +80000148: 00000217 auipc tp,0x0 +8000014c: ff420213 addi tp,tp,-12 # 8000013c <test_C1> +80000150: 00000797 auipc a5,0x0 +80000154: 01878793 addi a5,a5,24 # 80000168 <test_C2> +80000158: 00000f17 auipc t5,0x0 +8000015c: 040f0f13 addi t5,t5,64 # 80000198 <test_C3> +80000160: 00000297 auipc t0,0x0 +80000164: fdc28293 addi t0,t0,-36 # 8000013c <test_C1> + +80000168 <test_C2>: +80000168: 00000817 auipc a6,0x0 +8000016c: 00080813 mv a6,a6 +80000170: 00000f97 auipc t6,0x0 +80000174: 028f8f93 addi t6,t6,40 # 80000198 <test_C3> +80000178: 00124233 xor tp,tp,ra +8000017c: 0027c7b3 xor a5,a5,sp +80000180: 003f4f33 xor t5,t5,gp +80000184: 401282b3 sub t0,t0,ra +80000188: 00284833 xor a6,a6,sp +8000018c: 003fcfb3 xor t6,t6,gp +80000190: 0048a023 sw tp,0(a7) +80000194: 00f8a223 sw a5,4(a7) + +80000198 <test_C3>: +80000198: 01e8a423 sw t5,8(a7) +8000019c: 0058a623 sw t0,12(a7) +800001a0: 0108a823 sw a6,16(a7) +800001a4: 01f8aa23 sw t6,20(a7) +800001a8: 00001517 auipc a0,0x1 +800001ac: e7850513 addi a0,a0,-392 # 80001020 <codasip_signature_start> +800001b0: 00001597 auipc a1,0x1 +800001b4: eb058593 addi a1,a1,-336 # 80001060 <_end> +800001b8: f0100637 lui a2,0xf0100 +800001bc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feecc> + +800001c0 <complience_halt_loop>: +800001c0: 02b50663 beq a0,a1,800001ec <complience_halt_break> +800001c4: 00c52683 lw a3,12(a0) +800001c8: 00d62023 sw a3,0(a2) +800001cc: 00852683 lw a3,8(a0) +800001d0: 00d62023 sw a3,0(a2) +800001d4: 00452683 lw a3,4(a0) +800001d8: 00d62023 sw a3,0(a2) +800001dc: 00052683 lw a3,0(a0) +800001e0: 00d62023 sw a3,0(a2) +800001e4: 01050513 addi a0,a0,16 +800001e8: fd9ff06f j 800001c0 <complience_halt_loop> + +800001ec <complience_halt_break>: +800001ec: f0100537 lui a0,0xf0100 +800001f0: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feec0> +800001f4: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A_data>: +80001000: 0044 addi s1,sp,4 +80001002: 8000 0x8000 + +80001004 <test_B_data>: +80001004: 00f0 addi a2,sp,76 +80001006: 8000 0x8000 + +80001008 <test_C_data>: +80001008: 013c addi a5,sp,136 +8000100a: 8000 0x8000 +8000100c: 0168 addi a0,sp,140 +8000100e: 8000 0x8000 +80001010: 0198 addi a4,sp,192 +80001012: 8000 0x8000 + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff + +80001034 <test_B_res>: +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_C_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-BEQ-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-BEQ-01.elf.objdump new file mode 100644 index 0000000..337a437 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-BEQ-01.elf.objdump @@ -0,0 +1,356 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-BEQ-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef3f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00000f93 li t6,0 +80000030: 00418463 beq gp,tp,80000038 <_start+0x38> +80000034: 001fef93 ori t6,t6,1 +80000038: 00518463 beq gp,t0,80000040 <_start+0x40> +8000003c: 002fef93 ori t6,t6,2 +80000040: 00618463 beq gp,t1,80000048 <_start+0x48> +80000044: 004fef93 ori t6,t6,4 +80000048: 00718463 beq gp,t2,80000050 <_start+0x50> +8000004c: 008fef93 ori t6,t6,8 +80000050: 00818463 beq gp,s0,80000058 <_start+0x58> +80000054: 010fef93 ori t6,t6,16 +80000058: 00312023 sw gp,0(sp) +8000005c: 00412223 sw tp,4(sp) +80000060: 00512423 sw t0,8(sp) +80000064: 00612623 sw t1,12(sp) +80000068: 00712823 sw t2,16(sp) +8000006c: 00812a23 sw s0,20(sp) +80000070: 01f12c23 sw t6,24(sp) +80000074: 00001097 auipc ra,0x1 +80000078: f9008093 addi ra,ra,-112 # 80001004 <test_A2_data> +8000007c: 00001117 auipc sp,0x1 +80000080: fc010113 addi sp,sp,-64 # 8000103c <test_A2_res> +80000084: 0000a303 lw t1,0(ra) +80000088: 00000393 li t2,0 +8000008c: 00100413 li s0,1 +80000090: fff00493 li s1,-1 +80000094: 80000537 lui a0,0x80000 +80000098: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef3f> +8000009c: 800005b7 lui a1,0x80000 +800000a0: 00000f93 li t6,0 +800000a4: 00730463 beq t1,t2,800000ac <_start+0xac> +800000a8: 001fef93 ori t6,t6,1 +800000ac: 00830463 beq t1,s0,800000b4 <_start+0xb4> +800000b0: 002fef93 ori t6,t6,2 +800000b4: 00930463 beq t1,s1,800000bc <_start+0xbc> +800000b8: 004fef93 ori t6,t6,4 +800000bc: 00a30463 beq t1,a0,800000c4 <_start+0xc4> +800000c0: 008fef93 ori t6,t6,8 +800000c4: 00b30463 beq t1,a1,800000cc <_start+0xcc> +800000c8: 010fef93 ori t6,t6,16 +800000cc: 00612023 sw t1,0(sp) +800000d0: 00712223 sw t2,4(sp) +800000d4: 00812423 sw s0,8(sp) +800000d8: 00912623 sw s1,12(sp) +800000dc: 00a12823 sw a0,16(sp) +800000e0: 00b12a23 sw a1,20(sp) +800000e4: 01f12c23 sw t6,24(sp) +800000e8: 00001097 auipc ra,0x1 +800000ec: f2008093 addi ra,ra,-224 # 80001008 <test_A3_data> +800000f0: 00001117 auipc sp,0x1 +800000f4: f6810113 addi sp,sp,-152 # 80001058 <test_A3_res> +800000f8: 0000a603 lw a2,0(ra) +800000fc: 00000693 li a3,0 +80000100: 00100713 li a4,1 +80000104: fff00793 li a5,-1 +80000108: 80000837 lui a6,0x80000 +8000010c: fff80813 addi a6,a6,-1 # 7fffffff <_end+0xffffef3f> +80000110: 800008b7 lui a7,0x80000 +80000114: 00000f93 li t6,0 +80000118: 00d60463 beq a2,a3,80000120 <_start+0x120> +8000011c: 001fef93 ori t6,t6,1 +80000120: 00e60463 beq a2,a4,80000128 <_start+0x128> +80000124: 002fef93 ori t6,t6,2 +80000128: 00f60463 beq a2,a5,80000130 <_start+0x130> +8000012c: 004fef93 ori t6,t6,4 +80000130: 01060463 beq a2,a6,80000138 <_start+0x138> +80000134: 008fef93 ori t6,t6,8 +80000138: 01160463 beq a2,a7,80000140 <_start+0x140> +8000013c: 010fef93 ori t6,t6,16 +80000140: 00c12023 sw a2,0(sp) +80000144: 00d12223 sw a3,4(sp) +80000148: 00e12423 sw a4,8(sp) +8000014c: 00f12623 sw a5,12(sp) +80000150: 01012823 sw a6,16(sp) +80000154: 01112a23 sw a7,20(sp) +80000158: 01f12c23 sw t6,24(sp) +8000015c: 00001097 auipc ra,0x1 +80000160: eb008093 addi ra,ra,-336 # 8000100c <test_A4_data> +80000164: 00001117 auipc sp,0x1 +80000168: f1010113 addi sp,sp,-240 # 80001074 <test_A4_res> +8000016c: 0000a903 lw s2,0(ra) +80000170: 00000993 li s3,0 +80000174: 00100a13 li s4,1 +80000178: fff00a93 li s5,-1 +8000017c: 80000b37 lui s6,0x80000 +80000180: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef3f> +80000184: 80000bb7 lui s7,0x80000 +80000188: 00000f93 li t6,0 +8000018c: 01390463 beq s2,s3,80000194 <_start+0x194> +80000190: 001fef93 ori t6,t6,1 +80000194: 01490463 beq s2,s4,8000019c <_start+0x19c> +80000198: 002fef93 ori t6,t6,2 +8000019c: 01590463 beq s2,s5,800001a4 <_start+0x1a4> +800001a0: 004fef93 ori t6,t6,4 +800001a4: 01690463 beq s2,s6,800001ac <_start+0x1ac> +800001a8: 008fef93 ori t6,t6,8 +800001ac: 01790463 beq s2,s7,800001b4 <_start+0x1b4> +800001b0: 010fef93 ori t6,t6,16 +800001b4: 01212023 sw s2,0(sp) +800001b8: 01312223 sw s3,4(sp) +800001bc: 01412423 sw s4,8(sp) +800001c0: 01512623 sw s5,12(sp) +800001c4: 01612823 sw s6,16(sp) +800001c8: 01712a23 sw s7,20(sp) +800001cc: 01f12c23 sw t6,24(sp) +800001d0: 00001097 auipc ra,0x1 +800001d4: e4008093 addi ra,ra,-448 # 80001010 <test_A5_data> +800001d8: 00001117 auipc sp,0x1 +800001dc: eb810113 addi sp,sp,-328 # 80001090 <test_A5_res> +800001e0: 0000ac03 lw s8,0(ra) +800001e4: 00000c93 li s9,0 +800001e8: 00100d13 li s10,1 +800001ec: fff00d93 li s11,-1 +800001f0: 80000e37 lui t3,0x80000 +800001f4: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef3f> +800001f8: 80000eb7 lui t4,0x80000 +800001fc: 00000f93 li t6,0 +80000200: 019c0463 beq s8,s9,80000208 <_start+0x208> +80000204: 001fef93 ori t6,t6,1 +80000208: 01ac0463 beq s8,s10,80000210 <_start+0x210> +8000020c: 002fef93 ori t6,t6,2 +80000210: 01bc0463 beq s8,s11,80000218 <_start+0x218> +80000214: 004fef93 ori t6,t6,4 +80000218: 01cc0463 beq s8,t3,80000220 <_start+0x220> +8000021c: 008fef93 ori t6,t6,8 +80000220: 01dc0463 beq s8,t4,80000228 <_start+0x228> +80000224: 010fef93 ori t6,t6,16 +80000228: 01812023 sw s8,0(sp) +8000022c: 01912223 sw s9,4(sp) +80000230: 01a12423 sw s10,8(sp) +80000234: 01b12623 sw s11,12(sp) +80000238: 01c12823 sw t3,16(sp) +8000023c: 01d12a23 sw t4,20(sp) +80000240: 01f12c23 sw t6,24(sp) +80000244: 00001d97 auipc s11,0x1 +80000248: e68d8d93 addi s11,s11,-408 # 800010ac <test_B_res> +8000024c: 00000093 li ra,0 +80000250: 00100113 li sp,1 +80000254: fff00193 li gp,-1 +80000258: 80000237 lui tp,0x80000 +8000025c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef3f> +80000260: 800002b7 lui t0,0x80000 +80000264: 00000f93 li t6,0 +80000268: 00008463 beqz ra,80000270 <_start+0x270> +8000026c: 001fef93 ori t6,t6,1 +80000270: 00010463 beqz sp,80000278 <_start+0x278> +80000274: 002fef93 ori t6,t6,2 +80000278: 00018463 beqz gp,80000280 <_start+0x280> +8000027c: 004fef93 ori t6,t6,4 +80000280: 00020463 beqz tp,80000288 <_start+0x288> +80000284: 008fef93 ori t6,t6,8 +80000288: 00028463 beqz t0,80000290 <_start+0x290> +8000028c: 010fef93 ori t6,t6,16 +80000290: 00100463 beq zero,ra,80000298 <_start+0x298> +80000294: 020fef93 ori t6,t6,32 +80000298: 00200463 beq zero,sp,800002a0 <_start+0x2a0> +8000029c: 040fef93 ori t6,t6,64 +800002a0: 00300463 beq zero,gp,800002a8 <_start+0x2a8> +800002a4: 080fef93 ori t6,t6,128 +800002a8: 00400463 beq zero,tp,800002b0 <_start+0x2b0> +800002ac: 100fef93 ori t6,t6,256 +800002b0: 00500463 beq zero,t0,800002b8 <_start+0x2b8> +800002b4: 200fef93 ori t6,t6,512 +800002b8: 01fda023 sw t6,0(s11) +800002bc: 00001a97 auipc s5,0x1 +800002c0: d58a8a93 addi s5,s5,-680 # 80001014 <test_C_data> +800002c4: 00001b17 auipc s6,0x1 +800002c8: decb0b13 addi s6,s6,-532 # 800010b0 <test_C_res> +800002cc: 000aaf83 lw t6,0(s5) +800002d0: fff00113 li sp,-1 +800002d4: fff00193 li gp,-1 +800002d8: 0fedd237 lui tp,0xfedd +800002dc: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +800002e0: 020f8463 beqz t6,80000308 <_start+0x308> +800002e4: 00000113 li sp,0 +800002e8: 00000193 li gp,0 +800002ec: 00000213 li tp,0 +800002f0: 876541b7 lui gp,0x87654 +800002f4: 32118193 addi gp,gp,801 # 87654321 <_end+0x7653261> +800002f8: 020f8463 beqz t6,80000320 <_start+0x320> +800002fc: 00000113 li sp,0 +80000300: 00000193 li gp,0 +80000304: 00000213 li tp,0 +80000308: 9abce137 lui sp,0x9abce +8000030c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce30> +80000310: fe0f80e3 beqz t6,800002f0 <_start+0x2f0> +80000314: 00000113 li sp,0 +80000318: 00000193 li gp,0 +8000031c: 00000213 li tp,0 +80000320: 000b2023 sw zero,0(s6) +80000324: 002b2223 sw sp,4(s6) +80000328: 003b2423 sw gp,8(s6) +8000032c: 004b2623 sw tp,12(s6) +80000330: 00001517 auipc a0,0x1 +80000334: cf050513 addi a0,a0,-784 # 80001020 <codasip_signature_start> +80000338: 00001597 auipc a1,0x1 +8000033c: d8858593 addi a1,a1,-632 # 800010c0 <_end> +80000340: f0100637 lui a2,0xf0100 +80000344: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000348 <complience_halt_loop>: +80000348: 02b50663 beq a0,a1,80000374 <complience_halt_break> +8000034c: 00c52683 lw a3,12(a0) +80000350: 00d62023 sw a3,0(a2) +80000354: 00852683 lw a3,8(a0) +80000358: 00d62023 sw a3,0(a2) +8000035c: 00452683 lw a3,4(a0) +80000360: 00d62023 sw a3,0(a2) +80000364: 00052683 lw a3,0(a0) +80000368: 00d62023 sw a3,0(a2) +8000036c: 01050513 addi a0,a0,16 +80000370: fd9ff06f j 80000348 <complience_halt_loop> + +80000374 <complience_halt_break>: +80000374: f0100537 lui a0,0xf0100 +80000378: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +8000037c: 00052023 sw zero,0(a0) +80000380: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_C_data>: + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_A2_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A3_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff + +80001074 <test_A4_res>: +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff + +800010ac <test_B_res>: +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_C_res>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-BGE-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-BGE-01.elf.objdump new file mode 100644 index 0000000..21cace1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-BGE-01.elf.objdump @@ -0,0 +1,357 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-BGE-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef3f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00000f93 li t6,0 +80000030: 0041d463 ble tp,gp,80000038 <_start+0x38> +80000034: 001fef93 ori t6,t6,1 +80000038: 0051d463 ble t0,gp,80000040 <_start+0x40> +8000003c: 002fef93 ori t6,t6,2 +80000040: 0061d463 ble t1,gp,80000048 <_start+0x48> +80000044: 004fef93 ori t6,t6,4 +80000048: 0071d463 ble t2,gp,80000050 <_start+0x50> +8000004c: 008fef93 ori t6,t6,8 +80000050: 0081d463 ble s0,gp,80000058 <_start+0x58> +80000054: 010fef93 ori t6,t6,16 +80000058: 00312023 sw gp,0(sp) +8000005c: 00412223 sw tp,4(sp) +80000060: 00512423 sw t0,8(sp) +80000064: 00612623 sw t1,12(sp) +80000068: 00712823 sw t2,16(sp) +8000006c: 00812a23 sw s0,20(sp) +80000070: 01f12c23 sw t6,24(sp) +80000074: 00001097 auipc ra,0x1 +80000078: f9008093 addi ra,ra,-112 # 80001004 <test_A2_data> +8000007c: 00001117 auipc sp,0x1 +80000080: fc010113 addi sp,sp,-64 # 8000103c <test_A2_res> +80000084: 0000a303 lw t1,0(ra) +80000088: 00000393 li t2,0 +8000008c: 00100413 li s0,1 +80000090: fff00493 li s1,-1 +80000094: 80000537 lui a0,0x80000 +80000098: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef3f> +8000009c: 800005b7 lui a1,0x80000 +800000a0: 00000f93 li t6,0 +800000a4: 00735463 ble t2,t1,800000ac <_start+0xac> +800000a8: 001fef93 ori t6,t6,1 +800000ac: 00835463 ble s0,t1,800000b4 <_start+0xb4> +800000b0: 002fef93 ori t6,t6,2 +800000b4: 00935463 ble s1,t1,800000bc <_start+0xbc> +800000b8: 004fef93 ori t6,t6,4 +800000bc: 00a35463 ble a0,t1,800000c4 <_start+0xc4> +800000c0: 008fef93 ori t6,t6,8 +800000c4: 00b35463 ble a1,t1,800000cc <_start+0xcc> +800000c8: 010fef93 ori t6,t6,16 +800000cc: 00612023 sw t1,0(sp) +800000d0: 00712223 sw t2,4(sp) +800000d4: 00812423 sw s0,8(sp) +800000d8: 00912623 sw s1,12(sp) +800000dc: 00a12823 sw a0,16(sp) +800000e0: 00b12a23 sw a1,20(sp) +800000e4: 01f12c23 sw t6,24(sp) +800000e8: 00001097 auipc ra,0x1 +800000ec: f2008093 addi ra,ra,-224 # 80001008 <test_A3_data> +800000f0: 00001117 auipc sp,0x1 +800000f4: f6810113 addi sp,sp,-152 # 80001058 <test_A3_res> +800000f8: 0000a603 lw a2,0(ra) +800000fc: 00000693 li a3,0 +80000100: 00100713 li a4,1 +80000104: fff00793 li a5,-1 +80000108: 80000837 lui a6,0x80000 +8000010c: fff80813 addi a6,a6,-1 # 7fffffff <_end+0xffffef3f> +80000110: 800008b7 lui a7,0x80000 +80000114: 00000f93 li t6,0 +80000118: 00d65463 ble a3,a2,80000120 <_start+0x120> +8000011c: 001fef93 ori t6,t6,1 +80000120: 00e65463 ble a4,a2,80000128 <_start+0x128> +80000124: 002fef93 ori t6,t6,2 +80000128: 00f65463 ble a5,a2,80000130 <_start+0x130> +8000012c: 004fef93 ori t6,t6,4 +80000130: 01065463 ble a6,a2,80000138 <_start+0x138> +80000134: 008fef93 ori t6,t6,8 +80000138: 01165463 ble a7,a2,80000140 <_start+0x140> +8000013c: 010fef93 ori t6,t6,16 +80000140: 00c12023 sw a2,0(sp) +80000144: 00d12223 sw a3,4(sp) +80000148: 00e12423 sw a4,8(sp) +8000014c: 00f12623 sw a5,12(sp) +80000150: 01012823 sw a6,16(sp) +80000154: 01112a23 sw a7,20(sp) +80000158: 01f12c23 sw t6,24(sp) +8000015c: 00001097 auipc ra,0x1 +80000160: eb008093 addi ra,ra,-336 # 8000100c <test_A4_data> +80000164: 00001117 auipc sp,0x1 +80000168: f1010113 addi sp,sp,-240 # 80001074 <test_A4_res> +8000016c: 0000a903 lw s2,0(ra) +80000170: 00000993 li s3,0 +80000174: 00100a13 li s4,1 +80000178: fff00a93 li s5,-1 +8000017c: 80000b37 lui s6,0x80000 +80000180: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef3f> +80000184: 80000bb7 lui s7,0x80000 +80000188: 00000f93 li t6,0 +8000018c: 01395463 ble s3,s2,80000194 <_start+0x194> +80000190: 001fef93 ori t6,t6,1 +80000194: 01495463 ble s4,s2,8000019c <_start+0x19c> +80000198: 002fef93 ori t6,t6,2 +8000019c: 01595463 ble s5,s2,800001a4 <_start+0x1a4> +800001a0: 004fef93 ori t6,t6,4 +800001a4: 01695463 ble s6,s2,800001ac <_start+0x1ac> +800001a8: 008fef93 ori t6,t6,8 +800001ac: 01795463 ble s7,s2,800001b4 <_start+0x1b4> +800001b0: 010fef93 ori t6,t6,16 +800001b4: 01212023 sw s2,0(sp) +800001b8: 01312223 sw s3,4(sp) +800001bc: 01412423 sw s4,8(sp) +800001c0: 01512623 sw s5,12(sp) +800001c4: 01612823 sw s6,16(sp) +800001c8: 01712a23 sw s7,20(sp) +800001cc: 01f12c23 sw t6,24(sp) +800001d0: 00001097 auipc ra,0x1 +800001d4: e4008093 addi ra,ra,-448 # 80001010 <test_A5_data> +800001d8: 00001117 auipc sp,0x1 +800001dc: eb810113 addi sp,sp,-328 # 80001090 <test_A5_res> +800001e0: 0000ac03 lw s8,0(ra) +800001e4: 00000c93 li s9,0 +800001e8: 00100d13 li s10,1 +800001ec: fff00d93 li s11,-1 +800001f0: 80000e37 lui t3,0x80000 +800001f4: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef3f> +800001f8: 80000eb7 lui t4,0x80000 +800001fc: 00000f93 li t6,0 +80000200: 019c5463 ble s9,s8,80000208 <_start+0x208> +80000204: 001fef93 ori t6,t6,1 +80000208: 01ac5463 ble s10,s8,80000210 <_start+0x210> +8000020c: 002fef93 ori t6,t6,2 +80000210: 01bc5463 ble s11,s8,80000218 <_start+0x218> +80000214: 004fef93 ori t6,t6,4 +80000218: 01cc5463 ble t3,s8,80000220 <_start+0x220> +8000021c: 008fef93 ori t6,t6,8 +80000220: 01dc5463 ble t4,s8,80000228 <_start+0x228> +80000224: 010fef93 ori t6,t6,16 +80000228: 01812023 sw s8,0(sp) +8000022c: 01912223 sw s9,4(sp) +80000230: 01a12423 sw s10,8(sp) +80000234: 01b12623 sw s11,12(sp) +80000238: 01c12823 sw t3,16(sp) +8000023c: 01d12a23 sw t4,20(sp) +80000240: 01f12c23 sw t6,24(sp) +80000244: 00001d97 auipc s11,0x1 +80000248: e68d8d93 addi s11,s11,-408 # 800010ac <test_B_res> +8000024c: 00000093 li ra,0 +80000250: 00100113 li sp,1 +80000254: fff00193 li gp,-1 +80000258: 80000237 lui tp,0x80000 +8000025c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef3f> +80000260: 800002b7 lui t0,0x80000 +80000264: 00000f93 li t6,0 +80000268: 0000d463 bgez ra,80000270 <_start+0x270> +8000026c: 001fef93 ori t6,t6,1 +80000270: 00015463 bgez sp,80000278 <_start+0x278> +80000274: 002fef93 ori t6,t6,2 +80000278: 0001d463 bgez gp,80000280 <_start+0x280> +8000027c: 004fef93 ori t6,t6,4 +80000280: 00025463 bgez tp,80000288 <_start+0x288> +80000284: 008fef93 ori t6,t6,8 +80000288: 0002d463 bgez t0,80000290 <_start+0x290> +8000028c: 010fef93 ori t6,t6,16 +80000290: 00105463 blez ra,80000298 <_start+0x298> +80000294: 020fef93 ori t6,t6,32 +80000298: 00205463 blez sp,800002a0 <_start+0x2a0> +8000029c: 040fef93 ori t6,t6,64 +800002a0: 00305463 blez gp,800002a8 <_start+0x2a8> +800002a4: 080fef93 ori t6,t6,128 +800002a8: 00405463 blez tp,800002b0 <_start+0x2b0> +800002ac: 100fef93 ori t6,t6,256 +800002b0: 00505463 blez t0,800002b8 <_start+0x2b8> +800002b4: 200fef93 ori t6,t6,512 +800002b8: 01fda023 sw t6,0(s11) +800002bc: 00001a97 auipc s5,0x1 +800002c0: d58a8a93 addi s5,s5,-680 # 80001014 <test_C_data> +800002c4: 00001b17 auipc s6,0x1 +800002c8: decb0b13 addi s6,s6,-532 # 800010b0 <test_C_res> +800002cc: 000aaf83 lw t6,0(s5) +800002d0: fff00113 li sp,-1 +800002d4: fff00193 li gp,-1 +800002d8: 0fedd237 lui tp,0xfedd +800002dc: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +800002e0: 020fd463 bgez t6,80000308 <_start+0x308> +800002e4: 00000113 li sp,0 +800002e8: 00000193 li gp,0 +800002ec: 00000213 li tp,0 +800002f0: 876541b7 lui gp,0x87654 +800002f4: 32118193 addi gp,gp,801 # 87654321 <_end+0x7653261> +800002f8: 020fd463 bgez t6,80000320 <_start+0x320> +800002fc: 00000113 li sp,0 +80000300: 00000193 li gp,0 +80000304: 00000213 li tp,0 +80000308: 9abce137 lui sp,0x9abce +8000030c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce30> +80000310: fe0fd0e3 bgez t6,800002f0 <_start+0x2f0> +80000314: 00000113 li sp,0 +80000318: 00000193 li gp,0 +8000031c: 00000213 li tp,0 +80000320: 000b2023 sw zero,0(s6) +80000324: 002b2223 sw sp,4(s6) +80000328: 003b2423 sw gp,8(s6) +8000032c: 004b2623 sw tp,12(s6) +80000330: 00001517 auipc a0,0x1 +80000334: cf050513 addi a0,a0,-784 # 80001020 <codasip_signature_start> +80000338: 00001597 auipc a1,0x1 +8000033c: d8858593 addi a1,a1,-632 # 800010c0 <_end> +80000340: f0100637 lui a2,0xf0100 +80000344: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000348 <complience_halt_loop>: +80000348: 02b50663 beq a0,a1,80000374 <complience_halt_break> +8000034c: 00c52683 lw a3,12(a0) +80000350: 00d62023 sw a3,0(a2) +80000354: 00852683 lw a3,8(a0) +80000358: 00d62023 sw a3,0(a2) +8000035c: 00452683 lw a3,4(a0) +80000360: 00d62023 sw a3,0(a2) +80000364: 00052683 lw a3,0(a0) +80000368: 00d62023 sw a3,0(a2) +8000036c: 01050513 addi a0,a0,16 +80000370: fd9ff06f j 80000348 <complience_halt_loop> + +80000374 <complience_halt_break>: +80000374: f0100537 lui a0,0xf0100 +80000378: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +8000037c: 00052023 sw zero,0(a0) +80000380: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_C_data>: +80001014: 0001 nop + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_A2_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A3_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff + +80001074 <test_A4_res>: +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff + +800010ac <test_B_res>: +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_C_res>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-BGEU-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-BGEU-01.elf.objdump new file mode 100644 index 0000000..4727fe1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-BGEU-01.elf.objdump @@ -0,0 +1,357 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-BGEU-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef3f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00000f93 li t6,0 +80000030: 0041f463 bleu tp,gp,80000038 <_start+0x38> +80000034: 001fef93 ori t6,t6,1 +80000038: 0051f463 bleu t0,gp,80000040 <_start+0x40> +8000003c: 002fef93 ori t6,t6,2 +80000040: 0061f463 bleu t1,gp,80000048 <_start+0x48> +80000044: 004fef93 ori t6,t6,4 +80000048: 0071f463 bleu t2,gp,80000050 <_start+0x50> +8000004c: 008fef93 ori t6,t6,8 +80000050: 0081f463 bleu s0,gp,80000058 <_start+0x58> +80000054: 010fef93 ori t6,t6,16 +80000058: 00312023 sw gp,0(sp) +8000005c: 00412223 sw tp,4(sp) +80000060: 00512423 sw t0,8(sp) +80000064: 00612623 sw t1,12(sp) +80000068: 00712823 sw t2,16(sp) +8000006c: 00812a23 sw s0,20(sp) +80000070: 01f12c23 sw t6,24(sp) +80000074: 00001097 auipc ra,0x1 +80000078: f9008093 addi ra,ra,-112 # 80001004 <test_A2_data> +8000007c: 00001117 auipc sp,0x1 +80000080: fc010113 addi sp,sp,-64 # 8000103c <test_A2_res> +80000084: 0000a303 lw t1,0(ra) +80000088: 00000393 li t2,0 +8000008c: 00100413 li s0,1 +80000090: fff00493 li s1,-1 +80000094: 80000537 lui a0,0x80000 +80000098: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef3f> +8000009c: 800005b7 lui a1,0x80000 +800000a0: 00000f93 li t6,0 +800000a4: 00737463 bleu t2,t1,800000ac <_start+0xac> +800000a8: 001fef93 ori t6,t6,1 +800000ac: 00837463 bleu s0,t1,800000b4 <_start+0xb4> +800000b0: 002fef93 ori t6,t6,2 +800000b4: 00937463 bleu s1,t1,800000bc <_start+0xbc> +800000b8: 004fef93 ori t6,t6,4 +800000bc: 00a37463 bleu a0,t1,800000c4 <_start+0xc4> +800000c0: 008fef93 ori t6,t6,8 +800000c4: 00b37463 bleu a1,t1,800000cc <_start+0xcc> +800000c8: 010fef93 ori t6,t6,16 +800000cc: 00612023 sw t1,0(sp) +800000d0: 00712223 sw t2,4(sp) +800000d4: 00812423 sw s0,8(sp) +800000d8: 00912623 sw s1,12(sp) +800000dc: 00a12823 sw a0,16(sp) +800000e0: 00b12a23 sw a1,20(sp) +800000e4: 01f12c23 sw t6,24(sp) +800000e8: 00001097 auipc ra,0x1 +800000ec: f2008093 addi ra,ra,-224 # 80001008 <test_A3_data> +800000f0: 00001117 auipc sp,0x1 +800000f4: f6810113 addi sp,sp,-152 # 80001058 <test_A3_res> +800000f8: 0000a603 lw a2,0(ra) +800000fc: 00000693 li a3,0 +80000100: 00100713 li a4,1 +80000104: fff00793 li a5,-1 +80000108: 80000837 lui a6,0x80000 +8000010c: fff80813 addi a6,a6,-1 # 7fffffff <_end+0xffffef3f> +80000110: 800008b7 lui a7,0x80000 +80000114: 00000f93 li t6,0 +80000118: 00d67463 bleu a3,a2,80000120 <_start+0x120> +8000011c: 001fef93 ori t6,t6,1 +80000120: 00e67463 bleu a4,a2,80000128 <_start+0x128> +80000124: 002fef93 ori t6,t6,2 +80000128: 00f67463 bleu a5,a2,80000130 <_start+0x130> +8000012c: 004fef93 ori t6,t6,4 +80000130: 01067463 bleu a6,a2,80000138 <_start+0x138> +80000134: 008fef93 ori t6,t6,8 +80000138: 01167463 bleu a7,a2,80000140 <_start+0x140> +8000013c: 010fef93 ori t6,t6,16 +80000140: 00c12023 sw a2,0(sp) +80000144: 00d12223 sw a3,4(sp) +80000148: 00e12423 sw a4,8(sp) +8000014c: 00f12623 sw a5,12(sp) +80000150: 01012823 sw a6,16(sp) +80000154: 01112a23 sw a7,20(sp) +80000158: 01f12c23 sw t6,24(sp) +8000015c: 00001097 auipc ra,0x1 +80000160: eb008093 addi ra,ra,-336 # 8000100c <test_A4_data> +80000164: 00001117 auipc sp,0x1 +80000168: f1010113 addi sp,sp,-240 # 80001074 <test_A4_res> +8000016c: 0000a903 lw s2,0(ra) +80000170: 00000993 li s3,0 +80000174: 00100a13 li s4,1 +80000178: fff00a93 li s5,-1 +8000017c: 80000b37 lui s6,0x80000 +80000180: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef3f> +80000184: 80000bb7 lui s7,0x80000 +80000188: 00000f93 li t6,0 +8000018c: 01397463 bleu s3,s2,80000194 <_start+0x194> +80000190: 001fef93 ori t6,t6,1 +80000194: 01497463 bleu s4,s2,8000019c <_start+0x19c> +80000198: 002fef93 ori t6,t6,2 +8000019c: 01597463 bleu s5,s2,800001a4 <_start+0x1a4> +800001a0: 004fef93 ori t6,t6,4 +800001a4: 01697463 bleu s6,s2,800001ac <_start+0x1ac> +800001a8: 008fef93 ori t6,t6,8 +800001ac: 01797463 bleu s7,s2,800001b4 <_start+0x1b4> +800001b0: 010fef93 ori t6,t6,16 +800001b4: 01212023 sw s2,0(sp) +800001b8: 01312223 sw s3,4(sp) +800001bc: 01412423 sw s4,8(sp) +800001c0: 01512623 sw s5,12(sp) +800001c4: 01612823 sw s6,16(sp) +800001c8: 01712a23 sw s7,20(sp) +800001cc: 01f12c23 sw t6,24(sp) +800001d0: 00001097 auipc ra,0x1 +800001d4: e4008093 addi ra,ra,-448 # 80001010 <test_A5_data> +800001d8: 00001117 auipc sp,0x1 +800001dc: eb810113 addi sp,sp,-328 # 80001090 <test_A5_res> +800001e0: 0000ac03 lw s8,0(ra) +800001e4: 00000c93 li s9,0 +800001e8: 00100d13 li s10,1 +800001ec: fff00d93 li s11,-1 +800001f0: 80000e37 lui t3,0x80000 +800001f4: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef3f> +800001f8: 80000eb7 lui t4,0x80000 +800001fc: 00000f93 li t6,0 +80000200: 019c7463 bleu s9,s8,80000208 <_start+0x208> +80000204: 001fef93 ori t6,t6,1 +80000208: 01ac7463 bleu s10,s8,80000210 <_start+0x210> +8000020c: 002fef93 ori t6,t6,2 +80000210: 01bc7463 bleu s11,s8,80000218 <_start+0x218> +80000214: 004fef93 ori t6,t6,4 +80000218: 01cc7463 bleu t3,s8,80000220 <_start+0x220> +8000021c: 008fef93 ori t6,t6,8 +80000220: 01dc7463 bleu t4,s8,80000228 <_start+0x228> +80000224: 010fef93 ori t6,t6,16 +80000228: 01812023 sw s8,0(sp) +8000022c: 01912223 sw s9,4(sp) +80000230: 01a12423 sw s10,8(sp) +80000234: 01b12623 sw s11,12(sp) +80000238: 01c12823 sw t3,16(sp) +8000023c: 01d12a23 sw t4,20(sp) +80000240: 01f12c23 sw t6,24(sp) +80000244: 00001d97 auipc s11,0x1 +80000248: e68d8d93 addi s11,s11,-408 # 800010ac <test_B_res> +8000024c: 00000093 li ra,0 +80000250: 00100113 li sp,1 +80000254: fff00193 li gp,-1 +80000258: 80000237 lui tp,0x80000 +8000025c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef3f> +80000260: 800002b7 lui t0,0x80000 +80000264: 00000f93 li t6,0 +80000268: 0000f463 bleu zero,ra,80000270 <_start+0x270> +8000026c: 001fef93 ori t6,t6,1 +80000270: 00017463 bleu zero,sp,80000278 <_start+0x278> +80000274: 002fef93 ori t6,t6,2 +80000278: 0001f463 bleu zero,gp,80000280 <_start+0x280> +8000027c: 004fef93 ori t6,t6,4 +80000280: 00027463 bleu zero,tp,80000288 <_start+0x288> +80000284: 008fef93 ori t6,t6,8 +80000288: 0002f463 bleu zero,t0,80000290 <_start+0x290> +8000028c: 010fef93 ori t6,t6,16 +80000290: 00107463 bleu ra,zero,80000298 <_start+0x298> +80000294: 020fef93 ori t6,t6,32 +80000298: 00207463 bleu sp,zero,800002a0 <_start+0x2a0> +8000029c: 040fef93 ori t6,t6,64 +800002a0: 00307463 bleu gp,zero,800002a8 <_start+0x2a8> +800002a4: 080fef93 ori t6,t6,128 +800002a8: 00407463 bleu tp,zero,800002b0 <_start+0x2b0> +800002ac: 100fef93 ori t6,t6,256 +800002b0: 00507463 bleu t0,zero,800002b8 <_start+0x2b8> +800002b4: 200fef93 ori t6,t6,512 +800002b8: 01fda023 sw t6,0(s11) +800002bc: 00001a97 auipc s5,0x1 +800002c0: d58a8a93 addi s5,s5,-680 # 80001014 <test_C_data> +800002c4: 00001b17 auipc s6,0x1 +800002c8: decb0b13 addi s6,s6,-532 # 800010b0 <test_C_res> +800002cc: 000aaf83 lw t6,0(s5) +800002d0: fff00113 li sp,-1 +800002d4: fff00193 li gp,-1 +800002d8: 0fedd237 lui tp,0xfedd +800002dc: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +800002e0: 020ff463 bleu zero,t6,80000308 <_start+0x308> +800002e4: 00000113 li sp,0 +800002e8: 00000193 li gp,0 +800002ec: 00000213 li tp,0 +800002f0: 876541b7 lui gp,0x87654 +800002f4: 32118193 addi gp,gp,801 # 87654321 <_end+0x7653261> +800002f8: 020ff463 bleu zero,t6,80000320 <_start+0x320> +800002fc: 00000113 li sp,0 +80000300: 00000193 li gp,0 +80000304: 00000213 li tp,0 +80000308: 9abce137 lui sp,0x9abce +8000030c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce30> +80000310: fe0ff0e3 bleu zero,t6,800002f0 <_start+0x2f0> +80000314: 00000113 li sp,0 +80000318: 00000193 li gp,0 +8000031c: 00000213 li tp,0 +80000320: 000b2023 sw zero,0(s6) +80000324: 002b2223 sw sp,4(s6) +80000328: 003b2423 sw gp,8(s6) +8000032c: 004b2623 sw tp,12(s6) +80000330: 00001517 auipc a0,0x1 +80000334: cf050513 addi a0,a0,-784 # 80001020 <codasip_signature_start> +80000338: 00001597 auipc a1,0x1 +8000033c: d8858593 addi a1,a1,-632 # 800010c0 <_end> +80000340: f0100637 lui a2,0xf0100 +80000344: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000348 <complience_halt_loop>: +80000348: 02b50663 beq a0,a1,80000374 <complience_halt_break> +8000034c: 00c52683 lw a3,12(a0) +80000350: 00d62023 sw a3,0(a2) +80000354: 00852683 lw a3,8(a0) +80000358: 00d62023 sw a3,0(a2) +8000035c: 00452683 lw a3,4(a0) +80000360: 00d62023 sw a3,0(a2) +80000364: 00052683 lw a3,0(a0) +80000368: 00d62023 sw a3,0(a2) +8000036c: 01050513 addi a0,a0,16 +80000370: fd9ff06f j 80000348 <complience_halt_loop> + +80000374 <complience_halt_break>: +80000374: f0100537 lui a0,0xf0100 +80000378: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +8000037c: 00052023 sw zero,0(a0) +80000380: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_C_data>: +80001014: 0001 nop + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_A2_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A3_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff + +80001074 <test_A4_res>: +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff + +800010ac <test_B_res>: +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_C_res>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-BLT-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-BLT-01.elf.objdump new file mode 100644 index 0000000..837a074 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-BLT-01.elf.objdump @@ -0,0 +1,358 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-BLT-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef3f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00000f93 li t6,0 +80000030: 0041c463 blt gp,tp,80000038 <_start+0x38> +80000034: 001fef93 ori t6,t6,1 +80000038: 0051c463 blt gp,t0,80000040 <_start+0x40> +8000003c: 002fef93 ori t6,t6,2 +80000040: 0061c463 blt gp,t1,80000048 <_start+0x48> +80000044: 004fef93 ori t6,t6,4 +80000048: 0071c463 blt gp,t2,80000050 <_start+0x50> +8000004c: 008fef93 ori t6,t6,8 +80000050: 0081c463 blt gp,s0,80000058 <_start+0x58> +80000054: 010fef93 ori t6,t6,16 +80000058: 00312023 sw gp,0(sp) +8000005c: 00412223 sw tp,4(sp) +80000060: 00512423 sw t0,8(sp) +80000064: 00612623 sw t1,12(sp) +80000068: 00712823 sw t2,16(sp) +8000006c: 00812a23 sw s0,20(sp) +80000070: 01f12c23 sw t6,24(sp) +80000074: 00001097 auipc ra,0x1 +80000078: f9008093 addi ra,ra,-112 # 80001004 <test_A2_data> +8000007c: 00001117 auipc sp,0x1 +80000080: fc010113 addi sp,sp,-64 # 8000103c <test_A2_res> +80000084: 0000a303 lw t1,0(ra) +80000088: 00000393 li t2,0 +8000008c: 00100413 li s0,1 +80000090: fff00493 li s1,-1 +80000094: 80000537 lui a0,0x80000 +80000098: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef3f> +8000009c: 800005b7 lui a1,0x80000 +800000a0: 00000f93 li t6,0 +800000a4: 00734463 blt t1,t2,800000ac <_start+0xac> +800000a8: 001fef93 ori t6,t6,1 +800000ac: 00834463 blt t1,s0,800000b4 <_start+0xb4> +800000b0: 002fef93 ori t6,t6,2 +800000b4: 00934463 blt t1,s1,800000bc <_start+0xbc> +800000b8: 004fef93 ori t6,t6,4 +800000bc: 00a34463 blt t1,a0,800000c4 <_start+0xc4> +800000c0: 008fef93 ori t6,t6,8 +800000c4: 00b34463 blt t1,a1,800000cc <_start+0xcc> +800000c8: 010fef93 ori t6,t6,16 +800000cc: 00612023 sw t1,0(sp) +800000d0: 00712223 sw t2,4(sp) +800000d4: 00812423 sw s0,8(sp) +800000d8: 00912623 sw s1,12(sp) +800000dc: 00a12823 sw a0,16(sp) +800000e0: 00b12a23 sw a1,20(sp) +800000e4: 01f12c23 sw t6,24(sp) +800000e8: 00001097 auipc ra,0x1 +800000ec: f2008093 addi ra,ra,-224 # 80001008 <test_A3_data> +800000f0: 00001117 auipc sp,0x1 +800000f4: f6810113 addi sp,sp,-152 # 80001058 <test_A3_res> +800000f8: 0000a603 lw a2,0(ra) +800000fc: 00000693 li a3,0 +80000100: 00100713 li a4,1 +80000104: fff00793 li a5,-1 +80000108: 80000837 lui a6,0x80000 +8000010c: fff80813 addi a6,a6,-1 # 7fffffff <_end+0xffffef3f> +80000110: 800008b7 lui a7,0x80000 +80000114: 00000f93 li t6,0 +80000118: 00d64463 blt a2,a3,80000120 <_start+0x120> +8000011c: 001fef93 ori t6,t6,1 +80000120: 00e64463 blt a2,a4,80000128 <_start+0x128> +80000124: 002fef93 ori t6,t6,2 +80000128: 00f64463 blt a2,a5,80000130 <_start+0x130> +8000012c: 004fef93 ori t6,t6,4 +80000130: 01064463 blt a2,a6,80000138 <_start+0x138> +80000134: 008fef93 ori t6,t6,8 +80000138: 01164463 blt a2,a7,80000140 <_start+0x140> +8000013c: 010fef93 ori t6,t6,16 +80000140: 00c12023 sw a2,0(sp) +80000144: 00d12223 sw a3,4(sp) +80000148: 00e12423 sw a4,8(sp) +8000014c: 00f12623 sw a5,12(sp) +80000150: 01012823 sw a6,16(sp) +80000154: 01112a23 sw a7,20(sp) +80000158: 01f12c23 sw t6,24(sp) +8000015c: 00001097 auipc ra,0x1 +80000160: eb008093 addi ra,ra,-336 # 8000100c <test_A4_data> +80000164: 00001117 auipc sp,0x1 +80000168: f1010113 addi sp,sp,-240 # 80001074 <test_A4_res> +8000016c: 0000a903 lw s2,0(ra) +80000170: 00000993 li s3,0 +80000174: 00100a13 li s4,1 +80000178: fff00a93 li s5,-1 +8000017c: 80000b37 lui s6,0x80000 +80000180: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef3f> +80000184: 80000bb7 lui s7,0x80000 +80000188: 00000f93 li t6,0 +8000018c: 01394463 blt s2,s3,80000194 <_start+0x194> +80000190: 001fef93 ori t6,t6,1 +80000194: 01494463 blt s2,s4,8000019c <_start+0x19c> +80000198: 002fef93 ori t6,t6,2 +8000019c: 01594463 blt s2,s5,800001a4 <_start+0x1a4> +800001a0: 004fef93 ori t6,t6,4 +800001a4: 01694463 blt s2,s6,800001ac <_start+0x1ac> +800001a8: 008fef93 ori t6,t6,8 +800001ac: 01794463 blt s2,s7,800001b4 <_start+0x1b4> +800001b0: 010fef93 ori t6,t6,16 +800001b4: 01212023 sw s2,0(sp) +800001b8: 01312223 sw s3,4(sp) +800001bc: 01412423 sw s4,8(sp) +800001c0: 01512623 sw s5,12(sp) +800001c4: 01612823 sw s6,16(sp) +800001c8: 01712a23 sw s7,20(sp) +800001cc: 01f12c23 sw t6,24(sp) +800001d0: 00001097 auipc ra,0x1 +800001d4: e4008093 addi ra,ra,-448 # 80001010 <test_A5_data> +800001d8: 00001117 auipc sp,0x1 +800001dc: eb810113 addi sp,sp,-328 # 80001090 <test_A5_res> +800001e0: 0000ac03 lw s8,0(ra) +800001e4: 00000c93 li s9,0 +800001e8: 00100d13 li s10,1 +800001ec: fff00d93 li s11,-1 +800001f0: 80000e37 lui t3,0x80000 +800001f4: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef3f> +800001f8: 80000eb7 lui t4,0x80000 +800001fc: 00000f93 li t6,0 +80000200: 019c4463 blt s8,s9,80000208 <_start+0x208> +80000204: 001fef93 ori t6,t6,1 +80000208: 01ac4463 blt s8,s10,80000210 <_start+0x210> +8000020c: 002fef93 ori t6,t6,2 +80000210: 01bc4463 blt s8,s11,80000218 <_start+0x218> +80000214: 004fef93 ori t6,t6,4 +80000218: 01cc4463 blt s8,t3,80000220 <_start+0x220> +8000021c: 008fef93 ori t6,t6,8 +80000220: 01dc4463 blt s8,t4,80000228 <_start+0x228> +80000224: 010fef93 ori t6,t6,16 +80000228: 01812023 sw s8,0(sp) +8000022c: 01912223 sw s9,4(sp) +80000230: 01a12423 sw s10,8(sp) +80000234: 01b12623 sw s11,12(sp) +80000238: 01c12823 sw t3,16(sp) +8000023c: 01d12a23 sw t4,20(sp) +80000240: 01f12c23 sw t6,24(sp) +80000244: 00001d97 auipc s11,0x1 +80000248: e68d8d93 addi s11,s11,-408 # 800010ac <test_B_res> +8000024c: 00000093 li ra,0 +80000250: 00100113 li sp,1 +80000254: fff00193 li gp,-1 +80000258: 80000237 lui tp,0x80000 +8000025c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef3f> +80000260: 800002b7 lui t0,0x80000 +80000264: 00000f93 li t6,0 +80000268: 0000c463 bltz ra,80000270 <_start+0x270> +8000026c: 001fef93 ori t6,t6,1 +80000270: 00014463 bltz sp,80000278 <_start+0x278> +80000274: 002fef93 ori t6,t6,2 +80000278: 0001c463 bltz gp,80000280 <_start+0x280> +8000027c: 004fef93 ori t6,t6,4 +80000280: 00024463 bltz tp,80000288 <_start+0x288> +80000284: 008fef93 ori t6,t6,8 +80000288: 0002c463 bltz t0,80000290 <_start+0x290> +8000028c: 010fef93 ori t6,t6,16 +80000290: 00104463 bgtz ra,80000298 <_start+0x298> +80000294: 020fef93 ori t6,t6,32 +80000298: 00204463 bgtz sp,800002a0 <_start+0x2a0> +8000029c: 040fef93 ori t6,t6,64 +800002a0: 00304463 bgtz gp,800002a8 <_start+0x2a8> +800002a4: 080fef93 ori t6,t6,128 +800002a8: 00404463 bgtz tp,800002b0 <_start+0x2b0> +800002ac: 100fef93 ori t6,t6,256 +800002b0: 00504463 bgtz t0,800002b8 <_start+0x2b8> +800002b4: 200fef93 ori t6,t6,512 +800002b8: 01fda023 sw t6,0(s11) +800002bc: 00001a97 auipc s5,0x1 +800002c0: d58a8a93 addi s5,s5,-680 # 80001014 <test_C_data> +800002c4: 00001b17 auipc s6,0x1 +800002c8: decb0b13 addi s6,s6,-532 # 800010b0 <test_C_res> +800002cc: 000aaf83 lw t6,0(s5) +800002d0: fff00113 li sp,-1 +800002d4: fff00193 li gp,-1 +800002d8: 0fedd237 lui tp,0xfedd +800002dc: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +800002e0: 020fc463 bltz t6,80000308 <_start+0x308> +800002e4: 00000113 li sp,0 +800002e8: 00000193 li gp,0 +800002ec: 00000213 li tp,0 +800002f0: 876541b7 lui gp,0x87654 +800002f4: 32118193 addi gp,gp,801 # 87654321 <_end+0x7653261> +800002f8: 020fc463 bltz t6,80000320 <_start+0x320> +800002fc: 00000113 li sp,0 +80000300: 00000193 li gp,0 +80000304: 00000213 li tp,0 +80000308: 9abce137 lui sp,0x9abce +8000030c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce30> +80000310: fe0fc0e3 bltz t6,800002f0 <_start+0x2f0> +80000314: 00000113 li sp,0 +80000318: 00000193 li gp,0 +8000031c: 00000213 li tp,0 +80000320: 000b2023 sw zero,0(s6) +80000324: 002b2223 sw sp,4(s6) +80000328: 003b2423 sw gp,8(s6) +8000032c: 004b2623 sw tp,12(s6) +80000330: 00001517 auipc a0,0x1 +80000334: cf050513 addi a0,a0,-784 # 80001020 <codasip_signature_start> +80000338: 00001597 auipc a1,0x1 +8000033c: d8858593 addi a1,a1,-632 # 800010c0 <_end> +80000340: f0100637 lui a2,0xf0100 +80000344: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000348 <complience_halt_loop>: +80000348: 02b50663 beq a0,a1,80000374 <complience_halt_break> +8000034c: 00c52683 lw a3,12(a0) +80000350: 00d62023 sw a3,0(a2) +80000354: 00852683 lw a3,8(a0) +80000358: 00d62023 sw a3,0(a2) +8000035c: 00452683 lw a3,4(a0) +80000360: 00d62023 sw a3,0(a2) +80000364: 00052683 lw a3,0(a0) +80000368: 00d62023 sw a3,0(a2) +8000036c: 01050513 addi a0,a0,16 +80000370: fd9ff06f j 80000348 <complience_halt_loop> + +80000374 <complience_halt_break>: +80000374: f0100537 lui a0,0xf0100 +80000378: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +8000037c: 00052023 sw zero,0(a0) +80000380: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_C_data>: +80001014: ffff 0xffff +80001016: ffff 0xffff + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_A2_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A3_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff + +80001074 <test_A4_res>: +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff + +800010ac <test_B_res>: +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_C_res>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-BLTU-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-BLTU-01.elf.objdump new file mode 100644 index 0000000..cd90729 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-BLTU-01.elf.objdump @@ -0,0 +1,357 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-BLTU-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef3f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00000f93 li t6,0 +80000030: 0041e463 bltu gp,tp,80000038 <_start+0x38> +80000034: 001fef93 ori t6,t6,1 +80000038: 0051e463 bltu gp,t0,80000040 <_start+0x40> +8000003c: 002fef93 ori t6,t6,2 +80000040: 0061e463 bltu gp,t1,80000048 <_start+0x48> +80000044: 004fef93 ori t6,t6,4 +80000048: 0071e463 bltu gp,t2,80000050 <_start+0x50> +8000004c: 008fef93 ori t6,t6,8 +80000050: 0081e463 bltu gp,s0,80000058 <_start+0x58> +80000054: 010fef93 ori t6,t6,16 +80000058: 00312023 sw gp,0(sp) +8000005c: 00412223 sw tp,4(sp) +80000060: 00512423 sw t0,8(sp) +80000064: 00612623 sw t1,12(sp) +80000068: 00712823 sw t2,16(sp) +8000006c: 00812a23 sw s0,20(sp) +80000070: 01f12c23 sw t6,24(sp) +80000074: 00001097 auipc ra,0x1 +80000078: f9008093 addi ra,ra,-112 # 80001004 <test_A2_data> +8000007c: 00001117 auipc sp,0x1 +80000080: fc010113 addi sp,sp,-64 # 8000103c <test_A2_res> +80000084: 0000a303 lw t1,0(ra) +80000088: 00000393 li t2,0 +8000008c: 00100413 li s0,1 +80000090: fff00493 li s1,-1 +80000094: 80000537 lui a0,0x80000 +80000098: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef3f> +8000009c: 800005b7 lui a1,0x80000 +800000a0: 00000f93 li t6,0 +800000a4: 00736463 bltu t1,t2,800000ac <_start+0xac> +800000a8: 001fef93 ori t6,t6,1 +800000ac: 00836463 bltu t1,s0,800000b4 <_start+0xb4> +800000b0: 002fef93 ori t6,t6,2 +800000b4: 00936463 bltu t1,s1,800000bc <_start+0xbc> +800000b8: 004fef93 ori t6,t6,4 +800000bc: 00a36463 bltu t1,a0,800000c4 <_start+0xc4> +800000c0: 008fef93 ori t6,t6,8 +800000c4: 00b36463 bltu t1,a1,800000cc <_start+0xcc> +800000c8: 010fef93 ori t6,t6,16 +800000cc: 00612023 sw t1,0(sp) +800000d0: 00712223 sw t2,4(sp) +800000d4: 00812423 sw s0,8(sp) +800000d8: 00912623 sw s1,12(sp) +800000dc: 00a12823 sw a0,16(sp) +800000e0: 00b12a23 sw a1,20(sp) +800000e4: 01f12c23 sw t6,24(sp) +800000e8: 00001097 auipc ra,0x1 +800000ec: f2008093 addi ra,ra,-224 # 80001008 <test_A3_data> +800000f0: 00001117 auipc sp,0x1 +800000f4: f6810113 addi sp,sp,-152 # 80001058 <test_A3_res> +800000f8: 0000a603 lw a2,0(ra) +800000fc: 00000693 li a3,0 +80000100: 00100713 li a4,1 +80000104: fff00793 li a5,-1 +80000108: 80000837 lui a6,0x80000 +8000010c: fff80813 addi a6,a6,-1 # 7fffffff <_end+0xffffef3f> +80000110: 800008b7 lui a7,0x80000 +80000114: 00000f93 li t6,0 +80000118: 00d66463 bltu a2,a3,80000120 <_start+0x120> +8000011c: 001fef93 ori t6,t6,1 +80000120: 00e66463 bltu a2,a4,80000128 <_start+0x128> +80000124: 002fef93 ori t6,t6,2 +80000128: 00f66463 bltu a2,a5,80000130 <_start+0x130> +8000012c: 004fef93 ori t6,t6,4 +80000130: 01066463 bltu a2,a6,80000138 <_start+0x138> +80000134: 008fef93 ori t6,t6,8 +80000138: 01166463 bltu a2,a7,80000140 <_start+0x140> +8000013c: 010fef93 ori t6,t6,16 +80000140: 00c12023 sw a2,0(sp) +80000144: 00d12223 sw a3,4(sp) +80000148: 00e12423 sw a4,8(sp) +8000014c: 00f12623 sw a5,12(sp) +80000150: 01012823 sw a6,16(sp) +80000154: 01112a23 sw a7,20(sp) +80000158: 01f12c23 sw t6,24(sp) +8000015c: 00001097 auipc ra,0x1 +80000160: eb008093 addi ra,ra,-336 # 8000100c <test_A4_data> +80000164: 00001117 auipc sp,0x1 +80000168: f1010113 addi sp,sp,-240 # 80001074 <test_A4_res> +8000016c: 0000a903 lw s2,0(ra) +80000170: 00000993 li s3,0 +80000174: 00100a13 li s4,1 +80000178: fff00a93 li s5,-1 +8000017c: 80000b37 lui s6,0x80000 +80000180: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef3f> +80000184: 80000bb7 lui s7,0x80000 +80000188: 00000f93 li t6,0 +8000018c: 01396463 bltu s2,s3,80000194 <_start+0x194> +80000190: 001fef93 ori t6,t6,1 +80000194: 01496463 bltu s2,s4,8000019c <_start+0x19c> +80000198: 002fef93 ori t6,t6,2 +8000019c: 01596463 bltu s2,s5,800001a4 <_start+0x1a4> +800001a0: 004fef93 ori t6,t6,4 +800001a4: 01696463 bltu s2,s6,800001ac <_start+0x1ac> +800001a8: 008fef93 ori t6,t6,8 +800001ac: 01796463 bltu s2,s7,800001b4 <_start+0x1b4> +800001b0: 010fef93 ori t6,t6,16 +800001b4: 01212023 sw s2,0(sp) +800001b8: 01312223 sw s3,4(sp) +800001bc: 01412423 sw s4,8(sp) +800001c0: 01512623 sw s5,12(sp) +800001c4: 01612823 sw s6,16(sp) +800001c8: 01712a23 sw s7,20(sp) +800001cc: 01f12c23 sw t6,24(sp) +800001d0: 00001097 auipc ra,0x1 +800001d4: e4008093 addi ra,ra,-448 # 80001010 <test_A5_data> +800001d8: 00001117 auipc sp,0x1 +800001dc: eb810113 addi sp,sp,-328 # 80001090 <test_A5_res> +800001e0: 0000ac03 lw s8,0(ra) +800001e4: 00000c93 li s9,0 +800001e8: 00100d13 li s10,1 +800001ec: fff00d93 li s11,-1 +800001f0: 80000e37 lui t3,0x80000 +800001f4: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef3f> +800001f8: 80000eb7 lui t4,0x80000 +800001fc: 00000f93 li t6,0 +80000200: 019c6463 bltu s8,s9,80000208 <_start+0x208> +80000204: 001fef93 ori t6,t6,1 +80000208: 01ac6463 bltu s8,s10,80000210 <_start+0x210> +8000020c: 002fef93 ori t6,t6,2 +80000210: 01bc6463 bltu s8,s11,80000218 <_start+0x218> +80000214: 004fef93 ori t6,t6,4 +80000218: 01cc6463 bltu s8,t3,80000220 <_start+0x220> +8000021c: 008fef93 ori t6,t6,8 +80000220: 01dc6463 bltu s8,t4,80000228 <_start+0x228> +80000224: 010fef93 ori t6,t6,16 +80000228: 01812023 sw s8,0(sp) +8000022c: 01912223 sw s9,4(sp) +80000230: 01a12423 sw s10,8(sp) +80000234: 01b12623 sw s11,12(sp) +80000238: 01c12823 sw t3,16(sp) +8000023c: 01d12a23 sw t4,20(sp) +80000240: 01f12c23 sw t6,24(sp) +80000244: 00001d97 auipc s11,0x1 +80000248: e68d8d93 addi s11,s11,-408 # 800010ac <test_B_res> +8000024c: 00000093 li ra,0 +80000250: 00100113 li sp,1 +80000254: fff00193 li gp,-1 +80000258: 80000237 lui tp,0x80000 +8000025c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef3f> +80000260: 800002b7 lui t0,0x80000 +80000264: 00000f93 li t6,0 +80000268: 0000e463 bltu ra,zero,80000270 <_start+0x270> +8000026c: 001fef93 ori t6,t6,1 +80000270: 00016463 bltu sp,zero,80000278 <_start+0x278> +80000274: 002fef93 ori t6,t6,2 +80000278: 0001e463 bltu gp,zero,80000280 <_start+0x280> +8000027c: 004fef93 ori t6,t6,4 +80000280: 00026463 bltu tp,zero,80000288 <_start+0x288> +80000284: 008fef93 ori t6,t6,8 +80000288: 0002e463 bltu t0,zero,80000290 <_start+0x290> +8000028c: 010fef93 ori t6,t6,16 +80000290: 00106463 bltu zero,ra,80000298 <_start+0x298> +80000294: 020fef93 ori t6,t6,32 +80000298: 00206463 bltu zero,sp,800002a0 <_start+0x2a0> +8000029c: 040fef93 ori t6,t6,64 +800002a0: 00306463 bltu zero,gp,800002a8 <_start+0x2a8> +800002a4: 080fef93 ori t6,t6,128 +800002a8: 00406463 bltu zero,tp,800002b0 <_start+0x2b0> +800002ac: 100fef93 ori t6,t6,256 +800002b0: 00506463 bltu zero,t0,800002b8 <_start+0x2b8> +800002b4: 200fef93 ori t6,t6,512 +800002b8: 01fda023 sw t6,0(s11) +800002bc: 00001a97 auipc s5,0x1 +800002c0: d58a8a93 addi s5,s5,-680 # 80001014 <test_C_data> +800002c4: 00001b17 auipc s6,0x1 +800002c8: decb0b13 addi s6,s6,-532 # 800010b0 <test_C_res> +800002cc: 000aaf83 lw t6,0(s5) +800002d0: fff00113 li sp,-1 +800002d4: fff00193 li gp,-1 +800002d8: 0fedd237 lui tp,0xfedd +800002dc: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +800002e0: 03f06463 bltu zero,t6,80000308 <_start+0x308> +800002e4: 00000113 li sp,0 +800002e8: 00000193 li gp,0 +800002ec: 00000213 li tp,0 +800002f0: 876541b7 lui gp,0x87654 +800002f4: 32118193 addi gp,gp,801 # 87654321 <_end+0x7653261> +800002f8: 03f06463 bltu zero,t6,80000320 <_start+0x320> +800002fc: 00000113 li sp,0 +80000300: 00000193 li gp,0 +80000304: 00000213 li tp,0 +80000308: 9abce137 lui sp,0x9abce +8000030c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce30> +80000310: fff060e3 bltu zero,t6,800002f0 <_start+0x2f0> +80000314: 00000113 li sp,0 +80000318: 00000193 li gp,0 +8000031c: 00000213 li tp,0 +80000320: 000b2023 sw zero,0(s6) +80000324: 002b2223 sw sp,4(s6) +80000328: 003b2423 sw gp,8(s6) +8000032c: 004b2623 sw tp,12(s6) +80000330: 00001517 auipc a0,0x1 +80000334: cf050513 addi a0,a0,-784 # 80001020 <codasip_signature_start> +80000338: 00001597 auipc a1,0x1 +8000033c: d8858593 addi a1,a1,-632 # 800010c0 <_end> +80000340: f0100637 lui a2,0xf0100 +80000344: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000348 <complience_halt_loop>: +80000348: 02b50663 beq a0,a1,80000374 <complience_halt_break> +8000034c: 00c52683 lw a3,12(a0) +80000350: 00d62023 sw a3,0(a2) +80000354: 00852683 lw a3,8(a0) +80000358: 00d62023 sw a3,0(a2) +8000035c: 00452683 lw a3,4(a0) +80000360: 00d62023 sw a3,0(a2) +80000364: 00052683 lw a3,0(a0) +80000368: 00d62023 sw a3,0(a2) +8000036c: 01050513 addi a0,a0,16 +80000370: fd9ff06f j 80000348 <complience_halt_loop> + +80000374 <complience_halt_break>: +80000374: f0100537 lui a0,0xf0100 +80000378: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +8000037c: 00052023 sw zero,0(a0) +80000380: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_C_data>: +80001014: 0001 nop + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_A2_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A3_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff + +80001074 <test_A4_res>: +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff + +800010ac <test_B_res>: +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_C_res>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-BNE-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-BNE-01.elf.objdump new file mode 100644 index 0000000..d976a5d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-BNE-01.elf.objdump @@ -0,0 +1,358 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-BNE-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef3f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00000f93 li t6,0 +80000030: 00419463 bne gp,tp,80000038 <_start+0x38> +80000034: 001fef93 ori t6,t6,1 +80000038: 00519463 bne gp,t0,80000040 <_start+0x40> +8000003c: 002fef93 ori t6,t6,2 +80000040: 00619463 bne gp,t1,80000048 <_start+0x48> +80000044: 004fef93 ori t6,t6,4 +80000048: 00719463 bne gp,t2,80000050 <_start+0x50> +8000004c: 008fef93 ori t6,t6,8 +80000050: 00819463 bne gp,s0,80000058 <_start+0x58> +80000054: 010fef93 ori t6,t6,16 +80000058: 00312023 sw gp,0(sp) +8000005c: 00412223 sw tp,4(sp) +80000060: 00512423 sw t0,8(sp) +80000064: 00612623 sw t1,12(sp) +80000068: 00712823 sw t2,16(sp) +8000006c: 00812a23 sw s0,20(sp) +80000070: 01f12c23 sw t6,24(sp) +80000074: 00001097 auipc ra,0x1 +80000078: f9008093 addi ra,ra,-112 # 80001004 <test_A2_data> +8000007c: 00001117 auipc sp,0x1 +80000080: fc010113 addi sp,sp,-64 # 8000103c <test_A2_res> +80000084: 0000a303 lw t1,0(ra) +80000088: 00000393 li t2,0 +8000008c: 00100413 li s0,1 +80000090: fff00493 li s1,-1 +80000094: 80000537 lui a0,0x80000 +80000098: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef3f> +8000009c: 800005b7 lui a1,0x80000 +800000a0: 00000f93 li t6,0 +800000a4: 00731463 bne t1,t2,800000ac <_start+0xac> +800000a8: 001fef93 ori t6,t6,1 +800000ac: 00831463 bne t1,s0,800000b4 <_start+0xb4> +800000b0: 002fef93 ori t6,t6,2 +800000b4: 00931463 bne t1,s1,800000bc <_start+0xbc> +800000b8: 004fef93 ori t6,t6,4 +800000bc: 00a31463 bne t1,a0,800000c4 <_start+0xc4> +800000c0: 008fef93 ori t6,t6,8 +800000c4: 00b31463 bne t1,a1,800000cc <_start+0xcc> +800000c8: 010fef93 ori t6,t6,16 +800000cc: 00612023 sw t1,0(sp) +800000d0: 00712223 sw t2,4(sp) +800000d4: 00812423 sw s0,8(sp) +800000d8: 00912623 sw s1,12(sp) +800000dc: 00a12823 sw a0,16(sp) +800000e0: 00b12a23 sw a1,20(sp) +800000e4: 01f12c23 sw t6,24(sp) +800000e8: 00001097 auipc ra,0x1 +800000ec: f2008093 addi ra,ra,-224 # 80001008 <test_A3_data> +800000f0: 00001117 auipc sp,0x1 +800000f4: f6810113 addi sp,sp,-152 # 80001058 <test_A3_res> +800000f8: 0000a603 lw a2,0(ra) +800000fc: 00000693 li a3,0 +80000100: 00100713 li a4,1 +80000104: fff00793 li a5,-1 +80000108: 80000837 lui a6,0x80000 +8000010c: fff80813 addi a6,a6,-1 # 7fffffff <_end+0xffffef3f> +80000110: 800008b7 lui a7,0x80000 +80000114: 00000f93 li t6,0 +80000118: 00d61463 bne a2,a3,80000120 <_start+0x120> +8000011c: 001fef93 ori t6,t6,1 +80000120: 00e61463 bne a2,a4,80000128 <_start+0x128> +80000124: 002fef93 ori t6,t6,2 +80000128: 00f61463 bne a2,a5,80000130 <_start+0x130> +8000012c: 004fef93 ori t6,t6,4 +80000130: 01061463 bne a2,a6,80000138 <_start+0x138> +80000134: 008fef93 ori t6,t6,8 +80000138: 01161463 bne a2,a7,80000140 <_start+0x140> +8000013c: 010fef93 ori t6,t6,16 +80000140: 00c12023 sw a2,0(sp) +80000144: 00d12223 sw a3,4(sp) +80000148: 00e12423 sw a4,8(sp) +8000014c: 00f12623 sw a5,12(sp) +80000150: 01012823 sw a6,16(sp) +80000154: 01112a23 sw a7,20(sp) +80000158: 01f12c23 sw t6,24(sp) +8000015c: 00001097 auipc ra,0x1 +80000160: eb008093 addi ra,ra,-336 # 8000100c <test_A4_data> +80000164: 00001117 auipc sp,0x1 +80000168: f1010113 addi sp,sp,-240 # 80001074 <test_A4_res> +8000016c: 0000a903 lw s2,0(ra) +80000170: 00000993 li s3,0 +80000174: 00100a13 li s4,1 +80000178: fff00a93 li s5,-1 +8000017c: 80000b37 lui s6,0x80000 +80000180: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef3f> +80000184: 80000bb7 lui s7,0x80000 +80000188: 00000f93 li t6,0 +8000018c: 01391463 bne s2,s3,80000194 <_start+0x194> +80000190: 001fef93 ori t6,t6,1 +80000194: 01491463 bne s2,s4,8000019c <_start+0x19c> +80000198: 002fef93 ori t6,t6,2 +8000019c: 01591463 bne s2,s5,800001a4 <_start+0x1a4> +800001a0: 004fef93 ori t6,t6,4 +800001a4: 01691463 bne s2,s6,800001ac <_start+0x1ac> +800001a8: 008fef93 ori t6,t6,8 +800001ac: 01791463 bne s2,s7,800001b4 <_start+0x1b4> +800001b0: 010fef93 ori t6,t6,16 +800001b4: 01212023 sw s2,0(sp) +800001b8: 01312223 sw s3,4(sp) +800001bc: 01412423 sw s4,8(sp) +800001c0: 01512623 sw s5,12(sp) +800001c4: 01612823 sw s6,16(sp) +800001c8: 01712a23 sw s7,20(sp) +800001cc: 01f12c23 sw t6,24(sp) +800001d0: 00001097 auipc ra,0x1 +800001d4: e4008093 addi ra,ra,-448 # 80001010 <test_A5_data> +800001d8: 00001117 auipc sp,0x1 +800001dc: eb810113 addi sp,sp,-328 # 80001090 <test_A5_res> +800001e0: 0000ac03 lw s8,0(ra) +800001e4: 00000c93 li s9,0 +800001e8: 00100d13 li s10,1 +800001ec: fff00d93 li s11,-1 +800001f0: 80000e37 lui t3,0x80000 +800001f4: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef3f> +800001f8: 80000eb7 lui t4,0x80000 +800001fc: 00000f93 li t6,0 +80000200: 019c1463 bne s8,s9,80000208 <_start+0x208> +80000204: 001fef93 ori t6,t6,1 +80000208: 01ac1463 bne s8,s10,80000210 <_start+0x210> +8000020c: 002fef93 ori t6,t6,2 +80000210: 01bc1463 bne s8,s11,80000218 <_start+0x218> +80000214: 004fef93 ori t6,t6,4 +80000218: 01cc1463 bne s8,t3,80000220 <_start+0x220> +8000021c: 008fef93 ori t6,t6,8 +80000220: 01dc1463 bne s8,t4,80000228 <_start+0x228> +80000224: 010fef93 ori t6,t6,16 +80000228: 01812023 sw s8,0(sp) +8000022c: 01912223 sw s9,4(sp) +80000230: 01a12423 sw s10,8(sp) +80000234: 01b12623 sw s11,12(sp) +80000238: 01c12823 sw t3,16(sp) +8000023c: 01d12a23 sw t4,20(sp) +80000240: 01f12c23 sw t6,24(sp) +80000244: 00001d97 auipc s11,0x1 +80000248: e68d8d93 addi s11,s11,-408 # 800010ac <test_B_res> +8000024c: 00000093 li ra,0 +80000250: 00100113 li sp,1 +80000254: fff00193 li gp,-1 +80000258: 80000237 lui tp,0x80000 +8000025c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef3f> +80000260: 800002b7 lui t0,0x80000 +80000264: 00000f93 li t6,0 +80000268: 00009463 bnez ra,80000270 <_start+0x270> +8000026c: 001fef93 ori t6,t6,1 +80000270: 00011463 bnez sp,80000278 <_start+0x278> +80000274: 002fef93 ori t6,t6,2 +80000278: 00019463 bnez gp,80000280 <_start+0x280> +8000027c: 004fef93 ori t6,t6,4 +80000280: 00021463 bnez tp,80000288 <_start+0x288> +80000284: 008fef93 ori t6,t6,8 +80000288: 00029463 bnez t0,80000290 <_start+0x290> +8000028c: 010fef93 ori t6,t6,16 +80000290: 00101463 bne zero,ra,80000298 <_start+0x298> +80000294: 020fef93 ori t6,t6,32 +80000298: 00201463 bne zero,sp,800002a0 <_start+0x2a0> +8000029c: 040fef93 ori t6,t6,64 +800002a0: 00301463 bne zero,gp,800002a8 <_start+0x2a8> +800002a4: 080fef93 ori t6,t6,128 +800002a8: 00401463 bne zero,tp,800002b0 <_start+0x2b0> +800002ac: 100fef93 ori t6,t6,256 +800002b0: 00501463 bne zero,t0,800002b8 <_start+0x2b8> +800002b4: 200fef93 ori t6,t6,512 +800002b8: 01fda023 sw t6,0(s11) +800002bc: 00001a97 auipc s5,0x1 +800002c0: d58a8a93 addi s5,s5,-680 # 80001014 <test_C_data> +800002c4: 00001b17 auipc s6,0x1 +800002c8: decb0b13 addi s6,s6,-532 # 800010b0 <test_C_res> +800002cc: 000aaf83 lw t6,0(s5) +800002d0: fff00113 li sp,-1 +800002d4: fff00193 li gp,-1 +800002d8: 0fedd237 lui tp,0xfedd +800002dc: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +800002e0: 020f9463 bnez t6,80000308 <_start+0x308> +800002e4: 00000113 li sp,0 +800002e8: 00000193 li gp,0 +800002ec: 00000213 li tp,0 +800002f0: 876541b7 lui gp,0x87654 +800002f4: 32118193 addi gp,gp,801 # 87654321 <_end+0x7653261> +800002f8: 020f9463 bnez t6,80000320 <_start+0x320> +800002fc: 00000113 li sp,0 +80000300: 00000193 li gp,0 +80000304: 00000213 li tp,0 +80000308: 9abce137 lui sp,0x9abce +8000030c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce30> +80000310: fe0f90e3 bnez t6,800002f0 <_start+0x2f0> +80000314: 00000113 li sp,0 +80000318: 00000193 li gp,0 +8000031c: 00000213 li tp,0 +80000320: 000b2023 sw zero,0(s6) +80000324: 002b2223 sw sp,4(s6) +80000328: 003b2423 sw gp,8(s6) +8000032c: 004b2623 sw tp,12(s6) +80000330: 00001517 auipc a0,0x1 +80000334: cf050513 addi a0,a0,-784 # 80001020 <codasip_signature_start> +80000338: 00001597 auipc a1,0x1 +8000033c: d8858593 addi a1,a1,-632 # 800010c0 <_end> +80000340: f0100637 lui a2,0xf0100 +80000344: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000348 <complience_halt_loop>: +80000348: 02b50663 beq a0,a1,80000374 <complience_halt_break> +8000034c: 00c52683 lw a3,12(a0) +80000350: 00d62023 sw a3,0(a2) +80000354: 00852683 lw a3,8(a0) +80000358: 00d62023 sw a3,0(a2) +8000035c: 00452683 lw a3,4(a0) +80000360: 00d62023 sw a3,0(a2) +80000364: 00052683 lw a3,0(a0) +80000368: 00d62023 sw a3,0(a2) +8000036c: 01050513 addi a0,a0,16 +80000370: fd9ff06f j 80000348 <complience_halt_loop> + +80000374 <complience_halt_break>: +80000374: f0100537 lui a0,0xf0100 +80000378: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +8000037c: 00052023 sw zero,0(a0) +80000380: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_C_data>: +80001014: ffff 0xffff +80001016: ffff 0xffff + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_A2_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A3_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff + +80001074 <test_A4_res>: +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff + +800010ac <test_B_res>: +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_C_res>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-CSRRC-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-CSRRC-01.elf.objdump new file mode 100644 index 0000000..125a2d2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-CSRRC-01.elf.objdump @@ -0,0 +1,188 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-CSRRC-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 00078793 mv a5,a5 +80000008: 00100093 li ra,1 +8000000c: 00000113 li sp,0 +80000010: 7ff101b7 lui gp,0x7ff10 +80000014: fff18193 addi gp,gp,-1 # 7ff0ffff <_start-0xf0001> +80000018: 80000237 lui tp,0x80000 +8000001c: fff00293 li t0,-1 +80000020: 34029073 csrw mscratch,t0 +80000024: 3400b0f3 csrrc ra,mscratch,ra +80000028: 340290f3 csrrw ra,mscratch,t0 +8000002c: 34013173 csrrc sp,mscratch,sp +80000030: 34029173 csrrw sp,mscratch,t0 +80000034: 3401b1f3 csrrc gp,mscratch,gp +80000038: 340291f3 csrrw gp,mscratch,t0 +8000003c: 34023273 csrrc tp,mscratch,tp +80000040: 34029273 csrrw tp,mscratch,t0 +80000044: 3402b2f3 csrrc t0,mscratch,t0 +80000048: 340012f3 csrrw t0,mscratch,zero +8000004c: 0007a023 sw zero,0(a5) # 80001000 <codasip_signature_start> +80000050: 0017a223 sw ra,4(a5) +80000054: 0027a423 sw sp,8(a5) +80000058: 0037a623 sw gp,12(a5) +8000005c: 0047a823 sw tp,16(a5) +80000060: 0057aa23 sw t0,20(a5) +80000064: 00001297 auipc t0,0x1 +80000068: fb428293 addi t0,t0,-76 # 80001018 <test_A2_res> +8000006c: 00100593 li a1,1 +80000070: 00000613 li a2,0 +80000074: 7ff106b7 lui a3,0x7ff10 +80000078: fff68693 addi a3,a3,-1 # 7ff0ffff <_start-0xf0001> +8000007c: 80000737 lui a4,0x80000 +80000080: fff00793 li a5,-1 +80000084: 34079073 csrw mscratch,a5 +80000088: 3405b5f3 csrrc a1,mscratch,a1 +8000008c: 34063673 csrrc a2,mscratch,a2 +80000090: 3406b6f3 csrrc a3,mscratch,a3 +80000094: 34073773 csrrc a4,mscratch,a4 +80000098: 3407b7f3 csrrc a5,mscratch,a5 +8000009c: 34003873 csrrc a6,mscratch,zero +800000a0: 00b2a023 sw a1,0(t0) +800000a4: 00c2a223 sw a2,4(t0) +800000a8: 00d2a423 sw a3,8(t0) +800000ac: 00e2a623 sw a4,12(t0) +800000b0: 00f2a823 sw a5,16(t0) +800000b4: 0102aa23 sw a6,20(t0) +800000b8: 00001d17 auipc s10,0x1 +800000bc: f78d0d13 addi s10,s10,-136 # 80001030 <test_B_res> +800000c0: 12345ab7 lui s5,0x12345 +800000c4: 678a8a93 addi s5,s5,1656 # 12345678 <_start-0x6dcba988> +800000c8: fff00a13 li s4,-1 +800000cc: 340a1073 csrw mscratch,s4 +800000d0: 340abb73 csrrc s6,mscratch,s5 +800000d4: 340b3af3 csrrc s5,mscratch,s6 +800000d8: 340a1bf3 csrrw s7,mscratch,s4 +800000dc: 340bbc73 csrrc s8,mscratch,s7 +800000e0: 34003cf3 csrrc s9,mscratch,zero +800000e4: 015d2023 sw s5,0(s10) +800000e8: 016d2223 sw s6,4(s10) +800000ec: 017d2423 sw s7,8(s10) +800000f0: 018d2623 sw s8,12(s10) +800000f4: 019d2823 sw s9,16(s10) +800000f8: 00001097 auipc ra,0x1 +800000fc: f4c08093 addi ra,ra,-180 # 80001044 <test_C_res> +80000100: 42727f37 lui t5,0x42727 +80000104: e6ff0f13 addi t5,t5,-401 # 42726e6f <_start-0x3d8d9191> +80000108: 340f1073 csrw mscratch,t5 +8000010c: 340f3073 csrc mscratch,t5 +80000110: 0000a023 sw zero,0(ra) +80000114: 01e0a223 sw t5,4(ra) +80000118: 00001117 auipc sp,0x1 +8000011c: f3410113 addi sp,sp,-204 # 8000104c <test_D_res> +80000120: f7ff9fb7 lui t6,0xf7ff9 +80000124: 818f8f93 addi t6,t6,-2024 # f7ff8818 <_end+0x77ff77b8> +80000128: 340f9073 csrw mscratch,t6 +8000012c: 34003073 csrc mscratch,zero +80000130: 34003073 csrc mscratch,zero +80000134: 34003ff3 csrrc t6,mscratch,zero +80000138: 00012023 sw zero,0(sp) +8000013c: 01f12223 sw t6,4(sp) +80000140: 00001117 auipc sp,0x1 +80000144: f1410113 addi sp,sp,-236 # 80001054 <test_E_res> +80000148: fff00213 li tp,-1 +8000014c: 963852b7 lui t0,0x96385 +80000150: 27428293 addi t0,t0,628 # 96385274 <_end+0x16384214> +80000154: 321653b7 lui t2,0x32165 +80000158: 49838393 addi t2,t2,1176 # 32165498 <_start-0x4de9ab68> +8000015c: 34021073 csrw mscratch,tp +80000160: 3402b2f3 csrrc t0,mscratch,t0 +80000164: 3403b3f3 csrrc t2,mscratch,t2 +80000168: 34043473 csrrc s0,mscratch,s0 +8000016c: 00512023 sw t0,0(sp) +80000170: 00712223 sw t2,4(sp) +80000174: 00812423 sw s0,8(sp) +80000178: 00001517 auipc a0,0x1 +8000017c: e8850513 addi a0,a0,-376 # 80001000 <codasip_signature_start> +80000180: 00001597 auipc a1,0x1 +80000184: ee058593 addi a1,a1,-288 # 80001060 <_end> +80000188: f0100637 lui a2,0xf0100 +8000018c: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feecc> + +80000190 <complience_halt_loop>: +80000190: 02b50663 beq a0,a1,800001bc <complience_halt_break> +80000194: 00c52683 lw a3,12(a0) +80000198: 00d62023 sw a3,0(a2) +8000019c: 00852683 lw a3,8(a0) +800001a0: 00d62023 sw a3,0(a2) +800001a4: 00452683 lw a3,4(a0) +800001a8: 00d62023 sw a3,0(a2) +800001ac: 00052683 lw a3,0(a0) +800001b0: 00d62023 sw a3,0(a2) +800001b4: 01050513 addi a0,a0,16 +800001b8: fd9ff06f j 80000190 <complience_halt_loop> + +800001bc <complience_halt_break>: +800001bc: f0100537 lui a0,0xf0100 +800001c0: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feec0> +800001c4: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A2_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff + +80001030 <test_B_res>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_C_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff + +8000104c <test_D_res>: +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff + +80001054 <test_E_res>: +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-CSRRCI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-CSRRCI-01.elf.objdump new file mode 100644 index 0000000..3699174 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-CSRRCI-01.elf.objdump @@ -0,0 +1,119 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-CSRRCI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 00078793 mv a5,a5 +80000008: fff00413 li s0,-1 +8000000c: 34041073 csrw mscratch,s0 +80000010: 3400f0f3 csrrci ra,mscratch,1 +80000014: 340410f3 csrrw ra,mscratch,s0 +80000018: 34007173 csrrci sp,mscratch,0 +8000001c: 34041173 csrrw sp,mscratch,s0 +80000020: 340ff1f3 csrrci gp,mscratch,31 +80000024: 340411f3 csrrw gp,mscratch,s0 +80000028: 34087273 csrrci tp,mscratch,16 +8000002c: 34041273 csrrw tp,mscratch,s0 +80000030: 3407f2f3 csrrci t0,mscratch,15 +80000034: 340412f3 csrrw t0,mscratch,s0 +80000038: 0007a023 sw zero,0(a5) # 80001000 <codasip_signature_start> +8000003c: 0017a223 sw ra,4(a5) +80000040: 0027a423 sw sp,8(a5) +80000044: 0037a623 sw gp,12(a5) +80000048: 0047a823 sw tp,16(a5) +8000004c: 0057aa23 sw t0,20(a5) +80000050: 0087ac23 sw s0,24(a5) +80000054: 00001297 auipc t0,0x1 +80000058: fc828293 addi t0,t0,-56 # 8000101c <test_A2_res> +8000005c: fff00413 li s0,-1 +80000060: 34041073 csrw mscratch,s0 +80000064: 3400f5f3 csrrci a1,mscratch,1 +80000068: 34007673 csrrci a2,mscratch,0 +8000006c: 340ff6f3 csrrci a3,mscratch,31 +80000070: 34087773 csrrci a4,mscratch,16 +80000074: 3407f7f3 csrrci a5,mscratch,15 +80000078: 34007873 csrrci a6,mscratch,0 +8000007c: 00b2a023 sw a1,0(t0) +80000080: 00c2a223 sw a2,4(t0) +80000084: 00d2a423 sw a3,8(t0) +80000088: 00e2a623 sw a4,12(t0) +8000008c: 00f2a823 sw a5,16(t0) +80000090: 0102aa23 sw a6,20(t0) +80000094: 0082ac23 sw s0,24(t0) +80000098: 00001097 auipc ra,0x1 +8000009c: fa008093 addi ra,ra,-96 # 80001038 <test_B_res> +800000a0: 32165a37 lui s4,0x32165 +800000a4: 498a0a13 addi s4,s4,1176 # 32165498 <_start-0x4de9ab68> +800000a8: 340a1073 csrw mscratch,s4 +800000ac: 3407f073 csrci mscratch,15 +800000b0: 340a1a73 csrrw s4,mscratch,s4 +800000b4: 0000a023 sw zero,0(ra) +800000b8: 0140a223 sw s4,4(ra) +800000bc: 00001517 auipc a0,0x1 +800000c0: f4450513 addi a0,a0,-188 # 80001000 <codasip_signature_start> +800000c4: 00001597 auipc a1,0x1 +800000c8: f7c58593 addi a1,a1,-132 # 80001040 <_end> +800000cc: f0100637 lui a2,0xf0100 +800000d0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feeec> + +800000d4 <complience_halt_loop>: +800000d4: 02b50663 beq a0,a1,80000100 <complience_halt_break> +800000d8: 00c52683 lw a3,12(a0) +800000dc: 00d62023 sw a3,0(a2) +800000e0: 00852683 lw a3,8(a0) +800000e4: 00d62023 sw a3,0(a2) +800000e8: 00452683 lw a3,4(a0) +800000ec: 00d62023 sw a3,0(a2) +800000f0: 00052683 lw a3,0(a0) +800000f4: 00d62023 sw a3,0(a2) +800000f8: 01050513 addi a0,a0,16 +800000fc: fd9ff06f j 800000d4 <complience_halt_loop> + +80000100 <complience_halt_break>: +80000100: f0100537 lui a0,0xf0100 +80000104: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feee0> +80000108: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff + +8000101c <test_A2_res>: +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_B_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-CSRRS-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-CSRRS-01.elf.objdump new file mode 100644 index 0000000..7b672b2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-CSRRS-01.elf.objdump @@ -0,0 +1,187 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-CSRRS-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 00078793 mv a5,a5 +80000008: 00100093 li ra,1 +8000000c: 00000113 li sp,0 +80000010: 7ff101b7 lui gp,0x7ff10 +80000014: fff18193 addi gp,gp,-1 # 7ff0ffff <_start-0xf0001> +80000018: 80000237 lui tp,0x80000 +8000001c: fff00293 li t0,-1 +80000020: 34001073 csrw mscratch,zero +80000024: 3400a0f3 csrrs ra,mscratch,ra +80000028: 340010f3 csrrw ra,mscratch,zero +8000002c: 34012173 csrrs sp,mscratch,sp +80000030: 34001173 csrrw sp,mscratch,zero +80000034: 3401a1f3 csrrs gp,mscratch,gp +80000038: 340011f3 csrrw gp,mscratch,zero +8000003c: 34022273 csrrs tp,mscratch,tp +80000040: 34001273 csrrw tp,mscratch,zero +80000044: 3402a2f3 csrrs t0,mscratch,t0 +80000048: 340012f3 csrrw t0,mscratch,zero +8000004c: 0007a023 sw zero,0(a5) # 80001000 <codasip_signature_start> +80000050: 0017a223 sw ra,4(a5) +80000054: 0027a423 sw sp,8(a5) +80000058: 0037a623 sw gp,12(a5) +8000005c: 0047a823 sw tp,16(a5) +80000060: 0057aa23 sw t0,20(a5) +80000064: 00001297 auipc t0,0x1 +80000068: fb428293 addi t0,t0,-76 # 80001018 <test_A2_res> +8000006c: 00100593 li a1,1 +80000070: 00000613 li a2,0 +80000074: 7ff106b7 lui a3,0x7ff10 +80000078: fff68693 addi a3,a3,-1 # 7ff0ffff <_start-0xf0001> +8000007c: 80000737 lui a4,0x80000 +80000080: fff00793 li a5,-1 +80000084: 34001073 csrw mscratch,zero +80000088: 3405a5f3 csrrs a1,mscratch,a1 +8000008c: 34062673 csrrs a2,mscratch,a2 +80000090: 3406a6f3 csrrs a3,mscratch,a3 +80000094: 34072773 csrrs a4,mscratch,a4 +80000098: 3407a7f3 csrrs a5,mscratch,a5 +8000009c: 34002873 csrr a6,mscratch +800000a0: 00b2a023 sw a1,0(t0) +800000a4: 00c2a223 sw a2,4(t0) +800000a8: 00d2a423 sw a3,8(t0) +800000ac: 00e2a623 sw a4,12(t0) +800000b0: 00f2a823 sw a5,16(t0) +800000b4: 0102aa23 sw a6,20(t0) +800000b8: 00001d17 auipc s10,0x1 +800000bc: f78d0d13 addi s10,s10,-136 # 80001030 <test_B_res> +800000c0: 12345ab7 lui s5,0x12345 +800000c4: 678a8a93 addi s5,s5,1656 # 12345678 <_start-0x6dcba988> +800000c8: 34001073 csrw mscratch,zero +800000cc: 340aab73 csrrs s6,mscratch,s5 +800000d0: 340b2bf3 csrrs s7,mscratch,s6 +800000d4: 34001bf3 csrrw s7,mscratch,zero +800000d8: 340bac73 csrrs s8,mscratch,s7 +800000dc: 34002cf3 csrr s9,mscratch +800000e0: 015d2023 sw s5,0(s10) +800000e4: 016d2223 sw s6,4(s10) +800000e8: 017d2423 sw s7,8(s10) +800000ec: 018d2623 sw s8,12(s10) +800000f0: 019d2823 sw s9,16(s10) +800000f4: 00001097 auipc ra,0x1 +800000f8: f5008093 addi ra,ra,-176 # 80001044 <test_C_res> +800000fc: 42727f37 lui t5,0x42727 +80000100: e6ff0f13 addi t5,t5,-401 # 42726e6f <_start-0x3d8d9191> +80000104: 340f1073 csrw mscratch,t5 +80000108: 340f2073 csrs mscratch,t5 +8000010c: 0000a023 sw zero,0(ra) +80000110: 01e0a223 sw t5,4(ra) +80000114: 00001117 auipc sp,0x1 +80000118: f3810113 addi sp,sp,-200 # 8000104c <test_D_res> +8000011c: f7ff9fb7 lui t6,0xf7ff9 +80000120: 818f8f93 addi t6,t6,-2024 # f7ff8818 <_end+0x77ff77b8> +80000124: 340f9073 csrw mscratch,t6 +80000128: 34002073 csrr zero,mscratch +8000012c: 34002073 csrr zero,mscratch +80000130: 34002ff3 csrr t6,mscratch +80000134: 00012023 sw zero,0(sp) +80000138: 01f12223 sw t6,4(sp) +8000013c: 00001117 auipc sp,0x1 +80000140: f1810113 addi sp,sp,-232 # 80001054 <test_E_res> +80000144: 321653b7 lui t2,0x32165 +80000148: 49838393 addi t2,t2,1176 # 32165498 <_start-0x4de9ab68> +8000014c: 963852b7 lui t0,0x96385 +80000150: 27428293 addi t0,t0,628 # 96385274 <_end+0x16384214> +80000154: 34001073 csrw mscratch,zero +80000158: 3402a2f3 csrrs t0,mscratch,t0 +8000015c: 3403a3f3 csrrs t2,mscratch,t2 +80000160: 34042473 csrrs s0,mscratch,s0 +80000164: 00512023 sw t0,0(sp) +80000168: 00712223 sw t2,4(sp) +8000016c: 00812423 sw s0,8(sp) +80000170: 00001517 auipc a0,0x1 +80000174: e9050513 addi a0,a0,-368 # 80001000 <codasip_signature_start> +80000178: 00001597 auipc a1,0x1 +8000017c: ee858593 addi a1,a1,-280 # 80001060 <_end> +80000180: f0100637 lui a2,0xf0100 +80000184: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feecc> + +80000188 <complience_halt_loop>: +80000188: 02b50663 beq a0,a1,800001b4 <complience_halt_break> +8000018c: 00c52683 lw a3,12(a0) +80000190: 00d62023 sw a3,0(a2) +80000194: 00852683 lw a3,8(a0) +80000198: 00d62023 sw a3,0(a2) +8000019c: 00452683 lw a3,4(a0) +800001a0: 00d62023 sw a3,0(a2) +800001a4: 00052683 lw a3,0(a0) +800001a8: 00d62023 sw a3,0(a2) +800001ac: 01050513 addi a0,a0,16 +800001b0: fd9ff06f j 80000188 <complience_halt_loop> + +800001b4 <complience_halt_break>: +800001b4: f0100537 lui a0,0xf0100 +800001b8: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feec0> +800001bc: 00052023 sw zero,0(a0) +800001c0: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A2_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff + +80001030 <test_B_res>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_C_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff + +8000104c <test_D_res>: +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff + +80001054 <test_E_res>: +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-CSRRSI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-CSRRSI-01.elf.objdump new file mode 100644 index 0000000..64cd496 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-CSRRSI-01.elf.objdump @@ -0,0 +1,116 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-CSRRSI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 00078793 mv a5,a5 +80000008: 34001073 csrw mscratch,zero +8000000c: 3400e0f3 csrrsi ra,mscratch,1 +80000010: 340010f3 csrrw ra,mscratch,zero +80000014: 34006173 csrrsi sp,mscratch,0 +80000018: 34001173 csrrw sp,mscratch,zero +8000001c: 340fe1f3 csrrsi gp,mscratch,31 +80000020: 340011f3 csrrw gp,mscratch,zero +80000024: 34086273 csrrsi tp,mscratch,16 +80000028: 34001273 csrrw tp,mscratch,zero +8000002c: 3407e2f3 csrrsi t0,mscratch,15 +80000030: 340012f3 csrrw t0,mscratch,zero +80000034: 0007a023 sw zero,0(a5) # 80001000 <codasip_signature_start> +80000038: 0017a223 sw ra,4(a5) +8000003c: 0027a423 sw sp,8(a5) +80000040: 0037a623 sw gp,12(a5) +80000044: 0047a823 sw tp,16(a5) +80000048: 0057aa23 sw t0,20(a5) +8000004c: 00001297 auipc t0,0x1 +80000050: fcc28293 addi t0,t0,-52 # 80001018 <test_A2_res> +80000054: 34001073 csrw mscratch,zero +80000058: 3400e5f3 csrrsi a1,mscratch,1 +8000005c: 34006673 csrrsi a2,mscratch,0 +80000060: 340fe6f3 csrrsi a3,mscratch,31 +80000064: 34086773 csrrsi a4,mscratch,16 +80000068: 3407e7f3 csrrsi a5,mscratch,15 +8000006c: 34006873 csrrsi a6,mscratch,0 +80000070: 0002a023 sw zero,0(t0) +80000074: 00b2a223 sw a1,4(t0) +80000078: 00c2a423 sw a2,8(t0) +8000007c: 00d2a623 sw a3,12(t0) +80000080: 00e2a823 sw a4,16(t0) +80000084: 00f2aa23 sw a5,20(t0) +80000088: 0102ac23 sw a6,24(t0) +8000008c: 00001097 auipc ra,0x1 +80000090: fa808093 addi ra,ra,-88 # 80001034 <test_B_res> +80000094: 32165a37 lui s4,0x32165 +80000098: 498a0a13 addi s4,s4,1176 # 32165498 <_start-0x4de9ab68> +8000009c: 340a1073 csrw mscratch,s4 +800000a0: 3407e073 csrsi mscratch,15 +800000a4: 340a1af3 csrrw s5,mscratch,s4 +800000a8: 0000a023 sw zero,0(ra) +800000ac: 0150a223 sw s5,4(ra) +800000b0: 0140a423 sw s4,8(ra) +800000b4: 00001517 auipc a0,0x1 +800000b8: f4c50513 addi a0,a0,-180 # 80001000 <codasip_signature_start> +800000bc: 00001597 auipc a1,0x1 +800000c0: f8458593 addi a1,a1,-124 # 80001040 <_end> +800000c4: f0100637 lui a2,0xf0100 +800000c8: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feeec> + +800000cc <complience_halt_loop>: +800000cc: 02b50663 beq a0,a1,800000f8 <complience_halt_break> +800000d0: 00c52683 lw a3,12(a0) +800000d4: 00d62023 sw a3,0(a2) +800000d8: 00852683 lw a3,8(a0) +800000dc: 00d62023 sw a3,0(a2) +800000e0: 00452683 lw a3,4(a0) +800000e4: 00d62023 sw a3,0(a2) +800000e8: 00052683 lw a3,0(a0) +800000ec: 00d62023 sw a3,0(a2) +800000f0: 01050513 addi a0,a0,16 +800000f4: fd9ff06f j 800000cc <complience_halt_loop> + +800000f8 <complience_halt_break>: +800000f8: f0100537 lui a0,0xf0100 +800000fc: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feee0> +80000100: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A2_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff + +80001034 <test_B_res>: +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-CSRRW-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-CSRRW-01.elf.objdump new file mode 100644 index 0000000..3791434 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-CSRRW-01.elf.objdump @@ -0,0 +1,145 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-CSRRW-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 00078793 mv a5,a5 +80000008: 00100093 li ra,1 +8000000c: 00000193 li gp,0 +80000010: fff00293 li t0,-1 +80000014: 80000db7 lui s11,0x80000 +80000018: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffefbf> +8000001c: 80000eb7 lui t4,0x80000 +80000020: 34001073 csrw mscratch,zero +80000024: 34009173 csrrw sp,mscratch,ra +80000028: 34019273 csrrw tp,mscratch,gp +8000002c: 34029373 csrrw t1,mscratch,t0 +80000030: 340d9e73 csrrw t3,mscratch,s11 +80000034: 340e9f73 csrrw t5,mscratch,t4 +80000038: 34001ff3 csrrw t6,mscratch,zero +8000003c: 0027a023 sw sp,0(a5) # 80001000 <codasip_signature_start> +80000040: 0047a223 sw tp,4(a5) +80000044: 0067a423 sw t1,8(a5) +80000048: 01c7a623 sw t3,12(a5) +8000004c: 01e7a823 sw t5,16(a5) +80000050: 01f7aa23 sw t6,20(a5) +80000054: 00001d17 auipc s10,0x1 +80000058: fc4d0d13 addi s10,s10,-60 # 80001018 <test_B_res> +8000005c: 123450b7 lui ra,0x12345 +80000060: 67808093 addi ra,ra,1656 # 12345678 <_start-0x6dcba988> +80000064: 9abce137 lui sp,0x9abce +80000068: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcceb0> +8000006c: 34009073 csrw mscratch,ra +80000070: 340111f3 csrrw gp,mscratch,sp +80000074: 34019273 csrrw tp,mscratch,gp +80000078: 340212f3 csrrw t0,mscratch,tp +8000007c: 34001373 csrrw t1,mscratch,zero +80000080: 003d2023 sw gp,0(s10) +80000084: 004d2223 sw tp,4(s10) +80000088: 005d2423 sw t0,8(s10) +8000008c: 006d2623 sw t1,12(s10) +80000090: 00001097 auipc ra,0x1 +80000094: f9808093 addi ra,ra,-104 # 80001028 <test_C_res> +80000098: 42727137 lui sp,0x42727 +8000009c: e6f10113 addi sp,sp,-401 # 42726e6f <_start-0x3d8d9191> +800000a0: 34011073 csrw mscratch,sp +800000a4: 34001073 csrw mscratch,zero +800000a8: 0000a023 sw zero,0(ra) +800000ac: 00001117 auipc sp,0x1 +800000b0: f8010113 addi sp,sp,-128 # 8000102c <test_D_res> +800000b4: f7ff9db7 lui s11,0xf7ff9 +800000b8: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff77d8> +800000bc: 340d9073 csrw mscratch,s11 +800000c0: 34001073 csrw mscratch,zero +800000c4: 34001073 csrw mscratch,zero +800000c8: 340012f3 csrrw t0,mscratch,zero +800000cc: 00012023 sw zero,0(sp) +800000d0: 00512223 sw t0,4(sp) +800000d4: 00001117 auipc sp,0x1 +800000d8: f6010113 addi sp,sp,-160 # 80001034 <test_E_res> +800000dc: 321653b7 lui t2,0x32165 +800000e0: 49838393 addi t2,t2,1176 # 32165498 <_start-0x4de9ab68> +800000e4: 14726337 lui t1,0x14726 +800000e8: 83630313 addi t1,t1,-1994 # 14725836 <_start-0x6b8da7ca> +800000ec: 963852b7 lui t0,0x96385 +800000f0: 27428293 addi t0,t0,628 # 96385274 <_end+0x16384234> +800000f4: 34031073 csrw mscratch,t1 +800000f8: 340292f3 csrrw t0,mscratch,t0 +800000fc: 340393f3 csrrw t2,mscratch,t2 +80000100: 34001473 csrrw s0,mscratch,zero +80000104: 00512023 sw t0,0(sp) +80000108: 00712223 sw t2,4(sp) +8000010c: 00812423 sw s0,8(sp) +80000110: 00001517 auipc a0,0x1 +80000114: ef050513 addi a0,a0,-272 # 80001000 <codasip_signature_start> +80000118: 00001597 auipc a1,0x1 +8000011c: f2858593 addi a1,a1,-216 # 80001040 <_end> +80000120: f0100637 lui a2,0xf0100 +80000124: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feeec> + +80000128 <complience_halt_loop>: +80000128: 02b50663 beq a0,a1,80000154 <complience_halt_break> +8000012c: 00c52683 lw a3,12(a0) +80000130: 00d62023 sw a3,0(a2) +80000134: 00852683 lw a3,8(a0) +80000138: 00d62023 sw a3,0(a2) +8000013c: 00452683 lw a3,4(a0) +80000140: 00d62023 sw a3,0(a2) +80000144: 00052683 lw a3,0(a0) +80000148: 00d62023 sw a3,0(a2) +8000014c: 01050513 addi a0,a0,16 +80000150: fd9ff06f j 80000128 <complience_halt_loop> + +80000154 <complience_halt_break>: +80000154: f0100537 lui a0,0xf0100 +80000158: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feee0> +8000015c: 00052023 sw zero,0(a0) +80000160: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_B_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_C_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff + +8000102c <test_D_res>: +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff + +80001034 <test_E_res>: +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-CSRRWI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-CSRRWI-01.elf.objdump new file mode 100644 index 0000000..b1307ce --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-CSRRWI-01.elf.objdump @@ -0,0 +1,74 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-CSRRWI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 00078793 mv a5,a5 +80000008: 34001073 csrw mscratch,zero +8000000c: 3400d173 csrrwi sp,mscratch,1 +80000010: 34005273 csrrwi tp,mscratch,0 +80000014: 340fd373 csrrwi t1,mscratch,31 +80000018: 3407de73 csrrwi t3,mscratch,15 +8000001c: 34085f73 csrrwi t5,mscratch,16 +80000020: 34005ff3 csrrwi t6,mscratch,0 +80000024: 0007a023 sw zero,0(a5) # 80001000 <codasip_signature_start> +80000028: 0027a223 sw sp,4(a5) +8000002c: 0047a423 sw tp,8(a5) +80000030: 0067a623 sw t1,12(a5) +80000034: 01c7a823 sw t3,16(a5) +80000038: 01e7aa23 sw t5,20(a5) +8000003c: 01f7ac23 sw t6,24(a5) +80000040: 00001097 auipc ra,0x1 +80000044: fdc08093 addi ra,ra,-36 # 8000101c <test_B_res> +80000048: 3407d073 csrwi mscratch,15 +8000004c: 34005073 csrwi mscratch,0 +80000050: 0000a023 sw zero,0(ra) +80000054: 00001517 auipc a0,0x1 +80000058: fac50513 addi a0,a0,-84 # 80001000 <codasip_signature_start> +8000005c: 00001597 auipc a1,0x1 +80000060: fc458593 addi a1,a1,-60 # 80001020 <_end> +80000064: f0100637 lui a2,0xf0100 +80000068: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +8000006c <complience_halt_loop>: +8000006c: 02b50663 beq a0,a1,80000098 <complience_halt_break> +80000070: 00c52683 lw a3,12(a0) +80000074: 00d62023 sw a3,0(a2) +80000078: 00852683 lw a3,8(a0) +8000007c: 00d62023 sw a3,0(a2) +80000080: 00452683 lw a3,4(a0) +80000084: 00d62023 sw a3,0(a2) +80000088: 00052683 lw a3,0(a0) +8000008c: 00d62023 sw a3,0(a2) +80000090: 01050513 addi a0,a0,16 +80000094: fd9ff06f j 8000006c <complience_halt_loop> + +80000098 <complience_halt_break>: +80000098: f0100537 lui a0,0xf0100 +8000009c: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +800000a0: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff + +8000101c <test_B_res>: +8000101c: ffff 0xffff +8000101e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-DELAY_SLOTS-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-DELAY_SLOTS-01.elf.objdump new file mode 100644 index 0000000..00fc5fb --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-DELAY_SLOTS-01.elf.objdump @@ -0,0 +1,136 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-DELAY_SLOTS-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 11111137 lui sp,0x11111 +8000000c: 11110113 addi sp,sp,273 # 11111111 <_start-0x6eeeeeef> +80000010: 0080006f j 80000018 <_start+0x18> +80000014: 00000113 li sp,0 +80000018: 0020a023 sw sp,0(ra) # 80001000 <codasip_signature_start> +8000001c: 00001097 auipc ra,0x1 +80000020: fe808093 addi ra,ra,-24 # 80001004 <test_A2_res> +80000024: 22222137 lui sp,0x22222 +80000028: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +8000002c: 00000217 auipc tp,0x0 +80000030: 01020213 addi tp,tp,16 # 8000003c <_start+0x3c> +80000034: 00020067 jr tp +80000038: 00000113 li sp,0 +8000003c: 0020a023 sw sp,0(ra) +80000040: 00001097 auipc ra,0x1 +80000044: fc808093 addi ra,ra,-56 # 80001008 <test_B1_res> +80000048: 00500293 li t0,5 +8000004c: 00600313 li t1,6 +80000050: 33333137 lui sp,0x33333 +80000054: 33310113 addi sp,sp,819 # 33333333 <_start-0x4ccccccd> +80000058: 00528463 beq t0,t0,80000060 <_start+0x60> +8000005c: 00000113 li sp,0 +80000060: 0020a023 sw sp,0(ra) +80000064: 00001097 auipc ra,0x1 +80000068: fa808093 addi ra,ra,-88 # 8000100c <test_B2_res> +8000006c: 00500293 li t0,5 +80000070: 00600313 li t1,6 +80000074: 44444137 lui sp,0x44444 +80000078: 44410113 addi sp,sp,1092 # 44444444 <_start-0x3bbbbbbc> +8000007c: 00629463 bne t0,t1,80000084 <_start+0x84> +80000080: 00000113 li sp,0 +80000084: 0020a023 sw sp,0(ra) +80000088: 00001097 auipc ra,0x1 +8000008c: f8808093 addi ra,ra,-120 # 80001010 <test_B3_res> +80000090: 00500293 li t0,5 +80000094: 00600313 li t1,6 +80000098: 55555137 lui sp,0x55555 +8000009c: 55510113 addi sp,sp,1365 # 55555555 <_start-0x2aaaaaab> +800000a0: 0062c463 blt t0,t1,800000a8 <_start+0xa8> +800000a4: 00000113 li sp,0 +800000a8: 0020a023 sw sp,0(ra) +800000ac: 00001097 auipc ra,0x1 +800000b0: f6808093 addi ra,ra,-152 # 80001014 <test_B4_res> +800000b4: 00500293 li t0,5 +800000b8: 00600313 li t1,6 +800000bc: 66666137 lui sp,0x66666 +800000c0: 66610113 addi sp,sp,1638 # 66666666 <_start-0x1999999a> +800000c4: 0062e463 bltu t0,t1,800000cc <_start+0xcc> +800000c8: 00000113 li sp,0 +800000cc: 0020a023 sw sp,0(ra) +800000d0: 00001097 auipc ra,0x1 +800000d4: f4808093 addi ra,ra,-184 # 80001018 <test_B5_res> +800000d8: 00500293 li t0,5 +800000dc: 00600313 li t1,6 +800000e0: 77777137 lui sp,0x77777 +800000e4: 77710113 addi sp,sp,1911 # 77777777 <_start-0x8888889> +800000e8: 00535463 ble t0,t1,800000f0 <_start+0xf0> +800000ec: 00000113 li sp,0 +800000f0: 0020a023 sw sp,0(ra) +800000f4: 00001097 auipc ra,0x1 +800000f8: f2808093 addi ra,ra,-216 # 8000101c <test_B6_res> +800000fc: 00500293 li t0,5 +80000100: 00600313 li t1,6 +80000104: 88889137 lui sp,0x88889 +80000108: 88810113 addi sp,sp,-1912 # 88888888 <_end+0x8887868> +8000010c: 00537463 bleu t0,t1,80000114 <_start+0x114> +80000110: 00000113 li sp,0 +80000114: 0020a023 sw sp,0(ra) +80000118: 00001517 auipc a0,0x1 +8000011c: ee850513 addi a0,a0,-280 # 80001000 <codasip_signature_start> +80000120: 00001597 auipc a1,0x1 +80000124: f0058593 addi a1,a1,-256 # 80001020 <_end> +80000128: f0100637 lui a2,0xf0100 +8000012c: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +80000130 <complience_halt_loop>: +80000130: 02b50663 beq a0,a1,8000015c <complience_halt_break> +80000134: 00c52683 lw a3,12(a0) +80000138: 00d62023 sw a3,0(a2) +8000013c: 00852683 lw a3,8(a0) +80000140: 00d62023 sw a3,0(a2) +80000144: 00452683 lw a3,4(a0) +80000148: 00d62023 sw a3,0(a2) +8000014c: 00052683 lw a3,0(a0) +80000150: 00d62023 sw a3,0(a2) +80000154: 01050513 addi a0,a0,16 +80000158: fd9ff06f j 80000130 <complience_halt_loop> + +8000015c <complience_halt_break>: +8000015c: f0100537 lui a0,0xf0100 +80000160: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +80000164: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff + +80001004 <test_A2_res>: +80001004: ffff 0xffff +80001006: ffff 0xffff + +80001008 <test_B1_res>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_B2_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff + +80001010 <test_B3_res>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_B4_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_B5_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff + +8000101c <test_B6_res>: +8000101c: ffff 0xffff +8000101e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-EBREAK-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-EBREAK-01.elf.objdump new file mode 100644 index 0000000..9634d82 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-EBREAK-01.elf.objdump @@ -0,0 +1,69 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-EBREAK-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00000097 auipc ra,0x0 +80000004: 02c08093 addi ra,ra,44 # 8000002c <_trap_handler> +80000008: 30509ff3 csrrw t6,mtvec,ra +8000000c: 00001097 auipc ra,0x1 +80000010: ff408093 addi ra,ra,-12 # 80001000 <codasip_signature_start> +80000014: 11111137 lui sp,0x11111 +80000018: 11110113 addi sp,sp,273 # 11111111 <_start-0x6eeeeeef> +8000001c: 00100073 ebreak +80000020: 0000a023 sw zero,0(ra) +80000024: 305f9073 csrw mtvec,t6 +80000028: 0280006f j 80000050 <test_end> + +8000002c <_trap_handler>: +8000002c: 34102f73 csrr t5,mepc +80000030: 004f0f13 addi t5,t5,4 +80000034: 341f1073 csrw mepc,t5 +80000038: 34202f73 csrr t5,mcause +8000003c: 01e0a023 sw t5,0(ra) +80000040: 0020a223 sw sp,4(ra) +80000044: 0000a423 sw zero,8(ra) +80000048: 00c08093 addi ra,ra,12 +8000004c: 30200073 mret + +80000050 <test_end>: +80000050: 00001517 auipc a0,0x1 +80000054: fb050513 addi a0,a0,-80 # 80001000 <codasip_signature_start> +80000058: 00001597 auipc a1,0x1 +8000005c: fb858593 addi a1,a1,-72 # 80001010 <_end> +80000060: f0100637 lui a2,0xf0100 +80000064: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef1c> + +80000068 <complience_halt_loop>: +80000068: 02b50663 beq a0,a1,80000094 <complience_halt_break> +8000006c: 00c52683 lw a3,12(a0) +80000070: 00d62023 sw a3,0(a2) +80000074: 00852683 lw a3,8(a0) +80000078: 00d62023 sw a3,0(a2) +8000007c: 00452683 lw a3,4(a0) +80000080: 00d62023 sw a3,0(a2) +80000084: 00052683 lw a3,0(a0) +80000088: 00d62023 sw a3,0(a2) +8000008c: 01050513 addi a0,a0,16 +80000090: fd9ff06f j 80000068 <complience_halt_loop> + +80000094 <complience_halt_break>: +80000094: f0100537 lui a0,0xf0100 +80000098: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef10> +8000009c: 00052023 sw zero,0(a0) +800000a0: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-ECALL-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-ECALL-01.elf.objdump new file mode 100644 index 0000000..d98bfec --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-ECALL-01.elf.objdump @@ -0,0 +1,69 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-ECALL-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00000097 auipc ra,0x0 +80000004: 02c08093 addi ra,ra,44 # 8000002c <_trap_handler> +80000008: 30509ff3 csrrw t6,mtvec,ra +8000000c: 00001097 auipc ra,0x1 +80000010: ff408093 addi ra,ra,-12 # 80001000 <codasip_signature_start> +80000014: 11111137 lui sp,0x11111 +80000018: 11110113 addi sp,sp,273 # 11111111 <_start-0x6eeeeeef> +8000001c: 00000073 ecall +80000020: 0000a023 sw zero,0(ra) +80000024: 305f9073 csrw mtvec,t6 +80000028: 0280006f j 80000050 <test_end> + +8000002c <_trap_handler>: +8000002c: 34102f73 csrr t5,mepc +80000030: 004f0f13 addi t5,t5,4 +80000034: 341f1073 csrw mepc,t5 +80000038: 34202f73 csrr t5,mcause +8000003c: 01e0a023 sw t5,0(ra) +80000040: 0020a223 sw sp,4(ra) +80000044: 0000a423 sw zero,8(ra) +80000048: 00c08093 addi ra,ra,12 +8000004c: 30200073 mret + +80000050 <test_end>: +80000050: 00001517 auipc a0,0x1 +80000054: fb050513 addi a0,a0,-80 # 80001000 <codasip_signature_start> +80000058: 00001597 auipc a1,0x1 +8000005c: fb858593 addi a1,a1,-72 # 80001010 <_end> +80000060: f0100637 lui a2,0xf0100 +80000064: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef1c> + +80000068 <complience_halt_loop>: +80000068: 02b50663 beq a0,a1,80000094 <complience_halt_break> +8000006c: 00c52683 lw a3,12(a0) +80000070: 00d62023 sw a3,0(a2) +80000074: 00852683 lw a3,8(a0) +80000078: 00d62023 sw a3,0(a2) +8000007c: 00452683 lw a3,4(a0) +80000080: 00d62023 sw a3,0(a2) +80000084: 00052683 lw a3,0(a0) +80000088: 00d62023 sw a3,0(a2) +8000008c: 01050513 addi a0,a0,16 +80000090: fd9ff06f j 80000068 <complience_halt_loop> + +80000094 <complience_halt_break>: +80000094: f0100537 lui a0,0xf0100 +80000098: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef10> +8000009c: 00052023 sw zero,0(a0) +800000a0: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-ENDIANESS-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-ENDIANESS-01.elf.objdump new file mode 100644 index 0000000..536bfd0 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-ENDIANESS-01.elf.objdump @@ -0,0 +1,80 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-ENDIANESS-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001817 auipc a6,0x1 +80000004: 00480813 addi a6,a6,4 # 80001004 <test_A_data> +80000008: 00001897 auipc a7,0x1 +8000000c: 00888893 addi a7,a7,8 # 80001010 <codasip_signature_start> +80000010: 00082083 lw ra,0(a6) +80000014: 00085103 lhu sp,0(a6) +80000018: 00285183 lhu gp,2(a6) +8000001c: fff84203 lbu tp,-1(a6) +80000020: 00084283 lbu t0,0(a6) +80000024: 00184303 lbu t1,1(a6) +80000028: 00284383 lbu t2,2(a6) +8000002c: 00384403 lbu s0,3(a6) +80000030: 0018a023 sw ra,0(a7) +80000034: 0028a223 sw sp,4(a7) +80000038: 0038a423 sw gp,8(a7) +8000003c: 0048a623 sw tp,12(a7) +80000040: 0058a823 sw t0,16(a7) +80000044: 0068aa23 sw t1,20(a7) +80000048: 0078ac23 sw t2,24(a7) +8000004c: 0088ae23 sw s0,28(a7) +80000050: 00001517 auipc a0,0x1 +80000054: fc050513 addi a0,a0,-64 # 80001010 <codasip_signature_start> +80000058: 00001597 auipc a1,0x1 +8000005c: fd858593 addi a1,a1,-40 # 80001030 <_end> +80000060: f0100637 lui a2,0xf0100 +80000064: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feefc> + +80000068 <complience_halt_loop>: +80000068: 02b50663 beq a0,a1,80000094 <complience_halt_break> +8000006c: 00c52683 lw a3,12(a0) +80000070: 00d62023 sw a3,0(a2) +80000074: 00852683 lw a3,8(a0) +80000078: 00d62023 sw a3,0(a2) +8000007c: 00452683 lw a3,4(a0) +80000080: 00d62023 sw a3,0(a2) +80000084: 00052683 lw a3,0(a0) +80000088: 00d62023 sw a3,0(a2) +8000008c: 01050513 addi a0,a0,16 +80000090: fd9ff06f j 80000068 <complience_halt_loop> + +80000094 <complience_halt_break>: +80000094: f0100537 lui a0,0xf0100 +80000098: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feef0> +8000009c: 00052023 sw zero,0(a0) +800000a0: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A_data-0x4>: +80001000: 89abcdef jal s11,7ffbd09a <_start-0x42f66> + +80001004 <test_A_data>: +80001004: 01234567 0x1234567 + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-FENCE.I-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-FENCE.I-01.elf.objdump new file mode 100644 index 0000000..99e1ea7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-FENCE.I-01.elf.objdump @@ -0,0 +1,76 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-FENCE.I-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001817 auipc a6,0x1 +80000004: 00480813 addi a6,a6,4 # 80001004 <test_A_data> +80000008: 00001897 auipc a7,0x1 +8000000c: 00888893 addi a7,a7,8 # 80001010 <codasip_signature_start> +80000010: 00000193 li gp,0 +80000014: 00082083 lw ra,0(a6) +80000018: 00482103 lw sp,4(a6) +8000001c: 00001a17 auipc s4,0x1 +80000020: fe4a0a13 addi s4,s4,-28 # 80001000 <instr_A_src> +80000024: 00000a97 auipc s5,0x0 +80000028: 014a8a93 addi s5,s5,20 # 80000038 <instr_A_dst> +8000002c: 000a2783 lw a5,0(s4) +80000030: 00faa023 sw a5,0(s5) +80000034: 0000100f fence.i + +80000038 <instr_A_dst>: +80000038: 00000137 lui sp,0x0 +8000003c: 0018a023 sw ra,0(a7) +80000040: 0028a223 sw sp,4(a7) +80000044: 0038a423 sw gp,8(a7) +80000048: 00f8a623 sw a5,12(a7) +8000004c: 00001517 auipc a0,0x1 +80000050: fc450513 addi a0,a0,-60 # 80001010 <codasip_signature_start> +80000054: 00001597 auipc a1,0x1 +80000058: fcc58593 addi a1,a1,-52 # 80001020 <_end> +8000005c: f0100637 lui a2,0xf0100 +80000060: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fef0c> + +80000064 <complience_halt_loop>: +80000064: 02b50663 beq a0,a1,80000090 <complience_halt_break> +80000068: 00c52683 lw a3,12(a0) +8000006c: 00d62023 sw a3,0(a2) +80000070: 00852683 lw a3,8(a0) +80000074: 00d62023 sw a3,0(a2) +80000078: 00452683 lw a3,4(a0) +8000007c: 00d62023 sw a3,0(a2) +80000080: 00052683 lw a3,0(a0) +80000084: 00d62023 sw a3,0(a2) +80000088: 01050513 addi a0,a0,16 +8000008c: fd9ff06f j 80000064 <complience_halt_loop> + +80000090 <complience_halt_break>: +80000090: f0100537 lui a0,0xf0100 +80000094: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fef00> +80000098: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <instr_A_src>: +80001000: 001101b3 add gp,sp,ra + +80001004 <test_A_data>: +80001004: 0030 addi a2,sp,8 +80001006: 0000 unimp +80001008: 0012 c.slli zero,0x4 +8000100a: 0000 unimp +8000100c: 0000 unimp + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-IO.elf.objdump b/VexRiscv/src/test/resources/asm/I-IO.elf.objdump new file mode 100644 index 0000000..73994c1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-IO.elf.objdump @@ -0,0 +1,344 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-IO.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef1f> +80000028: 80000437 lui s0,0x80000 +8000002c: 00418233 add tp,gp,tp +80000030: 005182b3 add t0,gp,t0 +80000034: 00618333 add t1,gp,t1 +80000038: 007183b3 add t2,gp,t2 +8000003c: 00818433 add s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fe810113 addi sp,sp,-24 # 80001048 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00000493 li s1,0 +80000070: 00100513 li a0,1 +80000074: fff00593 li a1,-1 +80000078: 80000637 lui a2,0x80000 +8000007c: fff60613 addi a2,a2,-1 # 7fffffff <_end+0xffffef1f> +80000080: 800006b7 lui a3,0x80000 +80000084: 009404b3 add s1,s0,s1 +80000088: 00a40533 add a0,s0,a0 +8000008c: 00b405b3 add a1,s0,a1 +80000090: 00c40633 add a2,s0,a2 +80000094: 00d406b3 add a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: fa810113 addi sp,sp,-88 # 80001060 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00000713 li a4,0 +800000c8: 00100793 li a5,1 +800000cc: fff00813 li a6,-1 +800000d0: 800008b7 lui a7,0x80000 +800000d4: fff88893 addi a7,a7,-1 # 7fffffff <_end+0xffffef1f> +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e68733 add a4,a3,a4 +800000e0: 00f687b3 add a5,a3,a5 +800000e4: 01068833 add a6,a3,a6 +800000e8: 011688b3 add a7,a3,a7 +800000ec: 01268933 add s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f6810113 addi sp,sp,-152 # 80001078 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00000993 li s3,0 +80000120: 00100a13 li s4,1 +80000124: fff00a93 li s5,-1 +80000128: 80000b37 lui s6,0x80000 +8000012c: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef1f> +80000130: 80000bb7 lui s7,0x80000 +80000134: 013909b3 add s3,s2,s3 +80000138: 01490a33 add s4,s2,s4 +8000013c: 01590ab3 add s5,s2,s5 +80000140: 01690b33 add s6,s2,s6 +80000144: 01790bb3 add s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f2810113 addi sp,sp,-216 # 80001090 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00000c13 li s8,0 +80000178: 00100c93 li s9,1 +8000017c: fff00d13 li s10,-1 +80000180: 80000db7 lui s11,0x80000 +80000184: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef1f> +80000188: 80000e37 lui t3,0x80000 +8000018c: 018b8c33 add s8,s7,s8 +80000190: 019b8cb3 add s9,s7,s9 +80000194: 01ab8d33 add s10,s7,s10 +80000198: 01bb8db3 add s11,s7,s11 +8000019c: 01cb8e33 add t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001c97 auipc s9,0x1 +800001bc: e5cc8c93 addi s9,s9,-420 # 80001014 <test_B_data> +800001c0: 00001d17 auipc s10,0x1 +800001c4: ee8d0d13 addi s10,s10,-280 # 800010a8 <test_B_res> +800001c8: 000cae03 lw t3,0(s9) +800001cc: 00100d93 li s11,1 +800001d0: 01be0eb3 add t4,t3,s11 +800001d4: 01be8f33 add t5,t4,s11 +800001d8: 01bf0fb3 add t6,t5,s11 +800001dc: 01bf80b3 add ra,t6,s11 +800001e0: 01b08133 add sp,ra,s11 +800001e4: 01b101b3 add gp,sp,s11 +800001e8: 01bd2023 sw s11,0(s10) +800001ec: 01cd2223 sw t3,4(s10) +800001f0: 01dd2423 sw t4,8(s10) +800001f4: 01ed2623 sw t5,12(s10) +800001f8: 01fd2823 sw t6,16(s10) +800001fc: 001d2a23 sw ra,20(s10) +80000200: 002d2c23 sw sp,24(s10) +80000204: 003d2e23 sw gp,28(s10) +80000208: 00001097 auipc ra,0x1 +8000020c: e1008093 addi ra,ra,-496 # 80001018 <test_C_data> +80000210: 00001117 auipc sp,0x1 +80000214: eb810113 addi sp,sp,-328 # 800010c8 <test_C_res> +80000218: 0000ae03 lw t3,0(ra) +8000021c: f7ff9db7 lui s11,0xf7ff9 +80000220: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000224: 01be0033 add zero,t3,s11 +80000228: 00012023 sw zero,0(sp) +8000022c: 00001097 auipc ra,0x1 +80000230: df008093 addi ra,ra,-528 # 8000101c <test_D_data> +80000234: 00001117 auipc sp,0x1 +80000238: e9810113 addi sp,sp,-360 # 800010cc <test_D_res> +8000023c: 0000ae03 lw t3,0(ra) +80000240: f7ff9db7 lui s11,0xf7ff9 +80000244: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000248: 01be0033 add zero,t3,s11 +8000024c: 000002b3 add t0,zero,zero +80000250: 00012023 sw zero,0(sp) +80000254: 00512223 sw t0,4(sp) +80000258: 00001097 auipc ra,0x1 +8000025c: dc808093 addi ra,ra,-568 # 80001020 <test_E_data> +80000260: 00001117 auipc sp,0x1 +80000264: e7410113 addi sp,sp,-396 # 800010d4 <test_E_res> +80000268: 0000a183 lw gp,0(ra) +8000026c: 00018233 add tp,gp,zero +80000270: 000202b3 add t0,tp,zero +80000274: 00500333 add t1,zero,t0 +80000278: 00030733 add a4,t1,zero +8000027c: 000707b3 add a5,a4,zero +80000280: 00078833 add a6,a5,zero +80000284: 01000cb3 add s9,zero,a6 +80000288: 01900d33 add s10,zero,s9 +8000028c: 000d0db3 add s11,s10,zero +80000290: 00412023 sw tp,0(sp) +80000294: 01a12223 sw s10,4(sp) +80000298: 01b12423 sw s11,8(sp) +8000029c: 00001517 auipc a0,0x1 +800002a0: d9450513 addi a0,a0,-620 # 80001030 <codasip_signature_start> +800002a4: 00001597 auipc a1,0x1 +800002a8: e3c58593 addi a1,a1,-452 # 800010e0 <_end> +800002ac: f0100637 lui a2,0xf0100 +800002b0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002b4 <complience_halt_loop>: +800002b4: 02b50663 beq a0,a1,800002e0 <complience_halt_break> +800002b8: 00c52683 lw a3,12(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 00852683 lw a3,8(a0) +800002c4: 00d62023 sw a3,0(a2) +800002c8: 00452683 lw a3,4(a0) +800002cc: 00d62023 sw a3,0(a2) +800002d0: 00052683 lw a3,0(a0) +800002d4: 00d62023 sw a3,0(a2) +800002d8: 01050513 addi a0,a0,16 +800002dc: fd9ff06f j 800002b4 <complience_halt_loop> + +800002e0 <complience_halt_break>: +800002e0: f0100537 lui a0,0xf0100 +800002e4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002e8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: abcd j 80001606 <_end+0x526> + ... + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_C_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff + +800010d4 <test_E_res>: +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-JAL-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-JAL-01.elf.objdump new file mode 100644 index 0000000..233f6af --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-JAL-01.elf.objdump @@ -0,0 +1,227 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-JAL-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 01008093 addi ra,ra,16 # 80001010 <codasip_signature_start> +80000008: 12345137 lui sp,0x12345 +8000000c: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +80000010: 0080006f j 80000018 <_start+0x18> +80000014: 00000113 li sp,0 +80000018: 0000a023 sw zero,0(ra) +8000001c: 0020a223 sw sp,4(ra) +80000020: 00001097 auipc ra,0x1 +80000024: ff808093 addi ra,ra,-8 # 80001018 <test_A2_res> +80000028: fff00113 li sp,-1 +8000002c: fff00193 li gp,-1 +80000030: 0fedd237 lui tp,0xfedd +80000034: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +80000038: 0280006f j 80000060 <_start+0x60> +8000003c: 00000113 li sp,0 +80000040: 00000193 li gp,0 +80000044: 00000213 li tp,0 +80000048: 876541b7 lui gp,0x87654 +8000004c: 32118193 addi gp,gp,801 # 87654321 <_end+0x76532c1> +80000050: 0280006f j 80000078 <_start+0x78> +80000054: 00000113 li sp,0 +80000058: 00000193 li gp,0 +8000005c: 00000213 li tp,0 +80000060: 9abce137 lui sp,0x9abce +80000064: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce90> +80000068: fe1ff06f j 80000048 <_start+0x48> +8000006c: 00000113 li sp,0 +80000070: 00000193 li gp,0 +80000074: 00000213 li tp,0 +80000078: 0000a023 sw zero,0(ra) +8000007c: 0020a223 sw sp,4(ra) +80000080: 0030a423 sw gp,8(ra) +80000084: 0040a623 sw tp,12(ra) +80000088: 00001497 auipc s1,0x1 +8000008c: f7848493 addi s1,s1,-136 # 80001000 <test_B1_data> +80000090: 00001517 auipc a0,0x1 +80000094: f9850513 addi a0,a0,-104 # 80001028 <test_B1_res> +80000098: fff00113 li sp,-1 +8000009c: fff00193 li gp,-1 +800000a0: fff00213 li tp,-1 +800000a4: fff00293 li t0,-1 +800000a8: 55555337 lui t1,0x55555 +800000ac: 55530313 addi t1,t1,1365 # 55555555 <_start-0x2aaaaaab> +800000b0: 0004ac83 lw s9,0(s1) +800000b4: 0044ac03 lw s8,4(s1) +800000b8: 01c000ef jal ra,800000d4 <B1b_link+0xc> + +800000bc <B1a_link>: +800000bc: 222221b7 lui gp,0x22222 +800000c0: 22218193 addi gp,gp,546 # 22222222 <_start-0x5dddddde> +800000c4: 03000fef jal t6,800000f4 <B1b_link+0x2c> + +800000c8 <B1b_link>: +800000c8: 444442b7 lui t0,0x44444 +800000cc: 44428293 addi t0,t0,1092 # 44444444 <_start-0x3bbbbbbc> +800000d0: 0440006f j 80000114 <B1b_link+0x4c> +800000d4: 11111137 lui sp,0x11111 +800000d8: 11110113 addi sp,sp,273 # 11111111 <_start-0x6eeeeeef> +800000dc: 00008067 ret +800000e0: 00000113 li sp,0 +800000e4: 00000193 li gp,0 +800000e8: 00000213 li tp,0 +800000ec: 00000293 li t0,0 +800000f0: 00000313 li t1,0 +800000f4: 33333237 lui tp,0x33333 +800000f8: 33320213 addi tp,tp,819 # 33333333 <_start-0x4ccccccd> +800000fc: 000f8067 jr t6 +80000100: 00000113 li sp,0 +80000104: 00000193 li gp,0 +80000108: 00000213 li tp,0 +8000010c: 00000293 li t0,0 +80000110: 00000313 li t1,0 +80000114: 0190c3b3 xor t2,ra,s9 +80000118: 018fc433 xor s0,t6,s8 +8000011c: 00252023 sw sp,0(a0) +80000120: 00352223 sw gp,4(a0) +80000124: 00452423 sw tp,8(a0) +80000128: 00552623 sw t0,12(a0) +8000012c: 00652823 sw t1,16(a0) +80000130: 00752a23 sw t2,20(a0) +80000134: 00852c23 sw s0,24(a0) +80000138: 00001497 auipc s1,0x1 +8000013c: ed048493 addi s1,s1,-304 # 80001008 <test_B2_data> +80000140: 00001517 auipc a0,0x1 +80000144: f0450513 addi a0,a0,-252 # 80001044 <test_B2_res> +80000148: fff00113 li sp,-1 +8000014c: fff00193 li gp,-1 +80000150: fff00213 li tp,-1 +80000154: fff00293 li t0,-1 +80000158: fff00313 li t1,-1 +8000015c: 0004ac03 lw s8,0(s1) +80000160: 0044ac83 lw s9,4(s1) +80000164: 0240006f j 80000188 <B1b_link+0xc0> +80000168: 777771b7 lui gp,0x77777 +8000016c: 77718193 addi gp,gp,1911 # 77777777 <_start-0x8888889> +80000170: 000f8067 jr t6 +80000174: 00000113 li sp,0 +80000178: 00000193 li gp,0 +8000017c: 00000213 li tp,0 +80000180: 00000293 li t0,0 +80000184: 00000313 li t1,0 +80000188: 66666137 lui sp,0x66666 +8000018c: 66610113 addi sp,sp,1638 # 66666666 <_start-0x1999999a> +80000190: fd9fffef jal t6,80000168 <B1b_link+0xa0> + +80000194 <B2b_link>: +80000194: 88889237 lui tp,0x88889 +80000198: 88820213 addi tp,tp,-1912 # 88888888 <_end+0x8887828> +8000019c: 010000ef jal ra,800001ac <B2c_link+0xc> + +800001a0 <B2c_link>: +800001a0: aaaab337 lui t1,0xaaaab +800001a4: aaa30313 addi t1,t1,-1366 # aaaaaaaa <_end+0x2aaa9a4a> +800001a8: 0240006f j 800001cc <B2c_link+0x2c> +800001ac: 9999a2b7 lui t0,0x9999a +800001b0: 99928293 addi t0,t0,-1639 # 99999999 <_end+0x19998939> +800001b4: 00008067 ret +800001b8: 00000113 li sp,0 +800001bc: 00000193 li gp,0 +800001c0: 00000213 li tp,0 +800001c4: 00000293 li t0,0 +800001c8: 00000313 li t1,0 +800001cc: 018fc3b3 xor t2,t6,s8 +800001d0: 0190c433 xor s0,ra,s9 +800001d4: 00252023 sw sp,0(a0) +800001d8: 00352223 sw gp,4(a0) +800001dc: 00452423 sw tp,8(a0) +800001e0: 00552623 sw t0,12(a0) +800001e4: 00652823 sw t1,16(a0) +800001e8: 00752a23 sw t2,20(a0) +800001ec: 00852c23 sw s0,24(a0) +800001f0: 00001517 auipc a0,0x1 +800001f4: e2050513 addi a0,a0,-480 # 80001010 <codasip_signature_start> +800001f8: 00001597 auipc a1,0x1 +800001fc: e6858593 addi a1,a1,-408 # 80001060 <_end> +80000200: f0100637 lui a2,0xf0100 +80000204: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feecc> + +80000208 <complience_halt_loop>: +80000208: 02b50663 beq a0,a1,80000234 <complience_halt_break> +8000020c: 00c52683 lw a3,12(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00852683 lw a3,8(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 00452683 lw a3,4(a0) +80000220: 00d62023 sw a3,0(a2) +80000224: 00052683 lw a3,0(a0) +80000228: 00d62023 sw a3,0(a2) +8000022c: 01050513 addi a0,a0,16 +80000230: fd9ff06f j 80000208 <complience_halt_loop> + +80000234 <complience_halt_break>: +80000234: f0100537 lui a0,0xf0100 +80000238: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feec0> +8000023c: 00052023 sw zero,0(a0) +80000240: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_B1_data>: +80001000: 00bc addi a5,sp,72 +80001002: 8000 0x8000 +80001004: 00c8 addi a0,sp,68 +80001006: 8000 0x8000 + +80001008 <test_B2_data>: +80001008: 0194 addi a3,sp,192 +8000100a: 8000 0x8000 +8000100c: 01a0 addi s0,sp,200 +8000100e: 8000 0x8000 + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A2_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_B1_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_B2_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-JALR-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-JALR-01.elf.objdump new file mode 100644 index 0000000..8505a9c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-JALR-01.elf.objdump @@ -0,0 +1,289 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-JALR-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 01008093 addi ra,ra,16 # 80001010 <codasip_signature_start> +80000008: 12345137 lui sp,0x12345 +8000000c: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +80000010: 00000197 auipc gp,0x0 +80000014: 01018193 addi gp,gp,16 # 80000020 <_start+0x20> +80000018: 00018067 jr gp +8000001c: 00000113 li sp,0 +80000020: 0000a023 sw zero,0(ra) +80000024: 0020a223 sw sp,4(ra) +80000028: 00001097 auipc ra,0x1 +8000002c: ff008093 addi ra,ra,-16 # 80001018 <test_A2_res> +80000030: fff00113 li sp,-1 +80000034: fff00193 li gp,-1 +80000038: 0fedd237 lui tp,0xfedd +8000003c: ba920213 addi tp,tp,-1111 # fedcba9 <_start-0x70123457> +80000040: 00000f97 auipc t6,0x0 +80000044: 038f8f93 addi t6,t6,56 # 80000078 <_start+0x78> +80000048: 000f8067 jr t6 +8000004c: 00000113 li sp,0 +80000050: 00000193 li gp,0 +80000054: 00000213 li tp,0 +80000058: 876541b7 lui gp,0x87654 +8000005c: 32118193 addi gp,gp,801 # 87654321 <_end+0x76532b1> +80000060: 00000297 auipc t0,0x0 +80000064: 03828293 addi t0,t0,56 # 80000098 <_start+0x98> +80000068: 00028067 jr t0 +8000006c: 00000113 li sp,0 +80000070: 00000193 li gp,0 +80000074: 00000213 li tp,0 +80000078: 9abce137 lui sp,0x9abce +8000007c: ef010113 addi sp,sp,-272 # 9abcdef0 <_end+0x1abcce80> +80000080: 00000797 auipc a5,0x0 +80000084: fd878793 addi a5,a5,-40 # 80000058 <_start+0x58> +80000088: 00078067 jr a5 +8000008c: 00000113 li sp,0 +80000090: 00000193 li gp,0 +80000094: 00000213 li tp,0 +80000098: 0000a023 sw zero,0(ra) +8000009c: 0020a223 sw sp,4(ra) +800000a0: 0030a423 sw gp,8(ra) +800000a4: 0040a623 sw tp,12(ra) +800000a8: 00001497 auipc s1,0x1 +800000ac: f5848493 addi s1,s1,-168 # 80001000 <test_B1_data> +800000b0: 00001517 auipc a0,0x1 +800000b4: f7850513 addi a0,a0,-136 # 80001028 <test_B1_res> +800000b8: fff00113 li sp,-1 +800000bc: fff00193 li gp,-1 +800000c0: fff00213 li tp,-1 +800000c4: fff00293 li t0,-1 +800000c8: 55555337 lui t1,0x55555 +800000cc: 55530313 addi t1,t1,1365 # 55555555 <_start-0x2aaaaaab> +800000d0: 0004ac83 lw s9,0(s1) +800000d4: 0044ac03 lw s8,4(s1) +800000d8: 00000397 auipc t2,0x0 +800000dc: 03438393 addi t2,t2,52 # 8000010c <B1b_link+0x14> +800000e0: 000380e7 jalr t2 + +800000e4 <B1a_link>: +800000e4: 222221b7 lui gp,0x22222 +800000e8: 22218193 addi gp,gp,546 # 22222222 <_start-0x5dddddde> +800000ec: 00000417 auipc s0,0x0 +800000f0: 04040413 addi s0,s0,64 # 8000012c <B1b_link+0x34> +800000f4: 00040fe7 jalr t6,s0 + +800000f8 <B1b_link>: +800000f8: 444442b7 lui t0,0x44444 +800000fc: 44428293 addi t0,t0,1092 # 44444444 <_start-0x3bbbbbbc> +80000100: 00000f17 auipc t5,0x0 +80000104: 04cf0f13 addi t5,t5,76 # 8000014c <B1b_link+0x54> +80000108: 000f0067 jr t5 +8000010c: 11111137 lui sp,0x11111 +80000110: 11110113 addi sp,sp,273 # 11111111 <_start-0x6eeeeeef> +80000114: 00008067 ret +80000118: 00000113 li sp,0 +8000011c: 00000193 li gp,0 +80000120: 00000213 li tp,0 +80000124: 00000293 li t0,0 +80000128: 00000313 li t1,0 +8000012c: 33333237 lui tp,0x33333 +80000130: 33320213 addi tp,tp,819 # 33333333 <_start-0x4ccccccd> +80000134: 000f8067 jr t6 +80000138: 00000113 li sp,0 +8000013c: 00000193 li gp,0 +80000140: 00000213 li tp,0 +80000144: 00000293 li t0,0 +80000148: 00000313 li t1,0 +8000014c: 0190c3b3 xor t2,ra,s9 +80000150: 018fc433 xor s0,t6,s8 +80000154: 00252023 sw sp,0(a0) +80000158: 00352223 sw gp,4(a0) +8000015c: 00452423 sw tp,8(a0) +80000160: 00552623 sw t0,12(a0) +80000164: 00652823 sw t1,16(a0) +80000168: 00752a23 sw t2,20(a0) +8000016c: 00852c23 sw s0,24(a0) +80000170: 00001497 auipc s1,0x1 +80000174: e9848493 addi s1,s1,-360 # 80001008 <test_B2_data> +80000178: 00001517 auipc a0,0x1 +8000017c: ecc50513 addi a0,a0,-308 # 80001044 <test_B2_res> +80000180: fff00113 li sp,-1 +80000184: fff00193 li gp,-1 +80000188: fff00213 li tp,-1 +8000018c: fff00293 li t0,-1 +80000190: fff00313 li t1,-1 +80000194: 0004ac03 lw s8,0(s1) +80000198: 0044ac83 lw s9,4(s1) +8000019c: 00000797 auipc a5,0x0 +800001a0: 02c78793 addi a5,a5,44 # 800001c8 <B1b_link+0xd0> +800001a4: 00078067 jr a5 +800001a8: 777771b7 lui gp,0x77777 +800001ac: 77718193 addi gp,gp,1911 # 77777777 <_start-0x8888889> +800001b0: 001f8067 jr 1(t6) +800001b4: 00000113 li sp,0 +800001b8: 00000193 li gp,0 +800001bc: 00000213 li tp,0 +800001c0: 00000293 li t0,0 +800001c4: 00000313 li t1,0 +800001c8: 66666137 lui sp,0x66666 +800001cc: 66610113 addi sp,sp,1638 # 66666666 <_start-0x1999999a> +800001d0: 00000f97 auipc t6,0x0 +800001d4: fd9f8f93 addi t6,t6,-39 # 800001a9 <B1b_link+0xb1> +800001d8: 000f8fe7 jalr t6,t6 + +800001dc <B2b_link>: +800001dc: 88889237 lui tp,0x88889 +800001e0: 88820213 addi tp,tp,-1912 # 88888888 <_end+0x8887818> +800001e4: 00000097 auipc ra,0x0 +800001e8: 02108093 addi ra,ra,33 # 80000205 <B2c_link+0x15> +800001ec: 000080e7 jalr ra + +800001f0 <B2c_link>: +800001f0: aaaab337 lui t1,0xaaaab +800001f4: aaa30313 addi t1,t1,-1366 # aaaaaaaa <_end+0x2aaa9a3a> +800001f8: 00000f17 auipc t5,0x0 +800001fc: 02cf0f13 addi t5,t5,44 # 80000224 <B2c_link+0x34> +80000200: 000f0067 jr t5 +80000204: 9999a2b7 lui t0,0x9999a +80000208: 99928293 addi t0,t0,-1639 # 99999999 <_end+0x19998929> +8000020c: 00108067 jr 1(ra) +80000210: 00000113 li sp,0 +80000214: 00000193 li gp,0 +80000218: 00000213 li tp,0 +8000021c: 00000293 li t0,0 +80000220: 00000313 li t1,0 +80000224: 018fc3b3 xor t2,t6,s8 +80000228: 0190c433 xor s0,ra,s9 +8000022c: 00252023 sw sp,0(a0) +80000230: 00352223 sw gp,4(a0) +80000234: 00452423 sw tp,8(a0) +80000238: 00552623 sw t0,12(a0) +8000023c: 00652823 sw t1,16(a0) +80000240: 00752a23 sw t2,20(a0) +80000244: 00852c23 sw s0,24(a0) +80000248: 00001097 auipc ra,0x1 +8000024c: e1808093 addi ra,ra,-488 # 80001060 <test_C_res> +80000250: 11111237 lui tp,0x11111 +80000254: 11120213 addi tp,tp,273 # 11111111 <_start-0x6eeeeeef> +80000258: 00000197 auipc gp,0x0 +8000025c: 00f18193 addi gp,gp,15 # 80000267 <B2c_link+0x77> +80000260: 00118067 jr 1(gp) +80000264: 00000213 li tp,0 +80000268: 222222b7 lui t0,0x22222 +8000026c: 22228293 addi t0,t0,546 # 22222222 <_start-0x5dddddde> +80000270: 00000197 auipc gp,0x0 +80000274: 01118193 addi gp,gp,17 # 80000281 <B2c_link+0x91> +80000278: fff18067 jr -1(gp) +8000027c: 00000293 li t0,0 +80000280: 33333337 lui t1,0x33333 +80000284: 33330313 addi t1,t1,819 # 33333333 <_start-0x4ccccccd> +80000288: 00000197 auipc gp,0x0 +8000028c: 81118193 addi gp,gp,-2031 # 7ffffa99 <_start-0x567> +80000290: 7ff18067 jr 2047(gp) +80000294: 00000313 li t1,0 +80000298: 444443b7 lui t2,0x44444 +8000029c: 44438393 addi t2,t2,1092 # 44444444 <_start-0x3bbbbbbc> +800002a0: 00001197 auipc gp,0x1 +800002a4: 81018193 addi gp,gp,-2032 # 80000ab0 <complience_halt_break+0x7ac> +800002a8: 80018067 jr -2048(gp) +800002ac: 00000393 li t2,0 +800002b0: 0040a023 sw tp,0(ra) +800002b4: 0050a223 sw t0,4(ra) +800002b8: 0060a423 sw t1,8(ra) +800002bc: 0070a623 sw t2,12(ra) +800002c0: 00001517 auipc a0,0x1 +800002c4: d5050513 addi a0,a0,-688 # 80001010 <codasip_signature_start> +800002c8: 00001597 auipc a1,0x1 +800002cc: da858593 addi a1,a1,-600 # 80001070 <_end> +800002d0: f0100637 lui a2,0xf0100 +800002d4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +800002d8 <complience_halt_loop>: +800002d8: 02b50663 beq a0,a1,80000304 <complience_halt_break> +800002dc: 00c52683 lw a3,12(a0) +800002e0: 00d62023 sw a3,0(a2) +800002e4: 00852683 lw a3,8(a0) +800002e8: 00d62023 sw a3,0(a2) +800002ec: 00452683 lw a3,4(a0) +800002f0: 00d62023 sw a3,0(a2) +800002f4: 00052683 lw a3,0(a0) +800002f8: 00d62023 sw a3,0(a2) +800002fc: 01050513 addi a0,a0,16 +80000300: fd9ff06f j 800002d8 <complience_halt_loop> + +80000304 <complience_halt_break>: +80000304: f0100537 lui a0,0xf0100 +80000308: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +8000030c: 00052023 sw zero,0(a0) +80000310: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_B1_data>: +80001000: 00e4 addi s1,sp,76 +80001002: 8000 0x8000 +80001004: 00f8 addi a4,sp,76 +80001006: 8000 0x8000 + +80001008 <test_B2_data>: +80001008: 01dc addi a5,sp,196 +8000100a: 8000 0x8000 +8000100c: 01f0 addi a2,sp,204 +8000100e: 8000 0x8000 + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A2_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_B1_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_B2_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_C_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-LB-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-LB-01.elf.objdump new file mode 100644 index 0000000..ab8c109 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-LB-01.elf.objdump @@ -0,0 +1,289 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-LB-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001f97 auipc t6,0x1 +80000004: 000f8f93 mv t6,t6 +80000008: 00001117 auipc sp,0x1 +8000000c: 03810113 addi sp,sp,56 # 80001040 <codasip_signature_start> +80000010: 000f8183 lb gp,0(t6) # 80001000 <test_A1_data> +80000014: 001f8203 lb tp,1(t6) +80000018: 002f8283 lb t0,2(t6) +8000001c: 003f8303 lb t1,3(t6) +80000020: 00312023 sw gp,0(sp) +80000024: 00412223 sw tp,4(sp) +80000028: 00512423 sw t0,8(sp) +8000002c: 00612623 sw t1,12(sp) +80000030: 00001c17 auipc s8,0x1 +80000034: fd5c0c13 addi s8,s8,-43 # 80001005 <test_A2_data+0x1> +80000038: 00001297 auipc t0,0x1 +8000003c: 01828293 addi t0,t0,24 # 80001050 <test_A2_res> +80000040: fffc0c83 lb s9,-1(s8) +80000044: 000c0d03 lb s10,0(s8) +80000048: 001c0d83 lb s11,1(s8) +8000004c: 002c0e03 lb t3,2(s8) +80000050: 0192a023 sw s9,0(t0) +80000054: 01a2a223 sw s10,4(t0) +80000058: 01b2a423 sw s11,8(t0) +8000005c: 01c2a623 sw t3,12(t0) +80000060: 00001397 auipc t2,0x1 +80000064: fa738393 addi t2,t2,-89 # 80001007 <test_A2_data+0x3> +80000068: 00001417 auipc s0,0x1 +8000006c: ff840413 addi s0,s0,-8 # 80001060 <test_A3_res> +80000070: 00138f03 lb t5,1(t2) +80000074: 00238f83 lb t6,2(t2) +80000078: 00338083 lb ra,3(t2) +8000007c: 00438103 lb sp,4(t2) +80000080: 01e42023 sw t5,0(s0) +80000084: 01f42223 sw t6,4(s0) +80000088: 00142423 sw ra,8(s0) +8000008c: 00242623 sw sp,12(s0) +80000090: 00001517 auipc a0,0x1 +80000094: 77c50513 addi a0,a0,1916 # 8000180c <_end+0x73c> +80000098: 00001597 auipc a1,0x1 +8000009c: fd858593 addi a1,a1,-40 # 80001070 <test_A4_res> +800000a0: 80050603 lb a2,-2048(a0) +800000a4: 80150683 lb a3,-2047(a0) +800000a8: 80250703 lb a4,-2046(a0) +800000ac: 80350783 lb a5,-2045(a0) +800000b0: 00c5a023 sw a2,0(a1) +800000b4: 00d5a223 sw a3,4(a1) +800000b8: 00e5a423 sw a4,8(a1) +800000bc: 00f5a623 sw a5,12(a1) +800000c0: 00000697 auipc a3,0x0 +800000c4: 75468693 addi a3,a3,1876 # 80000814 <complience_halt_break+0x608> +800000c8: 00001717 auipc a4,0x1 +800000cc: fb870713 addi a4,a4,-72 # 80001080 <test_A5_res> +800000d0: 7fc68783 lb a5,2044(a3) +800000d4: 7fd68803 lb a6,2045(a3) +800000d8: 7fe68883 lb a7,2046(a3) +800000dc: 7ff68903 lb s2,2047(a3) +800000e0: 00f72023 sw a5,0(a4) +800000e4: 01072223 sw a6,4(a4) +800000e8: 01172423 sw a7,8(a4) +800000ec: 01272623 sw s2,12(a4) +800000f0: 00001817 auipc a6,0x1 +800000f4: f2880813 addi a6,a6,-216 # 80001018 <test_B_data> +800000f8: 00001897 auipc a7,0x1 +800000fc: f9888893 addi a7,a7,-104 # 80001090 <test_B_res> +80000100: ffc80903 lb s2,-4(a6) +80000104: ffd80983 lb s3,-3(a6) +80000108: ffe80a03 lb s4,-2(a6) +8000010c: fff80a83 lb s5,-1(a6) +80000110: 00080b03 lb s6,0(a6) +80000114: 00180b83 lb s7,1(a6) +80000118: 00280c03 lb s8,2(a6) +8000011c: 00380c83 lb s9,3(a6) +80000120: 00480d03 lb s10,4(a6) +80000124: 00580d83 lb s11,5(a6) +80000128: 00680e03 lb t3,6(a6) +8000012c: 00780e83 lb t4,7(a6) +80000130: 0128a023 sw s2,0(a7) +80000134: 0138a223 sw s3,4(a7) +80000138: 0148a423 sw s4,8(a7) +8000013c: 0158a623 sw s5,12(a7) +80000140: 0168a823 sw s6,16(a7) +80000144: 0178aa23 sw s7,20(a7) +80000148: 0188ac23 sw s8,24(a7) +8000014c: 0198ae23 sw s9,28(a7) +80000150: 03a8a023 sw s10,32(a7) +80000154: 03b8a223 sw s11,36(a7) +80000158: 03c8a423 sw t3,40(a7) +8000015c: 03d8a623 sw t4,44(a7) +80000160: 00001a97 auipc s5,0x1 +80000164: ec0a8a93 addi s5,s5,-320 # 80001020 <test_C_data> +80000168: 00001b17 auipc s6,0x1 +8000016c: f58b0b13 addi s6,s6,-168 # 800010c0 <test_C_res> +80000170: 000a8003 lb zero,0(s5) +80000174: 000b2023 sw zero,0(s6) +80000178: 00001a97 auipc s5,0x1 +8000017c: eaca8a93 addi s5,s5,-340 # 80001024 <test_D_data> +80000180: 00001b17 auipc s6,0x1 +80000184: f44b0b13 addi s6,s6,-188 # 800010c4 <test_D_res> +80000188: 000aab83 lw s7,0(s5) +8000018c: 000b8c03 lb s8,0(s7) +80000190: 000c0c93 mv s9,s8 +80000194: 019b2023 sw s9,0(s6) +80000198: 00001c97 auipc s9,0x1 +8000019c: e94c8c93 addi s9,s9,-364 # 8000102c <test_E1_data> +800001a0: 00001d17 auipc s10,0x1 +800001a4: f28d0d13 addi s10,s10,-216 # 800010c8 <test_E1_res> +800001a8: 000c8c83 lb s9,0(s9) +800001ac: 019d2023 sw s9,0(s10) +800001b0: 00001d97 auipc s11,0x1 +800001b4: e81d8d93 addi s11,s11,-383 # 80001031 <test_E2_data+0x1> +800001b8: 00001e17 auipc t3,0x1 +800001bc: f14e0e13 addi t3,t3,-236 # 800010cc <test_E2_res> +800001c0: fffd8d83 lb s11,-1(s11) +800001c4: 01be2023 sw s11,0(t3) +800001c8: 00001517 auipc a0,0x1 +800001cc: e7850513 addi a0,a0,-392 # 80001040 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: f0058593 addi a1,a1,-256 # 800010d0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: f222 fsw fs0,36(sp) +80001002: 11f1 addi gp,gp,-4 + +80001004 <test_A2_data>: +80001004: 44f4 lw a3,76(s1) +80001006: 0xf666f333 + +80001008 <test_A3_data>: +80001008: f666 fsw fs9,44(sp) +8000100a: 55f5 li a1,-3 + +8000100c <test_A4_data>: +8000100c: 88f8 0x88f8 +8000100e: 0xaaaf777 + +80001010 <test_A5_data>: +80001010: 0aaa slli s5,s5,0xa +80001012: 9909 andi a0,a0,-30 +80001014: cc0c sw a1,24(s0) +80001016: 0xeee0bbb + +80001018 <test_B_data>: +80001018: 0eee slli t4,t4,0x1b +8000101a: dd0d beqz a0,80000f54 <complience_halt_break+0xd48> +8000101c: 00f0 addi a2,sp,76 +8000101e: 0fff 0xfff + +80001020 <test_C_data>: +80001020: 5678 lw a4,108(a2) +80001022: 1234 addi a3,sp,296 + +80001024 <test_D_data>: +80001024: 1028 addi a0,sp,40 +80001026: 8000 0x8000 + +80001028 <test_D_data2_label>: +80001028: def0 sw a2,124(a3) +8000102a: 9abc 0x9abc + +8000102c <test_E1_data>: +8000102c: 3210 fld fa2,32(a2) +8000102e: 7654 flw fa3,44(a2) + +80001030 <test_E2_data>: +80001030: ba98 fsd fa4,48(a3) +80001032: fedc fsw fa5,60(a3) + ... + +80001040 <codasip_signature_start>: +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A2_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff + +80001070 <test_A4_res>: +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_B_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff + +800010c0 <test_C_res>: +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_D_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_E1_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_E2_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-LBU-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-LBU-01.elf.objdump new file mode 100644 index 0000000..9419861 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-LBU-01.elf.objdump @@ -0,0 +1,289 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-LBU-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001f97 auipc t6,0x1 +80000004: 000f8f93 mv t6,t6 +80000008: 00001117 auipc sp,0x1 +8000000c: 03810113 addi sp,sp,56 # 80001040 <codasip_signature_start> +80000010: 000fc183 lbu gp,0(t6) # 80001000 <test_A1_data> +80000014: 001fc203 lbu tp,1(t6) +80000018: 002fc283 lbu t0,2(t6) +8000001c: 003fc303 lbu t1,3(t6) +80000020: 00312023 sw gp,0(sp) +80000024: 00412223 sw tp,4(sp) +80000028: 00512423 sw t0,8(sp) +8000002c: 00612623 sw t1,12(sp) +80000030: 00001c17 auipc s8,0x1 +80000034: fd5c0c13 addi s8,s8,-43 # 80001005 <test_A2_data+0x1> +80000038: 00001297 auipc t0,0x1 +8000003c: 01828293 addi t0,t0,24 # 80001050 <test_A2_res> +80000040: fffc4c83 lbu s9,-1(s8) +80000044: 000c4d03 lbu s10,0(s8) +80000048: 001c4d83 lbu s11,1(s8) +8000004c: 002c4e03 lbu t3,2(s8) +80000050: 0192a023 sw s9,0(t0) +80000054: 01a2a223 sw s10,4(t0) +80000058: 01b2a423 sw s11,8(t0) +8000005c: 01c2a623 sw t3,12(t0) +80000060: 00001397 auipc t2,0x1 +80000064: fa738393 addi t2,t2,-89 # 80001007 <test_A2_data+0x3> +80000068: 00001417 auipc s0,0x1 +8000006c: ff840413 addi s0,s0,-8 # 80001060 <test_A3_res> +80000070: 0013cf03 lbu t5,1(t2) +80000074: 0023cf83 lbu t6,2(t2) +80000078: 0033c083 lbu ra,3(t2) +8000007c: 0043c103 lbu sp,4(t2) +80000080: 01e42023 sw t5,0(s0) +80000084: 01f42223 sw t6,4(s0) +80000088: 00142423 sw ra,8(s0) +8000008c: 00242623 sw sp,12(s0) +80000090: 00001517 auipc a0,0x1 +80000094: 77c50513 addi a0,a0,1916 # 8000180c <_end+0x73c> +80000098: 00001597 auipc a1,0x1 +8000009c: fd858593 addi a1,a1,-40 # 80001070 <test_A4_res> +800000a0: 80054603 lbu a2,-2048(a0) +800000a4: 80154683 lbu a3,-2047(a0) +800000a8: 80254703 lbu a4,-2046(a0) +800000ac: 80354783 lbu a5,-2045(a0) +800000b0: 00c5a023 sw a2,0(a1) +800000b4: 00d5a223 sw a3,4(a1) +800000b8: 00e5a423 sw a4,8(a1) +800000bc: 00f5a623 sw a5,12(a1) +800000c0: 00000697 auipc a3,0x0 +800000c4: 75468693 addi a3,a3,1876 # 80000814 <complience_halt_break+0x608> +800000c8: 00001717 auipc a4,0x1 +800000cc: fb870713 addi a4,a4,-72 # 80001080 <test_A5_res> +800000d0: 7fc6c783 lbu a5,2044(a3) +800000d4: 7fd6c803 lbu a6,2045(a3) +800000d8: 7fe6c883 lbu a7,2046(a3) +800000dc: 7ff6c903 lbu s2,2047(a3) +800000e0: 00f72023 sw a5,0(a4) +800000e4: 01072223 sw a6,4(a4) +800000e8: 01172423 sw a7,8(a4) +800000ec: 01272623 sw s2,12(a4) +800000f0: 00001817 auipc a6,0x1 +800000f4: f2880813 addi a6,a6,-216 # 80001018 <test_B_data> +800000f8: 00001897 auipc a7,0x1 +800000fc: f9888893 addi a7,a7,-104 # 80001090 <test_B_res> +80000100: ffc84903 lbu s2,-4(a6) +80000104: ffd84983 lbu s3,-3(a6) +80000108: ffe84a03 lbu s4,-2(a6) +8000010c: fff84a83 lbu s5,-1(a6) +80000110: 00084b03 lbu s6,0(a6) +80000114: 00184b83 lbu s7,1(a6) +80000118: 00284c03 lbu s8,2(a6) +8000011c: 00384c83 lbu s9,3(a6) +80000120: 00484d03 lbu s10,4(a6) +80000124: 00584d83 lbu s11,5(a6) +80000128: 00684e03 lbu t3,6(a6) +8000012c: 00784e83 lbu t4,7(a6) +80000130: 0128a023 sw s2,0(a7) +80000134: 0138a223 sw s3,4(a7) +80000138: 0148a423 sw s4,8(a7) +8000013c: 0158a623 sw s5,12(a7) +80000140: 0168a823 sw s6,16(a7) +80000144: 0178aa23 sw s7,20(a7) +80000148: 0188ac23 sw s8,24(a7) +8000014c: 0198ae23 sw s9,28(a7) +80000150: 03a8a023 sw s10,32(a7) +80000154: 03b8a223 sw s11,36(a7) +80000158: 03c8a423 sw t3,40(a7) +8000015c: 03d8a623 sw t4,44(a7) +80000160: 00001a97 auipc s5,0x1 +80000164: ec0a8a93 addi s5,s5,-320 # 80001020 <test_C_data> +80000168: 00001b17 auipc s6,0x1 +8000016c: f58b0b13 addi s6,s6,-168 # 800010c0 <test_C_res> +80000170: 000ac003 lbu zero,0(s5) +80000174: 000b2023 sw zero,0(s6) +80000178: 00001a97 auipc s5,0x1 +8000017c: eaca8a93 addi s5,s5,-340 # 80001024 <test_D_data> +80000180: 00001b17 auipc s6,0x1 +80000184: f44b0b13 addi s6,s6,-188 # 800010c4 <test_D_res> +80000188: 000aab83 lw s7,0(s5) +8000018c: 000bcc03 lbu s8,0(s7) +80000190: 000c0c93 mv s9,s8 +80000194: 019b2023 sw s9,0(s6) +80000198: 00001c97 auipc s9,0x1 +8000019c: e94c8c93 addi s9,s9,-364 # 8000102c <test_E1_data> +800001a0: 00001d17 auipc s10,0x1 +800001a4: f28d0d13 addi s10,s10,-216 # 800010c8 <test_E1_res> +800001a8: 000ccc83 lbu s9,0(s9) +800001ac: 019d2023 sw s9,0(s10) +800001b0: 00001d97 auipc s11,0x1 +800001b4: e81d8d93 addi s11,s11,-383 # 80001031 <test_E2_data+0x1> +800001b8: 00001e17 auipc t3,0x1 +800001bc: f14e0e13 addi t3,t3,-236 # 800010cc <test_E2_res> +800001c0: fffdcd83 lbu s11,-1(s11) +800001c4: 01be2023 sw s11,0(t3) +800001c8: 00001517 auipc a0,0x1 +800001cc: e7850513 addi a0,a0,-392 # 80001040 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: f0058593 addi a1,a1,-256 # 800010d0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: f222 fsw fs0,36(sp) +80001002: 11f1 addi gp,gp,-4 + +80001004 <test_A2_data>: +80001004: 44f4 lw a3,76(s1) +80001006: 0xf666f333 + +80001008 <test_A3_data>: +80001008: f666 fsw fs9,44(sp) +8000100a: 55f5 li a1,-3 + +8000100c <test_A4_data>: +8000100c: 88f8 0x88f8 +8000100e: 0xaaaf777 + +80001010 <test_A5_data>: +80001010: 0aaa slli s5,s5,0xa +80001012: 9909 andi a0,a0,-30 +80001014: cc0c sw a1,24(s0) +80001016: 0xeee0bbb + +80001018 <test_B_data>: +80001018: 0eee slli t4,t4,0x1b +8000101a: dd0d beqz a0,80000f54 <complience_halt_break+0xd48> +8000101c: 00f0 addi a2,sp,76 +8000101e: 0fff 0xfff + +80001020 <test_C_data>: +80001020: 5678 lw a4,108(a2) +80001022: 1234 addi a3,sp,296 + +80001024 <test_D_data>: +80001024: 1028 addi a0,sp,40 +80001026: 8000 0x8000 + +80001028 <test_D_data2_label>: +80001028: def0 sw a2,124(a3) +8000102a: 9abc 0x9abc + +8000102c <test_E1_data>: +8000102c: 3210 fld fa2,32(a2) +8000102e: 7654 flw fa3,44(a2) + +80001030 <test_E2_data>: +80001030: ba98 fsd fa4,48(a3) +80001032: fedc fsw fa5,60(a3) + ... + +80001040 <codasip_signature_start>: +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A2_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff + +80001070 <test_A4_res>: +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_B_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff + +800010c0 <test_C_res>: +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_D_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_E1_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_E2_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-LH-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-LH-01.elf.objdump new file mode 100644 index 0000000..d917bae --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-LH-01.elf.objdump @@ -0,0 +1,225 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-LH-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001f97 auipc t6,0x1 +80000004: 000f8f93 mv t6,t6 +80000008: 00001117 auipc sp,0x1 +8000000c: 03810113 addi sp,sp,56 # 80001040 <codasip_signature_start> +80000010: 000f9183 lh gp,0(t6) # 80001000 <test_A1_data> +80000014: 002f9203 lh tp,2(t6) +80000018: 00312023 sw gp,0(sp) +8000001c: 00412223 sw tp,4(sp) +80000020: 00001c17 auipc s8,0x1 +80000024: fe5c0c13 addi s8,s8,-27 # 80001005 <test_A2_data+0x1> +80000028: 00001297 auipc t0,0x1 +8000002c: 02028293 addi t0,t0,32 # 80001048 <test_A2_res> +80000030: fffc1c83 lh s9,-1(s8) +80000034: 001c1d03 lh s10,1(s8) +80000038: 0192a023 sw s9,0(t0) +8000003c: 01a2a223 sw s10,4(t0) +80000040: 00001397 auipc t2,0x1 +80000044: fc738393 addi t2,t2,-57 # 80001007 <test_A2_data+0x3> +80000048: 00001417 auipc s0,0x1 +8000004c: 00840413 addi s0,s0,8 # 80001050 <test_A3_res> +80000050: 00139f03 lh t5,1(t2) +80000054: 00339f83 lh t6,3(t2) +80000058: 01e42023 sw t5,0(s0) +8000005c: 01f42223 sw t6,4(s0) +80000060: 00001517 auipc a0,0x1 +80000064: 7ac50513 addi a0,a0,1964 # 8000180c <_end+0x77c> +80000068: 00001597 auipc a1,0x1 +8000006c: ff058593 addi a1,a1,-16 # 80001058 <test_A4_res> +80000070: 80051603 lh a2,-2048(a0) +80000074: 80251683 lh a3,-2046(a0) +80000078: 00c5a023 sw a2,0(a1) +8000007c: 00d5a223 sw a3,4(a1) +80000080: 00000697 auipc a3,0x0 +80000084: 79368693 addi a3,a3,1939 # 80000813 <complience_halt_break+0x687> +80000088: 00001717 auipc a4,0x1 +8000008c: fd870713 addi a4,a4,-40 # 80001060 <test_A5_res> +80000090: 7fd69783 lh a5,2045(a3) +80000094: 7ff69803 lh a6,2047(a3) +80000098: 00f72023 sw a5,0(a4) +8000009c: 01072223 sw a6,4(a4) +800000a0: 00001817 auipc a6,0x1 +800000a4: f7880813 addi a6,a6,-136 # 80001018 <test_B_data> +800000a8: 00001897 auipc a7,0x1 +800000ac: fc088893 addi a7,a7,-64 # 80001068 <test_B_res> +800000b0: ffc81903 lh s2,-4(a6) +800000b4: ffe81983 lh s3,-2(a6) +800000b8: 00081a03 lh s4,0(a6) +800000bc: 00281a83 lh s5,2(a6) +800000c0: 00481b03 lh s6,4(a6) +800000c4: 00681b83 lh s7,6(a6) +800000c8: 0128a023 sw s2,0(a7) +800000cc: 0138a223 sw s3,4(a7) +800000d0: 0148a423 sw s4,8(a7) +800000d4: 0158a623 sw s5,12(a7) +800000d8: 0168a823 sw s6,16(a7) +800000dc: 0178aa23 sw s7,20(a7) +800000e0: 00001a97 auipc s5,0x1 +800000e4: f40a8a93 addi s5,s5,-192 # 80001020 <test_C_data> +800000e8: 00001b17 auipc s6,0x1 +800000ec: f98b0b13 addi s6,s6,-104 # 80001080 <test_C_res> +800000f0: 000a9003 lh zero,0(s5) +800000f4: 000b2023 sw zero,0(s6) +800000f8: 00001a97 auipc s5,0x1 +800000fc: f2ca8a93 addi s5,s5,-212 # 80001024 <test_D_data> +80000100: 00001b17 auipc s6,0x1 +80000104: f84b0b13 addi s6,s6,-124 # 80001084 <test_D_res> +80000108: 000aab83 lw s7,0(s5) +8000010c: 000b9c03 lh s8,0(s7) +80000110: 000c0c93 mv s9,s8 +80000114: 019b2023 sw s9,0(s6) +80000118: 00001c97 auipc s9,0x1 +8000011c: f14c8c93 addi s9,s9,-236 # 8000102c <test_E1_data> +80000120: 00001d17 auipc s10,0x1 +80000124: f68d0d13 addi s10,s10,-152 # 80001088 <test_E1_res> +80000128: 000c9c83 lh s9,0(s9) +8000012c: 019d2023 sw s9,0(s10) +80000130: 00001d97 auipc s11,0x1 +80000134: f01d8d93 addi s11,s11,-255 # 80001031 <test_E2_data+0x1> +80000138: 00001e17 auipc t3,0x1 +8000013c: f54e0e13 addi t3,t3,-172 # 8000108c <test_E2_res> +80000140: fffd9d83 lh s11,-1(s11) +80000144: 01be2023 sw s11,0(t3) +80000148: 00001517 auipc a0,0x1 +8000014c: ef850513 addi a0,a0,-264 # 80001040 <codasip_signature_start> +80000150: 00001597 auipc a1,0x1 +80000154: f4058593 addi a1,a1,-192 # 80001090 <_end> +80000158: f0100637 lui a2,0xf0100 +8000015c: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee9c> + +80000160 <complience_halt_loop>: +80000160: 02b50663 beq a0,a1,8000018c <complience_halt_break> +80000164: 00c52683 lw a3,12(a0) +80000168: 00d62023 sw a3,0(a2) +8000016c: 00852683 lw a3,8(a0) +80000170: 00d62023 sw a3,0(a2) +80000174: 00452683 lw a3,4(a0) +80000178: 00d62023 sw a3,0(a2) +8000017c: 00052683 lw a3,0(a0) +80000180: 00d62023 sw a3,0(a2) +80000184: 01050513 addi a0,a0,16 +80000188: fd9ff06f j 80000160 <complience_halt_loop> + +8000018c <complience_halt_break>: +8000018c: f0100537 lui a0,0xf0100 +80000190: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee90> +80000194: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: f222 fsw fs0,36(sp) +80001002: 11f1 addi gp,gp,-4 + +80001004 <test_A2_data>: +80001004: 44f4 lw a3,76(s1) +80001006: 0xf666f333 + +80001008 <test_A3_data>: +80001008: f666 fsw fs9,44(sp) +8000100a: 55f5 li a1,-3 + +8000100c <test_A4_data>: +8000100c: 88f8 0x88f8 +8000100e: 0xaaaf777 + +80001010 <test_A5_data>: +80001010: 0aaa slli s5,s5,0xa +80001012: 9909 andi a0,a0,-30 +80001014: cc0c sw a1,24(s0) +80001016: 0xeee0bbb + +80001018 <test_B_data>: +80001018: 0eee slli t4,t4,0x1b +8000101a: dd0d beqz a0,80000f54 <complience_halt_break+0xdc8> +8000101c: 00f0 addi a2,sp,76 +8000101e: 0fff 0xfff + +80001020 <test_C_data>: +80001020: 5678 lw a4,108(a2) +80001022: 1234 addi a3,sp,296 + +80001024 <test_D_data>: +80001024: 1028 addi a0,sp,40 +80001026: 8000 0x8000 + +80001028 <test_D_data2_label>: +80001028: def0 sw a2,124(a3) +8000102a: 9abc 0x9abc + +8000102c <test_E1_data>: +8000102c: 3210 fld fa2,32(a2) +8000102e: 7654 flw fa3,44(a2) + +80001030 <test_E2_data>: +80001030: ba98 fsd fa4,48(a3) +80001032: fedc fsw fa5,60(a3) + ... + +80001040 <codasip_signature_start>: +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A4_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A5_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_B_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_C_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff + +80001084 <test_D_res>: +80001084: ffff 0xffff +80001086: ffff 0xffff + +80001088 <test_E1_res>: +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_E2_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-LHU-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-LHU-01.elf.objdump new file mode 100644 index 0000000..e5d2430 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-LHU-01.elf.objdump @@ -0,0 +1,225 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-LHU-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001f97 auipc t6,0x1 +80000004: 000f8f93 mv t6,t6 +80000008: 00001117 auipc sp,0x1 +8000000c: 03810113 addi sp,sp,56 # 80001040 <codasip_signature_start> +80000010: 000fd183 lhu gp,0(t6) # 80001000 <test_A1_data> +80000014: 002fd203 lhu tp,2(t6) +80000018: 00312023 sw gp,0(sp) +8000001c: 00412223 sw tp,4(sp) +80000020: 00001c17 auipc s8,0x1 +80000024: fe5c0c13 addi s8,s8,-27 # 80001005 <test_A2_data+0x1> +80000028: 00001297 auipc t0,0x1 +8000002c: 02028293 addi t0,t0,32 # 80001048 <test_A2_res> +80000030: fffc5c83 lhu s9,-1(s8) +80000034: 001c5d03 lhu s10,1(s8) +80000038: 0192a023 sw s9,0(t0) +8000003c: 01a2a223 sw s10,4(t0) +80000040: 00001397 auipc t2,0x1 +80000044: fc738393 addi t2,t2,-57 # 80001007 <test_A2_data+0x3> +80000048: 00001417 auipc s0,0x1 +8000004c: 00840413 addi s0,s0,8 # 80001050 <test_A3_res> +80000050: 0013df03 lhu t5,1(t2) +80000054: 0033df83 lhu t6,3(t2) +80000058: 01e42023 sw t5,0(s0) +8000005c: 01f42223 sw t6,4(s0) +80000060: 00001517 auipc a0,0x1 +80000064: 7ac50513 addi a0,a0,1964 # 8000180c <_end+0x77c> +80000068: 00001597 auipc a1,0x1 +8000006c: ff058593 addi a1,a1,-16 # 80001058 <test_A4_res> +80000070: 80055603 lhu a2,-2048(a0) +80000074: 80255683 lhu a3,-2046(a0) +80000078: 00c5a023 sw a2,0(a1) +8000007c: 00d5a223 sw a3,4(a1) +80000080: 00000697 auipc a3,0x0 +80000084: 79368693 addi a3,a3,1939 # 80000813 <complience_halt_break+0x687> +80000088: 00001717 auipc a4,0x1 +8000008c: fd870713 addi a4,a4,-40 # 80001060 <test_A5_res> +80000090: 7fd6d783 lhu a5,2045(a3) +80000094: 7ff6d803 lhu a6,2047(a3) +80000098: 00f72023 sw a5,0(a4) +8000009c: 01072223 sw a6,4(a4) +800000a0: 00001817 auipc a6,0x1 +800000a4: f7880813 addi a6,a6,-136 # 80001018 <test_B_data> +800000a8: 00001897 auipc a7,0x1 +800000ac: fc088893 addi a7,a7,-64 # 80001068 <test_B_res> +800000b0: ffc85903 lhu s2,-4(a6) +800000b4: ffe85983 lhu s3,-2(a6) +800000b8: 00085a03 lhu s4,0(a6) +800000bc: 00285a83 lhu s5,2(a6) +800000c0: 00485b03 lhu s6,4(a6) +800000c4: 00685b83 lhu s7,6(a6) +800000c8: 0128a023 sw s2,0(a7) +800000cc: 0138a223 sw s3,4(a7) +800000d0: 0148a423 sw s4,8(a7) +800000d4: 0158a623 sw s5,12(a7) +800000d8: 0168a823 sw s6,16(a7) +800000dc: 0178aa23 sw s7,20(a7) +800000e0: 00001a97 auipc s5,0x1 +800000e4: f40a8a93 addi s5,s5,-192 # 80001020 <test_C_data> +800000e8: 00001b17 auipc s6,0x1 +800000ec: f98b0b13 addi s6,s6,-104 # 80001080 <test_C_res> +800000f0: 000ad003 lhu zero,0(s5) +800000f4: 000b2023 sw zero,0(s6) +800000f8: 00001a97 auipc s5,0x1 +800000fc: f2ca8a93 addi s5,s5,-212 # 80001024 <test_D_data> +80000100: 00001b17 auipc s6,0x1 +80000104: f84b0b13 addi s6,s6,-124 # 80001084 <test_D_res> +80000108: 000aab83 lw s7,0(s5) +8000010c: 000bdc03 lhu s8,0(s7) +80000110: 000c0c93 mv s9,s8 +80000114: 019b2023 sw s9,0(s6) +80000118: 00001c97 auipc s9,0x1 +8000011c: f14c8c93 addi s9,s9,-236 # 8000102c <test_E1_data> +80000120: 00001d17 auipc s10,0x1 +80000124: f68d0d13 addi s10,s10,-152 # 80001088 <test_E1_res> +80000128: 000cdc83 lhu s9,0(s9) +8000012c: 019d2023 sw s9,0(s10) +80000130: 00001d97 auipc s11,0x1 +80000134: f01d8d93 addi s11,s11,-255 # 80001031 <test_E2_data+0x1> +80000138: 00001e17 auipc t3,0x1 +8000013c: f54e0e13 addi t3,t3,-172 # 8000108c <test_E2_res> +80000140: fffddd83 lhu s11,-1(s11) +80000144: 01be2023 sw s11,0(t3) +80000148: 00001517 auipc a0,0x1 +8000014c: ef850513 addi a0,a0,-264 # 80001040 <codasip_signature_start> +80000150: 00001597 auipc a1,0x1 +80000154: f4058593 addi a1,a1,-192 # 80001090 <_end> +80000158: f0100637 lui a2,0xf0100 +8000015c: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee9c> + +80000160 <complience_halt_loop>: +80000160: 02b50663 beq a0,a1,8000018c <complience_halt_break> +80000164: 00c52683 lw a3,12(a0) +80000168: 00d62023 sw a3,0(a2) +8000016c: 00852683 lw a3,8(a0) +80000170: 00d62023 sw a3,0(a2) +80000174: 00452683 lw a3,4(a0) +80000178: 00d62023 sw a3,0(a2) +8000017c: 00052683 lw a3,0(a0) +80000180: 00d62023 sw a3,0(a2) +80000184: 01050513 addi a0,a0,16 +80000188: fd9ff06f j 80000160 <complience_halt_loop> + +8000018c <complience_halt_break>: +8000018c: f0100537 lui a0,0xf0100 +80000190: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee90> +80000194: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: f222 fsw fs0,36(sp) +80001002: 11f1 addi gp,gp,-4 + +80001004 <test_A2_data>: +80001004: 44f4 lw a3,76(s1) +80001006: 0xf666f333 + +80001008 <test_A3_data>: +80001008: f666 fsw fs9,44(sp) +8000100a: 55f5 li a1,-3 + +8000100c <test_A4_data>: +8000100c: 88f8 0x88f8 +8000100e: 0xaaaf777 + +80001010 <test_A5_data>: +80001010: 0aaa slli s5,s5,0xa +80001012: 9909 andi a0,a0,-30 +80001014: cc0c sw a1,24(s0) +80001016: 0xeee0bbb + +80001018 <test_B_data>: +80001018: 0eee slli t4,t4,0x1b +8000101a: dd0d beqz a0,80000f54 <complience_halt_break+0xdc8> +8000101c: 00f0 addi a2,sp,76 +8000101e: 0fff 0xfff + +80001020 <test_C_data>: +80001020: 5678 lw a4,108(a2) +80001022: 1234 addi a3,sp,296 + +80001024 <test_D_data>: +80001024: 1028 addi a0,sp,40 +80001026: 8000 0x8000 + +80001028 <test_D_data2_label>: +80001028: def0 sw a2,124(a3) +8000102a: 9abc 0x9abc + +8000102c <test_E1_data>: +8000102c: 3210 fld fa2,32(a2) +8000102e: 7654 flw fa3,44(a2) + +80001030 <test_E2_data>: +80001030: ba98 fsd fa4,48(a3) +80001032: fedc fsw fa5,60(a3) + ... + +80001040 <codasip_signature_start>: +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A4_res>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A5_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_B_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_C_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff + +80001084 <test_D_res>: +80001084: ffff 0xffff +80001086: ffff 0xffff + +80001088 <test_E1_res>: +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_E2_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-LUI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-LUI-01.elf.objdump new file mode 100644 index 0000000..0d35aba --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-LUI-01.elf.objdump @@ -0,0 +1,128 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-LUI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001797 auipc a5,0x1 +80000004: 01078793 addi a5,a5,16 # 80001010 <codasip_signature_start> +80000008: 000000b7 lui ra,0x0 +8000000c: 000011b7 lui gp,0x1 +80000010: fffff2b7 lui t0,0xfffff +80000014: 7ffffeb7 lui t4,0x7ffff +80000018: 80000fb7 lui t6,0x80000 +8000001c: 0017a023 sw ra,0(a5) +80000020: 0037a223 sw gp,4(a5) +80000024: 0057a423 sw t0,8(a5) +80000028: 01d7a623 sw t4,12(a5) +8000002c: 01f7a823 sw t6,16(a5) +80000030: 00001797 auipc a5,0x1 +80000034: fd078793 addi a5,a5,-48 # 80001000 <test_B_data> +80000038: 00001817 auipc a6,0x1 +8000003c: fec80813 addi a6,a6,-20 # 80001024 <test_B_res> +80000040: 0007a103 lw sp,0(a5) +80000044: 0007a203 lw tp,0(a5) +80000048: 0007a303 lw t1,0(a5) +8000004c: 0007ae03 lw t3,0(a5) +80000050: 0007af03 lw t5,0(a5) +80000054: 80000137 lui sp,0x80000 +80000058: 7ffff237 lui tp,0x7ffff +8000005c: 00000337 lui t1,0x0 +80000060: 00001e37 lui t3,0x1 +80000064: ffffff37 lui t5,0xfffff +80000068: 00282023 sw sp,0(a6) +8000006c: 00482223 sw tp,4(a6) +80000070: 00682423 sw t1,8(a6) +80000074: 01c82623 sw t3,12(a6) +80000078: 01e82823 sw t5,16(a6) +8000007c: 00001897 auipc a7,0x1 +80000080: fbc88893 addi a7,a7,-68 # 80001038 <test_C_res> +80000084: 427270b7 lui ra,0x42727 +80000088: e6f08093 addi ra,ra,-401 # 42726e6f <_start-0x3d8d9191> +8000008c: 123457b7 lui a5,0x12345 +80000090: 67878793 addi a5,a5,1656 # 12345678 <_start-0x6dcba988> +80000094: 9abcef37 lui t5,0x9abce +80000098: ef0f0f13 addi t5,t5,-272 # 9abcdef0 <_end+0x1abccea0> +8000009c: 42727137 lui sp,0x42727 +800000a0: e6f10113 addi sp,sp,-401 # 42726e6f <_start-0x3d8d9191> +800000a4: 12345837 lui a6,0x12345 +800000a8: 67880813 addi a6,a6,1656 # 12345678 <_start-0x6dcba988> +800000ac: 9abcefb7 lui t6,0x9abce +800000b0: ef0f8f93 addi t6,t6,-272 # 9abcdef0 <_end+0x1abccea0> +800000b4: 0018a023 sw ra,0(a7) +800000b8: 00f8a223 sw a5,4(a7) +800000bc: 01e8a423 sw t5,8(a7) +800000c0: 0028a623 sw sp,12(a7) +800000c4: 0108a823 sw a6,16(a7) +800000c8: 01f8aa23 sw t6,20(a7) +800000cc: 00001517 auipc a0,0x1 +800000d0: f4450513 addi a0,a0,-188 # 80001010 <codasip_signature_start> +800000d4: 00001597 auipc a1,0x1 +800000d8: f7c58593 addi a1,a1,-132 # 80001050 <_end> +800000dc: f0100637 lui a2,0xf0100 +800000e0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feedc> + +800000e4 <complience_halt_loop>: +800000e4: 02b50663 beq a0,a1,80000110 <complience_halt_break> +800000e8: 00c52683 lw a3,12(a0) +800000ec: 00d62023 sw a3,0(a2) +800000f0: 00852683 lw a3,8(a0) +800000f4: 00d62023 sw a3,0(a2) +800000f8: 00452683 lw a3,4(a0) +800000fc: 00d62023 sw a3,0(a2) +80000100: 00052683 lw a3,0(a0) +80000104: 00d62023 sw a3,0(a2) +80000108: 01050513 addi a0,a0,16 +8000010c: fd9ff06f j 800000e4 <complience_halt_loop> + +80000110 <complience_halt_break>: +80000110: f0100537 lui a0,0xf0100 +80000114: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feed0> +80000118: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_B_data>: +80001000: 1111 addi sp,sp,-28 +80001002: 1111 addi sp,sp,-28 + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff + +80001024 <test_B_res>: +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_C_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-LW-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-LW-01.elf.objdump new file mode 100644 index 0000000..8d033c8 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-LW-01.elf.objdump @@ -0,0 +1,193 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-LW-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001f97 auipc t6,0x1 +80000004: 000f8f93 mv t6,t6 +80000008: 00001117 auipc sp,0x1 +8000000c: 03810113 addi sp,sp,56 # 80001040 <codasip_signature_start> +80000010: 000fa183 lw gp,0(t6) # 80001000 <test_A1_data> +80000014: 00312023 sw gp,0(sp) +80000018: 00001c17 auipc s8,0x1 +8000001c: fedc0c13 addi s8,s8,-19 # 80001005 <test_A2_data+0x1> +80000020: 00001297 auipc t0,0x1 +80000024: 02428293 addi t0,t0,36 # 80001044 <test_A2_res> +80000028: fffc2c83 lw s9,-1(s8) +8000002c: 0192a023 sw s9,0(t0) +80000030: 00001397 auipc t2,0x1 +80000034: fd738393 addi t2,t2,-41 # 80001007 <test_A2_data+0x3> +80000038: 00001417 auipc s0,0x1 +8000003c: 01040413 addi s0,s0,16 # 80001048 <test_A3_res> +80000040: 0013af83 lw t6,1(t2) +80000044: 01f42023 sw t6,0(s0) +80000048: 00001517 auipc a0,0x1 +8000004c: 7c450513 addi a0,a0,1988 # 8000180c <_end+0x79c> +80000050: 00001597 auipc a1,0x1 +80000054: ffc58593 addi a1,a1,-4 # 8000104c <test_A4_res> +80000058: 80052603 lw a2,-2048(a0) +8000005c: 00c5a023 sw a2,0(a1) +80000060: 00000697 auipc a3,0x0 +80000064: 7b168693 addi a3,a3,1969 # 80000811 <complience_halt_break+0x6c5> +80000068: 00001717 auipc a4,0x1 +8000006c: fe870713 addi a4,a4,-24 # 80001050 <test_A5_res> +80000070: 7ff6a783 lw a5,2047(a3) +80000074: 00f72023 sw a5,0(a4) +80000078: 00001817 auipc a6,0x1 +8000007c: fa080813 addi a6,a6,-96 # 80001018 <test_B_data> +80000080: 00001897 auipc a7,0x1 +80000084: fd488893 addi a7,a7,-44 # 80001054 <test_B_res> +80000088: ffc82903 lw s2,-4(a6) +8000008c: 00082983 lw s3,0(a6) +80000090: 00482a03 lw s4,4(a6) +80000094: 0128a023 sw s2,0(a7) +80000098: 0138a223 sw s3,4(a7) +8000009c: 0148a423 sw s4,8(a7) +800000a0: 00001a97 auipc s5,0x1 +800000a4: f80a8a93 addi s5,s5,-128 # 80001020 <test_C_data> +800000a8: 00001b17 auipc s6,0x1 +800000ac: fb8b0b13 addi s6,s6,-72 # 80001060 <test_C_res> +800000b0: 000aa003 lw zero,0(s5) +800000b4: 000b2023 sw zero,0(s6) +800000b8: 00001a97 auipc s5,0x1 +800000bc: f6ca8a93 addi s5,s5,-148 # 80001024 <test_D_data> +800000c0: 00001b17 auipc s6,0x1 +800000c4: fa4b0b13 addi s6,s6,-92 # 80001064 <test_D_res> +800000c8: 000aab83 lw s7,0(s5) +800000cc: 000bac03 lw s8,0(s7) +800000d0: 000c0c93 mv s9,s8 +800000d4: 019b2023 sw s9,0(s6) +800000d8: 00001c97 auipc s9,0x1 +800000dc: f54c8c93 addi s9,s9,-172 # 8000102c <test_E1_data> +800000e0: 00001d17 auipc s10,0x1 +800000e4: f88d0d13 addi s10,s10,-120 # 80001068 <test_E1_res> +800000e8: 000cac83 lw s9,0(s9) +800000ec: 019d2023 sw s9,0(s10) +800000f0: 00001d97 auipc s11,0x1 +800000f4: f41d8d93 addi s11,s11,-191 # 80001031 <test_E2_data+0x1> +800000f8: 00001e17 auipc t3,0x1 +800000fc: f74e0e13 addi t3,t3,-140 # 8000106c <test_E2_res> +80000100: fffdad83 lw s11,-1(s11) +80000104: 01be2023 sw s11,0(t3) +80000108: 00001517 auipc a0,0x1 +8000010c: f3850513 addi a0,a0,-200 # 80001040 <codasip_signature_start> +80000110: 00001597 auipc a1,0x1 +80000114: f6058593 addi a1,a1,-160 # 80001070 <_end> +80000118: f0100637 lui a2,0xf0100 +8000011c: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feebc> + +80000120 <complience_halt_loop>: +80000120: 02b50663 beq a0,a1,8000014c <complience_halt_break> +80000124: 00c52683 lw a3,12(a0) +80000128: 00d62023 sw a3,0(a2) +8000012c: 00852683 lw a3,8(a0) +80000130: 00d62023 sw a3,0(a2) +80000134: 00452683 lw a3,4(a0) +80000138: 00d62023 sw a3,0(a2) +8000013c: 00052683 lw a3,0(a0) +80000140: 00d62023 sw a3,0(a2) +80000144: 01050513 addi a0,a0,16 +80000148: fd9ff06f j 80000120 <complience_halt_loop> + +8000014c <complience_halt_break>: +8000014c: f0100537 lui a0,0xf0100 +80000150: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feeb0> +80000154: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: f222 fsw fs0,36(sp) +80001002: 11f1 addi gp,gp,-4 + +80001004 <test_A2_data>: +80001004: 44f4 lw a3,76(s1) +80001006: 0xf666f333 + +80001008 <test_A3_data>: +80001008: f666 fsw fs9,44(sp) +8000100a: 55f5 li a1,-3 + +8000100c <test_A4_data>: +8000100c: 88f8 0x88f8 +8000100e: 0xaaaf777 + +80001010 <test_A5_data>: +80001010: 0aaa slli s5,s5,0xa +80001012: 9909 andi a0,a0,-30 +80001014: cc0c sw a1,24(s0) +80001016: 0xeee0bbb + +80001018 <test_B_data>: +80001018: 0eee slli t4,t4,0x1b +8000101a: dd0d beqz a0,80000f54 <complience_halt_break+0xe08> +8000101c: 00f0 addi a2,sp,76 +8000101e: 0fff 0xfff + +80001020 <test_C_data>: +80001020: 5678 lw a4,108(a2) +80001022: 1234 addi a3,sp,296 + +80001024 <test_D_data>: +80001024: 1028 addi a0,sp,40 +80001026: 8000 0x8000 + +80001028 <test_D_data2_label>: +80001028: def0 sw a2,124(a3) +8000102a: 9abc 0x9abc + +8000102c <test_E1_data>: +8000102c: 3210 fld fa2,32(a2) +8000102e: 7654 flw fa3,44(a2) + +80001030 <test_E2_data>: +80001030: ba98 fsd fa4,48(a3) +80001032: fedc fsw fa5,60(a3) + ... + +80001040 <codasip_signature_start>: +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_A2_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A3_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff + +8000104c <test_A4_res>: +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff + +80001054 <test_B_res>: +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_C_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_D_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_E1_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff + +8000106c <test_E2_res>: +8000106c: ffff 0xffff +8000106e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-MISALIGN_JMP-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-MISALIGN_JMP-01.elf.objdump new file mode 100644 index 0000000..f08f7b4 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-MISALIGN_JMP-01.elf.objdump @@ -0,0 +1,268 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-MISALIGN_JMP-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00000097 auipc ra,0x0 +80000004: 20808093 addi ra,ra,520 # 80000208 <_trap_handler> +80000008: 30509ff3 csrrw t6,mtvec,ra +8000000c: 30127073 csrci misa,4 +80000010: 00001097 auipc ra,0x1 +80000014: ff008093 addi ra,ra,-16 # 80001000 <codasip_signature_start> +80000018: 11111137 lui sp,0x11111 +8000001c: 11110113 addi sp,sp,273 # 11111111 <_start-0x6eeeeeef> +80000020: 00a0006f j 8000002a <_start+0x2a> +80000024: 00000113 li sp,0 +80000028: 00001097 auipc ra,0x1 +8000002c: fe408093 addi ra,ra,-28 # 8000100c <test_A2_res> +80000030: 22222137 lui sp,0x22222 +80000034: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +80000038: 00000217 auipc tp,0x0 +8000003c: 01120213 addi tp,tp,17 # 80000049 <_start+0x49> +80000040: 00020067 jr tp +80000044: 00000113 li sp,0 +80000048: 0020a023 sw sp,0(ra) +8000004c: 00408093 addi ra,ra,4 +80000050: 33333137 lui sp,0x33333 +80000054: 33310113 addi sp,sp,819 # 33333333 <_start-0x4ccccccd> +80000058: 00000217 auipc tp,0x0 +8000005c: 01020213 addi tp,tp,16 # 80000068 <_start+0x68> +80000060: 00120067 jr 1(tp) # 1 <_start-0x7fffffff> +80000064: 00000113 li sp,0 +80000068: 0020a023 sw sp,0(ra) +8000006c: 00408093 addi ra,ra,4 +80000070: 44444137 lui sp,0x44444 +80000074: 44410113 addi sp,sp,1092 # 44444444 <_start-0x3bbbbbbc> +80000078: 00000217 auipc tp,0x0 +8000007c: 01420213 addi tp,tp,20 # 8000008c <_start+0x8c> +80000080: ffd20067 jr -3(tp) # fffffffd <_end+0x7fffef6d> +80000084: 00000113 li sp,0 +80000088: 0020a023 sw sp,0(ra) +8000008c: 00408093 addi ra,ra,4 +80000090: 00001097 auipc ra,0x1 +80000094: f8808093 addi ra,ra,-120 # 80001018 <test_A3_res_exc> +80000098: 55555137 lui sp,0x55555 +8000009c: 55510113 addi sp,sp,1365 # 55555555 <_start-0x2aaaaaab> +800000a0: 00000217 auipc tp,0x0 +800000a4: 01220213 addi tp,tp,18 # 800000b2 <_start+0xb2> +800000a8: 00020067 jr tp +800000ac: 00000113 li sp,0 +800000b0: 66666137 lui sp,0x66666 +800000b4: 66610113 addi sp,sp,1638 # 66666666 <_start-0x1999999a> +800000b8: 00000217 auipc tp,0x0 +800000bc: 01320213 addi tp,tp,19 # 800000cb <_start+0xcb> +800000c0: 00020067 jr tp +800000c4: 00000113 li sp,0 +800000c8: 77777137 lui sp,0x77777 +800000cc: 77710113 addi sp,sp,1911 # 77777777 <_start-0x8888889> +800000d0: 00000217 auipc tp,0x0 +800000d4: 01020213 addi tp,tp,16 # 800000e0 <_start+0xe0> +800000d8: 00220067 jr 2(tp) # 2 <_start-0x7ffffffe> +800000dc: 00000113 li sp,0 +800000e0: 88889137 lui sp,0x88889 +800000e4: 88810113 addi sp,sp,-1912 # 88888888 <_end+0x88877f8> +800000e8: 00000217 auipc tp,0x0 +800000ec: 01020213 addi tp,tp,16 # 800000f8 <_start+0xf8> +800000f0: 00320067 jr 3(tp) # 3 <_start-0x7ffffffd> +800000f4: 00000113 li sp,0 +800000f8: 00001097 auipc ra,0x1 +800000fc: f5008093 addi ra,ra,-176 # 80001048 <test_B1_res_exc> +80000100: 00500293 li t0,5 +80000104: 00600313 li t1,6 +80000108: 00628763 beq t0,t1,80000116 <_start+0x116> +8000010c: 9999a137 lui sp,0x9999a +80000110: 99910113 addi sp,sp,-1639 # 99999999 <_end+0x19998909> +80000114: 00000013 nop +80000118: 00000013 nop +8000011c: 00528563 beq t0,t0,80000126 <_start+0x126> +80000120: 00000113 li sp,0 +80000124: 00001097 auipc ra,0x1 +80000128: f3008093 addi ra,ra,-208 # 80001054 <test_B2_res_exc> +8000012c: 00500293 li t0,5 +80000130: 00600313 li t1,6 +80000134: 00529763 bne t0,t0,80000142 <_start+0x142> +80000138: aaaab137 lui sp,0xaaaab +8000013c: aaa10113 addi sp,sp,-1366 # aaaaaaaa <_end+0x2aaa9a1a> +80000140: 00000013 nop +80000144: 00000013 nop +80000148: 00629563 bne t0,t1,80000152 <_start+0x152> +8000014c: 00000113 li sp,0 +80000150: 00001097 auipc ra,0x1 +80000154: f1008093 addi ra,ra,-240 # 80001060 <test_B3_res_exc> +80000158: 00500293 li t0,5 +8000015c: 00600313 li t1,6 +80000160: 00534763 blt t1,t0,8000016e <_start+0x16e> +80000164: bbbbc137 lui sp,0xbbbbc +80000168: bbb10113 addi sp,sp,-1093 # bbbbbbbb <_end+0x3bbbab2b> +8000016c: 00000013 nop +80000170: 00000013 nop +80000174: 0062c563 blt t0,t1,8000017e <_start+0x17e> +80000178: 00000113 li sp,0 +8000017c: 00001097 auipc ra,0x1 +80000180: ef008093 addi ra,ra,-272 # 8000106c <test_B4_res_exc> +80000184: 00500293 li t0,5 +80000188: 00600313 li t1,6 +8000018c: 00536763 bltu t1,t0,8000019a <_start+0x19a> +80000190: ccccd137 lui sp,0xccccd +80000194: ccc10113 addi sp,sp,-820 # cccccccc <_end+0x4cccbc3c> +80000198: 00000013 nop +8000019c: 00000013 nop +800001a0: 0062e563 bltu t0,t1,800001aa <_start+0x1aa> +800001a4: 00000113 li sp,0 +800001a8: 00001097 auipc ra,0x1 +800001ac: ed008093 addi ra,ra,-304 # 80001078 <test_B5_res_exc> +800001b0: 00500293 li t0,5 +800001b4: 00600313 li t1,6 +800001b8: 0062d763 ble t1,t0,800001c6 <_start+0x1c6> +800001bc: dddde137 lui sp,0xdddde +800001c0: ddd10113 addi sp,sp,-547 # dddddddd <_end+0x5dddcd4d> +800001c4: 00000013 nop +800001c8: 00000013 nop +800001cc: 00535563 ble t0,t1,800001d6 <_start+0x1d6> +800001d0: 00000113 li sp,0 +800001d4: 00001097 auipc ra,0x1 +800001d8: eb008093 addi ra,ra,-336 # 80001084 <test_B6_res_exc> +800001dc: 00500293 li t0,5 +800001e0: 00600313 li t1,6 +800001e4: 0062f763 bleu t1,t0,800001f2 <_start+0x1f2> +800001e8: eeeef137 lui sp,0xeeeef +800001ec: eee10113 addi sp,sp,-274 # eeeeeeee <_end+0x6eeede5e> +800001f0: 00000013 nop +800001f4: 00000013 nop +800001f8: 00537563 bleu t0,t1,80000202 <_start+0x202> +800001fc: 00000113 li sp,0 +80000200: 305f9073 csrw mtvec,t6 +80000204: 0300006f j 80000234 <test_end> + +80000208 <_trap_handler>: +80000208: 34302f73 csrr t5,mbadaddr +8000020c: ffef0f13 addi t5,t5,-2 +80000210: 341f1073 csrw mepc,t5 +80000214: 34302f73 csrr t5,mbadaddr +80000218: 003f7f13 andi t5,t5,3 +8000021c: 01e0a023 sw t5,0(ra) +80000220: 34202f73 csrr t5,mcause +80000224: 01e0a223 sw t5,4(ra) +80000228: 0020a423 sw sp,8(ra) +8000022c: 00c08093 addi ra,ra,12 +80000230: 30200073 mret + +80000234 <test_end>: +80000234: 00001517 auipc a0,0x1 +80000238: dcc50513 addi a0,a0,-564 # 80001000 <codasip_signature_start> +8000023c: 00001597 auipc a1,0x1 +80000240: e5458593 addi a1,a1,-428 # 80001090 <_end> +80000244: f0100637 lui a2,0xf0100 +80000248: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee9c> + +8000024c <complience_halt_loop>: +8000024c: 02b50663 beq a0,a1,80000278 <complience_halt_break> +80000250: 00c52683 lw a3,12(a0) +80000254: 00d62023 sw a3,0(a2) +80000258: 00852683 lw a3,8(a0) +8000025c: 00d62023 sw a3,0(a2) +80000260: 00452683 lw a3,4(a0) +80000264: 00d62023 sw a3,0(a2) +80000268: 00052683 lw a3,0(a0) +8000026c: 00d62023 sw a3,0(a2) +80000270: 01050513 addi a0,a0,16 +80000274: fd9ff06f j 8000024c <complience_halt_loop> + +80000278 <complience_halt_break>: +80000278: f0100537 lui a0,0xf0100 +8000027c: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee90> +80000280: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A2_res>: +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A3_res_exc>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_B1_res_exc>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff + +80001054 <test_B2_res_exc>: +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_B3_res_exc>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff + +8000106c <test_B4_res_exc>: +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_B5_res_exc>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff + +80001084 <test_B6_res_exc>: +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-MISALIGN_LDST-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-MISALIGN_LDST-01.elf.objdump new file mode 100644 index 0000000..cfb5c06 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-MISALIGN_LDST-01.elf.objdump @@ -0,0 +1,242 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-MISALIGN_LDST-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00000097 auipc ra,0x0 +80000004: 14408093 addi ra,ra,324 # 80000144 <_trap_handler> +80000008: 30509ff3 csrrw t6,mtvec,ra +8000000c: 00001197 auipc gp,0x1 +80000010: ff418193 addi gp,gp,-12 # 80001000 <test_A1_data> +80000014: 00001117 auipc sp,0x1 +80000018: ffc10113 addi sp,sp,-4 # 80001010 <codasip_signature_start> +8000001c: 00001097 auipc ra,0x1 +80000020: 00408093 addi ra,ra,4 # 80001020 <test_A1_res_exc> +80000024: 00500293 li t0,5 +80000028: 00600313 li t1,6 +8000002c: 0001a203 lw tp,0(gp) +80000030: 00412023 sw tp,0(sp) +80000034: 0011a203 lw tp,1(gp) +80000038: 00412223 sw tp,4(sp) +8000003c: 0021a203 lw tp,2(gp) +80000040: 00412423 sw tp,8(sp) +80000044: 0031a203 lw tp,3(gp) +80000048: 00412623 sw tp,12(sp) +8000004c: 00001197 auipc gp,0x1 +80000050: fb818193 addi gp,gp,-72 # 80001004 <test_A2_data> +80000054: 00001117 auipc sp,0x1 +80000058: fe410113 addi sp,sp,-28 # 80001038 <test_A2_res> +8000005c: 00001097 auipc ra,0x1 +80000060: ffc08093 addi ra,ra,-4 # 80001058 <test_A2_res_exc> +80000064: 00500293 li t0,5 +80000068: 00600313 li t1,6 +8000006c: 00019203 lh tp,0(gp) +80000070: 00412023 sw tp,0(sp) +80000074: 00119203 lh tp,1(gp) +80000078: 00412223 sw tp,4(sp) +8000007c: 00219203 lh tp,2(gp) +80000080: 00412423 sw tp,8(sp) +80000084: 00319203 lh tp,3(gp) +80000088: 00412623 sw tp,12(sp) +8000008c: 0001d203 lhu tp,0(gp) +80000090: 00412823 sw tp,16(sp) +80000094: 0011d203 lhu tp,1(gp) +80000098: 00412a23 sw tp,20(sp) +8000009c: 0021d203 lhu tp,2(gp) +800000a0: 00412c23 sw tp,24(sp) +800000a4: 0031d203 lhu tp,3(gp) +800000a8: 00412e23 sw tp,28(sp) +800000ac: 00001117 auipc sp,0x1 +800000b0: fcc10113 addi sp,sp,-52 # 80001078 <test_B1_res> +800000b4: 00001097 auipc ra,0x1 +800000b8: fd408093 addi ra,ra,-44 # 80001088 <test_B1_res_exc> +800000bc: 00000313 li t1,0 +800000c0: 9999a2b7 lui t0,0x9999a +800000c4: 99928293 addi t0,t0,-1639 # 99999999 <_end+0x199988d9> +800000c8: 00512023 sw t0,0(sp) +800000cc: 00512223 sw t0,4(sp) +800000d0: 00512423 sw t0,8(sp) +800000d4: 00512623 sw t0,12(sp) +800000d8: 00612023 sw t1,0(sp) +800000dc: 00410113 addi sp,sp,4 +800000e0: 006120a3 sw t1,1(sp) +800000e4: 00410113 addi sp,sp,4 +800000e8: 00612123 sw t1,2(sp) +800000ec: 00410113 addi sp,sp,4 +800000f0: 006121a3 sw t1,3(sp) +800000f4: 00001117 auipc sp,0x1 +800000f8: fac10113 addi sp,sp,-84 # 800010a0 <test_B2_res> +800000fc: 00001097 auipc ra,0x1 +80000100: fb408093 addi ra,ra,-76 # 800010b0 <test_B2_res_exc> +80000104: 00000313 li t1,0 +80000108: 9999a2b7 lui t0,0x9999a +8000010c: 99928293 addi t0,t0,-1639 # 99999999 <_end+0x199988d9> +80000110: 00512023 sw t0,0(sp) +80000114: 00512223 sw t0,4(sp) +80000118: 00512423 sw t0,8(sp) +8000011c: 00512623 sw t0,12(sp) +80000120: 00611023 sh t1,0(sp) +80000124: 00410113 addi sp,sp,4 +80000128: 006110a3 sh t1,1(sp) +8000012c: 00410113 addi sp,sp,4 +80000130: 00611123 sh t1,2(sp) +80000134: 00410113 addi sp,sp,4 +80000138: 006111a3 sh t1,3(sp) +8000013c: 305f9073 csrw mtvec,t6 +80000140: 02c0006f j 8000016c <test_end> + +80000144 <_trap_handler>: +80000144: 34102f73 csrr t5,mepc +80000148: 004f0f13 addi t5,t5,4 +8000014c: 341f1073 csrw mepc,t5 +80000150: 34302f73 csrr t5,mbadaddr +80000154: 003f7f13 andi t5,t5,3 +80000158: 01e0a023 sw t5,0(ra) +8000015c: 34202f73 csrr t5,mcause +80000160: 01e0a223 sw t5,4(ra) +80000164: 00808093 addi ra,ra,8 +80000168: 30200073 mret + +8000016c <test_end>: +8000016c: 00001517 auipc a0,0x1 +80000170: ea450513 addi a0,a0,-348 # 80001010 <codasip_signature_start> +80000174: 00001597 auipc a1,0x1 +80000178: f4c58593 addi a1,a1,-180 # 800010c0 <_end> +8000017c: f0100637 lui a2,0xf0100 +80000180: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +80000184 <complience_halt_loop>: +80000184: 02b50663 beq a0,a1,800001b0 <complience_halt_break> +80000188: 00c52683 lw a3,12(a0) +8000018c: 00d62023 sw a3,0(a2) +80000190: 00852683 lw a3,8(a0) +80000194: 00d62023 sw a3,0(a2) +80000198: 00452683 lw a3,4(a0) +8000019c: 00d62023 sw a3,0(a2) +800001a0: 00052683 lw a3,0(a0) +800001a4: 00d62023 sw a3,0(a2) +800001a8: 01050513 addi a0,a0,16 +800001ac: fd9ff06f j 80000184 <complience_halt_loop> + +800001b0 <complience_halt_break>: +800001b0: f0100537 lui a0,0xf0100 +800001b4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +800001b8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: b1c1 j 80000cc0 <complience_halt_break+0xb10> +80001002: 91a1 srli a1,a1,0x28 + +80001004 <test_A2_data>: +80001004: f202 fsw ft0,36(sp) +80001006: d2e2 sw s8,100(sp) + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff + +80001020 <test_A1_res_exc>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff + +80001058 <test_A2_res_exc>: +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_B1_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff + +80001088 <test_B1_res_exc>: +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_B2_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff + +800010b0 <test_B2_res_exc>: +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-NOP-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-NOP-01.elf.objdump new file mode 100644 index 0000000..7b02fd1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-NOP-01.elf.objdump @@ -0,0 +1,183 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-NOP-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00200113 li sp,2 +8000000c: 00300193 li gp,3 +80000010: 00400213 li tp,4 +80000014: 00500293 li t0,5 +80000018: 00600313 li t1,6 +8000001c: 00700393 li t2,7 +80000020: 00800413 li s0,8 +80000024: 00900493 li s1,9 +80000028: 00a00513 li a0,10 +8000002c: 00b00593 li a1,11 +80000030: 00c00613 li a2,12 +80000034: 00d00693 li a3,13 +80000038: 00e00713 li a4,14 +8000003c: 00f00793 li a5,15 +80000040: 01000813 li a6,16 +80000044: 01100893 li a7,17 +80000048: 01200913 li s2,18 +8000004c: 01300993 li s3,19 +80000050: 01400a13 li s4,20 +80000054: 01500a93 li s5,21 +80000058: 01600b13 li s6,22 +8000005c: 01700b93 li s7,23 +80000060: 01800c13 li s8,24 +80000064: 01900c93 li s9,25 +80000068: 01a00d13 li s10,26 +8000006c: 01b00d93 li s11,27 +80000070: 01c00e13 li t3,28 +80000074: 01d00e93 li t4,29 +80000078: 01e00f13 li t5,30 +8000007c: 01f00f93 li t6,31 +80000080: 00000013 nop +80000084: 00000013 nop +80000088: 00000013 nop +8000008c: 00000013 nop +80000090: 00000013 nop +80000094: 00000013 nop +80000098: 0000a023 sw zero,0(ra) # 80001000 <codasip_signature_start> +8000009c: 0020a223 sw sp,4(ra) +800000a0: 0030a423 sw gp,8(ra) +800000a4: 0040a623 sw tp,12(ra) +800000a8: 0050a823 sw t0,16(ra) +800000ac: 0060aa23 sw t1,20(ra) +800000b0: 0070ac23 sw t2,24(ra) +800000b4: 0080ae23 sw s0,28(ra) +800000b8: 0290a023 sw s1,32(ra) +800000bc: 02a0a223 sw a0,36(ra) +800000c0: 02b0a423 sw a1,40(ra) +800000c4: 02c0a623 sw a2,44(ra) +800000c8: 02d0a823 sw a3,48(ra) +800000cc: 02e0aa23 sw a4,52(ra) +800000d0: 02f0ac23 sw a5,56(ra) +800000d4: 0300ae23 sw a6,60(ra) +800000d8: 0510a023 sw a7,64(ra) +800000dc: 0520a223 sw s2,68(ra) +800000e0: 0530a423 sw s3,72(ra) +800000e4: 0540a623 sw s4,76(ra) +800000e8: 0550a823 sw s5,80(ra) +800000ec: 0560aa23 sw s6,84(ra) +800000f0: 0570ac23 sw s7,88(ra) +800000f4: 0580ae23 sw s8,92(ra) +800000f8: 0790a023 sw s9,96(ra) +800000fc: 07a0a223 sw s10,100(ra) +80000100: 07b0a423 sw s11,104(ra) +80000104: 07c0a623 sw t3,108(ra) +80000108: 07d0a823 sw t4,112(ra) +8000010c: 07e0aa23 sw t5,116(ra) +80000110: 07f0ac23 sw t6,120(ra) +80000114: 00001197 auipc gp,0x1 +80000118: f6818193 addi gp,gp,-152 # 8000107c <test_A2_res> +8000011c: 00000417 auipc s0,0x0 +80000120: 00000013 nop +80000124: 00000013 nop +80000128: 00000013 nop +8000012c: 00000013 nop +80000130: 00000013 nop +80000134: 00000497 auipc s1,0x0 +80000138: 408484b3 sub s1,s1,s0 +8000013c: 0091a023 sw s1,0(gp) +80000140: 00001517 auipc a0,0x1 +80000144: ec050513 addi a0,a0,-320 # 80001000 <codasip_signature_start> +80000148: 00001597 auipc a1,0x1 +8000014c: f3858593 addi a1,a1,-200 # 80001080 <_end> +80000150: f0100637 lui a2,0xf0100 +80000154: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feeac> + +80000158 <complience_halt_loop>: +80000158: 02b50663 beq a0,a1,80000184 <complience_halt_break> +8000015c: 00c52683 lw a3,12(a0) +80000160: 00d62023 sw a3,0(a2) +80000164: 00852683 lw a3,8(a0) +80000168: 00d62023 sw a3,0(a2) +8000016c: 00452683 lw a3,4(a0) +80000170: 00d62023 sw a3,0(a2) +80000174: 00052683 lw a3,0(a0) +80000178: 00d62023 sw a3,0(a2) +8000017c: 01050513 addi a0,a0,16 +80000180: fd9ff06f j 80000158 <complience_halt_loop> + +80000184 <complience_halt_break>: +80000184: f0100537 lui a0,0xf0100 +80000188: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feea0> +8000018c: 00052023 sw zero,0(a0) +80000190: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff + +8000107c <test_A2_res>: +8000107c: ffff 0xffff +8000107e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-OR-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-OR-01.elf.objdump new file mode 100644 index 0000000..b8d87b9 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-OR-01.elf.objdump @@ -0,0 +1,350 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-OR-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef1f> +80000028: 80000437 lui s0,0x80000 +8000002c: 0041e233 or tp,gp,tp +80000030: 0051e2b3 or t0,gp,t0 +80000034: 0061e333 or t1,gp,t1 +80000038: 0071e3b3 or t2,gp,t2 +8000003c: 0081e433 or s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fe810113 addi sp,sp,-24 # 80001048 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00000493 li s1,0 +80000070: 00100513 li a0,1 +80000074: fff00593 li a1,-1 +80000078: 80000637 lui a2,0x80000 +8000007c: fff60613 addi a2,a2,-1 # 7fffffff <_end+0xffffef1f> +80000080: 800006b7 lui a3,0x80000 +80000084: 009464b3 or s1,s0,s1 +80000088: 00a46533 or a0,s0,a0 +8000008c: 00b465b3 or a1,s0,a1 +80000090: 00c46633 or a2,s0,a2 +80000094: 00d466b3 or a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: fa810113 addi sp,sp,-88 # 80001060 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00000713 li a4,0 +800000c8: 00100793 li a5,1 +800000cc: fff00813 li a6,-1 +800000d0: 800008b7 lui a7,0x80000 +800000d4: fff88893 addi a7,a7,-1 # 7fffffff <_end+0xffffef1f> +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e6e733 or a4,a3,a4 +800000e0: 00f6e7b3 or a5,a3,a5 +800000e4: 0106e833 or a6,a3,a6 +800000e8: 0116e8b3 or a7,a3,a7 +800000ec: 0126e933 or s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f6810113 addi sp,sp,-152 # 80001078 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00000993 li s3,0 +80000120: 00100a13 li s4,1 +80000124: fff00a93 li s5,-1 +80000128: 80000b37 lui s6,0x80000 +8000012c: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef1f> +80000130: 80000bb7 lui s7,0x80000 +80000134: 013969b3 or s3,s2,s3 +80000138: 01496a33 or s4,s2,s4 +8000013c: 01596ab3 or s5,s2,s5 +80000140: 01696b33 or s6,s2,s6 +80000144: 01796bb3 or s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f2810113 addi sp,sp,-216 # 80001090 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00000c13 li s8,0 +80000178: 00100c93 li s9,1 +8000017c: fff00d13 li s10,-1 +80000180: 80000db7 lui s11,0x80000 +80000184: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef1f> +80000188: 80000e37 lui t3,0x80000 +8000018c: 018bec33 or s8,s7,s8 +80000190: 019becb3 or s9,s7,s9 +80000194: 01abed33 or s10,s7,s10 +80000198: 01bbedb3 or s11,s7,s11 +8000019c: 01cbee33 or t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001c97 auipc s9,0x1 +800001bc: e5cc8c93 addi s9,s9,-420 # 80001014 <test_B_data> +800001c0: 00001d17 auipc s10,0x1 +800001c4: ee8d0d13 addi s10,s10,-280 # 800010a8 <test_B_res> +800001c8: 000cae03 lw t3,0(s9) +800001cc: 01000213 li tp,16 +800001d0: 02000293 li t0,32 +800001d4: 04000313 li t1,64 +800001d8: 08000393 li t2,128 +800001dc: 10000413 li s0,256 +800001e0: 80000493 li s1,-2048 +800001e4: 004e6eb3 or t4,t3,tp +800001e8: 005eef33 or t5,t4,t0 +800001ec: 006f6fb3 or t6,t5,t1 +800001f0: 007fe0b3 or ra,t6,t2 +800001f4: 0080e133 or sp,ra,s0 +800001f8: 009161b3 or gp,sp,s1 +800001fc: 004d2023 sw tp,0(s10) +80000200: 01cd2223 sw t3,4(s10) +80000204: 01dd2423 sw t4,8(s10) +80000208: 01ed2623 sw t5,12(s10) +8000020c: 01fd2823 sw t6,16(s10) +80000210: 001d2a23 sw ra,20(s10) +80000214: 002d2c23 sw sp,24(s10) +80000218: 003d2e23 sw gp,28(s10) +8000021c: 00001097 auipc ra,0x1 +80000220: dfc08093 addi ra,ra,-516 # 80001018 <test_C_data> +80000224: 00001117 auipc sp,0x1 +80000228: ea410113 addi sp,sp,-348 # 800010c8 <test_C_res> +8000022c: 0000ae03 lw t3,0(ra) +80000230: f7ff9db7 lui s11,0xf7ff9 +80000234: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000238: 01be6033 or zero,t3,s11 +8000023c: 00012023 sw zero,0(sp) +80000240: 00001097 auipc ra,0x1 +80000244: ddc08093 addi ra,ra,-548 # 8000101c <test_D_data> +80000248: 00001117 auipc sp,0x1 +8000024c: e8410113 addi sp,sp,-380 # 800010cc <test_D_res> +80000250: 0000ae03 lw t3,0(ra) +80000254: f7ff9db7 lui s11,0xf7ff9 +80000258: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +8000025c: 01be6033 or zero,t3,s11 +80000260: 000062b3 or t0,zero,zero +80000264: 00012023 sw zero,0(sp) +80000268: 00512223 sw t0,4(sp) +8000026c: 00001097 auipc ra,0x1 +80000270: db408093 addi ra,ra,-588 # 80001020 <test_E_data> +80000274: 00001117 auipc sp,0x1 +80000278: e6010113 addi sp,sp,-416 # 800010d4 <test_E_res> +8000027c: 0000a183 lw gp,0(ra) +80000280: 0001e233 or tp,gp,zero +80000284: 000262b3 or t0,tp,zero +80000288: 00506333 or t1,zero,t0 +8000028c: 00036733 or a4,t1,zero +80000290: 000767b3 or a5,a4,zero +80000294: 0007e833 or a6,a5,zero +80000298: 01006cb3 or s9,zero,a6 +8000029c: 01906d33 or s10,zero,s9 +800002a0: 000d6db3 or s11,s10,zero +800002a4: 00412023 sw tp,0(sp) +800002a8: 01a12223 sw s10,4(sp) +800002ac: 01b12423 sw s11,8(sp) +800002b0: 00001517 auipc a0,0x1 +800002b4: d8050513 addi a0,a0,-640 # 80001030 <codasip_signature_start> +800002b8: 00001597 auipc a1,0x1 +800002bc: e2858593 addi a1,a1,-472 # 800010e0 <_end> +800002c0: f0100637 lui a2,0xf0100 +800002c4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002c8 <complience_halt_loop>: +800002c8: 02b50663 beq a0,a1,800002f4 <complience_halt_break> +800002cc: 00c52683 lw a3,12(a0) +800002d0: 00d62023 sw a3,0(a2) +800002d4: 00852683 lw a3,8(a0) +800002d8: 00d62023 sw a3,0(a2) +800002dc: 00452683 lw a3,4(a0) +800002e0: 00d62023 sw a3,0(a2) +800002e4: 00052683 lw a3,0(a0) +800002e8: 00d62023 sw a3,0(a2) +800002ec: 01050513 addi a0,a0,16 +800002f0: fd9ff06f j 800002c8 <complience_halt_loop> + +800002f4 <complience_halt_break>: +800002f4: f0100537 lui a0,0xf0100 +800002f8: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002fc: 00052023 sw zero,0(a0) +80000300: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: 000d c.nop 3 + ... + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_C_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff + +800010d4 <test_E_res>: +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-ORI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-ORI-01.elf.objdump new file mode 100644 index 0000000..ab49e01 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-ORI-01.elf.objdump @@ -0,0 +1,310 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-ORI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 0011e213 ori tp,gp,1 +80000018: 7ff1e293 ori t0,gp,2047 +8000001c: fff1e313 ori t1,gp,-1 +80000020: 0001e393 ori t2,gp,0 +80000024: 8001e413 ori s0,gp,-2048 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: 00010113 mv sp,sp +80000050: 0000a403 lw s0,0(ra) +80000054: 00146493 ori s1,s0,1 +80000058: 7ff46513 ori a0,s0,2047 +8000005c: fff46593 ori a1,s0,-1 +80000060: 00046613 ori a2,s0,0 +80000064: 80046693 ori a3,s0,-2048 +80000068: 00812023 sw s0,0(sp) # 80001048 <test_A2_res> +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fd810113 addi sp,sp,-40 # 80001060 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 0016e713 ori a4,a3,1 +80000098: 7ff6e793 ori a5,a3,2047 +8000009c: fff6e813 ori a6,a3,-1 +800000a0: 0006e893 ori a7,a3,0 +800000a4: 8006e913 ori s2,a3,-2048 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001097 auipc ra,0x1 +800000c4: f4c08093 addi ra,ra,-180 # 8000100c <test_A4_data> +800000c8: 00001117 auipc sp,0x1 +800000cc: fb010113 addi sp,sp,-80 # 80001078 <test_A4_res> +800000d0: 0000a903 lw s2,0(ra) +800000d4: 00196993 ori s3,s2,1 +800000d8: 7ff96a13 ori s4,s2,2047 +800000dc: fff96a93 ori s5,s2,-1 +800000e0: 00096b13 ori s6,s2,0 +800000e4: 80096b93 ori s7,s2,-2048 +800000e8: 01212023 sw s2,0(sp) +800000ec: 01312223 sw s3,4(sp) +800000f0: 01412423 sw s4,8(sp) +800000f4: 01512623 sw s5,12(sp) +800000f8: 01612823 sw s6,16(sp) +800000fc: 01712a23 sw s7,20(sp) +80000100: 00001097 auipc ra,0x1 +80000104: f1008093 addi ra,ra,-240 # 80001010 <test_A5_data> +80000108: 00001117 auipc sp,0x1 +8000010c: f8810113 addi sp,sp,-120 # 80001090 <test_A5_res> +80000110: 0000ab83 lw s7,0(ra) +80000114: 001bec13 ori s8,s7,1 +80000118: 7ffbec93 ori s9,s7,2047 +8000011c: fffbed13 ori s10,s7,-1 +80000120: 000bed93 ori s11,s7,0 +80000124: 800bee13 ori t3,s7,-2048 +80000128: 01712023 sw s7,0(sp) +8000012c: 01812223 sw s8,4(sp) +80000130: 01912423 sw s9,8(sp) +80000134: 01a12623 sw s10,12(sp) +80000138: 01b12823 sw s11,16(sp) +8000013c: 01c12a23 sw t3,20(sp) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f60d8d93 addi s11,s11,-160 # 800010a8 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 010e6e93 ori t4,t3,16 +80000158: 020eef13 ori t5,t4,32 +8000015c: 040f6f93 ori t6,t5,64 +80000160: 080fe093 ori ra,t6,128 +80000164: 1000e113 ori sp,ra,256 +80000168: 80016193 ori gp,sp,-2048 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f3410113 addi sp,sp,-204 # 800010c4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 0012e013 ori zero,t0,1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f1c10113 addi sp,sp,-228 # 800010c8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 0012e013 ori zero,t0,1 +800001bc: 00106293 ori t0,zero,1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001097 auipc ra,0x1 +800001cc: e5808093 addi ra,ra,-424 # 80001020 <test_E_data> +800001d0: 00001117 auipc sp,0x1 +800001d4: f0010113 addi sp,sp,-256 # 800010d0 <test_E_res> +800001d8: 0000a183 lw gp,0(ra) +800001dc: 0001e213 ori tp,gp,0 +800001e0: 00026293 ori t0,tp,0 +800001e4: 0002e313 ori t1,t0,0 +800001e8: 00036713 ori a4,t1,0 +800001ec: 00076793 ori a5,a4,0 +800001f0: 0007e813 ori a6,a5,0 +800001f4: 00086c93 ori s9,a6,0 +800001f8: 000ced13 ori s10,s9,0 +800001fc: 000d6d93 ori s11,s10,0 +80000200: 00312023 sw gp,0(sp) +80000204: 00412223 sw tp,4(sp) +80000208: 01a12423 sw s10,8(sp) +8000020c: 01b12623 sw s11,12(sp) +80000210: 00001517 auipc a0,0x1 +80000214: e2050513 addi a0,a0,-480 # 80001030 <codasip_signature_start> +80000218: 00001597 auipc a1,0x1 +8000021c: ec858593 addi a1,a1,-312 # 800010e0 <_end> +80000220: f0100637 lui a2,0xf0100 +80000224: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +80000228 <complience_halt_loop>: +80000228: 02b50663 beq a0,a1,80000254 <complience_halt_break> +8000022c: 00c52683 lw a3,12(a0) +80000230: 00d62023 sw a3,0(a2) +80000234: 00852683 lw a3,8(a0) +80000238: 00d62023 sw a3,0(a2) +8000023c: 00452683 lw a3,4(a0) +80000240: 00d62023 sw a3,0(a2) +80000244: 00052683 lw a3,0(a0) +80000248: 00d62023 sw a3,0(a2) +8000024c: 01050513 addi a0,a0,16 +80000250: fd9ff06f j 80000228 <complience_halt_loop> + +80000254 <complience_halt_break>: +80000254: f0100537 lui a0,0xf0100 +80000258: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +8000025c: 00052023 sw zero,0(a0) +80000260: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: 000d c.nop 3 + ... + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-RF_size-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-RF_size-01.elf.objdump new file mode 100644 index 0000000..f617c7d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-RF_size-01.elf.objdump @@ -0,0 +1,218 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-RF_size-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001817 auipc a6,0x1 +80000004: 00080813 mv a6,a6 +80000008: 42727037 lui zero,0x42727 +8000000c: e6f00013 li zero,-401 +80000010: 563330b7 lui ra,0x56333 +80000014: 24908093 addi ra,ra,585 # 56333249 <_start-0x29cccdb7> +80000018: 2d562137 lui sp,0x2d562 +8000001c: 05210113 addi sp,sp,82 # 2d562052 <_start-0x52a9dfae> +80000020: 526971b7 lui gp,0x52697 +80000024: 36318193 addi gp,gp,867 # 52697363 <_start-0x2d968c9d> +80000028: 736b8237 lui tp,0x736b8 +8000002c: 92020213 addi tp,tp,-1760 # 736b7920 <_start-0xc9486e0> +80000030: 737462b7 lui t0,0x73746 +80000034: 57228293 addi t0,t0,1394 # 73746572 <_start-0xc8b9a8e> +80000038: 6e205337 lui t1,0x6e205 +8000003c: e6f30313 addi t1,t1,-401 # 6e204e6f <_start-0x11dfb191> +80000040: 4d6973b7 lui t2,0x4d697 +80000044: c6138393 addi t2,t2,-927 # 4d696c61 <_start-0x3296939f> +80000048: 6f646437 lui s0,0x6f646 +8000004c: 17340413 addi s0,s0,371 # 6f646173 <_start-0x109b9e8d> +80000050: 6b7944b7 lui s1,0x6b794 +80000054: 06348493 addi s1,s1,99 # 6b794063 <_start-0x1486bf9d> +80000058: 74657537 lui a0,0x74657 +8000005c: 27350513 addi a0,a0,627 # 74657273 <_start-0xb9a8d8d> +80000060: 286e75b7 lui a1,0x286e7 +80000064: f7358593 addi a1,a1,-141 # 286e6f73 <_start-0x5791908d> +80000068: 656b2637 lui a2,0x656b2 +8000006c: 04860613 addi a2,a2,72 # 656b2048 <_start-0x1a94dfb8> +80000070: 205266b7 lui a3,0x20526 +80000074: 16468693 addi a3,a3,356 # 20526164 <_start-0x5fad9e9c> +80000078: 6f6d3737 lui a4,0x6f6d3 +8000007c: 92c70713 addi a4,a4,-1748 # 6f6d292c <_start-0x1092d6d4> +80000080: 697037b7 lui a5,0x69703 +80000084: e6378793 addi a5,a5,-413 # 69702e63 <_start-0x168fd19d> +80000088: 00082023 sw zero,0(a6) # 80001000 <codasip_signature_start> +8000008c: 00182223 sw ra,4(a6) +80000090: 00282423 sw sp,8(a6) +80000094: 00382623 sw gp,12(a6) +80000098: 00482823 sw tp,16(a6) +8000009c: 00582a23 sw t0,20(a6) +800000a0: 00682c23 sw t1,24(a6) +800000a4: 00782e23 sw t2,28(a6) +800000a8: 02882023 sw s0,32(a6) +800000ac: 02982223 sw s1,36(a6) +800000b0: 02a82423 sw a0,40(a6) +800000b4: 02b82623 sw a1,44(a6) +800000b8: 02c82823 sw a2,48(a6) +800000bc: 02d82a23 sw a3,52(a6) +800000c0: 02e82c23 sw a4,56(a6) +800000c4: 02f82e23 sw a5,60(a6) +800000c8: 00001217 auipc tp,0x1 +800000cc: f7820213 addi tp,tp,-136 # 80001040 <test_A2_res> +800000d0: 636f6837 lui a6,0x636f6 +800000d4: 46180813 addi a6,a6,1121 # 636f6461 <_start-0x1c909b9f> +800000d8: 6a6578b7 lui a7,0x6a657 +800000dc: b4088893 addi a7,a7,-1216 # 6a656b40 <_start-0x159a94c0> +800000e0: 20287937 lui s2,0x20287 +800000e4: 86190913 addi s2,s2,-1951 # 20286861 <_start-0x5fd7979f> +800000e8: 616a69b7 lui s3,0x616a6 +800000ec: 56b98993 addi s3,s3,1387 # 616a656b <_start-0x1e959a95> +800000f0: 61766a37 lui s4,0x61766 +800000f4: 520a0a13 addi s4,s4,1312 # 61766520 <_start-0x1e899ae0> +800000f8: 2e205ab7 lui s5,0x2e205 +800000fc: c65a8a93 addi s5,s5,-923 # 2e204c65 <_start-0x51dfb39b> +80000100: 636f7b37 lui s6,0x636f7 +80000104: d29b0b13 addi s6,s6,-727 # 636f6d29 <_start-0x1c9092d7> +80000108: 73697bb7 lui s7,0x73697 +8000010c: 02eb8b93 addi s7,s7,46 # 7369702e <_start-0xc968fd2> +80000110: 66208c37 lui s8,0x66208 +80000114: 96fc0c13 addi s8,s8,-1681 # 6620796f <_start-0x19df8691> +80000118: 67652cb7 lui s9,0x67652 +8000011c: 069c8c93 addi s9,s9,105 # 67652069 <_start-0x189adf97> +80000120: 65737d37 lui s10,0x65737 +80000124: 361d0d13 addi s10,s10,865 # 65737361 <_start-0x1a8c8c9f> +80000128: 75732db7 lui s11,0x75732 +8000012c: 06dd8d93 addi s11,s11,109 # 7573206d <_start-0xa8cdf93> +80000130: 3a291e37 lui t3,0x3a291 +80000134: d0ae0e13 addi t3,t3,-758 # 3a290d0a <_start-0x45d6f2f6> +80000138: 68697eb7 lui t4,0x68697 +8000013c: 320e8e93 addi t4,t4,800 # 68697320 <_start-0x17968ce0> +80000140: 61642f37 lui t5,0x61642 +80000144: 074f0f13 addi t5,t5,116 # 61642074 <_start-0x1e9bdf8c> +80000148: 75207fb7 lui t6,0x75207 +8000014c: 265f8f93 addi t6,t6,613 # 75207265 <_start-0xadf8d9b> +80000150: 01022023 sw a6,0(tp) # 0 <_start-0x80000000> +80000154: 01122223 sw a7,4(tp) # 4 <_start-0x7ffffffc> +80000158: 01222423 sw s2,8(tp) # 8 <_start-0x7ffffff8> +8000015c: 01322623 sw s3,12(tp) # c <_start-0x7ffffff4> +80000160: 01422823 sw s4,16(tp) # 10 <_start-0x7ffffff0> +80000164: 01522a23 sw s5,20(tp) # 14 <_start-0x7fffffec> +80000168: 01622c23 sw s6,24(tp) # 18 <_start-0x7fffffe8> +8000016c: 01722e23 sw s7,28(tp) # 1c <_start-0x7fffffe4> +80000170: 03822023 sw s8,32(tp) # 20 <_start-0x7fffffe0> +80000174: 03922223 sw s9,36(tp) # 24 <_start-0x7fffffdc> +80000178: 03a22423 sw s10,40(tp) # 28 <_start-0x7fffffd8> +8000017c: 03b22623 sw s11,44(tp) # 2c <_start-0x7fffffd4> +80000180: 03c22823 sw t3,48(tp) # 30 <_start-0x7fffffd0> +80000184: 03d22a23 sw t4,52(tp) # 34 <_start-0x7fffffcc> +80000188: 03e22c23 sw t5,56(tp) # 38 <_start-0x7fffffc8> +8000018c: 03f22e23 sw t6,60(tp) # 3c <_start-0x7fffffc4> +80000190: 00001217 auipc tp,0x1 +80000194: ef020213 addi tp,tp,-272 # 80001080 <test_A3_res> +80000198: 00022023 sw zero,0(tp) # 0 <_start-0x80000000> +8000019c: 00122223 sw ra,4(tp) # 4 <_start-0x7ffffffc> +800001a0: 00222423 sw sp,8(tp) # 8 <_start-0x7ffffff8> +800001a4: 00322623 sw gp,12(tp) # c <_start-0x7ffffff4> +800001a8: 00001517 auipc a0,0x1 +800001ac: e5850513 addi a0,a0,-424 # 80001000 <codasip_signature_start> +800001b0: 00001597 auipc a1,0x1 +800001b4: ee058593 addi a1,a1,-288 # 80001090 <_end> +800001b8: f0100637 lui a2,0xf0100 +800001bc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee9c> + +800001c0 <complience_halt_loop>: +800001c0: 02b50663 beq a0,a1,800001ec <complience_halt_break> +800001c4: 00c52683 lw a3,12(a0) +800001c8: 00d62023 sw a3,0(a2) +800001cc: 00852683 lw a3,8(a0) +800001d0: 00d62023 sw a3,0(a2) +800001d4: 00452683 lw a3,4(a0) +800001d8: 00d62023 sw a3,0(a2) +800001dc: 00052683 lw a3,0(a0) +800001e0: 00d62023 sw a3,0(a2) +800001e4: 01050513 addi a0,a0,16 +800001e8: fd9ff06f j 800001c0 <complience_halt_loop> + +800001ec <complience_halt_break>: +800001ec: f0100537 lui a0,0xf0100 +800001f0: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee90> +800001f4: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff + +80001040 <test_A2_res>: +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A3_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-RF_width-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-RF_width-01.elf.objdump new file mode 100644 index 0000000..5e12641 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-RF_width-01.elf.objdump @@ -0,0 +1,262 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-RF_width-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001817 auipc a6,0x1 +80000004: 00080813 mv a6,a6 +80000008: 00100013 li zero,1 +8000000c: 00100093 li ra,1 +80000010: 00100113 li sp,1 +80000014: 00100193 li gp,1 +80000018: 00100213 li tp,1 +8000001c: 00100293 li t0,1 +80000020: 00100313 li t1,1 +80000024: 00100393 li t2,1 +80000028: 00100413 li s0,1 +8000002c: 00100493 li s1,1 +80000030: 00100513 li a0,1 +80000034: 00100593 li a1,1 +80000038: 00100613 li a2,1 +8000003c: 00100693 li a3,1 +80000040: 00100713 li a4,1 +80000044: 00100793 li a5,1 +80000048: 01f09093 slli ra,ra,0x1f +8000004c: 0000c463 bltz ra,80000054 <_start+0x54> +80000050: 00000093 li ra,0 +80000054: 01f11113 slli sp,sp,0x1f +80000058: 00014463 bltz sp,80000060 <_start+0x60> +8000005c: 00000113 li sp,0 +80000060: 01f19193 slli gp,gp,0x1f +80000064: 0001c463 bltz gp,8000006c <_start+0x6c> +80000068: 00000193 li gp,0 +8000006c: 01f21213 slli tp,tp,0x1f +80000070: 00024463 bltz tp,80000078 <_start+0x78> +80000074: 00000213 li tp,0 +80000078: 01f29293 slli t0,t0,0x1f +8000007c: 0002c463 bltz t0,80000084 <_start+0x84> +80000080: 00000293 li t0,0 +80000084: 01f31313 slli t1,t1,0x1f +80000088: 00034463 bltz t1,80000090 <_start+0x90> +8000008c: 00000313 li t1,0 +80000090: 01f39393 slli t2,t2,0x1f +80000094: 0003c463 bltz t2,8000009c <_start+0x9c> +80000098: 00000393 li t2,0 +8000009c: 01f41413 slli s0,s0,0x1f +800000a0: 00044463 bltz s0,800000a8 <_start+0xa8> +800000a4: 00000413 li s0,0 +800000a8: 01f49493 slli s1,s1,0x1f +800000ac: 0004c463 bltz s1,800000b4 <_start+0xb4> +800000b0: 00000493 li s1,0 +800000b4: 01f51513 slli a0,a0,0x1f +800000b8: 00054463 bltz a0,800000c0 <_start+0xc0> +800000bc: 00000513 li a0,0 +800000c0: 01f59593 slli a1,a1,0x1f +800000c4: 0005c463 bltz a1,800000cc <_start+0xcc> +800000c8: 00000593 li a1,0 +800000cc: 01f61613 slli a2,a2,0x1f +800000d0: 00064463 bltz a2,800000d8 <_start+0xd8> +800000d4: 00000613 li a2,0 +800000d8: 01f69693 slli a3,a3,0x1f +800000dc: 0006c463 bltz a3,800000e4 <_start+0xe4> +800000e0: 00000693 li a3,0 +800000e4: 01f71713 slli a4,a4,0x1f +800000e8: 00074463 bltz a4,800000f0 <_start+0xf0> +800000ec: 00000713 li a4,0 +800000f0: 01f79793 slli a5,a5,0x1f +800000f4: 0007c463 bltz a5,800000fc <_start+0xfc> +800000f8: 00000793 li a5,0 +800000fc: 00082023 sw zero,0(a6) # 80001000 <codasip_signature_start> +80000100: 00182223 sw ra,4(a6) +80000104: 00282423 sw sp,8(a6) +80000108: 00382623 sw gp,12(a6) +8000010c: 00482823 sw tp,16(a6) +80000110: 00582a23 sw t0,20(a6) +80000114: 00682c23 sw t1,24(a6) +80000118: 00782e23 sw t2,28(a6) +8000011c: 02882023 sw s0,32(a6) +80000120: 02982223 sw s1,36(a6) +80000124: 02a82423 sw a0,40(a6) +80000128: 02b82623 sw a1,44(a6) +8000012c: 02c82823 sw a2,48(a6) +80000130: 02d82a23 sw a3,52(a6) +80000134: 02e82c23 sw a4,56(a6) +80000138: 02f82e23 sw a5,60(a6) +8000013c: 00001097 auipc ra,0x1 +80000140: f0408093 addi ra,ra,-252 # 80001040 <test_A2_res> +80000144: 00100813 li a6,1 +80000148: 00100893 li a7,1 +8000014c: 00100913 li s2,1 +80000150: 00100993 li s3,1 +80000154: 00100a13 li s4,1 +80000158: 00100a93 li s5,1 +8000015c: 00100b13 li s6,1 +80000160: 00100b93 li s7,1 +80000164: 00100c13 li s8,1 +80000168: 00100c93 li s9,1 +8000016c: 00100d13 li s10,1 +80000170: 00100d93 li s11,1 +80000174: 00100e13 li t3,1 +80000178: 00100e93 li t4,1 +8000017c: 00100f13 li t5,1 +80000180: 00100f93 li t6,1 +80000184: 01f81813 slli a6,a6,0x1f +80000188: 00084463 bltz a6,80000190 <_start+0x190> +8000018c: 00000813 li a6,0 +80000190: 01f89893 slli a7,a7,0x1f +80000194: 0008c463 bltz a7,8000019c <_start+0x19c> +80000198: 00000893 li a7,0 +8000019c: 01f91913 slli s2,s2,0x1f +800001a0: 00094463 bltz s2,800001a8 <_start+0x1a8> +800001a4: 00000913 li s2,0 +800001a8: 01f99993 slli s3,s3,0x1f +800001ac: 0009c463 bltz s3,800001b4 <_start+0x1b4> +800001b0: 00000993 li s3,0 +800001b4: 01fa1a13 slli s4,s4,0x1f +800001b8: 000a4463 bltz s4,800001c0 <_start+0x1c0> +800001bc: 00000a13 li s4,0 +800001c0: 01fa9a93 slli s5,s5,0x1f +800001c4: 000ac463 bltz s5,800001cc <_start+0x1cc> +800001c8: 00000a93 li s5,0 +800001cc: 01fb1b13 slli s6,s6,0x1f +800001d0: 000b4463 bltz s6,800001d8 <_start+0x1d8> +800001d4: 00000b13 li s6,0 +800001d8: 01fb9b93 slli s7,s7,0x1f +800001dc: 000bc463 bltz s7,800001e4 <_start+0x1e4> +800001e0: 00000b93 li s7,0 +800001e4: 01fc1c13 slli s8,s8,0x1f +800001e8: 000c4463 bltz s8,800001f0 <_start+0x1f0> +800001ec: 00000c13 li s8,0 +800001f0: 01fc9c93 slli s9,s9,0x1f +800001f4: 000cc463 bltz s9,800001fc <_start+0x1fc> +800001f8: 00000c93 li s9,0 +800001fc: 01fd1d13 slli s10,s10,0x1f +80000200: 000d4463 bltz s10,80000208 <_start+0x208> +80000204: 00000d13 li s10,0 +80000208: 01fd9d93 slli s11,s11,0x1f +8000020c: 000dc463 bltz s11,80000214 <_start+0x214> +80000210: 00000d93 li s11,0 +80000214: 01fe1e13 slli t3,t3,0x1f +80000218: 000e4463 bltz t3,80000220 <_start+0x220> +8000021c: 00000e13 li t3,0 +80000220: 01fe9e93 slli t4,t4,0x1f +80000224: 000ec463 bltz t4,8000022c <_start+0x22c> +80000228: 00000e93 li t4,0 +8000022c: 01ff1f13 slli t5,t5,0x1f +80000230: 000f4463 bltz t5,80000238 <_start+0x238> +80000234: 00000f13 li t5,0 +80000238: 01ff9f93 slli t6,t6,0x1f +8000023c: 000fc463 bltz t6,80000244 <_start+0x244> +80000240: 00000f93 li t6,0 +80000244: 0100a023 sw a6,0(ra) +80000248: 0110a223 sw a7,4(ra) +8000024c: 0120a423 sw s2,8(ra) +80000250: 0130a623 sw s3,12(ra) +80000254: 0140a823 sw s4,16(ra) +80000258: 0150aa23 sw s5,20(ra) +8000025c: 0160ac23 sw s6,24(ra) +80000260: 0170ae23 sw s7,28(ra) +80000264: 0380a023 sw s8,32(ra) +80000268: 0390a223 sw s9,36(ra) +8000026c: 03a0a423 sw s10,40(ra) +80000270: 03b0a623 sw s11,44(ra) +80000274: 03c0a823 sw t3,48(ra) +80000278: 03d0aa23 sw t4,52(ra) +8000027c: 03e0ac23 sw t5,56(ra) +80000280: 03f0ae23 sw t6,60(ra) +80000284: 00001517 auipc a0,0x1 +80000288: d7c50513 addi a0,a0,-644 # 80001000 <codasip_signature_start> +8000028c: 00001597 auipc a1,0x1 +80000290: df458593 addi a1,a1,-524 # 80001080 <_end> +80000294: f0100637 lui a2,0xf0100 +80000298: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feeac> + +8000029c <complience_halt_loop>: +8000029c: 02b50663 beq a0,a1,800002c8 <complience_halt_break> +800002a0: 00c52683 lw a3,12(a0) +800002a4: 00d62023 sw a3,0(a2) +800002a8: 00852683 lw a3,8(a0) +800002ac: 00d62023 sw a3,0(a2) +800002b0: 00452683 lw a3,4(a0) +800002b4: 00d62023 sw a3,0(a2) +800002b8: 00052683 lw a3,0(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 01050513 addi a0,a0,16 +800002c4: fd9ff06f j 8000029c <complience_halt_loop> + +800002c8 <complience_halt_break>: +800002c8: f0100537 lui a0,0xf0100 +800002cc: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feea0> +800002d0: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff + +80001040 <test_A2_res>: +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-RF_x0-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-RF_x0-01.elf.objdump new file mode 100644 index 0000000..2c7cd9e --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-RF_x0-01.elf.objdump @@ -0,0 +1,135 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-RF_x0-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001f97 auipc t6,0x1 +80000004: 010f8f93 addi t6,t6,16 # 80001010 <codasip_signature_start> +80000008: abcde037 lui zero,0xabcde +8000000c: 00100013 li zero,1 +80000010: 7f006013 ori zero,zero,2032 +80000014: 53f07013 andi zero,zero,1343 +80000018: 80304013 xori zero,zero,-2045 +8000001c: 00501013 slli zero,zero,0x5 +80000020: 40205013 srai zero,zero,0x2 +80000024: 00405013 srli zero,zero,0x4 +80000028: 000fa023 sw zero,0(t6) +8000002c: 00001f97 auipc t6,0x1 +80000030: fe8f8f93 addi t6,t6,-24 # 80001014 <test_A2_res> +80000034: 00100093 li ra,1 +80000038: 7f000113 li sp,2032 +8000003c: 53f00193 li gp,1343 +80000040: 80300213 li tp,-2045 +80000044: 00500293 li t0,5 +80000048: 00200313 li t1,2 +8000004c: 00400393 li t2,4 +80000050: 01800413 li s0,24 +80000054: abcde017 auipc zero,0xabcde +80000058: 00100033 add zero,zero,ra +8000005c: 00206033 or zero,zero,sp +80000060: 00307033 and zero,zero,gp +80000064: 00404033 xor zero,zero,tp +80000068: 00501033 sll zero,zero,t0 +8000006c: 40605033 sra zero,zero,t1 +80000070: 00705033 srl zero,zero,t2 +80000074: 40800033 neg zero,s0 +80000078: 000fa023 sw zero,0(t6) +8000007c: 00001f97 auipc t6,0x1 +80000080: f9cf8f93 addi t6,t6,-100 # 80001018 <test_A3_res> +80000084: 00100093 li ra,1 +80000088: 00200113 li sp,2 +8000008c: 0020a033 slt zero,ra,sp +80000090: 000fa023 sw zero,0(t6) +80000094: 0020b033 sltu zero,ra,sp +80000098: 000fa223 sw zero,4(t6) +8000009c: 0020a013 slti zero,ra,2 +800000a0: 000fa423 sw zero,8(t6) +800000a4: 0020b013 sltiu zero,ra,2 +800000a8: 000fa623 sw zero,12(t6) +800000ac: 00001f97 auipc t6,0x1 +800000b0: f7cf8f93 addi t6,t6,-132 # 80001028 <test_A4_res> +800000b4: 0040006f j 800000b8 <_start+0xb8> +800000b8: 000fa023 sw zero,0(t6) +800000bc: 00000097 auipc ra,0x0 +800000c0: 00c08093 addi ra,ra,12 # 800000c8 <_start+0xc8> +800000c4: 00008067 ret +800000c8: 000fa223 sw zero,4(t6) +800000cc: 00001097 auipc ra,0x1 +800000d0: f3408093 addi ra,ra,-204 # 80001000 <test_A5_data> +800000d4: 00001f97 auipc t6,0x1 +800000d8: f5cf8f93 addi t6,t6,-164 # 80001030 <test_A5_res> +800000dc: 0000a003 lw zero,0(ra) +800000e0: 000fa023 sw zero,0(t6) +800000e4: 00009003 lh zero,0(ra) +800000e8: 000fa223 sw zero,4(t6) +800000ec: 00008003 lb zero,0(ra) +800000f0: 000fa423 sw zero,8(t6) +800000f4: 0000c003 lbu zero,0(ra) +800000f8: 000fa623 sw zero,12(t6) +800000fc: 00001517 auipc a0,0x1 +80000100: f1450513 addi a0,a0,-236 # 80001010 <codasip_signature_start> +80000104: 00001597 auipc a1,0x1 +80000108: f3c58593 addi a1,a1,-196 # 80001040 <_end> +8000010c: f0100637 lui a2,0xf0100 +80000110: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feeec> + +80000114 <complience_halt_loop>: +80000114: 02b50663 beq a0,a1,80000140 <complience_halt_break> +80000118: 00c52683 lw a3,12(a0) +8000011c: 00d62023 sw a3,0(a2) +80000120: 00852683 lw a3,8(a0) +80000124: 00d62023 sw a3,0(a2) +80000128: 00452683 lw a3,4(a0) +8000012c: 00d62023 sw a3,0(a2) +80000130: 00052683 lw a3,0(a0) +80000134: 00d62023 sw a3,0(a2) +80000138: 01050513 addi a0,a0,16 +8000013c: fd9ff06f j 80000114 <complience_halt_loop> + +80000140 <complience_halt_break>: +80000140: f0100537 lui a0,0xf0100 +80000144: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feee0> +80000148: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A5_data>: +80001000: 42524e4f fnmadd.d ft8,ft4,ft5,fs0,rmm + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_A2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A3_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_A4_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff + +80001030 <test_A5_res>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SB-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SB-01.elf.objdump new file mode 100644 index 0000000..4a710d9 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SB-01.elf.objdump @@ -0,0 +1,225 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SB-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 01008093 addi ra,ra,16 # 80001010 <codasip_signature_start> +80000008: aaaacfb7 lui t6,0xaaaac +8000000c: bbbf8f93 addi t6,t6,-1093 # aaaabbbb <_end+0x2aaaab6b> +80000010: 01f0a023 sw t6,0(ra) +80000014: 11f1f137 lui sp,0x11f1f +80000018: 22210113 addi sp,sp,546 # 11f1f222 <_start-0x6e0e0dde> +8000001c: 00208023 sb sp,0(ra) +80000020: 00001297 auipc t0,0x1 +80000024: ff528293 addi t0,t0,-11 # 80001015 <test_A2_res+0x1> +80000028: fe02afa3 sw zero,-1(t0) +8000002c: f3334cb7 lui s9,0xf3334 +80000030: 4f4c8c93 addi s9,s9,1268 # f33344f4 <_end+0x733334a4> +80000034: ff928fa3 sb s9,-1(t0) +80000038: 00001417 auipc s0,0x1 +8000003c: fdf40413 addi s0,s0,-33 # 80001017 <test_A2_res+0x3> +80000040: 000420a3 sw zero,1(s0) +80000044: 55f5ffb7 lui t6,0x55f5f +80000048: 666f8f93 addi t6,t6,1638 # 55f5f666 <_start-0x2a0a099a> +8000004c: 01f400a3 sb t6,1(s0) +80000050: 00001597 auipc a1,0x1 +80000054: 7cc58593 addi a1,a1,1996 # 8000181c <_end+0x7cc> +80000058: 8005a023 sw zero,-2048(a1) +8000005c: f7779637 lui a2,0xf7779 +80000060: 8f860613 addi a2,a2,-1800 # f77788f8 <_end+0x777778a8> +80000064: 80c58023 sb a2,-2048(a1) +80000068: 00000717 auipc a4,0x0 +8000006c: 7b970713 addi a4,a4,1977 # 80000821 <complience_halt_break+0x5e9> +80000070: 7e072fa3 sw zero,2047(a4) +80000074: 990917b7 lui a5,0x99091 +80000078: aaa78793 addi a5,a5,-1366 # 99090aaa <_end+0x1908fa5a> +8000007c: 7ef70fa3 sb a5,2047(a4) +80000080: 00001897 auipc a7,0x1 +80000084: fa888893 addi a7,a7,-88 # 80001028 <test_B_res> +80000088: 11111937 lui s2,0x11111 +8000008c: 10c90913 addi s2,s2,268 # 1111110c <_start-0x6eeeeef4> +80000090: 222229b7 lui s3,0x22222 +80000094: 2cc98993 addi s3,s3,716 # 222222cc <_start-0x5ddddd34> +80000098: 33333a37 lui s4,0x33333 +8000009c: 3bba0a13 addi s4,s4,955 # 333333bb <_start-0x4ccccc45> +800000a0: 44444ab7 lui s5,0x44444 +800000a4: 40ba8a93 addi s5,s5,1035 # 4444440b <_start-0x3bbbbbf5> +800000a8: 55555b37 lui s6,0x55555 +800000ac: 5eeb0b13 addi s6,s6,1518 # 555555ee <_start-0x2aaaaa12> +800000b0: 66666bb7 lui s7,0x66666 +800000b4: 60eb8b93 addi s7,s7,1550 # 6666660e <_start-0x199999f2> +800000b8: 77777c37 lui s8,0x77777 +800000bc: 70dc0c13 addi s8,s8,1805 # 7777770d <_start-0x88888f3> +800000c0: 88889cb7 lui s9,0x88889 +800000c4: 8ddc8c93 addi s9,s9,-1827 # 888888dd <_end+0x888788d> +800000c8: 9999ad37 lui s10,0x9999a +800000cc: 9f0d0d13 addi s10,s10,-1552 # 999999f0 <_end+0x199989a0> +800000d0: aaaabdb7 lui s11,0xaaaab +800000d4: a00d8d93 addi s11,s11,-1536 # aaaaaa00 <_end+0x2aaa99b0> +800000d8: bbbbce37 lui t3,0xbbbbc +800000dc: bffe0e13 addi t3,t3,-1025 # bbbbbbff <_end+0x3bbbabaf> +800000e0: ccccdeb7 lui t4,0xccccd +800000e4: c0fe8e93 addi t4,t4,-1009 # cccccc0f <_end+0x4cccbbbf> +800000e8: ff288e23 sb s2,-4(a7) +800000ec: ff388ea3 sb s3,-3(a7) +800000f0: ff488f23 sb s4,-2(a7) +800000f4: ff588fa3 sb s5,-1(a7) +800000f8: 01688023 sb s6,0(a7) +800000fc: 017880a3 sb s7,1(a7) +80000100: 01888123 sb s8,2(a7) +80000104: 019881a3 sb s9,3(a7) +80000108: 01a88223 sb s10,4(a7) +8000010c: 01b882a3 sb s11,5(a7) +80000110: 01c88323 sb t3,6(a7) +80000114: 01d883a3 sb t4,7(a7) +80000118: 00001b17 auipc s6,0x1 +8000011c: f18b0b13 addi s6,s6,-232 # 80001030 <test_C_res> +80000120: 876540b7 lui ra,0x87654 +80000124: 32108093 addi ra,ra,801 # 87654321 <_end+0x76532d1> +80000128: 001b2023 sw ra,0(s6) +8000012c: 12345037 lui zero,0x12345 +80000130: 67800013 li zero,1656 +80000134: 000b0023 sb zero,0(s6) +80000138: 00001a97 auipc s5,0x1 +8000013c: ec8a8a93 addi s5,s5,-312 # 80001000 <test_D1_data> +80000140: 000aa083 lw ra,0(s5) +80000144: 0000a023 sw zero,0(ra) +80000148: 112239b7 lui s3,0x11223 +8000014c: 34498993 addi s3,s3,836 # 11223344 <_start-0x6eddccbc> +80000150: 000aab83 lw s7,0(s5) +80000154: 013b8023 sb s3,0(s7) +80000158: 00001b97 auipc s7,0x1 +8000015c: eacb8b93 addi s7,s7,-340 # 80001004 <test_D2_data> +80000160: 00001c17 auipc s8,0x1 +80000164: ed8c0c13 addi s8,s8,-296 # 80001038 <test_D2_res> +80000168: 000c2023 sw zero,0(s8) +8000016c: 000bac83 lw s9,0(s7) +80000170: 019c0023 sb s9,0(s8) +80000174: 00001d17 auipc s10,0x1 +80000178: ec8d0d13 addi s10,s10,-312 # 8000103c <test_E1_res> +8000017c: 000d2023 sw zero,0(s10) +80000180: 76543cb7 lui s9,0x76543 +80000184: 210c8c93 addi s9,s9,528 # 76543210 <_start-0x9abcdf0> +80000188: 019d0023 sb s9,0(s10) +8000018c: 00000c93 li s9,0 +80000190: 00001e17 auipc t3,0x1 +80000194: eb0e0e13 addi t3,t3,-336 # 80001040 <test_E2_res> +80000198: 000e2023 sw zero,0(t3) +8000019c: 89abddb7 lui s11,0x89abd +800001a0: defd8d93 addi s11,s11,-529 # 89abcdef <_end+0x9abbd9f> +800001a4: 01be0023 sb s11,0(t3) +800001a8: ffce0e13 addi t3,t3,-4 +800001ac: 00001e97 auipc t4,0x1 +800001b0: e98e8e93 addi t4,t4,-360 # 80001044 <test_F_res> +800001b4: 000ea023 sw zero,0(t4) +800001b8: 000ea223 sw zero,4(t4) +800001bc: 14726db7 lui s11,0x14726 +800001c0: 836d8d93 addi s11,s11,-1994 # 14725836 <_start-0x6b8da7ca> +800001c4: 01be8023 sb s11,0(t4) +800001c8: 000eaf03 lw t5,0(t4) +800001cc: 01ee8223 sb t5,4(t4) +800001d0: 00001097 auipc ra,0x1 +800001d4: e7c08093 addi ra,ra,-388 # 8000104c <test_G_res> +800001d8: 0000a023 sw zero,0(ra) +800001dc: 96385137 lui sp,0x96385 +800001e0: 20110113 addi sp,sp,513 # 96385201 <_end+0x163841b1> +800001e4: 258151b7 lui gp,0x25815 +800001e8: 96318193 addi gp,gp,-1693 # 25814963 <_start-0x5a7eb69d> +800001ec: 00208023 sb sp,0(ra) +800001f0: 00308023 sb gp,0(ra) +800001f4: 00001517 auipc a0,0x1 +800001f8: e1c50513 addi a0,a0,-484 # 80001010 <codasip_signature_start> +800001fc: 00001597 auipc a1,0x1 +80000200: e5458593 addi a1,a1,-428 # 80001050 <_end> +80000204: f0100637 lui a2,0xf0100 +80000208: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feedc> + +8000020c <complience_halt_loop>: +8000020c: 02b50663 beq a0,a1,80000238 <complience_halt_break> +80000210: 00c52683 lw a3,12(a0) +80000214: 00d62023 sw a3,0(a2) +80000218: 00852683 lw a3,8(a0) +8000021c: 00d62023 sw a3,0(a2) +80000220: 00452683 lw a3,4(a0) +80000224: 00d62023 sw a3,0(a2) +80000228: 00052683 lw a3,0(a0) +8000022c: 00d62023 sw a3,0(a2) +80000230: 01050513 addi a0,a0,16 +80000234: fd9ff06f j 8000020c <complience_halt_loop> + +80000238 <complience_halt_break>: +80000238: f0100537 lui a0,0xf0100 +8000023c: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feed0> +80000240: 00052023 sw zero,0(a0) + +Disassembly of section .data: + +80001000 <test_D1_data>: +80001000: 1034 addi a3,sp,40 +80001002: 8000 0x8000 + +80001004 <test_D2_data>: +80001004: def0 sw a2,124(a3) +80001006: 9abc 0x9abc + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_A2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A3_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff + +8000101c <test_A4_res>: +8000101c: ffff 0xffff +8000101e: ffff 0xffff + +80001020 <test_A5_res>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_B_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff + +80001030 <test_C_res>: +80001030: ffff 0xffff +80001032: ffff 0xffff + +80001034 <test_D1_res>: +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_D2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_E1_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff + +80001040 <test_E2_res>: +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_F_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff + +8000104c <test_G_res>: +8000104c: ffff 0xffff +8000104e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SH-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SH-01.elf.objdump new file mode 100644 index 0000000..9edde9b --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SH-01.elf.objdump @@ -0,0 +1,208 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SH-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 01008093 addi ra,ra,16 # 80001010 <codasip_signature_start> +80000008: aaaacfb7 lui t6,0xaaaac +8000000c: bbbf8f93 addi t6,t6,-1093 # aaaabbbb <_end+0x2aaaab6b> +80000010: 01f0a023 sw t6,0(ra) +80000014: 11f1f137 lui sp,0x11f1f +80000018: 22210113 addi sp,sp,546 # 11f1f222 <_start-0x6e0e0dde> +8000001c: 00209023 sh sp,0(ra) +80000020: 00001297 auipc t0,0x1 +80000024: ff528293 addi t0,t0,-11 # 80001015 <test_A2_res+0x1> +80000028: fe02afa3 sw zero,-1(t0) +8000002c: f3334cb7 lui s9,0xf3334 +80000030: 4f4c8c93 addi s9,s9,1268 # f33344f4 <_end+0x733334a4> +80000034: ff929fa3 sh s9,-1(t0) +80000038: 00001417 auipc s0,0x1 +8000003c: fdf40413 addi s0,s0,-33 # 80001017 <test_A2_res+0x3> +80000040: 000420a3 sw zero,1(s0) +80000044: 55f5ffb7 lui t6,0x55f5f +80000048: 666f8f93 addi t6,t6,1638 # 55f5f666 <_start-0x2a0a099a> +8000004c: 01f410a3 sh t6,1(s0) +80000050: 00001597 auipc a1,0x1 +80000054: 7cc58593 addi a1,a1,1996 # 8000181c <_end+0x7cc> +80000058: 8005a023 sw zero,-2048(a1) +8000005c: f7779637 lui a2,0xf7779 +80000060: 8f860613 addi a2,a2,-1800 # f77788f8 <_end+0x777778a8> +80000064: 80c59023 sh a2,-2048(a1) +80000068: 00000717 auipc a4,0x0 +8000006c: 7b970713 addi a4,a4,1977 # 80000821 <complience_halt_break+0x631> +80000070: 7e072fa3 sw zero,2047(a4) +80000074: 990917b7 lui a5,0x99091 +80000078: aaa78793 addi a5,a5,-1366 # 99090aaa <_end+0x1908fa5a> +8000007c: 7ef71fa3 sh a5,2047(a4) +80000080: 00001897 auipc a7,0x1 +80000084: fa888893 addi a7,a7,-88 # 80001028 <test_B_res> +80000088: 1111d937 lui s2,0x1111d +8000008c: c0c90913 addi s2,s2,-1012 # 1111cc0c <_start-0x6eee33f4> +80000090: 222219b7 lui s3,0x22221 +80000094: bbb98993 addi s3,s3,-1093 # 22220bbb <_start-0x5dddf445> +80000098: 33331a37 lui s4,0x33331 +8000009c: eeea0a13 addi s4,s4,-274 # 33330eee <_start-0x4cccf112> +800000a0: 4444eab7 lui s5,0x4444e +800000a4: d0da8a93 addi s5,s5,-755 # 4444dd0d <_start-0x3bbb22f3> +800000a8: 77770b37 lui s6,0x77770 +800000ac: 0f0b0b13 addi s6,s6,240 # 777700f0 <_start-0x888ff10> +800000b0: 66661bb7 lui s7,0x66661 +800000b4: fffb8b93 addi s7,s7,-1 # 66660fff <_start-0x1999f001> +800000b8: ff289e23 sh s2,-4(a7) +800000bc: ff389f23 sh s3,-2(a7) +800000c0: 01489023 sh s4,0(a7) +800000c4: 01589123 sh s5,2(a7) +800000c8: 01689223 sh s6,4(a7) +800000cc: 01789323 sh s7,6(a7) +800000d0: 00001b17 auipc s6,0x1 +800000d4: f60b0b13 addi s6,s6,-160 # 80001030 <test_C_res> +800000d8: 876540b7 lui ra,0x87654 +800000dc: 32108093 addi ra,ra,801 # 87654321 <_end+0x76532d1> +800000e0: 001b2023 sw ra,0(s6) +800000e4: 12345037 lui zero,0x12345 +800000e8: 67800013 li zero,1656 +800000ec: 000b1023 sh zero,0(s6) +800000f0: 00001a97 auipc s5,0x1 +800000f4: f10a8a93 addi s5,s5,-240 # 80001000 <test_D1_data> +800000f8: 000aa083 lw ra,0(s5) +800000fc: 0000a023 sw zero,0(ra) +80000100: 112239b7 lui s3,0x11223 +80000104: 34498993 addi s3,s3,836 # 11223344 <_start-0x6eddccbc> +80000108: 000aab83 lw s7,0(s5) +8000010c: 013b9023 sh s3,0(s7) +80000110: 00001b97 auipc s7,0x1 +80000114: ef4b8b93 addi s7,s7,-268 # 80001004 <test_D2_data> +80000118: 00001c17 auipc s8,0x1 +8000011c: f20c0c13 addi s8,s8,-224 # 80001038 <test_D2_res> +80000120: 000c2023 sw zero,0(s8) +80000124: 000bac83 lw s9,0(s7) +80000128: 019c1023 sh s9,0(s8) +8000012c: 00001d17 auipc s10,0x1 +80000130: f10d0d13 addi s10,s10,-240 # 8000103c <test_E1_res> +80000134: 000d2023 sw zero,0(s10) +80000138: 76543cb7 lui s9,0x76543 +8000013c: 210c8c93 addi s9,s9,528 # 76543210 <_start-0x9abcdf0> +80000140: 019d1023 sh s9,0(s10) +80000144: 00000c93 li s9,0 +80000148: 00001e17 auipc t3,0x1 +8000014c: ef8e0e13 addi t3,t3,-264 # 80001040 <test_E2_res> +80000150: 000e2023 sw zero,0(t3) +80000154: 89abddb7 lui s11,0x89abd +80000158: defd8d93 addi s11,s11,-529 # 89abcdef <_end+0x9abbd9f> +8000015c: 01be1023 sh s11,0(t3) +80000160: ffce0e13 addi t3,t3,-4 +80000164: 00001e97 auipc t4,0x1 +80000168: ee0e8e93 addi t4,t4,-288 # 80001044 <test_F_res> +8000016c: 000ea023 sw zero,0(t4) +80000170: 000ea223 sw zero,4(t4) +80000174: 14726db7 lui s11,0x14726 +80000178: 836d8d93 addi s11,s11,-1994 # 14725836 <_start-0x6b8da7ca> +8000017c: 01be9023 sh s11,0(t4) +80000180: 000eaf03 lw t5,0(t4) +80000184: 01ee9223 sh t5,4(t4) +80000188: 00001097 auipc ra,0x1 +8000018c: ec408093 addi ra,ra,-316 # 8000104c <test_G_res> +80000190: 0000a023 sw zero,0(ra) +80000194: 96385137 lui sp,0x96385 +80000198: 20110113 addi sp,sp,513 # 96385201 <_end+0x163841b1> +8000019c: 258151b7 lui gp,0x25815 +800001a0: 96318193 addi gp,gp,-1693 # 25814963 <_start-0x5a7eb69d> +800001a4: 00209023 sh sp,0(ra) +800001a8: 00309023 sh gp,0(ra) +800001ac: 00001517 auipc a0,0x1 +800001b0: e6450513 addi a0,a0,-412 # 80001010 <codasip_signature_start> +800001b4: 00001597 auipc a1,0x1 +800001b8: e9c58593 addi a1,a1,-356 # 80001050 <_end> +800001bc: f0100637 lui a2,0xf0100 +800001c0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feedc> + +800001c4 <complience_halt_loop>: +800001c4: 02b50663 beq a0,a1,800001f0 <complience_halt_break> +800001c8: 00c52683 lw a3,12(a0) +800001cc: 00d62023 sw a3,0(a2) +800001d0: 00852683 lw a3,8(a0) +800001d4: 00d62023 sw a3,0(a2) +800001d8: 00452683 lw a3,4(a0) +800001dc: 00d62023 sw a3,0(a2) +800001e0: 00052683 lw a3,0(a0) +800001e4: 00d62023 sw a3,0(a2) +800001e8: 01050513 addi a0,a0,16 +800001ec: fd9ff06f j 800001c4 <complience_halt_loop> + +800001f0 <complience_halt_break>: +800001f0: f0100537 lui a0,0xf0100 +800001f4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feed0> +800001f8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_D1_data>: +80001000: 1034 addi a3,sp,40 +80001002: 8000 0x8000 + +80001004 <test_D2_data>: +80001004: def0 sw a2,124(a3) +80001006: 9abc 0x9abc + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_A2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A3_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff + +8000101c <test_A4_res>: +8000101c: ffff 0xffff +8000101e: ffff 0xffff + +80001020 <test_A5_res>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_B_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff + +80001030 <test_C_res>: +80001030: ffff 0xffff +80001032: ffff 0xffff + +80001034 <test_D1_res>: +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_D2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_E1_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff + +80001040 <test_E2_res>: +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_F_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff + +8000104c <test_G_res>: +8000104c: ffff 0xffff +8000104e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SLL-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SLL-01.elf.objdump new file mode 100644 index 0000000..a17b69c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SLL-01.elf.objdump @@ -0,0 +1,340 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SLL-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00100213 li tp,1 +80000018: 00f00293 li t0,15 +8000001c: 01f00313 li t1,31 +80000020: 00000393 li t2,0 +80000024: 01000413 li s0,16 +80000028: 00419233 sll tp,gp,tp +8000002c: 005192b3 sll t0,gp,t0 +80000030: 00619333 sll t1,gp,t1 +80000034: 007193b3 sll t2,gp,t2 +80000038: 00819433 sll s0,gp,s0 +8000003c: 00312023 sw gp,0(sp) +80000040: 00412223 sw tp,4(sp) +80000044: 00512423 sw t0,8(sp) +80000048: 00612623 sw t1,12(sp) +8000004c: 00712823 sw t2,16(sp) +80000050: 00812a23 sw s0,20(sp) +80000054: 00001097 auipc ra,0x1 +80000058: fb008093 addi ra,ra,-80 # 80001004 <test_A2_data> +8000005c: 00001117 auipc sp,0x1 +80000060: fec10113 addi sp,sp,-20 # 80001048 <test_A2_res> +80000064: 0000a403 lw s0,0(ra) +80000068: 00100493 li s1,1 +8000006c: 00f00513 li a0,15 +80000070: 01f00593 li a1,31 +80000074: 00000613 li a2,0 +80000078: 01000693 li a3,16 +8000007c: 009414b3 sll s1,s0,s1 +80000080: 00a41533 sll a0,s0,a0 +80000084: 00b415b3 sll a1,s0,a1 +80000088: 00c41633 sll a2,s0,a2 +8000008c: 00d416b3 sll a3,s0,a3 +80000090: 00812023 sw s0,0(sp) +80000094: 00912223 sw s1,4(sp) +80000098: 00a12423 sw a0,8(sp) +8000009c: 00b12623 sw a1,12(sp) +800000a0: 00c12823 sw a2,16(sp) +800000a4: 00d12a23 sw a3,20(sp) +800000a8: 00001097 auipc ra,0x1 +800000ac: f6008093 addi ra,ra,-160 # 80001008 <test_A3_data> +800000b0: 00001117 auipc sp,0x1 +800000b4: fb010113 addi sp,sp,-80 # 80001060 <test_A3_res> +800000b8: 0000a683 lw a3,0(ra) +800000bc: 00100713 li a4,1 +800000c0: 00f00793 li a5,15 +800000c4: 01f00813 li a6,31 +800000c8: 00000893 li a7,0 +800000cc: 01000913 li s2,16 +800000d0: 00e69733 sll a4,a3,a4 +800000d4: 00f697b3 sll a5,a3,a5 +800000d8: 01069833 sll a6,a3,a6 +800000dc: 011698b3 sll a7,a3,a7 +800000e0: 01269933 sll s2,a3,s2 +800000e4: 00d12023 sw a3,0(sp) +800000e8: 00e12223 sw a4,4(sp) +800000ec: 00f12423 sw a5,8(sp) +800000f0: 01012623 sw a6,12(sp) +800000f4: 01112823 sw a7,16(sp) +800000f8: 01212a23 sw s2,20(sp) +800000fc: 00001617 auipc a2,0x1 +80000100: f1060613 addi a2,a2,-240 # 8000100c <test_A4_data> +80000104: 00001697 auipc a3,0x1 +80000108: f7468693 addi a3,a3,-140 # 80001078 <test_A4_res> +8000010c: 00062903 lw s2,0(a2) +80000110: 00100993 li s3,1 +80000114: 00f00a13 li s4,15 +80000118: 01f00a93 li s5,31 +8000011c: 00000b13 li s6,0 +80000120: 01000b93 li s7,16 +80000124: 013919b3 sll s3,s2,s3 +80000128: 01491a33 sll s4,s2,s4 +8000012c: 01591ab3 sll s5,s2,s5 +80000130: 01691b33 sll s6,s2,s6 +80000134: 01791bb3 sll s7,s2,s7 +80000138: 0126a023 sw s2,0(a3) +8000013c: 0136a223 sw s3,4(a3) +80000140: 0146a423 sw s4,8(a3) +80000144: 0156a623 sw s5,12(a3) +80000148: 0166a823 sw s6,16(a3) +8000014c: 0176aa23 sw s7,20(a3) +80000150: 00001617 auipc a2,0x1 +80000154: ec060613 addi a2,a2,-320 # 80001010 <test_A5_data> +80000158: 00001697 auipc a3,0x1 +8000015c: f3868693 addi a3,a3,-200 # 80001090 <test_A5_res> +80000160: 00062b83 lw s7,0(a2) +80000164: 00100c13 li s8,1 +80000168: 00f00c93 li s9,15 +8000016c: 01f00d13 li s10,31 +80000170: 00000d93 li s11,0 +80000174: 01000e13 li t3,16 +80000178: 018b9c33 sll s8,s7,s8 +8000017c: 019b9cb3 sll s9,s7,s9 +80000180: 01ab9d33 sll s10,s7,s10 +80000184: 01bb9db3 sll s11,s7,s11 +80000188: 01cb9e33 sll t3,s7,t3 +8000018c: 0176a023 sw s7,0(a3) +80000190: 0186a223 sw s8,4(a3) +80000194: 0196a423 sw s9,8(a3) +80000198: 01a6a623 sw s10,12(a3) +8000019c: 01b6a823 sw s11,16(a3) +800001a0: 01c6aa23 sw t3,20(a3) +800001a4: 00001c97 auipc s9,0x1 +800001a8: e70c8c93 addi s9,s9,-400 # 80001014 <test_B_data> +800001ac: 00001d17 auipc s10,0x1 +800001b0: efcd0d13 addi s10,s10,-260 # 800010a8 <test_B_res> +800001b4: 000cae03 lw t3,0(s9) +800001b8: 00100d93 li s11,1 +800001bc: 01be1eb3 sll t4,t3,s11 +800001c0: 01be9f33 sll t5,t4,s11 +800001c4: 01bf1fb3 sll t6,t5,s11 +800001c8: 01bf90b3 sll ra,t6,s11 +800001cc: 01b09133 sll sp,ra,s11 +800001d0: 01b111b3 sll gp,sp,s11 +800001d4: 01cd2023 sw t3,0(s10) +800001d8: 01dd2223 sw t4,4(s10) +800001dc: 01ed2423 sw t5,8(s10) +800001e0: 01fd2623 sw t6,12(s10) +800001e4: 001d2823 sw ra,16(s10) +800001e8: 002d2a23 sw sp,20(s10) +800001ec: 003d2c23 sw gp,24(s10) +800001f0: 00001097 auipc ra,0x1 +800001f4: e2808093 addi ra,ra,-472 # 80001018 <test_C_data> +800001f8: 00001117 auipc sp,0x1 +800001fc: ecc10113 addi sp,sp,-308 # 800010c4 <test_C_res> +80000200: 0000a283 lw t0,0(ra) +80000204: 00100d93 li s11,1 +80000208: 01b29033 sll zero,t0,s11 +8000020c: 00012023 sw zero,0(sp) +80000210: 00001097 auipc ra,0x1 +80000214: e0c08093 addi ra,ra,-500 # 8000101c <test_D_data> +80000218: 00001117 auipc sp,0x1 +8000021c: eb010113 addi sp,sp,-336 # 800010c8 <test_D_res> +80000220: 0000a283 lw t0,0(ra) +80000224: 00100d93 li s11,1 +80000228: 01b29033 sll zero,t0,s11 +8000022c: 01b012b3 sll t0,zero,s11 +80000230: 00012023 sw zero,0(sp) +80000234: 00512223 sw t0,4(sp) +80000238: 00001097 auipc ra,0x1 +8000023c: de808093 addi ra,ra,-536 # 80001020 <test_E_data> +80000240: 00001117 auipc sp,0x1 +80000244: e9010113 addi sp,sp,-368 # 800010d0 <test_E_res> +80000248: 0000a183 lw gp,0(ra) +8000024c: 10000237 lui tp,0x10000 +80000250: fe020213 addi tp,tp,-32 # fffffe0 <_start-0x70000020> +80000254: 100002b7 lui t0,0x10000 +80000258: fe128293 addi t0,t0,-31 # fffffe1 <_start-0x7000001f> +8000025c: 10000337 lui t1,0x10000 +80000260: fef30313 addi t1,t1,-17 # fffffef <_start-0x70000011> +80000264: 100003b7 lui t2,0x10000 +80000268: fff38393 addi t2,t2,-1 # fffffff <_start-0x70000001> +8000026c: 00419233 sll tp,gp,tp +80000270: 005192b3 sll t0,gp,t0 +80000274: 00619333 sll t1,gp,t1 +80000278: 007193b3 sll t2,gp,t2 +8000027c: 00412023 sw tp,0(sp) +80000280: 00512223 sw t0,4(sp) +80000284: 00612423 sw t1,8(sp) +80000288: 00712623 sw t2,12(sp) +8000028c: 00001517 auipc a0,0x1 +80000290: da450513 addi a0,a0,-604 # 80001030 <codasip_signature_start> +80000294: 00001597 auipc a1,0x1 +80000298: e4c58593 addi a1,a1,-436 # 800010e0 <_end> +8000029c: f0100637 lui a2,0xf0100 +800002a0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002a4 <complience_halt_loop>: +800002a4: 02b50663 beq a0,a1,800002d0 <complience_halt_break> +800002a8: 00c52683 lw a3,12(a0) +800002ac: 00d62023 sw a3,0(a2) +800002b0: 00852683 lw a3,8(a0) +800002b4: 00d62023 sw a3,0(a2) +800002b8: 00452683 lw a3,4(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 00052683 lw a3,0(a0) +800002c4: 00d62023 sw a3,0(a2) +800002c8: 01050513 addi a0,a0,16 +800002cc: fd9ff06f j 800002a4 <complience_halt_loop> + +800002d0 <complience_halt_break>: +800002d0: f0100537 lui a0,0xf0100 +800002d4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002d8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ef10 fsw fa2,24(a4) +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 4321 li t1,8 +80001022: 8765 srai a4,a4,0x19 + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SLLI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SLLI-01.elf.objdump new file mode 100644 index 0000000..6151dfd --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SLLI-01.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SLLI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00119213 slli tp,gp,0x1 +80000018: 00f19293 slli t0,gp,0xf +8000001c: 01f19313 slli t1,gp,0x1f +80000020: 00019393 slli t2,gp,0x0 +80000024: 01019413 slli s0,gp,0x10 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: ff010113 addi sp,sp,-16 # 80001038 <test_A2_res> +80000050: 0000a403 lw s0,0(ra) +80000054: 00141493 slli s1,s0,0x1 +80000058: 00f41513 slli a0,s0,0xf +8000005c: 01f41593 slli a1,s0,0x1f +80000060: 00041613 slli a2,s0,0x0 +80000064: 01041693 slli a3,s0,0x10 +80000068: 00812023 sw s0,0(sp) +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fc810113 addi sp,sp,-56 # 80001050 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 00169713 slli a4,a3,0x1 +80000098: 00f69793 slli a5,a3,0xf +8000009c: 01f69813 slli a6,a3,0x1f +800000a0: 00069893 slli a7,a3,0x0 +800000a4: 01069913 slli s2,a3,0x10 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001617 auipc a2,0x1 +800000c4: f4c60613 addi a2,a2,-180 # 8000100c <test_A4_data> +800000c8: 00001697 auipc a3,0x1 +800000cc: fa068693 addi a3,a3,-96 # 80001068 <test_A4_res> +800000d0: 00062903 lw s2,0(a2) +800000d4: 00191993 slli s3,s2,0x1 +800000d8: 00f91a13 slli s4,s2,0xf +800000dc: 01f91a93 slli s5,s2,0x1f +800000e0: 00091b13 slli s6,s2,0x0 +800000e4: 01091b93 slli s7,s2,0x10 +800000e8: 0126a023 sw s2,0(a3) +800000ec: 0136a223 sw s3,4(a3) +800000f0: 0146a423 sw s4,8(a3) +800000f4: 0156a623 sw s5,12(a3) +800000f8: 0166a823 sw s6,16(a3) +800000fc: 0176aa23 sw s7,20(a3) +80000100: 00001617 auipc a2,0x1 +80000104: f1060613 addi a2,a2,-240 # 80001010 <test_A5_data> +80000108: 00001697 auipc a3,0x1 +8000010c: f7868693 addi a3,a3,-136 # 80001080 <test_A5_res> +80000110: 00062b83 lw s7,0(a2) +80000114: 001b9c13 slli s8,s7,0x1 +80000118: 00fb9c93 slli s9,s7,0xf +8000011c: 01fb9d13 slli s10,s7,0x1f +80000120: 000b9d93 slli s11,s7,0x0 +80000124: 010b9e13 slli t3,s7,0x10 +80000128: 0176a023 sw s7,0(a3) +8000012c: 0186a223 sw s8,4(a3) +80000130: 0196a423 sw s9,8(a3) +80000134: 01a6a623 sw s10,12(a3) +80000138: 01b6a823 sw s11,16(a3) +8000013c: 01c6aa23 sw t3,20(a3) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f50d8d93 addi s11,s11,-176 # 80001098 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 001e1e93 slli t4,t3,0x1 +80000158: 001e9f13 slli t5,t4,0x1 +8000015c: 001f1f93 slli t6,t5,0x1 +80000160: 001f9093 slli ra,t6,0x1 +80000164: 00109113 slli sp,ra,0x1 +80000168: 00111193 slli gp,sp,0x1 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f2410113 addi sp,sp,-220 # 800010b4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 00129013 slli zero,t0,0x1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f0c10113 addi sp,sp,-244 # 800010b8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 00129013 slli zero,t0,0x1 +800001bc: 00101293 slli t0,zero,0x1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001517 auipc a0,0x1 +800001cc: e5850513 addi a0,a0,-424 # 80001020 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: ef058593 addi a1,a1,-272 # 800010c0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ef10 fsw fa2,24(a4) +80001016: abcd j 80001608 <_end+0x548> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_C_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff + +800010b8 <test_D_res>: +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SLT-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SLT-01.elf.objdump new file mode 100644 index 0000000..b5d2b59 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SLT-01.elf.objdump @@ -0,0 +1,332 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SLT-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00100213 li tp,1 +80000018: 800002b7 lui t0,0x80000 +8000001c: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffef1f> +80000020: fff00313 li t1,-1 +80000024: 00000393 li t2,0 +80000028: 80000437 lui s0,0x80000 +8000002c: 0041a233 slt tp,gp,tp +80000030: 0051a2b3 slt t0,gp,t0 +80000034: 0061a333 slt t1,gp,t1 +80000038: 0071a3b3 slt t2,gp,t2 +8000003c: 0081a433 slt s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fd810113 addi sp,sp,-40 # 80001038 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00100493 li s1,1 +80000070: 80000537 lui a0,0x80000 +80000074: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef1f> +80000078: fff00593 li a1,-1 +8000007c: 00000613 li a2,0 +80000080: 800006b7 lui a3,0x80000 +80000084: 009424b3 slt s1,s0,s1 +80000088: 00a42533 slt a0,s0,a0 +8000008c: 00b425b3 slt a1,s0,a1 +80000090: 00c42633 slt a2,s0,a2 +80000094: 00d426b3 slt a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: f9810113 addi sp,sp,-104 # 80001050 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00100713 li a4,1 +800000c8: 800007b7 lui a5,0x80000 +800000cc: fff78793 addi a5,a5,-1 # 7fffffff <_end+0xffffef1f> +800000d0: fff00813 li a6,-1 +800000d4: 00000893 li a7,0 +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e6a733 slt a4,a3,a4 +800000e0: 00f6a7b3 slt a5,a3,a5 +800000e4: 0106a833 slt a6,a3,a6 +800000e8: 0116a8b3 slt a7,a3,a7 +800000ec: 0126a933 slt s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f5810113 addi sp,sp,-168 # 80001068 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00100993 li s3,1 +80000120: 80000a37 lui s4,0x80000 +80000124: fffa0a13 addi s4,s4,-1 # 7fffffff <_end+0xffffef1f> +80000128: fff00a93 li s5,-1 +8000012c: 00000b13 li s6,0 +80000130: 80000bb7 lui s7,0x80000 +80000134: 013929b3 slt s3,s2,s3 +80000138: 01492a33 slt s4,s2,s4 +8000013c: 01592ab3 slt s5,s2,s5 +80000140: 01692b33 slt s6,s2,s6 +80000144: 01792bb3 slt s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f1810113 addi sp,sp,-232 # 80001080 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00100c13 li s8,1 +80000178: 80000cb7 lui s9,0x80000 +8000017c: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef1f> +80000180: fff00d13 li s10,-1 +80000184: 00000d93 li s11,0 +80000188: 80000e37 lui t3,0x80000 +8000018c: 018bac33 slt s8,s7,s8 +80000190: 019bacb3 slt s9,s7,s9 +80000194: 01abad33 slt s10,s7,s10 +80000198: 01bbadb3 slt s11,s7,s11 +8000019c: 01cbae33 slt t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001d17 auipc s10,0x1 +800001bc: e5cd0d13 addi s10,s10,-420 # 80001014 <test_B_data> +800001c0: 00001d97 auipc s11,0x1 +800001c4: ed8d8d93 addi s11,s11,-296 # 80001098 <test_B_res> +800001c8: 000d2083 lw ra,0(s10) +800001cc: 00100113 li sp,1 +800001d0: 0020a033 slt zero,ra,sp +800001d4: 000da023 sw zero,0(s11) +800001d8: 001da223 sw ra,4(s11) +800001dc: 002da423 sw sp,8(s11) +800001e0: 00001f97 auipc t6,0x1 +800001e4: ec4f8f93 addi t6,t6,-316 # 800010a4 <test_C_res> +800001e8: 00100093 li ra,1 +800001ec: 7ff00113 li sp,2047 +800001f0: fff00193 li gp,-1 +800001f4: 00000213 li tp,0 +800001f8: 80000293 li t0,-2048 +800001fc: 00102333 sgtz t1,ra +80000200: 002023b3 sgtz t2,sp +80000204: 00302433 sgtz s0,gp +80000208: 004024b3 sgtz s1,tp +8000020c: 00502533 sgtz a0,t0 +80000210: 0000a5b3 sltz a1,ra +80000214: 00012633 sltz a2,sp +80000218: 0001a6b3 sltz a3,gp +8000021c: 00022733 sltz a4,tp +80000220: 0002a7b3 sltz a5,t0 +80000224: 006fa023 sw t1,0(t6) +80000228: 007fa223 sw t2,4(t6) +8000022c: 008fa423 sw s0,8(t6) +80000230: 009fa623 sw s1,12(t6) +80000234: 00afa823 sw a0,16(t6) +80000238: 00bfaa23 sw a1,20(t6) +8000023c: 00cfac23 sw a2,24(t6) +80000240: 00dfae23 sw a3,28(t6) +80000244: 02efa023 sw a4,32(t6) +80000248: 02ffa223 sw a5,36(t6) +8000024c: 00001f97 auipc t6,0x1 +80000250: e80f8f93 addi t6,t6,-384 # 800010cc <test_D_res> +80000254: 00100193 li gp,1 +80000258: 003020b3 sgtz ra,gp +8000025c: 0030a133 slt sp,ra,gp +80000260: 00312e33 slt t3,sp,gp +80000264: 003e2eb3 slt t4,t3,gp +80000268: 003eaf33 slt t5,t4,gp +8000026c: 001fa023 sw ra,0(t6) +80000270: 002fa223 sw sp,4(t6) +80000274: 01cfa423 sw t3,8(t6) +80000278: 01dfa623 sw t4,12(t6) +8000027c: 01efa823 sw t5,16(t6) +80000280: 00001517 auipc a0,0x1 +80000284: da050513 addi a0,a0,-608 # 80001020 <codasip_signature_start> +80000288: 00001597 auipc a1,0x1 +8000028c: e5858593 addi a1,a1,-424 # 800010e0 <_end> +80000290: f0100637 lui a2,0xf0100 +80000294: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +80000298 <complience_halt_loop>: +80000298: 02b50663 beq a0,a1,800002c4 <complience_halt_break> +8000029c: 00c52683 lw a3,12(a0) +800002a0: 00d62023 sw a3,0(a2) +800002a4: 00852683 lw a3,8(a0) +800002a8: 00d62023 sw a3,0(a2) +800002ac: 00452683 lw a3,4(a0) +800002b0: 00d62023 sw a3,0(a2) +800002b4: 00052683 lw a3,0(a0) +800002b8: 00d62023 sw a3,0(a2) +800002bc: 01050513 addi a0,a0,16 +800002c0: fd9ff06f j 80000298 <complience_halt_loop> + +800002c4 <complience_halt_break>: +800002c4: f0100537 lui a0,0xf0100 +800002c8: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002cc: 00052023 sw zero,0(a0) +800002d0: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ffff 0xffff +80001016: ffff 0xffff + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff + +800010a4 <test_C_res>: +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SLTI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SLTI-01.elf.objdump new file mode 100644 index 0000000..433f418 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SLTI-01.elf.objdump @@ -0,0 +1,277 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SLTI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 0011a213 slti tp,gp,1 +80000018: 7ff1a293 slti t0,gp,2047 +8000001c: fff1a313 slti t1,gp,-1 +80000020: 0001a393 slti t2,gp,0 +80000024: 8001a413 slti s0,gp,-2048 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: ff010113 addi sp,sp,-16 # 80001038 <test_A2_res> +80000050: 0000a403 lw s0,0(ra) +80000054: 00142493 slti s1,s0,1 +80000058: 7ff42513 slti a0,s0,2047 +8000005c: fff42593 slti a1,s0,-1 +80000060: 00042613 slti a2,s0,0 +80000064: 80042693 slti a3,s0,-2048 +80000068: 00812023 sw s0,0(sp) +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fc810113 addi sp,sp,-56 # 80001050 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 0016a713 slti a4,a3,1 +80000098: 7ff6a793 slti a5,a3,2047 +8000009c: fff6a813 slti a6,a3,-1 +800000a0: 0006a893 slti a7,a3,0 +800000a4: 8006a913 slti s2,a3,-2048 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001097 auipc ra,0x1 +800000c4: f4c08093 addi ra,ra,-180 # 8000100c <test_A4_data> +800000c8: 00001117 auipc sp,0x1 +800000cc: fa010113 addi sp,sp,-96 # 80001068 <test_A4_res> +800000d0: 0000a903 lw s2,0(ra) +800000d4: 00192993 slti s3,s2,1 +800000d8: 7ff92a13 slti s4,s2,2047 +800000dc: fff92a93 slti s5,s2,-1 +800000e0: 00092b13 slti s6,s2,0 +800000e4: 80092b93 slti s7,s2,-2048 +800000e8: 01212023 sw s2,0(sp) +800000ec: 01312223 sw s3,4(sp) +800000f0: 01412423 sw s4,8(sp) +800000f4: 01512623 sw s5,12(sp) +800000f8: 01612823 sw s6,16(sp) +800000fc: 01712a23 sw s7,20(sp) +80000100: 00001097 auipc ra,0x1 +80000104: f1008093 addi ra,ra,-240 # 80001010 <test_A5_data> +80000108: 00001117 auipc sp,0x1 +8000010c: f7810113 addi sp,sp,-136 # 80001080 <test_A5_res> +80000110: 0000ab83 lw s7,0(ra) +80000114: 001bac13 slti s8,s7,1 +80000118: 7ffbac93 slti s9,s7,2047 +8000011c: fffbad13 slti s10,s7,-1 +80000120: 000bad93 slti s11,s7,0 +80000124: 800bae13 slti t3,s7,-2048 +80000128: 01712023 sw s7,0(sp) +8000012c: 01812223 sw s8,4(sp) +80000130: 01912423 sw s9,8(sp) +80000134: 01a12623 sw s10,12(sp) +80000138: 01b12823 sw s11,16(sp) +8000013c: 01c12a23 sw t3,20(sp) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f50d8d93 addi s11,s11,-176 # 80001098 <test_B_res> +80000150: 000d2083 lw ra,0(s10) +80000154: 0010a013 slti zero,ra,1 +80000158: 001da023 sw ra,0(s11) +8000015c: 000da223 sw zero,4(s11) +80000160: 00001f97 auipc t6,0x1 +80000164: f40f8f93 addi t6,t6,-192 # 800010a0 <test_C_res> +80000168: 00102093 slti ra,zero,1 +8000016c: 7ff02113 slti sp,zero,2047 +80000170: fff02193 slti gp,zero,-1 +80000174: 00002213 slti tp,zero,0 +80000178: 80002293 slti t0,zero,-2048 +8000017c: 000fa023 sw zero,0(t6) +80000180: 001fa223 sw ra,4(t6) +80000184: 002fa423 sw sp,8(t6) +80000188: 003fa623 sw gp,12(t6) +8000018c: 004fa823 sw tp,16(t6) +80000190: 005faa23 sw t0,20(t6) +80000194: 00001f97 auipc t6,0x1 +80000198: f24f8f93 addi t6,t6,-220 # 800010b8 <test_D_res> +8000019c: 00102093 slti ra,zero,1 +800001a0: 0010a113 slti sp,ra,1 +800001a4: 00112e13 slti t3,sp,1 +800001a8: 001e2e93 slti t4,t3,1 +800001ac: 001eaf13 slti t5,t4,1 +800001b0: 000fa023 sw zero,0(t6) +800001b4: 001fa223 sw ra,4(t6) +800001b8: 002fa423 sw sp,8(t6) +800001bc: 01cfa623 sw t3,12(t6) +800001c0: 01dfa823 sw t4,16(t6) +800001c4: 01efaa23 sw t5,20(t6) +800001c8: 00001517 auipc a0,0x1 +800001cc: e5850513 addi a0,a0,-424 # 80001020 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: f0058593 addi a1,a1,-256 # 800010d0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ffff 0xffff +80001016: ffff 0xffff + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_C_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff + +800010b8 <test_D_res>: +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SLTIU-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SLTIU-01.elf.objdump new file mode 100644 index 0000000..32fc6f7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SLTIU-01.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SLTIU-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 0011b213 seqz tp,gp +80000018: 7ff1b293 sltiu t0,gp,2047 +8000001c: fff1b313 sltiu t1,gp,-1 +80000020: 0001b393 sltiu t2,gp,0 +80000024: 8001b413 sltiu s0,gp,-2048 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: ff010113 addi sp,sp,-16 # 80001038 <test_A2_res> +80000050: 0000a403 lw s0,0(ra) +80000054: 00143493 seqz s1,s0 +80000058: 7ff43513 sltiu a0,s0,2047 +8000005c: fff43593 sltiu a1,s0,-1 +80000060: 00043613 sltiu a2,s0,0 +80000064: 80043693 sltiu a3,s0,-2048 +80000068: 00812023 sw s0,0(sp) +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fc810113 addi sp,sp,-56 # 80001050 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 0016b713 seqz a4,a3 +80000098: 7ff6b793 sltiu a5,a3,2047 +8000009c: fff6b813 sltiu a6,a3,-1 +800000a0: 0006b893 sltiu a7,a3,0 +800000a4: 8006b913 sltiu s2,a3,-2048 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001097 auipc ra,0x1 +800000c4: f4c08093 addi ra,ra,-180 # 8000100c <test_A4_data> +800000c8: 00001117 auipc sp,0x1 +800000cc: fa010113 addi sp,sp,-96 # 80001068 <test_A4_res> +800000d0: 0000a903 lw s2,0(ra) +800000d4: 00193993 seqz s3,s2 +800000d8: 7ff93a13 sltiu s4,s2,2047 +800000dc: fff93a93 sltiu s5,s2,-1 +800000e0: 00093b13 sltiu s6,s2,0 +800000e4: 80093b93 sltiu s7,s2,-2048 +800000e8: 01212023 sw s2,0(sp) +800000ec: 01312223 sw s3,4(sp) +800000f0: 01412423 sw s4,8(sp) +800000f4: 01512623 sw s5,12(sp) +800000f8: 01612823 sw s6,16(sp) +800000fc: 01712a23 sw s7,20(sp) +80000100: 00001097 auipc ra,0x1 +80000104: f1008093 addi ra,ra,-240 # 80001010 <test_A5_data> +80000108: 00001117 auipc sp,0x1 +8000010c: f7810113 addi sp,sp,-136 # 80001080 <test_A5_res> +80000110: 0000ab83 lw s7,0(ra) +80000114: 001bbc13 seqz s8,s7 +80000118: 7ffbbc93 sltiu s9,s7,2047 +8000011c: fffbbd13 sltiu s10,s7,-1 +80000120: 000bbd93 sltiu s11,s7,0 +80000124: 800bbe13 sltiu t3,s7,-2048 +80000128: 01712023 sw s7,0(sp) +8000012c: 01812223 sw s8,4(sp) +80000130: 01912423 sw s9,8(sp) +80000134: 01a12623 sw s10,12(sp) +80000138: 01b12823 sw s11,16(sp) +8000013c: 01c12a23 sw t3,20(sp) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f50d8d93 addi s11,s11,-176 # 80001098 <test_B_res> +80000150: 000d2083 lw ra,0(s10) +80000154: fff0b013 sltiu zero,ra,-1 +80000158: 001da023 sw ra,0(s11) +8000015c: 000da223 sw zero,4(s11) +80000160: 00001f97 auipc t6,0x1 +80000164: f40f8f93 addi t6,t6,-192 # 800010a0 <test_C_res> +80000168: 00103093 seqz ra,zero +8000016c: 7ff03113 sltiu sp,zero,2047 +80000170: fff03193 sltiu gp,zero,-1 +80000174: 00003213 sltiu tp,zero,0 +80000178: 80003293 sltiu t0,zero,-2048 +8000017c: 000fa023 sw zero,0(t6) +80000180: 001fa223 sw ra,4(t6) +80000184: 002fa423 sw sp,8(t6) +80000188: 003fa623 sw gp,12(t6) +8000018c: 004fa823 sw tp,16(t6) +80000190: 005faa23 sw t0,20(t6) +80000194: 00001f97 auipc t6,0x1 +80000198: f24f8f93 addi t6,t6,-220 # 800010b8 <test_D_res> +8000019c: 00103093 seqz ra,zero +800001a0: 0010b113 seqz sp,ra +800001a4: 00113e13 seqz t3,sp +800001a8: 001e3e93 seqz t4,t3 +800001ac: 001ebf13 seqz t5,t4 +800001b0: 000fa023 sw zero,0(t6) +800001b4: 001fa223 sw ra,4(t6) +800001b8: 002fa423 sw sp,8(t6) +800001bc: 01cfa623 sw t3,12(t6) +800001c0: 01dfa823 sw t4,16(t6) +800001c4: 01efaa23 sw t5,20(t6) +800001c8: 00001517 auipc a0,0x1 +800001cc: e5850513 addi a0,a0,-424 # 80001020 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: f0058593 addi a1,a1,-256 # 800010d0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: 0001 nop + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_C_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff + +800010b8 <test_D_res>: +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SLTU-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SLTU-01.elf.objdump new file mode 100644 index 0000000..0362f0b --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SLTU-01.elf.objdump @@ -0,0 +1,331 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SLTU-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00100213 li tp,1 +80000018: 800002b7 lui t0,0x80000 +8000001c: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffef1f> +80000020: fff00313 li t1,-1 +80000024: 00000393 li t2,0 +80000028: 80000437 lui s0,0x80000 +8000002c: 0041b233 sltu tp,gp,tp +80000030: 0051b2b3 sltu t0,gp,t0 +80000034: 0061b333 sltu t1,gp,t1 +80000038: 0071b3b3 sltu t2,gp,t2 +8000003c: 0081b433 sltu s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fd810113 addi sp,sp,-40 # 80001038 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00100493 li s1,1 +80000070: 80000537 lui a0,0x80000 +80000074: fff50513 addi a0,a0,-1 # 7fffffff <_end+0xffffef1f> +80000078: fff00593 li a1,-1 +8000007c: 00000613 li a2,0 +80000080: 800006b7 lui a3,0x80000 +80000084: 009434b3 sltu s1,s0,s1 +80000088: 00a43533 sltu a0,s0,a0 +8000008c: 00b435b3 sltu a1,s0,a1 +80000090: 00c43633 sltu a2,s0,a2 +80000094: 00d436b3 sltu a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: f9810113 addi sp,sp,-104 # 80001050 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00100713 li a4,1 +800000c8: 800007b7 lui a5,0x80000 +800000cc: fff78793 addi a5,a5,-1 # 7fffffff <_end+0xffffef1f> +800000d0: fff00813 li a6,-1 +800000d4: 00000893 li a7,0 +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e6b733 sltu a4,a3,a4 +800000e0: 00f6b7b3 sltu a5,a3,a5 +800000e4: 0106b833 sltu a6,a3,a6 +800000e8: 0116b8b3 sltu a7,a3,a7 +800000ec: 0126b933 sltu s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f5810113 addi sp,sp,-168 # 80001068 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00100993 li s3,1 +80000120: 80000a37 lui s4,0x80000 +80000124: fffa0a13 addi s4,s4,-1 # 7fffffff <_end+0xffffef1f> +80000128: fff00a93 li s5,-1 +8000012c: 00000b13 li s6,0 +80000130: 80000bb7 lui s7,0x80000 +80000134: 013939b3 sltu s3,s2,s3 +80000138: 01493a33 sltu s4,s2,s4 +8000013c: 01593ab3 sltu s5,s2,s5 +80000140: 01693b33 sltu s6,s2,s6 +80000144: 01793bb3 sltu s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f1810113 addi sp,sp,-232 # 80001080 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00100c13 li s8,1 +80000178: 80000cb7 lui s9,0x80000 +8000017c: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef1f> +80000180: fff00d13 li s10,-1 +80000184: 00000d93 li s11,0 +80000188: 80000e37 lui t3,0x80000 +8000018c: 018bbc33 sltu s8,s7,s8 +80000190: 019bbcb3 sltu s9,s7,s9 +80000194: 01abbd33 sltu s10,s7,s10 +80000198: 01bbbdb3 sltu s11,s7,s11 +8000019c: 01cbbe33 sltu t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001d17 auipc s10,0x1 +800001bc: e5cd0d13 addi s10,s10,-420 # 80001014 <test_B_data> +800001c0: 00001d97 auipc s11,0x1 +800001c4: ed8d8d93 addi s11,s11,-296 # 80001098 <test_B_res> +800001c8: 000d2083 lw ra,0(s10) +800001cc: fff00113 li sp,-1 +800001d0: 0020b033 sltu zero,ra,sp +800001d4: 000da023 sw zero,0(s11) +800001d8: 001da223 sw ra,4(s11) +800001dc: 002da423 sw sp,8(s11) +800001e0: 00001f97 auipc t6,0x1 +800001e4: ec4f8f93 addi t6,t6,-316 # 800010a4 <test_C_res> +800001e8: 00100093 li ra,1 +800001ec: 7ff00113 li sp,2047 +800001f0: fff00193 li gp,-1 +800001f4: 00000213 li tp,0 +800001f8: 80000293 li t0,-2048 +800001fc: 00103333 snez t1,ra +80000200: 002033b3 snez t2,sp +80000204: 00303433 snez s0,gp +80000208: 004034b3 snez s1,tp +8000020c: 00503533 snez a0,t0 +80000210: 0000b5b3 sltu a1,ra,zero +80000214: 00013633 sltu a2,sp,zero +80000218: 0001b6b3 sltu a3,gp,zero +8000021c: 00023733 sltu a4,tp,zero +80000220: 0002b7b3 sltu a5,t0,zero +80000224: 006fa023 sw t1,0(t6) +80000228: 007fa223 sw t2,4(t6) +8000022c: 008fa423 sw s0,8(t6) +80000230: 009fa623 sw s1,12(t6) +80000234: 00afa823 sw a0,16(t6) +80000238: 00bfaa23 sw a1,20(t6) +8000023c: 00cfac23 sw a2,24(t6) +80000240: 00dfae23 sw a3,28(t6) +80000244: 02efa023 sw a4,32(t6) +80000248: 02ffa223 sw a5,36(t6) +8000024c: 00001f97 auipc t6,0x1 +80000250: e80f8f93 addi t6,t6,-384 # 800010cc <test_D_res> +80000254: 00100193 li gp,1 +80000258: 003030b3 snez ra,gp +8000025c: 0030b133 sltu sp,ra,gp +80000260: 00313e33 sltu t3,sp,gp +80000264: 003e3eb3 sltu t4,t3,gp +80000268: 003ebf33 sltu t5,t4,gp +8000026c: 001fa023 sw ra,0(t6) +80000270: 002fa223 sw sp,4(t6) +80000274: 01cfa423 sw t3,8(t6) +80000278: 01dfa623 sw t4,12(t6) +8000027c: 01efa823 sw t5,16(t6) +80000280: 00001517 auipc a0,0x1 +80000284: da050513 addi a0,a0,-608 # 80001020 <codasip_signature_start> +80000288: 00001597 auipc a1,0x1 +8000028c: e5858593 addi a1,a1,-424 # 800010e0 <_end> +80000290: f0100637 lui a2,0xf0100 +80000294: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +80000298 <complience_halt_loop>: +80000298: 02b50663 beq a0,a1,800002c4 <complience_halt_break> +8000029c: 00c52683 lw a3,12(a0) +800002a0: 00d62023 sw a3,0(a2) +800002a4: 00852683 lw a3,8(a0) +800002a8: 00d62023 sw a3,0(a2) +800002ac: 00452683 lw a3,4(a0) +800002b0: 00d62023 sw a3,0(a2) +800002b4: 00052683 lw a3,0(a0) +800002b8: 00d62023 sw a3,0(a2) +800002bc: 01050513 addi a0,a0,16 +800002c0: fd9ff06f j 80000298 <complience_halt_loop> + +800002c4 <complience_halt_break>: +800002c4: f0100537 lui a0,0xf0100 +800002c8: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002cc: 00052023 sw zero,0(a0) +800002d0: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: 0001 nop + ... + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff + +800010a4 <test_C_res>: +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SRA-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SRA-01.elf.objdump new file mode 100644 index 0000000..906c3ae --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SRA-01.elf.objdump @@ -0,0 +1,340 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SRA-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00100213 li tp,1 +80000018: 00f00293 li t0,15 +8000001c: 01f00313 li t1,31 +80000020: 00000393 li t2,0 +80000024: 01000413 li s0,16 +80000028: 4041d233 sra tp,gp,tp +8000002c: 4051d2b3 sra t0,gp,t0 +80000030: 4061d333 sra t1,gp,t1 +80000034: 4071d3b3 sra t2,gp,t2 +80000038: 4081d433 sra s0,gp,s0 +8000003c: 00312023 sw gp,0(sp) +80000040: 00412223 sw tp,4(sp) +80000044: 00512423 sw t0,8(sp) +80000048: 00612623 sw t1,12(sp) +8000004c: 00712823 sw t2,16(sp) +80000050: 00812a23 sw s0,20(sp) +80000054: 00001097 auipc ra,0x1 +80000058: fb008093 addi ra,ra,-80 # 80001004 <test_A2_data> +8000005c: 00001117 auipc sp,0x1 +80000060: fec10113 addi sp,sp,-20 # 80001048 <test_A2_res> +80000064: 0000a403 lw s0,0(ra) +80000068: 00100493 li s1,1 +8000006c: 00f00513 li a0,15 +80000070: 01f00593 li a1,31 +80000074: 00000613 li a2,0 +80000078: 01000693 li a3,16 +8000007c: 409454b3 sra s1,s0,s1 +80000080: 40a45533 sra a0,s0,a0 +80000084: 40b455b3 sra a1,s0,a1 +80000088: 40c45633 sra a2,s0,a2 +8000008c: 40d456b3 sra a3,s0,a3 +80000090: 00812023 sw s0,0(sp) +80000094: 00912223 sw s1,4(sp) +80000098: 00a12423 sw a0,8(sp) +8000009c: 00b12623 sw a1,12(sp) +800000a0: 00c12823 sw a2,16(sp) +800000a4: 00d12a23 sw a3,20(sp) +800000a8: 00001097 auipc ra,0x1 +800000ac: f6008093 addi ra,ra,-160 # 80001008 <test_A3_data> +800000b0: 00001117 auipc sp,0x1 +800000b4: fb010113 addi sp,sp,-80 # 80001060 <test_A3_res> +800000b8: 0000a683 lw a3,0(ra) +800000bc: 00100713 li a4,1 +800000c0: 00f00793 li a5,15 +800000c4: 01f00813 li a6,31 +800000c8: 00000893 li a7,0 +800000cc: 01000913 li s2,16 +800000d0: 40e6d733 sra a4,a3,a4 +800000d4: 40f6d7b3 sra a5,a3,a5 +800000d8: 4106d833 sra a6,a3,a6 +800000dc: 4116d8b3 sra a7,a3,a7 +800000e0: 4126d933 sra s2,a3,s2 +800000e4: 00d12023 sw a3,0(sp) +800000e8: 00e12223 sw a4,4(sp) +800000ec: 00f12423 sw a5,8(sp) +800000f0: 01012623 sw a6,12(sp) +800000f4: 01112823 sw a7,16(sp) +800000f8: 01212a23 sw s2,20(sp) +800000fc: 00001617 auipc a2,0x1 +80000100: f1060613 addi a2,a2,-240 # 8000100c <test_A4_data> +80000104: 00001697 auipc a3,0x1 +80000108: f7468693 addi a3,a3,-140 # 80001078 <test_A4_res> +8000010c: 00062903 lw s2,0(a2) +80000110: 00100993 li s3,1 +80000114: 00f00a13 li s4,15 +80000118: 01f00a93 li s5,31 +8000011c: 00000b13 li s6,0 +80000120: 01000b93 li s7,16 +80000124: 413959b3 sra s3,s2,s3 +80000128: 41495a33 sra s4,s2,s4 +8000012c: 41595ab3 sra s5,s2,s5 +80000130: 41695b33 sra s6,s2,s6 +80000134: 41795bb3 sra s7,s2,s7 +80000138: 0126a023 sw s2,0(a3) +8000013c: 0136a223 sw s3,4(a3) +80000140: 0146a423 sw s4,8(a3) +80000144: 0156a623 sw s5,12(a3) +80000148: 0166a823 sw s6,16(a3) +8000014c: 0176aa23 sw s7,20(a3) +80000150: 00001617 auipc a2,0x1 +80000154: ec060613 addi a2,a2,-320 # 80001010 <test_A5_data> +80000158: 00001697 auipc a3,0x1 +8000015c: f3868693 addi a3,a3,-200 # 80001090 <test_A5_res> +80000160: 00062b83 lw s7,0(a2) +80000164: 00100c13 li s8,1 +80000168: 00f00c93 li s9,15 +8000016c: 01f00d13 li s10,31 +80000170: 00000d93 li s11,0 +80000174: 01000e13 li t3,16 +80000178: 418bdc33 sra s8,s7,s8 +8000017c: 419bdcb3 sra s9,s7,s9 +80000180: 41abdd33 sra s10,s7,s10 +80000184: 41bbddb3 sra s11,s7,s11 +80000188: 41cbde33 sra t3,s7,t3 +8000018c: 0176a023 sw s7,0(a3) +80000190: 0186a223 sw s8,4(a3) +80000194: 0196a423 sw s9,8(a3) +80000198: 01a6a623 sw s10,12(a3) +8000019c: 01b6a823 sw s11,16(a3) +800001a0: 01c6aa23 sw t3,20(a3) +800001a4: 00001c97 auipc s9,0x1 +800001a8: e70c8c93 addi s9,s9,-400 # 80001014 <test_B_data> +800001ac: 00001d17 auipc s10,0x1 +800001b0: efcd0d13 addi s10,s10,-260 # 800010a8 <test_B_res> +800001b4: 000cae03 lw t3,0(s9) +800001b8: 00100d93 li s11,1 +800001bc: 41be5eb3 sra t4,t3,s11 +800001c0: 41bedf33 sra t5,t4,s11 +800001c4: 41bf5fb3 sra t6,t5,s11 +800001c8: 41bfd0b3 sra ra,t6,s11 +800001cc: 41b0d133 sra sp,ra,s11 +800001d0: 41b151b3 sra gp,sp,s11 +800001d4: 01cd2023 sw t3,0(s10) +800001d8: 01dd2223 sw t4,4(s10) +800001dc: 01ed2423 sw t5,8(s10) +800001e0: 01fd2623 sw t6,12(s10) +800001e4: 001d2823 sw ra,16(s10) +800001e8: 002d2a23 sw sp,20(s10) +800001ec: 003d2c23 sw gp,24(s10) +800001f0: 00001097 auipc ra,0x1 +800001f4: e2808093 addi ra,ra,-472 # 80001018 <test_C_data> +800001f8: 00001117 auipc sp,0x1 +800001fc: ecc10113 addi sp,sp,-308 # 800010c4 <test_C_res> +80000200: 0000a283 lw t0,0(ra) +80000204: 00100d93 li s11,1 +80000208: 41b2d033 sra zero,t0,s11 +8000020c: 00012023 sw zero,0(sp) +80000210: 00001097 auipc ra,0x1 +80000214: e0c08093 addi ra,ra,-500 # 8000101c <test_D_data> +80000218: 00001117 auipc sp,0x1 +8000021c: eb010113 addi sp,sp,-336 # 800010c8 <test_D_res> +80000220: 0000a283 lw t0,0(ra) +80000224: 00100d93 li s11,1 +80000228: 41b2d033 sra zero,t0,s11 +8000022c: 41b052b3 sra t0,zero,s11 +80000230: 00012023 sw zero,0(sp) +80000234: 00512223 sw t0,4(sp) +80000238: 00001097 auipc ra,0x1 +8000023c: de808093 addi ra,ra,-536 # 80001020 <test_E_data> +80000240: 00001117 auipc sp,0x1 +80000244: e9010113 addi sp,sp,-368 # 800010d0 <test_E_res> +80000248: 0000a183 lw gp,0(ra) +8000024c: 10000237 lui tp,0x10000 +80000250: fe020213 addi tp,tp,-32 # fffffe0 <_start-0x70000020> +80000254: 100002b7 lui t0,0x10000 +80000258: fe128293 addi t0,t0,-31 # fffffe1 <_start-0x7000001f> +8000025c: 10000337 lui t1,0x10000 +80000260: fef30313 addi t1,t1,-17 # fffffef <_start-0x70000011> +80000264: 100003b7 lui t2,0x10000 +80000268: fff38393 addi t2,t2,-1 # fffffff <_start-0x70000001> +8000026c: 4041d233 sra tp,gp,tp +80000270: 4051d2b3 sra t0,gp,t0 +80000274: 4061d333 sra t1,gp,t1 +80000278: 4071d3b3 sra t2,gp,t2 +8000027c: 00412023 sw tp,0(sp) +80000280: 00512223 sw t0,4(sp) +80000284: 00612423 sw t1,8(sp) +80000288: 00712623 sw t2,12(sp) +8000028c: 00001517 auipc a0,0x1 +80000290: da450513 addi a0,a0,-604 # 80001030 <codasip_signature_start> +80000294: 00001597 auipc a1,0x1 +80000298: e4c58593 addi a1,a1,-436 # 800010e0 <_end> +8000029c: f0100637 lui a2,0xf0100 +800002a0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002a4 <complience_halt_loop>: +800002a4: 02b50663 beq a0,a1,800002d0 <complience_halt_break> +800002a8: 00c52683 lw a3,12(a0) +800002ac: 00d62023 sw a3,0(a2) +800002b0: 00852683 lw a3,8(a0) +800002b4: 00d62023 sw a3,0(a2) +800002b8: 00452683 lw a3,4(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 00052683 lw a3,0(a0) +800002c4: 00d62023 sw a3,0(a2) +800002c8: 01050513 addi a0,a0,16 +800002cc: fd9ff06f j 800002a4 <complience_halt_loop> + +800002d0 <complience_halt_break>: +800002d0: f0100537 lui a0,0xf0100 +800002d4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002d8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ef10 fsw fa2,24(a4) +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 4321 li t1,8 +80001022: 8765 srai a4,a4,0x19 + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SRAI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SRAI-01.elf.objdump new file mode 100644 index 0000000..f8f9031 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SRAI-01.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SRAI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 4011d213 srai tp,gp,0x1 +80000018: 40f1d293 srai t0,gp,0xf +8000001c: 41f1d313 srai t1,gp,0x1f +80000020: 4001d393 srai t2,gp,0x0 +80000024: 4101d413 srai s0,gp,0x10 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: ff010113 addi sp,sp,-16 # 80001038 <test_A2_res> +80000050: 0000a403 lw s0,0(ra) +80000054: 40145493 srai s1,s0,0x1 +80000058: 40f45513 srai a0,s0,0xf +8000005c: 41f45593 srai a1,s0,0x1f +80000060: 40045613 srai a2,s0,0x0 +80000064: 41045693 srai a3,s0,0x10 +80000068: 00812023 sw s0,0(sp) +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fc810113 addi sp,sp,-56 # 80001050 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 4016d713 srai a4,a3,0x1 +80000098: 40f6d793 srai a5,a3,0xf +8000009c: 41f6d813 srai a6,a3,0x1f +800000a0: 4006d893 srai a7,a3,0x0 +800000a4: 4106d913 srai s2,a3,0x10 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001617 auipc a2,0x1 +800000c4: f4c60613 addi a2,a2,-180 # 8000100c <test_A4_data> +800000c8: 00001697 auipc a3,0x1 +800000cc: fa068693 addi a3,a3,-96 # 80001068 <test_A4_res> +800000d0: 00062903 lw s2,0(a2) +800000d4: 40195993 srai s3,s2,0x1 +800000d8: 40f95a13 srai s4,s2,0xf +800000dc: 41f95a93 srai s5,s2,0x1f +800000e0: 40095b13 srai s6,s2,0x0 +800000e4: 41095b93 srai s7,s2,0x10 +800000e8: 0126a023 sw s2,0(a3) +800000ec: 0136a223 sw s3,4(a3) +800000f0: 0146a423 sw s4,8(a3) +800000f4: 0156a623 sw s5,12(a3) +800000f8: 0166a823 sw s6,16(a3) +800000fc: 0176aa23 sw s7,20(a3) +80000100: 00001617 auipc a2,0x1 +80000104: f1060613 addi a2,a2,-240 # 80001010 <test_A5_data> +80000108: 00001697 auipc a3,0x1 +8000010c: f7868693 addi a3,a3,-136 # 80001080 <test_A5_res> +80000110: 00062b83 lw s7,0(a2) +80000114: 401bdc13 srai s8,s7,0x1 +80000118: 40fbdc93 srai s9,s7,0xf +8000011c: 41fbdd13 srai s10,s7,0x1f +80000120: 400bdd93 srai s11,s7,0x0 +80000124: 410bde13 srai t3,s7,0x10 +80000128: 0176a023 sw s7,0(a3) +8000012c: 0186a223 sw s8,4(a3) +80000130: 0196a423 sw s9,8(a3) +80000134: 01a6a623 sw s10,12(a3) +80000138: 01b6a823 sw s11,16(a3) +8000013c: 01c6aa23 sw t3,20(a3) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f50d8d93 addi s11,s11,-176 # 80001098 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 401e5e93 srai t4,t3,0x1 +80000158: 401edf13 srai t5,t4,0x1 +8000015c: 401f5f93 srai t6,t5,0x1 +80000160: 401fd093 srai ra,t6,0x1 +80000164: 4010d113 srai sp,ra,0x1 +80000168: 40115193 srai gp,sp,0x1 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f2410113 addi sp,sp,-220 # 800010b4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 4012d013 srai zero,t0,0x1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f0c10113 addi sp,sp,-244 # 800010b8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 4012d013 srai zero,t0,0x1 +800001bc: 40105293 srai t0,zero,0x1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001517 auipc a0,0x1 +800001cc: e5850513 addi a0,a0,-424 # 80001020 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: ef058593 addi a1,a1,-272 # 800010c0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ef10 fsw fa2,24(a4) +80001016: abcd j 80001608 <_end+0x548> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_C_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff + +800010b8 <test_D_res>: +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SRL-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SRL-01.elf.objdump new file mode 100644 index 0000000..6115ebb --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SRL-01.elf.objdump @@ -0,0 +1,340 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SRL-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00100213 li tp,1 +80000018: 00f00293 li t0,15 +8000001c: 01f00313 li t1,31 +80000020: 00000393 li t2,0 +80000024: 01000413 li s0,16 +80000028: 0041d233 srl tp,gp,tp +8000002c: 0051d2b3 srl t0,gp,t0 +80000030: 0061d333 srl t1,gp,t1 +80000034: 0071d3b3 srl t2,gp,t2 +80000038: 0081d433 srl s0,gp,s0 +8000003c: 00312023 sw gp,0(sp) +80000040: 00412223 sw tp,4(sp) +80000044: 00512423 sw t0,8(sp) +80000048: 00612623 sw t1,12(sp) +8000004c: 00712823 sw t2,16(sp) +80000050: 00812a23 sw s0,20(sp) +80000054: 00001097 auipc ra,0x1 +80000058: fb008093 addi ra,ra,-80 # 80001004 <test_A2_data> +8000005c: 00001117 auipc sp,0x1 +80000060: fec10113 addi sp,sp,-20 # 80001048 <test_A2_res> +80000064: 0000a403 lw s0,0(ra) +80000068: 00100493 li s1,1 +8000006c: 00f00513 li a0,15 +80000070: 01f00593 li a1,31 +80000074: 00000613 li a2,0 +80000078: 01000693 li a3,16 +8000007c: 009454b3 srl s1,s0,s1 +80000080: 00a45533 srl a0,s0,a0 +80000084: 00b455b3 srl a1,s0,a1 +80000088: 00c45633 srl a2,s0,a2 +8000008c: 00d456b3 srl a3,s0,a3 +80000090: 00812023 sw s0,0(sp) +80000094: 00912223 sw s1,4(sp) +80000098: 00a12423 sw a0,8(sp) +8000009c: 00b12623 sw a1,12(sp) +800000a0: 00c12823 sw a2,16(sp) +800000a4: 00d12a23 sw a3,20(sp) +800000a8: 00001097 auipc ra,0x1 +800000ac: f6008093 addi ra,ra,-160 # 80001008 <test_A3_data> +800000b0: 00001117 auipc sp,0x1 +800000b4: fb010113 addi sp,sp,-80 # 80001060 <test_A3_res> +800000b8: 0000a683 lw a3,0(ra) +800000bc: 00100713 li a4,1 +800000c0: 00f00793 li a5,15 +800000c4: 01f00813 li a6,31 +800000c8: 00000893 li a7,0 +800000cc: 01000913 li s2,16 +800000d0: 00e6d733 srl a4,a3,a4 +800000d4: 00f6d7b3 srl a5,a3,a5 +800000d8: 0106d833 srl a6,a3,a6 +800000dc: 0116d8b3 srl a7,a3,a7 +800000e0: 0126d933 srl s2,a3,s2 +800000e4: 00d12023 sw a3,0(sp) +800000e8: 00e12223 sw a4,4(sp) +800000ec: 00f12423 sw a5,8(sp) +800000f0: 01012623 sw a6,12(sp) +800000f4: 01112823 sw a7,16(sp) +800000f8: 01212a23 sw s2,20(sp) +800000fc: 00001617 auipc a2,0x1 +80000100: f1060613 addi a2,a2,-240 # 8000100c <test_A4_data> +80000104: 00001697 auipc a3,0x1 +80000108: f7468693 addi a3,a3,-140 # 80001078 <test_A4_res> +8000010c: 00062903 lw s2,0(a2) +80000110: 00100993 li s3,1 +80000114: 00f00a13 li s4,15 +80000118: 01f00a93 li s5,31 +8000011c: 00000b13 li s6,0 +80000120: 01000b93 li s7,16 +80000124: 013959b3 srl s3,s2,s3 +80000128: 01495a33 srl s4,s2,s4 +8000012c: 01595ab3 srl s5,s2,s5 +80000130: 01695b33 srl s6,s2,s6 +80000134: 01795bb3 srl s7,s2,s7 +80000138: 0126a023 sw s2,0(a3) +8000013c: 0136a223 sw s3,4(a3) +80000140: 0146a423 sw s4,8(a3) +80000144: 0156a623 sw s5,12(a3) +80000148: 0166a823 sw s6,16(a3) +8000014c: 0176aa23 sw s7,20(a3) +80000150: 00001617 auipc a2,0x1 +80000154: ec060613 addi a2,a2,-320 # 80001010 <test_A5_data> +80000158: 00001697 auipc a3,0x1 +8000015c: f3868693 addi a3,a3,-200 # 80001090 <test_A5_res> +80000160: 00062b83 lw s7,0(a2) +80000164: 00100c13 li s8,1 +80000168: 00f00c93 li s9,15 +8000016c: 01f00d13 li s10,31 +80000170: 00000d93 li s11,0 +80000174: 01000e13 li t3,16 +80000178: 018bdc33 srl s8,s7,s8 +8000017c: 019bdcb3 srl s9,s7,s9 +80000180: 01abdd33 srl s10,s7,s10 +80000184: 01bbddb3 srl s11,s7,s11 +80000188: 01cbde33 srl t3,s7,t3 +8000018c: 0176a023 sw s7,0(a3) +80000190: 0186a223 sw s8,4(a3) +80000194: 0196a423 sw s9,8(a3) +80000198: 01a6a623 sw s10,12(a3) +8000019c: 01b6a823 sw s11,16(a3) +800001a0: 01c6aa23 sw t3,20(a3) +800001a4: 00001c97 auipc s9,0x1 +800001a8: e70c8c93 addi s9,s9,-400 # 80001014 <test_B_data> +800001ac: 00001d17 auipc s10,0x1 +800001b0: efcd0d13 addi s10,s10,-260 # 800010a8 <test_B_res> +800001b4: 000cae03 lw t3,0(s9) +800001b8: 00100d93 li s11,1 +800001bc: 01be5eb3 srl t4,t3,s11 +800001c0: 01bedf33 srl t5,t4,s11 +800001c4: 01bf5fb3 srl t6,t5,s11 +800001c8: 01bfd0b3 srl ra,t6,s11 +800001cc: 01b0d133 srl sp,ra,s11 +800001d0: 01b151b3 srl gp,sp,s11 +800001d4: 01cd2023 sw t3,0(s10) +800001d8: 01dd2223 sw t4,4(s10) +800001dc: 01ed2423 sw t5,8(s10) +800001e0: 01fd2623 sw t6,12(s10) +800001e4: 001d2823 sw ra,16(s10) +800001e8: 002d2a23 sw sp,20(s10) +800001ec: 003d2c23 sw gp,24(s10) +800001f0: 00001097 auipc ra,0x1 +800001f4: e2808093 addi ra,ra,-472 # 80001018 <test_C_data> +800001f8: 00001117 auipc sp,0x1 +800001fc: ecc10113 addi sp,sp,-308 # 800010c4 <test_C_res> +80000200: 0000a283 lw t0,0(ra) +80000204: 00100d93 li s11,1 +80000208: 01b2d033 srl zero,t0,s11 +8000020c: 00012023 sw zero,0(sp) +80000210: 00001097 auipc ra,0x1 +80000214: e0c08093 addi ra,ra,-500 # 8000101c <test_D_data> +80000218: 00001117 auipc sp,0x1 +8000021c: eb010113 addi sp,sp,-336 # 800010c8 <test_D_res> +80000220: 0000a283 lw t0,0(ra) +80000224: 00100d93 li s11,1 +80000228: 01b2d033 srl zero,t0,s11 +8000022c: 01b052b3 srl t0,zero,s11 +80000230: 00012023 sw zero,0(sp) +80000234: 00512223 sw t0,4(sp) +80000238: 00001097 auipc ra,0x1 +8000023c: de808093 addi ra,ra,-536 # 80001020 <test_E_data> +80000240: 00001117 auipc sp,0x1 +80000244: e9010113 addi sp,sp,-368 # 800010d0 <test_E_res> +80000248: 0000a183 lw gp,0(ra) +8000024c: 10000237 lui tp,0x10000 +80000250: fe020213 addi tp,tp,-32 # fffffe0 <_start-0x70000020> +80000254: 100002b7 lui t0,0x10000 +80000258: fe128293 addi t0,t0,-31 # fffffe1 <_start-0x7000001f> +8000025c: 10000337 lui t1,0x10000 +80000260: fef30313 addi t1,t1,-17 # fffffef <_start-0x70000011> +80000264: 100003b7 lui t2,0x10000 +80000268: fff38393 addi t2,t2,-1 # fffffff <_start-0x70000001> +8000026c: 0041d233 srl tp,gp,tp +80000270: 0051d2b3 srl t0,gp,t0 +80000274: 0061d333 srl t1,gp,t1 +80000278: 0071d3b3 srl t2,gp,t2 +8000027c: 00412023 sw tp,0(sp) +80000280: 00512223 sw t0,4(sp) +80000284: 00612423 sw t1,8(sp) +80000288: 00712623 sw t2,12(sp) +8000028c: 00001517 auipc a0,0x1 +80000290: da450513 addi a0,a0,-604 # 80001030 <codasip_signature_start> +80000294: 00001597 auipc a1,0x1 +80000298: e4c58593 addi a1,a1,-436 # 800010e0 <_end> +8000029c: f0100637 lui a2,0xf0100 +800002a0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002a4 <complience_halt_loop>: +800002a4: 02b50663 beq a0,a1,800002d0 <complience_halt_break> +800002a8: 00c52683 lw a3,12(a0) +800002ac: 00d62023 sw a3,0(a2) +800002b0: 00852683 lw a3,8(a0) +800002b4: 00d62023 sw a3,0(a2) +800002b8: 00452683 lw a3,4(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 00052683 lw a3,0(a0) +800002c4: 00d62023 sw a3,0(a2) +800002c8: 01050513 addi a0,a0,16 +800002cc: fd9ff06f j 800002a4 <complience_halt_loop> + +800002d0 <complience_halt_break>: +800002d0: f0100537 lui a0,0xf0100 +800002d4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002d8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ef10 fsw fa2,24(a4) +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 4321 li t1,8 +80001022: 8765 srai a4,a4,0x19 + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SRLI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SRLI-01.elf.objdump new file mode 100644 index 0000000..d277adc --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SRLI-01.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SRLI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 01810113 addi sp,sp,24 # 80001020 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 0011d213 srli tp,gp,0x1 +80000018: 00f1d293 srli t0,gp,0xf +8000001c: 01f1d313 srli t1,gp,0x1f +80000020: 0001d393 srli t2,gp,0x0 +80000024: 0101d413 srli s0,gp,0x10 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: ff010113 addi sp,sp,-16 # 80001038 <test_A2_res> +80000050: 0000a403 lw s0,0(ra) +80000054: 00145493 srli s1,s0,0x1 +80000058: 00f45513 srli a0,s0,0xf +8000005c: 01f45593 srli a1,s0,0x1f +80000060: 00045613 srli a2,s0,0x0 +80000064: 01045693 srli a3,s0,0x10 +80000068: 00812023 sw s0,0(sp) +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fc810113 addi sp,sp,-56 # 80001050 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 0016d713 srli a4,a3,0x1 +80000098: 00f6d793 srli a5,a3,0xf +8000009c: 01f6d813 srli a6,a3,0x1f +800000a0: 0006d893 srli a7,a3,0x0 +800000a4: 0106d913 srli s2,a3,0x10 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001617 auipc a2,0x1 +800000c4: f4c60613 addi a2,a2,-180 # 8000100c <test_A4_data> +800000c8: 00001697 auipc a3,0x1 +800000cc: fa068693 addi a3,a3,-96 # 80001068 <test_A4_res> +800000d0: 00062903 lw s2,0(a2) +800000d4: 00195993 srli s3,s2,0x1 +800000d8: 00f95a13 srli s4,s2,0xf +800000dc: 01f95a93 srli s5,s2,0x1f +800000e0: 00095b13 srli s6,s2,0x0 +800000e4: 01095b93 srli s7,s2,0x10 +800000e8: 0126a023 sw s2,0(a3) +800000ec: 0136a223 sw s3,4(a3) +800000f0: 0146a423 sw s4,8(a3) +800000f4: 0156a623 sw s5,12(a3) +800000f8: 0166a823 sw s6,16(a3) +800000fc: 0176aa23 sw s7,20(a3) +80000100: 00001617 auipc a2,0x1 +80000104: f1060613 addi a2,a2,-240 # 80001010 <test_A5_data> +80000108: 00001697 auipc a3,0x1 +8000010c: f7868693 addi a3,a3,-136 # 80001080 <test_A5_res> +80000110: 00062b83 lw s7,0(a2) +80000114: 001bdc13 srli s8,s7,0x1 +80000118: 00fbdc93 srli s9,s7,0xf +8000011c: 01fbdd13 srli s10,s7,0x1f +80000120: 000bdd93 srli s11,s7,0x0 +80000124: 010bde13 srli t3,s7,0x10 +80000128: 0176a023 sw s7,0(a3) +8000012c: 0186a223 sw s8,4(a3) +80000130: 0196a423 sw s9,8(a3) +80000134: 01a6a623 sw s10,12(a3) +80000138: 01b6a823 sw s11,16(a3) +8000013c: 01c6aa23 sw t3,20(a3) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f50d8d93 addi s11,s11,-176 # 80001098 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 001e5e93 srli t4,t3,0x1 +80000158: 001edf13 srli t5,t4,0x1 +8000015c: 001f5f93 srli t6,t5,0x1 +80000160: 001fd093 srli ra,t6,0x1 +80000164: 0010d113 srli sp,ra,0x1 +80000168: 00115193 srli gp,sp,0x1 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f2410113 addi sp,sp,-220 # 800010b4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 0012d013 srli zero,t0,0x1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f0c10113 addi sp,sp,-244 # 800010b8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 0012d013 srli zero,t0,0x1 +800001bc: 00105293 srli t0,zero,0x1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001517 auipc a0,0x1 +800001cc: e5850513 addi a0,a0,-424 # 80001020 <codasip_signature_start> +800001d0: 00001597 auipc a1,0x1 +800001d4: ef058593 addi a1,a1,-272 # 800010c0 <_end> +800001d8: f0100637 lui a2,0xf0100 +800001dc: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee6c> + +800001e0 <complience_halt_loop>: +800001e0: 02b50663 beq a0,a1,8000020c <complience_halt_break> +800001e4: 00c52683 lw a3,12(a0) +800001e8: 00d62023 sw a3,0(a2) +800001ec: 00852683 lw a3,8(a0) +800001f0: 00d62023 sw a3,0(a2) +800001f4: 00452683 lw a3,4(a0) +800001f8: 00d62023 sw a3,0(a2) +800001fc: 00052683 lw a3,0(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 01050513 addi a0,a0,16 +80000208: fd9ff06f j 800001e0 <complience_halt_loop> + +8000020c <complience_halt_break>: +8000020c: f0100537 lui a0,0xf0100 +80000210: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee60> +80000214: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ef10 fsw fa2,24(a4) +80001016: abcd j 80001608 <_end+0x548> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <codasip_signature_start>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_A2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_A3_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff + +80001068 <test_A4_res>: +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff + +80001080 <test_A5_res>: +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff + +80001098 <test_B_res>: +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_C_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff + +800010b8 <test_D_res>: +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SUB-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SUB-01.elf.objdump new file mode 100644 index 0000000..d5fd16f --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SUB-01.elf.objdump @@ -0,0 +1,344 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SUB-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef1f> +80000028: 80000437 lui s0,0x80000 +8000002c: 40418233 sub tp,gp,tp +80000030: 405182b3 sub t0,gp,t0 +80000034: 40618333 sub t1,gp,t1 +80000038: 407183b3 sub t2,gp,t2 +8000003c: 40818433 sub s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fe810113 addi sp,sp,-24 # 80001048 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00000493 li s1,0 +80000070: 00100513 li a0,1 +80000074: fff00593 li a1,-1 +80000078: 80000637 lui a2,0x80000 +8000007c: fff60613 addi a2,a2,-1 # 7fffffff <_end+0xffffef1f> +80000080: 800006b7 lui a3,0x80000 +80000084: 409404b3 sub s1,s0,s1 +80000088: 40a40533 sub a0,s0,a0 +8000008c: 40b405b3 sub a1,s0,a1 +80000090: 40c40633 sub a2,s0,a2 +80000094: 40d406b3 sub a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: fa810113 addi sp,sp,-88 # 80001060 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00000713 li a4,0 +800000c8: 00100793 li a5,1 +800000cc: fff00813 li a6,-1 +800000d0: 800008b7 lui a7,0x80000 +800000d4: fff88893 addi a7,a7,-1 # 7fffffff <_end+0xffffef1f> +800000d8: 80000937 lui s2,0x80000 +800000dc: 40e68733 sub a4,a3,a4 +800000e0: 40f687b3 sub a5,a3,a5 +800000e4: 41068833 sub a6,a3,a6 +800000e8: 411688b3 sub a7,a3,a7 +800000ec: 41268933 sub s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f6810113 addi sp,sp,-152 # 80001078 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00000993 li s3,0 +80000120: 00100a13 li s4,1 +80000124: fff00a93 li s5,-1 +80000128: 80000b37 lui s6,0x80000 +8000012c: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef1f> +80000130: 80000bb7 lui s7,0x80000 +80000134: 413909b3 sub s3,s2,s3 +80000138: 41490a33 sub s4,s2,s4 +8000013c: 41590ab3 sub s5,s2,s5 +80000140: 41690b33 sub s6,s2,s6 +80000144: 41790bb3 sub s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f2810113 addi sp,sp,-216 # 80001090 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00000c13 li s8,0 +80000178: 00100c93 li s9,1 +8000017c: fff00d13 li s10,-1 +80000180: 80000db7 lui s11,0x80000 +80000184: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef1f> +80000188: 80000e37 lui t3,0x80000 +8000018c: 418b8c33 sub s8,s7,s8 +80000190: 419b8cb3 sub s9,s7,s9 +80000194: 41ab8d33 sub s10,s7,s10 +80000198: 41bb8db3 sub s11,s7,s11 +8000019c: 41cb8e33 sub t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001c97 auipc s9,0x1 +800001bc: e5cc8c93 addi s9,s9,-420 # 80001014 <test_B_data> +800001c0: 00001d17 auipc s10,0x1 +800001c4: ee8d0d13 addi s10,s10,-280 # 800010a8 <test_B_res> +800001c8: 000cae03 lw t3,0(s9) +800001cc: 00100d93 li s11,1 +800001d0: 41be0eb3 sub t4,t3,s11 +800001d4: 41be8f33 sub t5,t4,s11 +800001d8: 41bf0fb3 sub t6,t5,s11 +800001dc: 41bf80b3 sub ra,t6,s11 +800001e0: 41b08133 sub sp,ra,s11 +800001e4: 41b101b3 sub gp,sp,s11 +800001e8: 01bd2023 sw s11,0(s10) +800001ec: 01cd2223 sw t3,4(s10) +800001f0: 01dd2423 sw t4,8(s10) +800001f4: 01ed2623 sw t5,12(s10) +800001f8: 01fd2823 sw t6,16(s10) +800001fc: 001d2a23 sw ra,20(s10) +80000200: 002d2c23 sw sp,24(s10) +80000204: 003d2e23 sw gp,28(s10) +80000208: 00001097 auipc ra,0x1 +8000020c: e1008093 addi ra,ra,-496 # 80001018 <test_C_data> +80000210: 00001117 auipc sp,0x1 +80000214: eb810113 addi sp,sp,-328 # 800010c8 <test_C_res> +80000218: 0000ae03 lw t3,0(ra) +8000021c: f7ff9db7 lui s11,0xf7ff9 +80000220: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000224: 41be0033 sub zero,t3,s11 +80000228: 00012023 sw zero,0(sp) +8000022c: 00001097 auipc ra,0x1 +80000230: df008093 addi ra,ra,-528 # 8000101c <test_D_data> +80000234: 00001117 auipc sp,0x1 +80000238: e9810113 addi sp,sp,-360 # 800010cc <test_D_res> +8000023c: 0000ae03 lw t3,0(ra) +80000240: f7ff9db7 lui s11,0xf7ff9 +80000244: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000248: 41be0033 sub zero,t3,s11 +8000024c: 400002b3 neg t0,zero +80000250: 00012023 sw zero,0(sp) +80000254: 00512223 sw t0,4(sp) +80000258: 00001097 auipc ra,0x1 +8000025c: dc808093 addi ra,ra,-568 # 80001020 <test_E_data> +80000260: 00001117 auipc sp,0x1 +80000264: e7410113 addi sp,sp,-396 # 800010d4 <test_E_res> +80000268: 0000a183 lw gp,0(ra) +8000026c: 40018233 sub tp,gp,zero +80000270: 400202b3 sub t0,tp,zero +80000274: 40500333 neg t1,t0 +80000278: 40030733 sub a4,t1,zero +8000027c: 400707b3 sub a5,a4,zero +80000280: 40078833 sub a6,a5,zero +80000284: 41000cb3 neg s9,a6 +80000288: 41900d33 neg s10,s9 +8000028c: 400d0db3 sub s11,s10,zero +80000290: 00412023 sw tp,0(sp) +80000294: 01a12223 sw s10,4(sp) +80000298: 01b12423 sw s11,8(sp) +8000029c: 00001517 auipc a0,0x1 +800002a0: d9450513 addi a0,a0,-620 # 80001030 <codasip_signature_start> +800002a4: 00001597 auipc a1,0x1 +800002a8: e3c58593 addi a1,a1,-452 # 800010e0 <_end> +800002ac: f0100637 lui a2,0xf0100 +800002b0: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002b4 <complience_halt_loop>: +800002b4: 02b50663 beq a0,a1,800002e0 <complience_halt_break> +800002b8: 00c52683 lw a3,12(a0) +800002bc: 00d62023 sw a3,0(a2) +800002c0: 00852683 lw a3,8(a0) +800002c4: 00d62023 sw a3,0(a2) +800002c8: 00452683 lw a3,4(a0) +800002cc: 00d62023 sw a3,0(a2) +800002d0: 00052683 lw a3,0(a0) +800002d4: 00d62023 sw a3,0(a2) +800002d8: 01050513 addi a0,a0,16 +800002dc: fd9ff06f j 800002b4 <complience_halt_loop> + +800002e0 <complience_halt_break>: +800002e0: f0100537 lui a0,0xf0100 +800002e4: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002e8: 00052023 sw zero,0(a0) + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: abcd j 80001606 <_end+0x526> + ... + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_C_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff + +800010d4 <test_E_res>: +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-SW-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-SW-01.elf.objdump new file mode 100644 index 0000000..83179d7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-SW-01.elf.objdump @@ -0,0 +1,182 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-SW-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 01008093 addi ra,ra,16 # 80001010 <codasip_signature_start> +80000008: 11f1f137 lui sp,0x11f1f +8000000c: 22210113 addi sp,sp,546 # 11f1f222 <_start-0x6e0e0dde> +80000010: 0020a023 sw sp,0(ra) +80000014: 00001297 auipc t0,0x1 +80000018: 00128293 addi t0,t0,1 # 80001015 <test_A2_res+0x1> +8000001c: f3334cb7 lui s9,0xf3334 +80000020: 4f4c8c93 addi s9,s9,1268 # f33344f4 <_end+0x733334a4> +80000024: ff92afa3 sw s9,-1(t0) +80000028: 00001417 auipc s0,0x1 +8000002c: fef40413 addi s0,s0,-17 # 80001017 <test_A2_res+0x3> +80000030: 55f5ffb7 lui t6,0x55f5f +80000034: 666f8f93 addi t6,t6,1638 # 55f5f666 <_start-0x2a0a099a> +80000038: 01f420a3 sw t6,1(s0) +8000003c: 00001597 auipc a1,0x1 +80000040: 7e058593 addi a1,a1,2016 # 8000181c <_end+0x7cc> +80000044: f7779637 lui a2,0xf7779 +80000048: 8f860613 addi a2,a2,-1800 # f77788f8 <_end+0x777778a8> +8000004c: 80c5a023 sw a2,-2048(a1) +80000050: 00000717 auipc a4,0x0 +80000054: 7d170713 addi a4,a4,2001 # 80000821 <complience_halt_break+0x69d> +80000058: 990917b7 lui a5,0x99091 +8000005c: aaa78793 addi a5,a5,-1366 # 99090aaa <_end+0x1908fa5a> +80000060: 7ef72fa3 sw a5,2047(a4) +80000064: 00001897 auipc a7,0x1 +80000068: fc488893 addi a7,a7,-60 # 80001028 <test_B_res> +8000006c: 0bbbd937 lui s2,0xbbbd +80000070: c0c90913 addi s2,s2,-1012 # bbbcc0c <_start-0x744433f4> +80000074: dd0d19b7 lui s3,0xdd0d1 +80000078: eee98993 addi s3,s3,-274 # dd0d0eee <_end+0x5d0cfe9e> +8000007c: 0fff0a37 lui s4,0xfff0 +80000080: 0f0a0a13 addi s4,s4,240 # fff00f0 <_start-0x7000ff10> +80000084: ff28ae23 sw s2,-4(a7) +80000088: 0138a023 sw s3,0(a7) +8000008c: 0148a223 sw s4,4(a7) +80000090: 00001b17 auipc s6,0x1 +80000094: fa0b0b13 addi s6,s6,-96 # 80001030 <test_C_res> +80000098: 12345037 lui zero,0x12345 +8000009c: 67800013 li zero,1656 +800000a0: 000b2023 sw zero,0(s6) +800000a4: 00001a97 auipc s5,0x1 +800000a8: f5ca8a93 addi s5,s5,-164 # 80001000 <test_D1_data> +800000ac: 112239b7 lui s3,0x11223 +800000b0: 34498993 addi s3,s3,836 # 11223344 <_start-0x6eddccbc> +800000b4: 000aab83 lw s7,0(s5) +800000b8: 013ba023 sw s3,0(s7) +800000bc: 00001b97 auipc s7,0x1 +800000c0: f48b8b93 addi s7,s7,-184 # 80001004 <test_D2_data> +800000c4: 00001c17 auipc s8,0x1 +800000c8: f74c0c13 addi s8,s8,-140 # 80001038 <test_D2_res> +800000cc: 000bac83 lw s9,0(s7) +800000d0: 019c2023 sw s9,0(s8) +800000d4: 00001d17 auipc s10,0x1 +800000d8: f68d0d13 addi s10,s10,-152 # 8000103c <test_E1_res> +800000dc: 76543cb7 lui s9,0x76543 +800000e0: 210c8c93 addi s9,s9,528 # 76543210 <_start-0x9abcdf0> +800000e4: 019d2023 sw s9,0(s10) +800000e8: 00000c93 li s9,0 +800000ec: 00001e17 auipc t3,0x1 +800000f0: f54e0e13 addi t3,t3,-172 # 80001040 <test_E2_res> +800000f4: 89abddb7 lui s11,0x89abd +800000f8: defd8d93 addi s11,s11,-529 # 89abcdef <_end+0x9abbd9f> +800000fc: 01be2023 sw s11,0(t3) +80000100: ffce0e13 addi t3,t3,-4 +80000104: 00001e97 auipc t4,0x1 +80000108: f40e8e93 addi t4,t4,-192 # 80001044 <test_F_res> +8000010c: 14726db7 lui s11,0x14726 +80000110: 836d8d93 addi s11,s11,-1994 # 14725836 <_start-0x6b8da7ca> +80000114: 01bea023 sw s11,0(t4) +80000118: 000eaf03 lw t5,0(t4) +8000011c: 01eea223 sw t5,4(t4) +80000120: 00001097 auipc ra,0x1 +80000124: f2c08093 addi ra,ra,-212 # 8000104c <test_G_res> +80000128: 96385137 lui sp,0x96385 +8000012c: 20110113 addi sp,sp,513 # 96385201 <_end+0x163841b1> +80000130: 258151b7 lui gp,0x25815 +80000134: 96318193 addi gp,gp,-1693 # 25814963 <_start-0x5a7eb69d> +80000138: 0020a023 sw sp,0(ra) +8000013c: 0030a023 sw gp,0(ra) +80000140: 00001517 auipc a0,0x1 +80000144: ed050513 addi a0,a0,-304 # 80001010 <codasip_signature_start> +80000148: 00001597 auipc a1,0x1 +8000014c: f0858593 addi a1,a1,-248 # 80001050 <_end> +80000150: f0100637 lui a2,0xf0100 +80000154: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700feedc> + +80000158 <complience_halt_loop>: +80000158: 02b50663 beq a0,a1,80000184 <complience_halt_break> +8000015c: 00c52683 lw a3,12(a0) +80000160: 00d62023 sw a3,0(a2) +80000164: 00852683 lw a3,8(a0) +80000168: 00d62023 sw a3,0(a2) +8000016c: 00452683 lw a3,4(a0) +80000170: 00d62023 sw a3,0(a2) +80000174: 00052683 lw a3,0(a0) +80000178: 00d62023 sw a3,0(a2) +8000017c: 01050513 addi a0,a0,16 +80000180: fd9ff06f j 80000158 <complience_halt_loop> + +80000184 <complience_halt_break>: +80000184: f0100537 lui a0,0xf0100 +80000188: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700feed0> +8000018c: 00052023 sw zero,0(a0) +80000190: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_D1_data>: +80001000: 1034 addi a3,sp,40 +80001002: 8000 0x8000 + +80001004 <test_D2_data>: +80001004: def0 sw a2,124(a3) +80001006: 9abc 0x9abc + ... + +80001010 <codasip_signature_start>: +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_A2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff + +80001018 <test_A3_res>: +80001018: ffff 0xffff +8000101a: ffff 0xffff + +8000101c <test_A4_res>: +8000101c: ffff 0xffff +8000101e: ffff 0xffff + +80001020 <test_A5_res>: +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_B_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff + +80001030 <test_C_res>: +80001030: ffff 0xffff +80001032: ffff 0xffff + +80001034 <test_D1_res>: +80001034: ffff 0xffff +80001036: ffff 0xffff + +80001038 <test_D2_res>: +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_E1_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff + +80001040 <test_E2_res>: +80001040: ffff 0xffff +80001042: ffff 0xffff + +80001044 <test_F_res>: +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff + +8000104c <test_G_res>: +8000104c: ffff 0xffff +8000104e: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-XOR-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-XOR-01.elf.objdump new file mode 100644 index 0000000..aa98446 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-XOR-01.elf.objdump @@ -0,0 +1,350 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-XOR-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 00000213 li tp,0 +80000018: 00100293 li t0,1 +8000001c: fff00313 li t1,-1 +80000020: 800003b7 lui t2,0x80000 +80000024: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffef1f> +80000028: 80000437 lui s0,0x80000 +8000002c: 0041c233 xor tp,gp,tp +80000030: 0051c2b3 xor t0,gp,t0 +80000034: 0061c333 xor t1,gp,t1 +80000038: 0071c3b3 xor t2,gp,t2 +8000003c: 0081c433 xor s0,gp,s0 +80000040: 00312023 sw gp,0(sp) +80000044: 00412223 sw tp,4(sp) +80000048: 00512423 sw t0,8(sp) +8000004c: 00612623 sw t1,12(sp) +80000050: 00712823 sw t2,16(sp) +80000054: 00812a23 sw s0,20(sp) +80000058: 00001097 auipc ra,0x1 +8000005c: fac08093 addi ra,ra,-84 # 80001004 <test_A2_data> +80000060: 00001117 auipc sp,0x1 +80000064: fe810113 addi sp,sp,-24 # 80001048 <test_A2_res> +80000068: 0000a403 lw s0,0(ra) +8000006c: 00000493 li s1,0 +80000070: 00100513 li a0,1 +80000074: fff00593 li a1,-1 +80000078: 80000637 lui a2,0x80000 +8000007c: fff60613 addi a2,a2,-1 # 7fffffff <_end+0xffffef1f> +80000080: 800006b7 lui a3,0x80000 +80000084: 009444b3 xor s1,s0,s1 +80000088: 00a44533 xor a0,s0,a0 +8000008c: 00b445b3 xor a1,s0,a1 +80000090: 00c44633 xor a2,s0,a2 +80000094: 00d446b3 xor a3,s0,a3 +80000098: 00812023 sw s0,0(sp) +8000009c: 00912223 sw s1,4(sp) +800000a0: 00a12423 sw a0,8(sp) +800000a4: 00b12623 sw a1,12(sp) +800000a8: 00c12823 sw a2,16(sp) +800000ac: 00d12a23 sw a3,20(sp) +800000b0: 00001097 auipc ra,0x1 +800000b4: f5808093 addi ra,ra,-168 # 80001008 <test_A3_data> +800000b8: 00001117 auipc sp,0x1 +800000bc: fa810113 addi sp,sp,-88 # 80001060 <test_A3_res> +800000c0: 0000a683 lw a3,0(ra) +800000c4: 00000713 li a4,0 +800000c8: 00100793 li a5,1 +800000cc: fff00813 li a6,-1 +800000d0: 800008b7 lui a7,0x80000 +800000d4: fff88893 addi a7,a7,-1 # 7fffffff <_end+0xffffef1f> +800000d8: 80000937 lui s2,0x80000 +800000dc: 00e6c733 xor a4,a3,a4 +800000e0: 00f6c7b3 xor a5,a3,a5 +800000e4: 0106c833 xor a6,a3,a6 +800000e8: 0116c8b3 xor a7,a3,a7 +800000ec: 0126c933 xor s2,a3,s2 +800000f0: 00d12023 sw a3,0(sp) +800000f4: 00e12223 sw a4,4(sp) +800000f8: 00f12423 sw a5,8(sp) +800000fc: 01012623 sw a6,12(sp) +80000100: 01112823 sw a7,16(sp) +80000104: 01212a23 sw s2,20(sp) +80000108: 00001097 auipc ra,0x1 +8000010c: f0408093 addi ra,ra,-252 # 8000100c <test_A4_data> +80000110: 00001117 auipc sp,0x1 +80000114: f6810113 addi sp,sp,-152 # 80001078 <test_A4_res> +80000118: 0000a903 lw s2,0(ra) +8000011c: 00000993 li s3,0 +80000120: 00100a13 li s4,1 +80000124: fff00a93 li s5,-1 +80000128: 80000b37 lui s6,0x80000 +8000012c: fffb0b13 addi s6,s6,-1 # 7fffffff <_end+0xffffef1f> +80000130: 80000bb7 lui s7,0x80000 +80000134: 013949b3 xor s3,s2,s3 +80000138: 01494a33 xor s4,s2,s4 +8000013c: 01594ab3 xor s5,s2,s5 +80000140: 01694b33 xor s6,s2,s6 +80000144: 01794bb3 xor s7,s2,s7 +80000148: 01212023 sw s2,0(sp) +8000014c: 01312223 sw s3,4(sp) +80000150: 01412423 sw s4,8(sp) +80000154: 01512623 sw s5,12(sp) +80000158: 01612823 sw s6,16(sp) +8000015c: 01712a23 sw s7,20(sp) +80000160: 00001097 auipc ra,0x1 +80000164: eb008093 addi ra,ra,-336 # 80001010 <test_A5_data> +80000168: 00001117 auipc sp,0x1 +8000016c: f2810113 addi sp,sp,-216 # 80001090 <test_A5_res> +80000170: 0000ab83 lw s7,0(ra) +80000174: 00000c13 li s8,0 +80000178: 00100c93 li s9,1 +8000017c: fff00d13 li s10,-1 +80000180: 80000db7 lui s11,0x80000 +80000184: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef1f> +80000188: 80000e37 lui t3,0x80000 +8000018c: 018bcc33 xor s8,s7,s8 +80000190: 019bccb3 xor s9,s7,s9 +80000194: 01abcd33 xor s10,s7,s10 +80000198: 01bbcdb3 xor s11,s7,s11 +8000019c: 01cbce33 xor t3,s7,t3 +800001a0: 01712023 sw s7,0(sp) +800001a4: 01812223 sw s8,4(sp) +800001a8: 01912423 sw s9,8(sp) +800001ac: 01a12623 sw s10,12(sp) +800001b0: 01b12823 sw s11,16(sp) +800001b4: 01c12a23 sw t3,20(sp) +800001b8: 00001c97 auipc s9,0x1 +800001bc: e5cc8c93 addi s9,s9,-420 # 80001014 <test_B_data> +800001c0: 00001d17 auipc s10,0x1 +800001c4: ee8d0d13 addi s10,s10,-280 # 800010a8 <test_B_res> +800001c8: 000cae03 lw t3,0(s9) +800001cc: 07f00213 li tp,127 +800001d0: 03f00293 li t0,63 +800001d4: 01f00313 li t1,31 +800001d8: 00f00393 li t2,15 +800001dc: 00700413 li s0,7 +800001e0: 00300493 li s1,3 +800001e4: 004e4eb3 xor t4,t3,tp +800001e8: 005ecf33 xor t5,t4,t0 +800001ec: 006f4fb3 xor t6,t5,t1 +800001f0: 007fc0b3 xor ra,t6,t2 +800001f4: 0080c133 xor sp,ra,s0 +800001f8: 009141b3 xor gp,sp,s1 +800001fc: 004d2023 sw tp,0(s10) +80000200: 01cd2223 sw t3,4(s10) +80000204: 01dd2423 sw t4,8(s10) +80000208: 01ed2623 sw t5,12(s10) +8000020c: 01fd2823 sw t6,16(s10) +80000210: 001d2a23 sw ra,20(s10) +80000214: 002d2c23 sw sp,24(s10) +80000218: 003d2e23 sw gp,28(s10) +8000021c: 00001097 auipc ra,0x1 +80000220: dfc08093 addi ra,ra,-516 # 80001018 <test_C_data> +80000224: 00001117 auipc sp,0x1 +80000228: ea410113 addi sp,sp,-348 # 800010c8 <test_C_res> +8000022c: 0000ae03 lw t3,0(ra) +80000230: f7ff9db7 lui s11,0xf7ff9 +80000234: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +80000238: 01be4033 xor zero,t3,s11 +8000023c: 00012023 sw zero,0(sp) +80000240: 00001097 auipc ra,0x1 +80000244: ddc08093 addi ra,ra,-548 # 8000101c <test_D_data> +80000248: 00001117 auipc sp,0x1 +8000024c: e8410113 addi sp,sp,-380 # 800010cc <test_D_res> +80000250: 0000ae03 lw t3,0(ra) +80000254: f7ff9db7 lui s11,0xf7ff9 +80000258: 818d8d93 addi s11,s11,-2024 # f7ff8818 <_end+0x77ff7738> +8000025c: 01be4033 xor zero,t3,s11 +80000260: 000042b3 xor t0,zero,zero +80000264: 00012023 sw zero,0(sp) +80000268: 00512223 sw t0,4(sp) +8000026c: 00001097 auipc ra,0x1 +80000270: db408093 addi ra,ra,-588 # 80001020 <test_E_data> +80000274: 00001117 auipc sp,0x1 +80000278: e6010113 addi sp,sp,-416 # 800010d4 <test_E_res> +8000027c: 0000a183 lw gp,0(ra) +80000280: 0001c233 xor tp,gp,zero +80000284: 000242b3 xor t0,tp,zero +80000288: 00504333 xor t1,zero,t0 +8000028c: 00034733 xor a4,t1,zero +80000290: 000747b3 xor a5,a4,zero +80000294: 0007c833 xor a6,a5,zero +80000298: 01004cb3 xor s9,zero,a6 +8000029c: 01904d33 xor s10,zero,s9 +800002a0: 000d4db3 xor s11,s10,zero +800002a4: 00412023 sw tp,0(sp) +800002a8: 01a12223 sw s10,4(sp) +800002ac: 01b12423 sw s11,8(sp) +800002b0: 00001517 auipc a0,0x1 +800002b4: d8050513 addi a0,a0,-640 # 80001030 <codasip_signature_start> +800002b8: 00001597 auipc a1,0x1 +800002bc: e2858593 addi a1,a1,-472 # 800010e0 <_end> +800002c0: f0100637 lui a2,0xf0100 +800002c4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +800002c8 <complience_halt_loop>: +800002c8: 02b50663 beq a0,a1,800002f4 <complience_halt_break> +800002cc: 00c52683 lw a3,12(a0) +800002d0: 00d62023 sw a3,0(a2) +800002d4: 00852683 lw a3,8(a0) +800002d8: 00d62023 sw a3,0(a2) +800002dc: 00452683 lw a3,4(a0) +800002e0: 00d62023 sw a3,0(a2) +800002e4: 00052683 lw a3,0(a0) +800002e8: 00d62023 sw a3,0(a2) +800002ec: 01050513 addi a0,a0,16 +800002f0: fd9ff06f j 800002c8 <complience_halt_loop> + +800002f4 <complience_halt_break>: +800002f4: f0100537 lui a0,0xf0100 +800002f8: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +800002fc: 00052023 sw zero,0(a0) +80000300: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ffff 0xffff +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_C_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff + +800010cc <test_D_res>: +800010cc: ffff 0xffff +800010ce: ffff 0xffff +800010d0: ffff 0xffff +800010d2: ffff 0xffff + +800010d4 <test_E_res>: +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/I-XORI-01.elf.objdump b/VexRiscv/src/test/resources/asm/I-XORI-01.elf.objdump new file mode 100644 index 0000000..f969f99 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/I-XORI-01.elf.objdump @@ -0,0 +1,310 @@ + +/home/spinalvm/hdl/riscv-compliance/work//I-XORI-01.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001097 auipc ra,0x1 +80000004: 00008093 mv ra,ra +80000008: 00001117 auipc sp,0x1 +8000000c: 02810113 addi sp,sp,40 # 80001030 <codasip_signature_start> +80000010: 0000a183 lw gp,0(ra) # 80001000 <test_A1_data> +80000014: 0011c213 xori tp,gp,1 +80000018: 7ff1c293 xori t0,gp,2047 +8000001c: fff1c313 not t1,gp +80000020: 0001c393 xori t2,gp,0 +80000024: 8001c413 xori s0,gp,-2048 +80000028: 00312023 sw gp,0(sp) +8000002c: 00412223 sw tp,4(sp) +80000030: 00512423 sw t0,8(sp) +80000034: 00612623 sw t1,12(sp) +80000038: 00712823 sw t2,16(sp) +8000003c: 00812a23 sw s0,20(sp) +80000040: 00001097 auipc ra,0x1 +80000044: fc408093 addi ra,ra,-60 # 80001004 <test_A2_data> +80000048: 00001117 auipc sp,0x1 +8000004c: 00010113 mv sp,sp +80000050: 0000a403 lw s0,0(ra) +80000054: 00144493 xori s1,s0,1 +80000058: 7ff44513 xori a0,s0,2047 +8000005c: fff44593 not a1,s0 +80000060: 00044613 xori a2,s0,0 +80000064: 80044693 xori a3,s0,-2048 +80000068: 00812023 sw s0,0(sp) # 80001048 <test_A2_res> +8000006c: 00912223 sw s1,4(sp) +80000070: 00a12423 sw a0,8(sp) +80000074: 00b12623 sw a1,12(sp) +80000078: 00c12823 sw a2,16(sp) +8000007c: 00d12a23 sw a3,20(sp) +80000080: 00001097 auipc ra,0x1 +80000084: f8808093 addi ra,ra,-120 # 80001008 <test_A3_data> +80000088: 00001117 auipc sp,0x1 +8000008c: fd810113 addi sp,sp,-40 # 80001060 <test_A3_res> +80000090: 0000a683 lw a3,0(ra) +80000094: 0016c713 xori a4,a3,1 +80000098: 7ff6c793 xori a5,a3,2047 +8000009c: fff6c813 not a6,a3 +800000a0: 0006c893 xori a7,a3,0 +800000a4: 8006c913 xori s2,a3,-2048 +800000a8: 00d12023 sw a3,0(sp) +800000ac: 00e12223 sw a4,4(sp) +800000b0: 00f12423 sw a5,8(sp) +800000b4: 01012623 sw a6,12(sp) +800000b8: 01112823 sw a7,16(sp) +800000bc: 01212a23 sw s2,20(sp) +800000c0: 00001097 auipc ra,0x1 +800000c4: f4c08093 addi ra,ra,-180 # 8000100c <test_A4_data> +800000c8: 00001117 auipc sp,0x1 +800000cc: fb010113 addi sp,sp,-80 # 80001078 <test_A4_res> +800000d0: 0000a903 lw s2,0(ra) +800000d4: 00194993 xori s3,s2,1 +800000d8: 7ff94a13 xori s4,s2,2047 +800000dc: fff94a93 not s5,s2 +800000e0: 00094b13 xori s6,s2,0 +800000e4: 80094b93 xori s7,s2,-2048 +800000e8: 01212023 sw s2,0(sp) +800000ec: 01312223 sw s3,4(sp) +800000f0: 01412423 sw s4,8(sp) +800000f4: 01512623 sw s5,12(sp) +800000f8: 01612823 sw s6,16(sp) +800000fc: 01712a23 sw s7,20(sp) +80000100: 00001097 auipc ra,0x1 +80000104: f1008093 addi ra,ra,-240 # 80001010 <test_A5_data> +80000108: 00001117 auipc sp,0x1 +8000010c: f8810113 addi sp,sp,-120 # 80001090 <test_A5_res> +80000110: 0000ab83 lw s7,0(ra) +80000114: 001bcc13 xori s8,s7,1 +80000118: 7ffbcc93 xori s9,s7,2047 +8000011c: fffbcd13 not s10,s7 +80000120: 000bcd93 xori s11,s7,0 +80000124: 800bce13 xori t3,s7,-2048 +80000128: 01712023 sw s7,0(sp) +8000012c: 01812223 sw s8,4(sp) +80000130: 01912423 sw s9,8(sp) +80000134: 01a12623 sw s10,12(sp) +80000138: 01b12823 sw s11,16(sp) +8000013c: 01c12a23 sw t3,20(sp) +80000140: 00001d17 auipc s10,0x1 +80000144: ed4d0d13 addi s10,s10,-300 # 80001014 <test_B_data> +80000148: 00001d97 auipc s11,0x1 +8000014c: f60d8d93 addi s11,s11,-160 # 800010a8 <test_B_res> +80000150: 000d2e03 lw t3,0(s10) +80000154: 07fe4e93 xori t4,t3,127 +80000158: 03fecf13 xori t5,t4,63 +8000015c: 01ff4f93 xori t6,t5,31 +80000160: 00ffc093 xori ra,t6,15 +80000164: 0070c113 xori sp,ra,7 +80000168: 00314193 xori gp,sp,3 +8000016c: 01cda023 sw t3,0(s11) +80000170: 01dda223 sw t4,4(s11) +80000174: 01eda423 sw t5,8(s11) +80000178: 01fda623 sw t6,12(s11) +8000017c: 001da823 sw ra,16(s11) +80000180: 002daa23 sw sp,20(s11) +80000184: 003dac23 sw gp,24(s11) +80000188: 00001097 auipc ra,0x1 +8000018c: e9008093 addi ra,ra,-368 # 80001018 <test_C_data> +80000190: 00001117 auipc sp,0x1 +80000194: f3410113 addi sp,sp,-204 # 800010c4 <test_C_res> +80000198: 0000a283 lw t0,0(ra) +8000019c: 0012c013 xori zero,t0,1 +800001a0: 00012023 sw zero,0(sp) +800001a4: 00001097 auipc ra,0x1 +800001a8: e7808093 addi ra,ra,-392 # 8000101c <test_D_data> +800001ac: 00001117 auipc sp,0x1 +800001b0: f1c10113 addi sp,sp,-228 # 800010c8 <test_D_res> +800001b4: 0000a283 lw t0,0(ra) +800001b8: 0012c013 xori zero,t0,1 +800001bc: 00104293 xori t0,zero,1 +800001c0: 00012023 sw zero,0(sp) +800001c4: 00512223 sw t0,4(sp) +800001c8: 00001097 auipc ra,0x1 +800001cc: e5808093 addi ra,ra,-424 # 80001020 <test_E_data> +800001d0: 00001117 auipc sp,0x1 +800001d4: f0010113 addi sp,sp,-256 # 800010d0 <test_E_res> +800001d8: 0000a183 lw gp,0(ra) +800001dc: 0001c213 xori tp,gp,0 +800001e0: 00024293 xori t0,tp,0 +800001e4: 0002c313 xori t1,t0,0 +800001e8: 00034713 xori a4,t1,0 +800001ec: 00074793 xori a5,a4,0 +800001f0: 0007c813 xori a6,a5,0 +800001f4: 00084c93 xori s9,a6,0 +800001f8: 000ccd13 xori s10,s9,0 +800001fc: 000d4d93 xori s11,s10,0 +80000200: 00312023 sw gp,0(sp) +80000204: 00412223 sw tp,4(sp) +80000208: 01a12423 sw s10,8(sp) +8000020c: 01b12623 sw s11,12(sp) +80000210: 00001517 auipc a0,0x1 +80000214: e2050513 addi a0,a0,-480 # 80001030 <codasip_signature_start> +80000218: 00001597 auipc a1,0x1 +8000021c: ec858593 addi a1,a1,-312 # 800010e0 <_end> +80000220: f0100637 lui a2,0xf0100 +80000224: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee4c> + +80000228 <complience_halt_loop>: +80000228: 02b50663 beq a0,a1,80000254 <complience_halt_break> +8000022c: 00c52683 lw a3,12(a0) +80000230: 00d62023 sw a3,0(a2) +80000234: 00852683 lw a3,8(a0) +80000238: 00d62023 sw a3,0(a2) +8000023c: 00452683 lw a3,4(a0) +80000240: 00d62023 sw a3,0(a2) +80000244: 00052683 lw a3,0(a0) +80000248: 00d62023 sw a3,0(a2) +8000024c: 01050513 addi a0,a0,16 +80000250: fd9ff06f j 80000228 <complience_halt_loop> + +80000254 <complience_halt_break>: +80000254: f0100537 lui a0,0xf0100 +80000258: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee40> +8000025c: 00052023 sw zero,0(a0) +80000260: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <test_A1_data>: +80001000: 0000 unimp + ... + +80001004 <test_A2_data>: +80001004: 0001 nop + ... + +80001008 <test_A3_data>: +80001008: ffff 0xffff +8000100a: ffff 0xffff + +8000100c <test_A4_data>: +8000100c: ffff 0xffff +8000100e: 7fff 0x7fff + +80001010 <test_A5_data>: +80001010: 0000 unimp +80001012: 8000 0x8000 + +80001014 <test_B_data>: +80001014: ffff 0xffff +80001016: abcd j 80001608 <_end+0x528> + +80001018 <test_C_data>: +80001018: 5678 lw a4,108(a2) +8000101a: 1234 addi a3,sp,296 + +8000101c <test_D_data>: +8000101c: ba98 fsd fa4,48(a3) +8000101e: fedc fsw fa5,60(a3) + +80001020 <test_E_data>: +80001020: 5814 lw a3,48(s0) +80001022: 3692 fld fa3,288(sp) + ... + +80001030 <codasip_signature_start>: +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff + +80001048 <test_A2_res>: +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff + +80001060 <test_A3_res>: +80001060: ffff 0xffff +80001062: ffff 0xffff +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_A4_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff +8000108c: ffff 0xffff +8000108e: ffff 0xffff + +80001090 <test_A5_res>: +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff + +800010a8 <test_B_res>: +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff + +800010c4 <test_C_res>: +800010c4: ffff 0xffff +800010c6: ffff 0xffff + +800010c8 <test_D_res>: +800010c8: ffff 0xffff +800010ca: ffff 0xffff +800010cc: ffff 0xffff +800010ce: ffff 0xffff + +800010d0 <test_E_res>: +800010d0: ffff 0xffff +800010d2: ffff 0xffff +800010d4: ffff 0xffff +800010d6: ffff 0xffff +800010d8: ffff 0xffff +800010da: ffff 0xffff +800010dc: ffff 0xffff +800010de: ffff 0xffff diff --git a/VexRiscv/src/test/resources/asm/MUL.elf.objdump b/VexRiscv/src/test/resources/asm/MUL.elf.objdump new file mode 100644 index 0000000..50d73f1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/MUL.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//MUL.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031908b3 mul a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a09b3 mul s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b0ab3 mul s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c0bb3 mul s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d0cb3 mul s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be0db3 mul s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df0eb3 mul t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f18fb3 mul t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02440233 mul tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 029584b3 mul s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c68633 mul a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e78733 mul a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 03088833 mul a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 03298933 mul s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034a8a33 mul s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036b8b33 mul s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038c8c33 mul s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03ad8d33 mul s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03ce8e33 mul t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03ef8f33 mul t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023201b3 mul gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 02848433 mul s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b605b3 mul a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d706b3 mul a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f807b3 mul a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/MULH.elf.objdump b/VexRiscv/src/test/resources/asm/MULH.elf.objdump new file mode 100644 index 0000000..8550c72 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/MULH.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//MULH.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031918b3 mulh a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a19b3 mulh s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b1ab3 mulh s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c1bb3 mulh s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d1cb3 mulh s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be1db3 mulh s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df1eb3 mulh t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f19fb3 mulh t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02441233 mulh tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 029594b3 mulh s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c69633 mulh a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e79733 mulh a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 03089833 mulh a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 03299933 mulh s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034a9a33 mulh s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036b9b33 mulh s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038c9c33 mulh s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03ad9d33 mulh s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03ce9e33 mulh t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03ef9f33 mulh t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023211b3 mulh gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 02849433 mulh s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b615b3 mulh a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d716b3 mulh a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f817b3 mulh a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/MULHSU.elf.objdump b/VexRiscv/src/test/resources/asm/MULHSU.elf.objdump new file mode 100644 index 0000000..6a5b81f --- /dev/null +++ b/VexRiscv/src/test/resources/asm/MULHSU.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//MULHSU.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031928b3 mulhsu a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a29b3 mulhsu s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b2ab3 mulhsu s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c2bb3 mulhsu s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d2cb3 mulhsu s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be2db3 mulhsu s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df2eb3 mulhsu t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f1afb3 mulhsu t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02442233 mulhsu tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 0295a4b3 mulhsu s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c6a633 mulhsu a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e7a733 mulhsu a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 0308a833 mulhsu a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 0329a933 mulhsu s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034aaa33 mulhsu s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036bab33 mulhsu s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038cac33 mulhsu s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03adad33 mulhsu s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03ceae33 mulhsu t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03efaf33 mulhsu t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023221b3 mulhsu gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 0284a433 mulhsu s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b625b3 mulhsu a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d726b3 mulhsu a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f827b3 mulhsu a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/MULHU.elf.objdump b/VexRiscv/src/test/resources/asm/MULHU.elf.objdump new file mode 100644 index 0000000..053db86 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/MULHU.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//MULHU.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031938b3 mulhu a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a39b3 mulhu s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b3ab3 mulhu s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c3bb3 mulhu s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d3cb3 mulhu s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be3db3 mulhu s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df3eb3 mulhu t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f1bfb3 mulhu t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02443233 mulhu tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 0295b4b3 mulhu s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c6b633 mulhu a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e7b733 mulhu a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 0308b833 mulhu a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 0329b933 mulhu s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034aba33 mulhu s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036bbb33 mulhu s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038cbc33 mulhu s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03adbd33 mulhu s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03cebe33 mulhu t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03efbf33 mulhu t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023231b3 mulhu gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 0284b433 mulhu s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b635b3 mulhu a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d736b3 mulhu a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f837b3 mulhu a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/MULW.elf.objdump b/VexRiscv/src/test/resources/asm/MULW.elf.objdump new file mode 100644 index 0000000..c891aa6 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/MULW.elf.objdump @@ -0,0 +1,460 @@ + +/home/spinalvm/hdl/riscv-compliance/work//MULW.elf: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 00000013 nop + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <begin_testcode> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <begin_testcode>: + 80000108: 00002117 auipc sp,0x2 + 8000010c: ef810113 addi sp,sp,-264 # 80002000 <begin_signature> + 80000110: 00000213 li tp,0 + 80000114: 00000193 li gp,0 + 80000118: 023201bb mulw gp,tp,gp + 8000011c: 00312023 sw gp,0(sp) + 80000120: 00000493 li s1,0 + 80000124: 00100413 li s0,1 + 80000128: 0284843b mulw s0,s1,s0 + 8000012c: 00812423 sw s0,8(sp) + 80000130: 00000613 li a2,0 + 80000134: fff00593 li a1,-1 + 80000138: 02b605bb mulw a1,a2,a1 + 8000013c: 00b12823 sw a1,16(sp) + 80000140: 00000713 li a4,0 + 80000144: fff0069b addiw a3,zero,-1 + 80000148: 03f69693 slli a3,a3,0x3f + 8000014c: fff68693 addi a3,a3,-1 + 80000150: 02d706bb mulw a3,a4,a3 + 80000154: 00d12c23 sw a3,24(sp) + 80000158: 00000813 li a6,0 + 8000015c: fff0079b addiw a5,zero,-1 + 80000160: 03f79793 slli a5,a5,0x3f + 80000164: 02f807bb mulw a5,a6,a5 + 80000168: 02f12023 sw a5,32(sp) + 8000016c: 00002117 auipc sp,0x2 + 80000170: ebc10113 addi sp,sp,-324 # 80002028 <test_2_res> + 80000174: 00100913 li s2,1 + 80000178: 00000893 li a7,0 + 8000017c: 031908bb mulw a7,s2,a7 + 80000180: 01112023 sw a7,0(sp) + 80000184: 00100a13 li s4,1 + 80000188: 00100993 li s3,1 + 8000018c: 033a09bb mulw s3,s4,s3 + 80000190: 01312423 sw s3,8(sp) + 80000194: 00100b13 li s6,1 + 80000198: fff00a93 li s5,-1 + 8000019c: 035b0abb mulw s5,s6,s5 + 800001a0: 01512823 sw s5,16(sp) + 800001a4: 00100c13 li s8,1 + 800001a8: fff00b9b addiw s7,zero,-1 + 800001ac: 03fb9b93 slli s7,s7,0x3f + 800001b0: fffb8b93 addi s7,s7,-1 + 800001b4: 037c0bbb mulw s7,s8,s7 + 800001b8: 01712c23 sw s7,24(sp) + 800001bc: 00100d13 li s10,1 + 800001c0: fff00c9b addiw s9,zero,-1 + 800001c4: 03fc9c93 slli s9,s9,0x3f + 800001c8: 039d0cbb mulw s9,s10,s9 + 800001cc: 03912023 sw s9,32(sp) + 800001d0: 00002117 auipc sp,0x2 + 800001d4: e8010113 addi sp,sp,-384 # 80002050 <test_3_res> + 800001d8: fff00e13 li t3,-1 + 800001dc: 00000d93 li s11,0 + 800001e0: 03be0dbb mulw s11,t3,s11 + 800001e4: 01b12023 sw s11,0(sp) + 800001e8: fff00f13 li t5,-1 + 800001ec: 00100e93 li t4,1 + 800001f0: 03df0ebb mulw t4,t5,t4 + 800001f4: 01d12423 sw t4,8(sp) + 800001f8: fff00193 li gp,-1 + 800001fc: fff00f93 li t6,-1 + 80000200: 03f18fbb mulw t6,gp,t6 + 80000204: 01f12823 sw t6,16(sp) + 80000208: fff00413 li s0,-1 + 8000020c: fff0021b addiw tp,zero,-1 + 80000210: 03f21213 slli tp,tp,0x3f + 80000214: fff20213 addi tp,tp,-1 + 80000218: 0244023b mulw tp,s0,tp + 8000021c: 00412c23 sw tp,24(sp) + 80000220: fff00593 li a1,-1 + 80000224: fff0049b addiw s1,zero,-1 + 80000228: 03f49493 slli s1,s1,0x3f + 8000022c: 029584bb mulw s1,a1,s1 + 80000230: 02912023 sw s1,32(sp) + 80000234: 00002117 auipc sp,0x2 + 80000238: e4410113 addi sp,sp,-444 # 80002078 <test_4_res> + 8000023c: fff0069b addiw a3,zero,-1 + 80000240: 03f69693 slli a3,a3,0x3f + 80000244: fff68693 addi a3,a3,-1 + 80000248: 00000613 li a2,0 + 8000024c: 02c6863b mulw a2,a3,a2 + 80000250: 00c12023 sw a2,0(sp) + 80000254: fff0079b addiw a5,zero,-1 + 80000258: 03f79793 slli a5,a5,0x3f + 8000025c: fff78793 addi a5,a5,-1 + 80000260: 00100713 li a4,1 + 80000264: 02e7873b mulw a4,a5,a4 + 80000268: 00e12423 sw a4,8(sp) + 8000026c: fff0089b addiw a7,zero,-1 + 80000270: 03f89893 slli a7,a7,0x3f + 80000274: fff88893 addi a7,a7,-1 + 80000278: fff00813 li a6,-1 + 8000027c: 0308883b mulw a6,a7,a6 + 80000280: 01012823 sw a6,16(sp) + 80000284: fff0099b addiw s3,zero,-1 + 80000288: 03f99993 slli s3,s3,0x3f + 8000028c: fff98993 addi s3,s3,-1 + 80000290: fff0091b addiw s2,zero,-1 + 80000294: 03f91913 slli s2,s2,0x3f + 80000298: fff90913 addi s2,s2,-1 + 8000029c: 0329893b mulw s2,s3,s2 + 800002a0: 01212c23 sw s2,24(sp) + 800002a4: fff00a9b addiw s5,zero,-1 + 800002a8: 03fa9a93 slli s5,s5,0x3f + 800002ac: fffa8a93 addi s5,s5,-1 + 800002b0: fff00a1b addiw s4,zero,-1 + 800002b4: 03fa1a13 slli s4,s4,0x3f + 800002b8: 034a8a3b mulw s4,s5,s4 + 800002bc: 03412023 sw s4,32(sp) + 800002c0: 00002117 auipc sp,0x2 + 800002c4: de010113 addi sp,sp,-544 # 800020a0 <test_5_res> + 800002c8: fff00b9b addiw s7,zero,-1 + 800002cc: 03fb9b93 slli s7,s7,0x3f + 800002d0: 00000b13 li s6,0 + 800002d4: 036b8b3b mulw s6,s7,s6 + 800002d8: 01612023 sw s6,0(sp) + 800002dc: fff00c9b addiw s9,zero,-1 + 800002e0: 03fc9c93 slli s9,s9,0x3f + 800002e4: 00100c13 li s8,1 + 800002e8: 038c8c3b mulw s8,s9,s8 + 800002ec: 01812423 sw s8,8(sp) + 800002f0: fff00d9b addiw s11,zero,-1 + 800002f4: 03fd9d93 slli s11,s11,0x3f + 800002f8: fff00d13 li s10,-1 + 800002fc: 03ad8d3b mulw s10,s11,s10 + 80000300: 01a12823 sw s10,16(sp) + 80000304: fff00e9b addiw t4,zero,-1 + 80000308: 03fe9e93 slli t4,t4,0x3f + 8000030c: fff00e1b addiw t3,zero,-1 + 80000310: 03fe1e13 slli t3,t3,0x3f + 80000314: fffe0e13 addi t3,t3,-1 + 80000318: 03ce8e3b mulw t3,t4,t3 + 8000031c: 01c12c23 sw t3,24(sp) + 80000320: fff00f9b addiw t6,zero,-1 + 80000324: 03ff9f93 slli t6,t6,0x3f + 80000328: fff00f1b addiw t5,zero,-1 + 8000032c: 03ff1f13 slli t5,t5,0x3f + 80000330: 03ef8f3b mulw t5,t6,t5 + 80000334: 03e12023 sw t5,32(sp) + 80000338: 00000013 nop + 8000033c: 00100193 li gp,1 + 80000340: 00000073 ecall + +0000000080000344 <end_testcode>: + 80000344: c0001073 unimp + ... + +Disassembly of section .tohost: + +0000000080001000 <tohost>: + ... + +0000000080001100 <fromhost>: + ... + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: ffff 0xffff + 80002002: ffff 0xffff + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: ffff 0xffff + 8000200a: ffff 0xffff + 8000200c: 0000 unimp + 8000200e: 0000 unimp + 80002010: ffff 0xffff + 80002012: ffff 0xffff + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: ffff 0xffff + 8000201a: ffff 0xffff + 8000201c: 0000 unimp + 8000201e: 0000 unimp + 80002020: ffff 0xffff + 80002022: ffff 0xffff + 80002024: 0000 unimp + ... + +0000000080002028 <test_2_res>: + 80002028: ffff 0xffff + 8000202a: ffff 0xffff + 8000202c: 0000 unimp + 8000202e: 0000 unimp + 80002030: ffff 0xffff + 80002032: ffff 0xffff + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: ffff 0xffff + 8000203a: ffff 0xffff + 8000203c: 0000 unimp + 8000203e: 0000 unimp + 80002040: ffff 0xffff + 80002042: ffff 0xffff + 80002044: 0000 unimp + 80002046: 0000 unimp + 80002048: ffff 0xffff + 8000204a: ffff 0xffff + 8000204c: 0000 unimp + ... + +0000000080002050 <test_3_res>: + 80002050: ffff 0xffff + 80002052: ffff 0xffff + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: ffff 0xffff + 8000205a: ffff 0xffff + 8000205c: 0000 unimp + 8000205e: 0000 unimp + 80002060: ffff 0xffff + 80002062: ffff 0xffff + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: ffff 0xffff + 8000206a: ffff 0xffff + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: ffff 0xffff + 80002072: ffff 0xffff + 80002074: 0000 unimp + ... + +0000000080002078 <test_4_res>: + 80002078: ffff 0xffff + 8000207a: ffff 0xffff + 8000207c: 0000 unimp + 8000207e: 0000 unimp + 80002080: ffff 0xffff + 80002082: ffff 0xffff + 80002084: 0000 unimp + 80002086: 0000 unimp + 80002088: ffff 0xffff + 8000208a: ffff 0xffff + 8000208c: 0000 unimp + 8000208e: 0000 unimp + 80002090: ffff 0xffff + 80002092: ffff 0xffff + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: ffff 0xffff + 8000209a: ffff 0xffff + 8000209c: 0000 unimp + ... + +00000000800020a0 <test_5_res>: + 800020a0: ffff 0xffff + 800020a2: ffff 0xffff + 800020a4: 0000 unimp + 800020a6: 0000 unimp + 800020a8: ffff 0xffff + 800020aa: ffff 0xffff + 800020ac: 0000 unimp + 800020ae: 0000 unimp + 800020b0: ffff 0xffff + 800020b2: ffff 0xffff + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: ffff 0xffff + 800020ba: ffff 0xffff + 800020bc: 0000 unimp + 800020be: 0000 unimp + 800020c0: ffff 0xffff + 800020c2: ffff 0xffff + 800020c4: 0000 unimp + ... + +00000000800020c8 <test_6_res>: + 800020c8: ffff 0xffff + 800020ca: ffff 0xffff + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: ffff 0xffff + 800020d2: ffff 0xffff + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: ffff 0xffff + 800020da: ffff 0xffff + 800020dc: 0000 unimp + 800020de: 0000 unimp + 800020e0: ffff 0xffff + 800020e2: ffff 0xffff + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: ffff 0xffff + 800020ea: ffff 0xffff + 800020ec: 0000 unimp + ... + +00000000800020f0 <test_7_res>: + 800020f0: ffff 0xffff + 800020f2: ffff 0xffff + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: ffff 0xffff + 800020fa: ffff 0xffff + 800020fc: 0000 unimp + 800020fe: 0000 unimp + 80002100: ffff 0xffff + 80002102: ffff 0xffff + 80002104: 0000 unimp + 80002106: 0000 unimp + 80002108: ffff 0xffff + 8000210a: ffff 0xffff + 8000210c: 0000 unimp + 8000210e: 0000 unimp + 80002110: ffff 0xffff + 80002112: ffff 0xffff + 80002114: 0000 unimp + ... + +0000000080002118 <test_8_res>: + 80002118: ffff 0xffff + 8000211a: ffff 0xffff + 8000211c: 0000 unimp + 8000211e: 0000 unimp + 80002120: ffff 0xffff + 80002122: ffff 0xffff + 80002124: 0000 unimp + 80002126: 0000 unimp + 80002128: ffff 0xffff + 8000212a: ffff 0xffff + 8000212c: 0000 unimp + 8000212e: 0000 unimp + 80002130: ffff 0xffff + 80002132: ffff 0xffff + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: ffff 0xffff + 8000213a: ffff 0xffff + 8000213c: 0000 unimp + ... + +0000000080002140 <test_9_res>: + 80002140: ffff 0xffff + 80002142: ffff 0xffff + 80002144: 0000 unimp + 80002146: 0000 unimp + 80002148: ffff 0xffff + 8000214a: ffff 0xffff + 8000214c: 0000 unimp + 8000214e: 0000 unimp + 80002150: ffff 0xffff + 80002152: ffff 0xffff + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: ffff 0xffff + 8000215a: ffff 0xffff + 8000215c: 0000 unimp + 8000215e: 0000 unimp + 80002160: ffff 0xffff + 80002162: ffff 0xffff + 80002164: 0000 unimp + ... + +0000000080002168 <test_10_res>: + 80002168: ffff 0xffff + 8000216a: ffff 0xffff + 8000216c: 0000 unimp + 8000216e: 0000 unimp + 80002170: ffff 0xffff + 80002172: ffff 0xffff + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: ffff 0xffff + 8000217a: ffff 0xffff + 8000217c: 0000 unimp + 8000217e: 0000 unimp + 80002180: ffff 0xffff + 80002182: ffff 0xffff + 80002184: 0000 unimp + 80002186: 0000 unimp + 80002188: ffff 0xffff + 8000218a: ffff 0xffff + 8000218c: 0000 unimp + ... diff --git a/VexRiscv/src/test/resources/asm/REM.elf.objdump b/VexRiscv/src/test/resources/asm/REM.elf.objdump new file mode 100644 index 0000000..e8940c1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/REM.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//REM.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031968b3 rem a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a69b3 rem s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b6ab3 rem s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c6bb3 rem s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d6cb3 rem s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be6db3 rem s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df6eb3 rem t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f1efb3 rem t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02446233 rem tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 0295e4b3 rem s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c6e633 rem a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e7e733 rem a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 0308e833 rem a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 0329e933 rem s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034aea33 rem s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036beb33 rem s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038cec33 rem s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03aded33 rem s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03ceee33 rem t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03efef33 rem t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023261b3 rem gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 0284e433 rem s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b665b3 rem a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d766b3 rem a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f867b3 rem a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/REMU.elf.objdump b/VexRiscv/src/test/resources/asm/REMU.elf.objdump new file mode 100644 index 0000000..da57519 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/REMU.elf.objdump @@ -0,0 +1,276 @@ + +/home/spinalvm/hdl/riscv-compliance/work//REMU.elf: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 00001117 auipc sp,0x1 +80000004: 00010113 mv sp,sp +80000008: 00000913 li s2,0 +8000000c: 00000893 li a7,0 +80000010: 031978b3 remu a7,s2,a7 +80000014: 01112023 sw a7,0(sp) # 80001000 <codasip_signature_start> +80000018: 00000a13 li s4,0 +8000001c: 00100993 li s3,1 +80000020: 033a79b3 remu s3,s4,s3 +80000024: 01312223 sw s3,4(sp) +80000028: 00000b13 li s6,0 +8000002c: fff00a93 li s5,-1 +80000030: 035b7ab3 remu s5,s6,s5 +80000034: 01512423 sw s5,8(sp) +80000038: 00000c13 li s8,0 +8000003c: 80000bb7 lui s7,0x80000 +80000040: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000044: 037c7bb3 remu s7,s8,s7 +80000048: 01712623 sw s7,12(sp) +8000004c: 00000d13 li s10,0 +80000050: 80000cb7 lui s9,0x80000 +80000054: 039d7cb3 remu s9,s10,s9 +80000058: 01912823 sw s9,16(sp) +8000005c: 00001117 auipc sp,0x1 +80000060: fb810113 addi sp,sp,-72 # 80001014 <test_2_res> +80000064: 00100e13 li t3,1 +80000068: 00000d93 li s11,0 +8000006c: 03be7db3 remu s11,t3,s11 +80000070: 01b12023 sw s11,0(sp) +80000074: 00100f13 li t5,1 +80000078: 00100e93 li t4,1 +8000007c: 03df7eb3 remu t4,t5,t4 +80000080: 01d12223 sw t4,4(sp) +80000084: 00100193 li gp,1 +80000088: fff00f93 li t6,-1 +8000008c: 03f1ffb3 remu t6,gp,t6 +80000090: 01f12423 sw t6,8(sp) +80000094: 00100413 li s0,1 +80000098: 80000237 lui tp,0x80000 +8000009c: fff20213 addi tp,tp,-1 # 7fffffff <_end+0xffffef2f> +800000a0: 02447233 remu tp,s0,tp +800000a4: 00412623 sw tp,12(sp) +800000a8: 00100593 li a1,1 +800000ac: 800004b7 lui s1,0x80000 +800000b0: 0295f4b3 remu s1,a1,s1 +800000b4: 00912823 sw s1,16(sp) +800000b8: 00001117 auipc sp,0x1 +800000bc: f7010113 addi sp,sp,-144 # 80001028 <test_3_res> +800000c0: fff00693 li a3,-1 +800000c4: 00000613 li a2,0 +800000c8: 02c6f633 remu a2,a3,a2 +800000cc: 00c12023 sw a2,0(sp) +800000d0: fff00793 li a5,-1 +800000d4: 00100713 li a4,1 +800000d8: 02e7f733 remu a4,a5,a4 +800000dc: 00e12223 sw a4,4(sp) +800000e0: fff00893 li a7,-1 +800000e4: fff00813 li a6,-1 +800000e8: 0308f833 remu a6,a7,a6 +800000ec: 01012423 sw a6,8(sp) +800000f0: fff00993 li s3,-1 +800000f4: 80000937 lui s2,0x80000 +800000f8: fff90913 addi s2,s2,-1 # 7fffffff <_end+0xffffef2f> +800000fc: 0329f933 remu s2,s3,s2 +80000100: 01212623 sw s2,12(sp) +80000104: fff00a93 li s5,-1 +80000108: 80000a37 lui s4,0x80000 +8000010c: 034afa33 remu s4,s5,s4 +80000110: 01412823 sw s4,16(sp) +80000114: 00001117 auipc sp,0x1 +80000118: f2810113 addi sp,sp,-216 # 8000103c <test_4_res> +8000011c: 80000bb7 lui s7,0x80000 +80000120: fffb8b93 addi s7,s7,-1 # 7fffffff <_end+0xffffef2f> +80000124: 00000b13 li s6,0 +80000128: 036bfb33 remu s6,s7,s6 +8000012c: 01612023 sw s6,0(sp) +80000130: 80000cb7 lui s9,0x80000 +80000134: fffc8c93 addi s9,s9,-1 # 7fffffff <_end+0xffffef2f> +80000138: 00100c13 li s8,1 +8000013c: 038cfc33 remu s8,s9,s8 +80000140: 01812223 sw s8,4(sp) +80000144: 80000db7 lui s11,0x80000 +80000148: fffd8d93 addi s11,s11,-1 # 7fffffff <_end+0xffffef2f> +8000014c: fff00d13 li s10,-1 +80000150: 03adfd33 remu s10,s11,s10 +80000154: 01a12423 sw s10,8(sp) +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <_end+0xffffef2f> +80000160: 80000e37 lui t3,0x80000 +80000164: fffe0e13 addi t3,t3,-1 # 7fffffff <_end+0xffffef2f> +80000168: 03cefe33 remu t3,t4,t3 +8000016c: 01c12623 sw t3,12(sp) +80000170: 80000fb7 lui t6,0x80000 +80000174: ffff8f93 addi t6,t6,-1 # 7fffffff <_end+0xffffef2f> +80000178: 80000f37 lui t5,0x80000 +8000017c: 03efff33 remu t5,t6,t5 +80000180: 01e12823 sw t5,16(sp) +80000184: 00001117 auipc sp,0x1 +80000188: ecc10113 addi sp,sp,-308 # 80001050 <test_5_res> +8000018c: 80000237 lui tp,0x80000 +80000190: 00000193 li gp,0 +80000194: 023271b3 remu gp,tp,gp +80000198: 00312023 sw gp,0(sp) +8000019c: 800004b7 lui s1,0x80000 +800001a0: 00100413 li s0,1 +800001a4: 0284f433 remu s0,s1,s0 +800001a8: 00812223 sw s0,4(sp) +800001ac: 80000637 lui a2,0x80000 +800001b0: fff00593 li a1,-1 +800001b4: 02b675b3 remu a1,a2,a1 +800001b8: 00b12423 sw a1,8(sp) +800001bc: 80000737 lui a4,0x80000 +800001c0: 800006b7 lui a3,0x80000 +800001c4: fff68693 addi a3,a3,-1 # 7fffffff <_end+0xffffef2f> +800001c8: 02d776b3 remu a3,a4,a3 +800001cc: 00d12623 sw a3,12(sp) +800001d0: 80000837 lui a6,0x80000 +800001d4: 800007b7 lui a5,0x80000 +800001d8: 02f877b3 remu a5,a6,a5 +800001dc: 00f12823 sw a5,16(sp) +800001e0: 00001517 auipc a0,0x1 +800001e4: e2050513 addi a0,a0,-480 # 80001000 <codasip_signature_start> +800001e8: 00001597 auipc a1,0x1 +800001ec: ee858593 addi a1,a1,-280 # 800010d0 <_end> +800001f0: f0100637 lui a2,0xf0100 +800001f4: f2c60613 addi a2,a2,-212 # f00fff2c <_end+0x700fee5c> + +800001f8 <complience_halt_loop>: +800001f8: 02b50663 beq a0,a1,80000224 <complience_halt_break> +800001fc: 00c52683 lw a3,12(a0) +80000200: 00d62023 sw a3,0(a2) +80000204: 00852683 lw a3,8(a0) +80000208: 00d62023 sw a3,0(a2) +8000020c: 00452683 lw a3,4(a0) +80000210: 00d62023 sw a3,0(a2) +80000214: 00052683 lw a3,0(a0) +80000218: 00d62023 sw a3,0(a2) +8000021c: 01050513 addi a0,a0,16 +80000220: fd9ff06f j 800001f8 <complience_halt_loop> + +80000224 <complience_halt_break>: +80000224: f0100537 lui a0,0xf0100 +80000228: f2050513 addi a0,a0,-224 # f00fff20 <_end+0x700fee50> +8000022c: 00052023 sw zero,0(a0) +80000230: 0000 unimp + ... + +Disassembly of section .data: + +80001000 <codasip_signature_start>: +80001000: ffff 0xffff +80001002: ffff 0xffff +80001004: ffff 0xffff +80001006: ffff 0xffff +80001008: ffff 0xffff +8000100a: ffff 0xffff +8000100c: ffff 0xffff +8000100e: ffff 0xffff +80001010: ffff 0xffff +80001012: ffff 0xffff + +80001014 <test_2_res>: +80001014: ffff 0xffff +80001016: ffff 0xffff +80001018: ffff 0xffff +8000101a: ffff 0xffff +8000101c: ffff 0xffff +8000101e: ffff 0xffff +80001020: ffff 0xffff +80001022: ffff 0xffff +80001024: ffff 0xffff +80001026: ffff 0xffff + +80001028 <test_3_res>: +80001028: ffff 0xffff +8000102a: ffff 0xffff +8000102c: ffff 0xffff +8000102e: ffff 0xffff +80001030: ffff 0xffff +80001032: ffff 0xffff +80001034: ffff 0xffff +80001036: ffff 0xffff +80001038: ffff 0xffff +8000103a: ffff 0xffff + +8000103c <test_4_res>: +8000103c: ffff 0xffff +8000103e: ffff 0xffff +80001040: ffff 0xffff +80001042: ffff 0xffff +80001044: ffff 0xffff +80001046: ffff 0xffff +80001048: ffff 0xffff +8000104a: ffff 0xffff +8000104c: ffff 0xffff +8000104e: ffff 0xffff + +80001050 <test_5_res>: +80001050: ffff 0xffff +80001052: ffff 0xffff +80001054: ffff 0xffff +80001056: ffff 0xffff +80001058: ffff 0xffff +8000105a: ffff 0xffff +8000105c: ffff 0xffff +8000105e: ffff 0xffff +80001060: ffff 0xffff +80001062: ffff 0xffff + +80001064 <test_6_res>: +80001064: ffff 0xffff +80001066: ffff 0xffff +80001068: ffff 0xffff +8000106a: ffff 0xffff +8000106c: ffff 0xffff +8000106e: ffff 0xffff +80001070: ffff 0xffff +80001072: ffff 0xffff +80001074: ffff 0xffff +80001076: ffff 0xffff + +80001078 <test_7_res>: +80001078: ffff 0xffff +8000107a: ffff 0xffff +8000107c: ffff 0xffff +8000107e: ffff 0xffff +80001080: ffff 0xffff +80001082: ffff 0xffff +80001084: ffff 0xffff +80001086: ffff 0xffff +80001088: ffff 0xffff +8000108a: ffff 0xffff + +8000108c <test_8_res>: +8000108c: ffff 0xffff +8000108e: ffff 0xffff +80001090: ffff 0xffff +80001092: ffff 0xffff +80001094: ffff 0xffff +80001096: ffff 0xffff +80001098: ffff 0xffff +8000109a: ffff 0xffff +8000109c: ffff 0xffff +8000109e: ffff 0xffff + +800010a0 <test_9_res>: +800010a0: ffff 0xffff +800010a2: ffff 0xffff +800010a4: ffff 0xffff +800010a6: ffff 0xffff +800010a8: ffff 0xffff +800010aa: ffff 0xffff +800010ac: ffff 0xffff +800010ae: ffff 0xffff +800010b0: ffff 0xffff +800010b2: ffff 0xffff + +800010b4 <test_10_res>: +800010b4: ffff 0xffff +800010b6: ffff 0xffff +800010b8: ffff 0xffff +800010ba: ffff 0xffff +800010bc: ffff 0xffff +800010be: ffff 0xffff +800010c0: ffff 0xffff +800010c2: ffff 0xffff +800010c4: ffff 0xffff +800010c6: ffff 0xffff + ... diff --git a/VexRiscv/src/test/resources/asm/REMUW.elf.objdump b/VexRiscv/src/test/resources/asm/REMUW.elf.objdump new file mode 100644 index 0000000..deb88a2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/REMUW.elf.objdump @@ -0,0 +1,460 @@ + +/home/spinalvm/hdl/riscv-compliance/work//REMUW.elf: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 00000013 nop + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <begin_testcode> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <begin_testcode>: + 80000108: 00002117 auipc sp,0x2 + 8000010c: ef810113 addi sp,sp,-264 # 80002000 <begin_signature> + 80000110: 00000213 li tp,0 + 80000114: 00000193 li gp,0 + 80000118: 023271bb remuw gp,tp,gp + 8000011c: 00312023 sw gp,0(sp) + 80000120: 00000493 li s1,0 + 80000124: 00100413 li s0,1 + 80000128: 0284f43b remuw s0,s1,s0 + 8000012c: 00812423 sw s0,8(sp) + 80000130: 00000613 li a2,0 + 80000134: fff00593 li a1,-1 + 80000138: 02b675bb remuw a1,a2,a1 + 8000013c: 00b12823 sw a1,16(sp) + 80000140: 00000713 li a4,0 + 80000144: fff0069b addiw a3,zero,-1 + 80000148: 03f69693 slli a3,a3,0x3f + 8000014c: fff68693 addi a3,a3,-1 + 80000150: 02d776bb remuw a3,a4,a3 + 80000154: 00d12c23 sw a3,24(sp) + 80000158: 00000813 li a6,0 + 8000015c: fff0079b addiw a5,zero,-1 + 80000160: 03f79793 slli a5,a5,0x3f + 80000164: 02f877bb remuw a5,a6,a5 + 80000168: 02f12023 sw a5,32(sp) + 8000016c: 00002117 auipc sp,0x2 + 80000170: ebc10113 addi sp,sp,-324 # 80002028 <test_2_res> + 80000174: 00100913 li s2,1 + 80000178: 00000893 li a7,0 + 8000017c: 031978bb remuw a7,s2,a7 + 80000180: 01112023 sw a7,0(sp) + 80000184: 00100a13 li s4,1 + 80000188: 00100993 li s3,1 + 8000018c: 033a79bb remuw s3,s4,s3 + 80000190: 01312423 sw s3,8(sp) + 80000194: 00100b13 li s6,1 + 80000198: fff00a93 li s5,-1 + 8000019c: 035b7abb remuw s5,s6,s5 + 800001a0: 01512823 sw s5,16(sp) + 800001a4: 00100c13 li s8,1 + 800001a8: fff00b9b addiw s7,zero,-1 + 800001ac: 03fb9b93 slli s7,s7,0x3f + 800001b0: fffb8b93 addi s7,s7,-1 + 800001b4: 037c7bbb remuw s7,s8,s7 + 800001b8: 01712c23 sw s7,24(sp) + 800001bc: 00100d13 li s10,1 + 800001c0: fff00c9b addiw s9,zero,-1 + 800001c4: 03fc9c93 slli s9,s9,0x3f + 800001c8: 039d7cbb remuw s9,s10,s9 + 800001cc: 03912023 sw s9,32(sp) + 800001d0: 00002117 auipc sp,0x2 + 800001d4: e8010113 addi sp,sp,-384 # 80002050 <test_3_res> + 800001d8: fff00e13 li t3,-1 + 800001dc: 00000d93 li s11,0 + 800001e0: 03be7dbb remuw s11,t3,s11 + 800001e4: 01b12023 sw s11,0(sp) + 800001e8: fff00f13 li t5,-1 + 800001ec: 00100e93 li t4,1 + 800001f0: 03df7ebb remuw t4,t5,t4 + 800001f4: 01d12423 sw t4,8(sp) + 800001f8: fff00193 li gp,-1 + 800001fc: fff00f93 li t6,-1 + 80000200: 03f1ffbb remuw t6,gp,t6 + 80000204: 01f12823 sw t6,16(sp) + 80000208: fff00413 li s0,-1 + 8000020c: fff0021b addiw tp,zero,-1 + 80000210: 03f21213 slli tp,tp,0x3f + 80000214: fff20213 addi tp,tp,-1 + 80000218: 0244723b remuw tp,s0,tp + 8000021c: 00412c23 sw tp,24(sp) + 80000220: fff00593 li a1,-1 + 80000224: fff0049b addiw s1,zero,-1 + 80000228: 03f49493 slli s1,s1,0x3f + 8000022c: 0295f4bb remuw s1,a1,s1 + 80000230: 02912023 sw s1,32(sp) + 80000234: 00002117 auipc sp,0x2 + 80000238: e4410113 addi sp,sp,-444 # 80002078 <test_4_res> + 8000023c: fff0069b addiw a3,zero,-1 + 80000240: 03f69693 slli a3,a3,0x3f + 80000244: fff68693 addi a3,a3,-1 + 80000248: 00000613 li a2,0 + 8000024c: 02c6f63b remuw a2,a3,a2 + 80000250: 00c12023 sw a2,0(sp) + 80000254: fff0079b addiw a5,zero,-1 + 80000258: 03f79793 slli a5,a5,0x3f + 8000025c: fff78793 addi a5,a5,-1 + 80000260: 00100713 li a4,1 + 80000264: 02e7f73b remuw a4,a5,a4 + 80000268: 00e12423 sw a4,8(sp) + 8000026c: fff0089b addiw a7,zero,-1 + 80000270: 03f89893 slli a7,a7,0x3f + 80000274: fff88893 addi a7,a7,-1 + 80000278: fff00813 li a6,-1 + 8000027c: 0308f83b remuw a6,a7,a6 + 80000280: 01012823 sw a6,16(sp) + 80000284: fff0099b addiw s3,zero,-1 + 80000288: 03f99993 slli s3,s3,0x3f + 8000028c: fff98993 addi s3,s3,-1 + 80000290: fff0091b addiw s2,zero,-1 + 80000294: 03f91913 slli s2,s2,0x3f + 80000298: fff90913 addi s2,s2,-1 + 8000029c: 0329f93b remuw s2,s3,s2 + 800002a0: 01212c23 sw s2,24(sp) + 800002a4: fff00a9b addiw s5,zero,-1 + 800002a8: 03fa9a93 slli s5,s5,0x3f + 800002ac: fffa8a93 addi s5,s5,-1 + 800002b0: fff00a1b addiw s4,zero,-1 + 800002b4: 03fa1a13 slli s4,s4,0x3f + 800002b8: 034afa3b remuw s4,s5,s4 + 800002bc: 03412023 sw s4,32(sp) + 800002c0: 00002117 auipc sp,0x2 + 800002c4: de010113 addi sp,sp,-544 # 800020a0 <test_5_res> + 800002c8: fff00b9b addiw s7,zero,-1 + 800002cc: 03fb9b93 slli s7,s7,0x3f + 800002d0: 00000b13 li s6,0 + 800002d4: 036bfb3b remuw s6,s7,s6 + 800002d8: 01612023 sw s6,0(sp) + 800002dc: fff00c9b addiw s9,zero,-1 + 800002e0: 03fc9c93 slli s9,s9,0x3f + 800002e4: 00100c13 li s8,1 + 800002e8: 038cfc3b remuw s8,s9,s8 + 800002ec: 01812423 sw s8,8(sp) + 800002f0: fff00d9b addiw s11,zero,-1 + 800002f4: 03fd9d93 slli s11,s11,0x3f + 800002f8: fff00d13 li s10,-1 + 800002fc: 03adfd3b remuw s10,s11,s10 + 80000300: 01a12823 sw s10,16(sp) + 80000304: fff00e9b addiw t4,zero,-1 + 80000308: 03fe9e93 slli t4,t4,0x3f + 8000030c: fff00e1b addiw t3,zero,-1 + 80000310: 03fe1e13 slli t3,t3,0x3f + 80000314: fffe0e13 addi t3,t3,-1 + 80000318: 03cefe3b remuw t3,t4,t3 + 8000031c: 01c12c23 sw t3,24(sp) + 80000320: fff00f9b addiw t6,zero,-1 + 80000324: 03ff9f93 slli t6,t6,0x3f + 80000328: fff00f1b addiw t5,zero,-1 + 8000032c: 03ff1f13 slli t5,t5,0x3f + 80000330: 03efff3b remuw t5,t6,t5 + 80000334: 03e12023 sw t5,32(sp) + 80000338: 00000013 nop + 8000033c: 00100193 li gp,1 + 80000340: 00000073 ecall + +0000000080000344 <end_testcode>: + 80000344: c0001073 unimp + ... + +Disassembly of section .tohost: + +0000000080001000 <tohost>: + ... + +0000000080001100 <fromhost>: + ... + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: ffff 0xffff + 80002002: ffff 0xffff + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: ffff 0xffff + 8000200a: ffff 0xffff + 8000200c: 0000 unimp + 8000200e: 0000 unimp + 80002010: ffff 0xffff + 80002012: ffff 0xffff + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: ffff 0xffff + 8000201a: ffff 0xffff + 8000201c: 0000 unimp + 8000201e: 0000 unimp + 80002020: ffff 0xffff + 80002022: ffff 0xffff + 80002024: 0000 unimp + ... + +0000000080002028 <test_2_res>: + 80002028: ffff 0xffff + 8000202a: ffff 0xffff + 8000202c: 0000 unimp + 8000202e: 0000 unimp + 80002030: ffff 0xffff + 80002032: ffff 0xffff + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: ffff 0xffff + 8000203a: ffff 0xffff + 8000203c: 0000 unimp + 8000203e: 0000 unimp + 80002040: ffff 0xffff + 80002042: ffff 0xffff + 80002044: 0000 unimp + 80002046: 0000 unimp + 80002048: ffff 0xffff + 8000204a: ffff 0xffff + 8000204c: 0000 unimp + ... + +0000000080002050 <test_3_res>: + 80002050: ffff 0xffff + 80002052: ffff 0xffff + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: ffff 0xffff + 8000205a: ffff 0xffff + 8000205c: 0000 unimp + 8000205e: 0000 unimp + 80002060: ffff 0xffff + 80002062: ffff 0xffff + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: ffff 0xffff + 8000206a: ffff 0xffff + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: ffff 0xffff + 80002072: ffff 0xffff + 80002074: 0000 unimp + ... + +0000000080002078 <test_4_res>: + 80002078: ffff 0xffff + 8000207a: ffff 0xffff + 8000207c: 0000 unimp + 8000207e: 0000 unimp + 80002080: ffff 0xffff + 80002082: ffff 0xffff + 80002084: 0000 unimp + 80002086: 0000 unimp + 80002088: ffff 0xffff + 8000208a: ffff 0xffff + 8000208c: 0000 unimp + 8000208e: 0000 unimp + 80002090: ffff 0xffff + 80002092: ffff 0xffff + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: ffff 0xffff + 8000209a: ffff 0xffff + 8000209c: 0000 unimp + ... + +00000000800020a0 <test_5_res>: + 800020a0: ffff 0xffff + 800020a2: ffff 0xffff + 800020a4: 0000 unimp + 800020a6: 0000 unimp + 800020a8: ffff 0xffff + 800020aa: ffff 0xffff + 800020ac: 0000 unimp + 800020ae: 0000 unimp + 800020b0: ffff 0xffff + 800020b2: ffff 0xffff + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: ffff 0xffff + 800020ba: ffff 0xffff + 800020bc: 0000 unimp + 800020be: 0000 unimp + 800020c0: ffff 0xffff + 800020c2: ffff 0xffff + 800020c4: 0000 unimp + ... + +00000000800020c8 <test_6_res>: + 800020c8: ffff 0xffff + 800020ca: ffff 0xffff + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: ffff 0xffff + 800020d2: ffff 0xffff + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: ffff 0xffff + 800020da: ffff 0xffff + 800020dc: 0000 unimp + 800020de: 0000 unimp + 800020e0: ffff 0xffff + 800020e2: ffff 0xffff + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: ffff 0xffff + 800020ea: ffff 0xffff + 800020ec: 0000 unimp + ... + +00000000800020f0 <test_7_res>: + 800020f0: ffff 0xffff + 800020f2: ffff 0xffff + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: ffff 0xffff + 800020fa: ffff 0xffff + 800020fc: 0000 unimp + 800020fe: 0000 unimp + 80002100: ffff 0xffff + 80002102: ffff 0xffff + 80002104: 0000 unimp + 80002106: 0000 unimp + 80002108: ffff 0xffff + 8000210a: ffff 0xffff + 8000210c: 0000 unimp + 8000210e: 0000 unimp + 80002110: ffff 0xffff + 80002112: ffff 0xffff + 80002114: 0000 unimp + ... + +0000000080002118 <test_8_res>: + 80002118: ffff 0xffff + 8000211a: ffff 0xffff + 8000211c: 0000 unimp + 8000211e: 0000 unimp + 80002120: ffff 0xffff + 80002122: ffff 0xffff + 80002124: 0000 unimp + 80002126: 0000 unimp + 80002128: ffff 0xffff + 8000212a: ffff 0xffff + 8000212c: 0000 unimp + 8000212e: 0000 unimp + 80002130: ffff 0xffff + 80002132: ffff 0xffff + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: ffff 0xffff + 8000213a: ffff 0xffff + 8000213c: 0000 unimp + ... + +0000000080002140 <test_9_res>: + 80002140: ffff 0xffff + 80002142: ffff 0xffff + 80002144: 0000 unimp + 80002146: 0000 unimp + 80002148: ffff 0xffff + 8000214a: ffff 0xffff + 8000214c: 0000 unimp + 8000214e: 0000 unimp + 80002150: ffff 0xffff + 80002152: ffff 0xffff + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: ffff 0xffff + 8000215a: ffff 0xffff + 8000215c: 0000 unimp + 8000215e: 0000 unimp + 80002160: ffff 0xffff + 80002162: ffff 0xffff + 80002164: 0000 unimp + ... + +0000000080002168 <test_10_res>: + 80002168: ffff 0xffff + 8000216a: ffff 0xffff + 8000216c: 0000 unimp + 8000216e: 0000 unimp + 80002170: ffff 0xffff + 80002172: ffff 0xffff + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: ffff 0xffff + 8000217a: ffff 0xffff + 8000217c: 0000 unimp + 8000217e: 0000 unimp + 80002180: ffff 0xffff + 80002182: ffff 0xffff + 80002184: 0000 unimp + 80002186: 0000 unimp + 80002188: ffff 0xffff + 8000218a: ffff 0xffff + 8000218c: 0000 unimp + ... diff --git a/VexRiscv/src/test/resources/asm/REMW.elf.objdump b/VexRiscv/src/test/resources/asm/REMW.elf.objdump new file mode 100644 index 0000000..b5d64c5 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/REMW.elf.objdump @@ -0,0 +1,460 @@ + +/home/spinalvm/hdl/riscv-compliance/work//REMW.elf: file format elf64-littleriscv + + +Disassembly of section .text.init: + +0000000080000000 <_start>: + 80000000: 04c0006f j 8000004c <reset_vector> + +0000000080000004 <trap_vector>: + 80000004: 34202f73 csrr t5,mcause + 80000008: 00800f93 li t6,8 + 8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> + 80000010: 00900f93 li t6,9 + 80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> + 80000018: 00b00f93 li t6,11 + 8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> + 80000020: 80000f17 auipc t5,0x80000 + 80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> + 80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> + 8000002c: 000f0067 jr t5 + 80000030: 34202f73 csrr t5,mcause + 80000034: 000f5463 bgez t5,8000003c <handle_exception> + 80000038: 0040006f j 8000003c <handle_exception> + +000000008000003c <handle_exception>: + 8000003c: 5391e193 ori gp,gp,1337 + +0000000080000040 <write_tohost>: + 80000040: 00001f17 auipc t5,0x1 + 80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> + 80000048: ff9ff06f j 80000040 <write_tohost> + +000000008000004c <reset_vector>: + 8000004c: f1402573 csrr a0,mhartid + 80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> + 80000054: 00000297 auipc t0,0x0 + 80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> + 8000005c: 30529073 csrw mtvec,t0 + 80000060: 18005073 csrwi satp,0 + 80000064: 00000297 auipc t0,0x0 + 80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> + 8000006c: 30529073 csrw mtvec,t0 + 80000070: fff00293 li t0,-1 + 80000074: 3b029073 csrw pmpaddr0,t0 + 80000078: 01f00293 li t0,31 + 8000007c: 3a029073 csrw pmpcfg0,t0 + 80000080: 00000297 auipc t0,0x0 + 80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> + 80000088: 30529073 csrw mtvec,t0 + 8000008c: 30205073 csrwi medeleg,0 + 80000090: 30305073 csrwi mideleg,0 + 80000094: 30405073 csrwi mie,0 + 80000098: 00000193 li gp,0 + 8000009c: 00000297 auipc t0,0x0 + 800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> + 800000a4: 30529073 csrw mtvec,t0 + 800000a8: 00100513 li a0,1 + 800000ac: 01f51513 slli a0,a0,0x1f + 800000b0: 00055863 bgez a0,800000c0 <reset_vector+0x74> + 800000b4: 00000013 nop + 800000b8: 00100193 li gp,1 + 800000bc: 00000073 ecall + 800000c0: 80000297 auipc t0,0x80000 + 800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> + 800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> + 800000cc: 10529073 csrw stvec,t0 + 800000d0: 0000b2b7 lui t0,0xb + 800000d4: 1092829b addiw t0,t0,265 + 800000d8: 30229073 csrw medeleg,t0 + 800000dc: 30202373 csrr t1,medeleg + 800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> + 800000e4: 30005073 csrwi mstatus,0 + 800000e8: 00002537 lui a0,0x2 + 800000ec: 8005051b addiw a0,a0,-2048 + 800000f0: 30052073 csrs mstatus,a0 + 800000f4: 00000297 auipc t0,0x0 + 800000f8: 01428293 addi t0,t0,20 # 80000108 <begin_testcode> + 800000fc: 34129073 csrw mepc,t0 + 80000100: f1402573 csrr a0,mhartid + 80000104: 30200073 mret + +0000000080000108 <begin_testcode>: + 80000108: 00002117 auipc sp,0x2 + 8000010c: ef810113 addi sp,sp,-264 # 80002000 <begin_signature> + 80000110: 00000213 li tp,0 + 80000114: 00000193 li gp,0 + 80000118: 023261bb remw gp,tp,gp + 8000011c: 00312023 sw gp,0(sp) + 80000120: 00000493 li s1,0 + 80000124: 00100413 li s0,1 + 80000128: 0284e43b remw s0,s1,s0 + 8000012c: 00812423 sw s0,8(sp) + 80000130: 00000613 li a2,0 + 80000134: fff00593 li a1,-1 + 80000138: 02b665bb remw a1,a2,a1 + 8000013c: 00b12823 sw a1,16(sp) + 80000140: 00000713 li a4,0 + 80000144: fff0069b addiw a3,zero,-1 + 80000148: 03f69693 slli a3,a3,0x3f + 8000014c: fff68693 addi a3,a3,-1 + 80000150: 02d766bb remw a3,a4,a3 + 80000154: 00d12c23 sw a3,24(sp) + 80000158: 00000813 li a6,0 + 8000015c: fff0079b addiw a5,zero,-1 + 80000160: 03f79793 slli a5,a5,0x3f + 80000164: 02f867bb remw a5,a6,a5 + 80000168: 02f12023 sw a5,32(sp) + 8000016c: 00002117 auipc sp,0x2 + 80000170: ebc10113 addi sp,sp,-324 # 80002028 <test_2_res> + 80000174: 00100913 li s2,1 + 80000178: 00000893 li a7,0 + 8000017c: 031968bb remw a7,s2,a7 + 80000180: 01112023 sw a7,0(sp) + 80000184: 00100a13 li s4,1 + 80000188: 00100993 li s3,1 + 8000018c: 033a69bb remw s3,s4,s3 + 80000190: 01312423 sw s3,8(sp) + 80000194: 00100b13 li s6,1 + 80000198: fff00a93 li s5,-1 + 8000019c: 035b6abb remw s5,s6,s5 + 800001a0: 01512823 sw s5,16(sp) + 800001a4: 00100c13 li s8,1 + 800001a8: fff00b9b addiw s7,zero,-1 + 800001ac: 03fb9b93 slli s7,s7,0x3f + 800001b0: fffb8b93 addi s7,s7,-1 + 800001b4: 037c6bbb remw s7,s8,s7 + 800001b8: 01712c23 sw s7,24(sp) + 800001bc: 00100d13 li s10,1 + 800001c0: fff00c9b addiw s9,zero,-1 + 800001c4: 03fc9c93 slli s9,s9,0x3f + 800001c8: 039d6cbb remw s9,s10,s9 + 800001cc: 03912023 sw s9,32(sp) + 800001d0: 00002117 auipc sp,0x2 + 800001d4: e8010113 addi sp,sp,-384 # 80002050 <test_3_res> + 800001d8: fff00e13 li t3,-1 + 800001dc: 00000d93 li s11,0 + 800001e0: 03be6dbb remw s11,t3,s11 + 800001e4: 01b12023 sw s11,0(sp) + 800001e8: fff00f13 li t5,-1 + 800001ec: 00100e93 li t4,1 + 800001f0: 03df6ebb remw t4,t5,t4 + 800001f4: 01d12423 sw t4,8(sp) + 800001f8: fff00193 li gp,-1 + 800001fc: fff00f93 li t6,-1 + 80000200: 03f1efbb remw t6,gp,t6 + 80000204: 01f12823 sw t6,16(sp) + 80000208: fff00413 li s0,-1 + 8000020c: fff0021b addiw tp,zero,-1 + 80000210: 03f21213 slli tp,tp,0x3f + 80000214: fff20213 addi tp,tp,-1 + 80000218: 0244623b remw tp,s0,tp + 8000021c: 00412c23 sw tp,24(sp) + 80000220: fff00593 li a1,-1 + 80000224: fff0049b addiw s1,zero,-1 + 80000228: 03f49493 slli s1,s1,0x3f + 8000022c: 0295e4bb remw s1,a1,s1 + 80000230: 02912023 sw s1,32(sp) + 80000234: 00002117 auipc sp,0x2 + 80000238: e4410113 addi sp,sp,-444 # 80002078 <test_4_res> + 8000023c: fff0069b addiw a3,zero,-1 + 80000240: 03f69693 slli a3,a3,0x3f + 80000244: fff68693 addi a3,a3,-1 + 80000248: 00000613 li a2,0 + 8000024c: 02c6e63b remw a2,a3,a2 + 80000250: 00c12023 sw a2,0(sp) + 80000254: fff0079b addiw a5,zero,-1 + 80000258: 03f79793 slli a5,a5,0x3f + 8000025c: fff78793 addi a5,a5,-1 + 80000260: 00100713 li a4,1 + 80000264: 02e7e73b remw a4,a5,a4 + 80000268: 00e12423 sw a4,8(sp) + 8000026c: fff0089b addiw a7,zero,-1 + 80000270: 03f89893 slli a7,a7,0x3f + 80000274: fff88893 addi a7,a7,-1 + 80000278: fff00813 li a6,-1 + 8000027c: 0308e83b remw a6,a7,a6 + 80000280: 01012823 sw a6,16(sp) + 80000284: fff0099b addiw s3,zero,-1 + 80000288: 03f99993 slli s3,s3,0x3f + 8000028c: fff98993 addi s3,s3,-1 + 80000290: fff0091b addiw s2,zero,-1 + 80000294: 03f91913 slli s2,s2,0x3f + 80000298: fff90913 addi s2,s2,-1 + 8000029c: 0329e93b remw s2,s3,s2 + 800002a0: 01212c23 sw s2,24(sp) + 800002a4: fff00a9b addiw s5,zero,-1 + 800002a8: 03fa9a93 slli s5,s5,0x3f + 800002ac: fffa8a93 addi s5,s5,-1 + 800002b0: fff00a1b addiw s4,zero,-1 + 800002b4: 03fa1a13 slli s4,s4,0x3f + 800002b8: 034aea3b remw s4,s5,s4 + 800002bc: 03412023 sw s4,32(sp) + 800002c0: 00002117 auipc sp,0x2 + 800002c4: de010113 addi sp,sp,-544 # 800020a0 <test_5_res> + 800002c8: fff00b9b addiw s7,zero,-1 + 800002cc: 03fb9b93 slli s7,s7,0x3f + 800002d0: 00000b13 li s6,0 + 800002d4: 036beb3b remw s6,s7,s6 + 800002d8: 01612023 sw s6,0(sp) + 800002dc: fff00c9b addiw s9,zero,-1 + 800002e0: 03fc9c93 slli s9,s9,0x3f + 800002e4: 00100c13 li s8,1 + 800002e8: 038cec3b remw s8,s9,s8 + 800002ec: 01812423 sw s8,8(sp) + 800002f0: fff00d9b addiw s11,zero,-1 + 800002f4: 03fd9d93 slli s11,s11,0x3f + 800002f8: fff00d13 li s10,-1 + 800002fc: 03aded3b remw s10,s11,s10 + 80000300: 01a12823 sw s10,16(sp) + 80000304: fff00e9b addiw t4,zero,-1 + 80000308: 03fe9e93 slli t4,t4,0x3f + 8000030c: fff00e1b addiw t3,zero,-1 + 80000310: 03fe1e13 slli t3,t3,0x3f + 80000314: fffe0e13 addi t3,t3,-1 + 80000318: 03ceee3b remw t3,t4,t3 + 8000031c: 01c12c23 sw t3,24(sp) + 80000320: fff00f9b addiw t6,zero,-1 + 80000324: 03ff9f93 slli t6,t6,0x3f + 80000328: fff00f1b addiw t5,zero,-1 + 8000032c: 03ff1f13 slli t5,t5,0x3f + 80000330: 03efef3b remw t5,t6,t5 + 80000334: 03e12023 sw t5,32(sp) + 80000338: 00000013 nop + 8000033c: 00100193 li gp,1 + 80000340: 00000073 ecall + +0000000080000344 <end_testcode>: + 80000344: c0001073 unimp + ... + +Disassembly of section .tohost: + +0000000080001000 <tohost>: + ... + +0000000080001100 <fromhost>: + ... + +Disassembly of section .data: + +0000000080002000 <begin_signature>: + 80002000: ffff 0xffff + 80002002: ffff 0xffff + 80002004: 0000 unimp + 80002006: 0000 unimp + 80002008: ffff 0xffff + 8000200a: ffff 0xffff + 8000200c: 0000 unimp + 8000200e: 0000 unimp + 80002010: ffff 0xffff + 80002012: ffff 0xffff + 80002014: 0000 unimp + 80002016: 0000 unimp + 80002018: ffff 0xffff + 8000201a: ffff 0xffff + 8000201c: 0000 unimp + 8000201e: 0000 unimp + 80002020: ffff 0xffff + 80002022: ffff 0xffff + 80002024: 0000 unimp + ... + +0000000080002028 <test_2_res>: + 80002028: ffff 0xffff + 8000202a: ffff 0xffff + 8000202c: 0000 unimp + 8000202e: 0000 unimp + 80002030: ffff 0xffff + 80002032: ffff 0xffff + 80002034: 0000 unimp + 80002036: 0000 unimp + 80002038: ffff 0xffff + 8000203a: ffff 0xffff + 8000203c: 0000 unimp + 8000203e: 0000 unimp + 80002040: ffff 0xffff + 80002042: ffff 0xffff + 80002044: 0000 unimp + 80002046: 0000 unimp + 80002048: ffff 0xffff + 8000204a: ffff 0xffff + 8000204c: 0000 unimp + ... + +0000000080002050 <test_3_res>: + 80002050: ffff 0xffff + 80002052: ffff 0xffff + 80002054: 0000 unimp + 80002056: 0000 unimp + 80002058: ffff 0xffff + 8000205a: ffff 0xffff + 8000205c: 0000 unimp + 8000205e: 0000 unimp + 80002060: ffff 0xffff + 80002062: ffff 0xffff + 80002064: 0000 unimp + 80002066: 0000 unimp + 80002068: ffff 0xffff + 8000206a: ffff 0xffff + 8000206c: 0000 unimp + 8000206e: 0000 unimp + 80002070: ffff 0xffff + 80002072: ffff 0xffff + 80002074: 0000 unimp + ... + +0000000080002078 <test_4_res>: + 80002078: ffff 0xffff + 8000207a: ffff 0xffff + 8000207c: 0000 unimp + 8000207e: 0000 unimp + 80002080: ffff 0xffff + 80002082: ffff 0xffff + 80002084: 0000 unimp + 80002086: 0000 unimp + 80002088: ffff 0xffff + 8000208a: ffff 0xffff + 8000208c: 0000 unimp + 8000208e: 0000 unimp + 80002090: ffff 0xffff + 80002092: ffff 0xffff + 80002094: 0000 unimp + 80002096: 0000 unimp + 80002098: ffff 0xffff + 8000209a: ffff 0xffff + 8000209c: 0000 unimp + ... + +00000000800020a0 <test_5_res>: + 800020a0: ffff 0xffff + 800020a2: ffff 0xffff + 800020a4: 0000 unimp + 800020a6: 0000 unimp + 800020a8: ffff 0xffff + 800020aa: ffff 0xffff + 800020ac: 0000 unimp + 800020ae: 0000 unimp + 800020b0: ffff 0xffff + 800020b2: ffff 0xffff + 800020b4: 0000 unimp + 800020b6: 0000 unimp + 800020b8: ffff 0xffff + 800020ba: ffff 0xffff + 800020bc: 0000 unimp + 800020be: 0000 unimp + 800020c0: ffff 0xffff + 800020c2: ffff 0xffff + 800020c4: 0000 unimp + ... + +00000000800020c8 <test_6_res>: + 800020c8: ffff 0xffff + 800020ca: ffff 0xffff + 800020cc: 0000 unimp + 800020ce: 0000 unimp + 800020d0: ffff 0xffff + 800020d2: ffff 0xffff + 800020d4: 0000 unimp + 800020d6: 0000 unimp + 800020d8: ffff 0xffff + 800020da: ffff 0xffff + 800020dc: 0000 unimp + 800020de: 0000 unimp + 800020e0: ffff 0xffff + 800020e2: ffff 0xffff + 800020e4: 0000 unimp + 800020e6: 0000 unimp + 800020e8: ffff 0xffff + 800020ea: ffff 0xffff + 800020ec: 0000 unimp + ... + +00000000800020f0 <test_7_res>: + 800020f0: ffff 0xffff + 800020f2: ffff 0xffff + 800020f4: 0000 unimp + 800020f6: 0000 unimp + 800020f8: ffff 0xffff + 800020fa: ffff 0xffff + 800020fc: 0000 unimp + 800020fe: 0000 unimp + 80002100: ffff 0xffff + 80002102: ffff 0xffff + 80002104: 0000 unimp + 80002106: 0000 unimp + 80002108: ffff 0xffff + 8000210a: ffff 0xffff + 8000210c: 0000 unimp + 8000210e: 0000 unimp + 80002110: ffff 0xffff + 80002112: ffff 0xffff + 80002114: 0000 unimp + ... + +0000000080002118 <test_8_res>: + 80002118: ffff 0xffff + 8000211a: ffff 0xffff + 8000211c: 0000 unimp + 8000211e: 0000 unimp + 80002120: ffff 0xffff + 80002122: ffff 0xffff + 80002124: 0000 unimp + 80002126: 0000 unimp + 80002128: ffff 0xffff + 8000212a: ffff 0xffff + 8000212c: 0000 unimp + 8000212e: 0000 unimp + 80002130: ffff 0xffff + 80002132: ffff 0xffff + 80002134: 0000 unimp + 80002136: 0000 unimp + 80002138: ffff 0xffff + 8000213a: ffff 0xffff + 8000213c: 0000 unimp + ... + +0000000080002140 <test_9_res>: + 80002140: ffff 0xffff + 80002142: ffff 0xffff + 80002144: 0000 unimp + 80002146: 0000 unimp + 80002148: ffff 0xffff + 8000214a: ffff 0xffff + 8000214c: 0000 unimp + 8000214e: 0000 unimp + 80002150: ffff 0xffff + 80002152: ffff 0xffff + 80002154: 0000 unimp + 80002156: 0000 unimp + 80002158: ffff 0xffff + 8000215a: ffff 0xffff + 8000215c: 0000 unimp + 8000215e: 0000 unimp + 80002160: ffff 0xffff + 80002162: ffff 0xffff + 80002164: 0000 unimp + ... + +0000000080002168 <test_10_res>: + 80002168: ffff 0xffff + 8000216a: ffff 0xffff + 8000216c: 0000 unimp + 8000216e: 0000 unimp + 80002170: ffff 0xffff + 80002172: ffff 0xffff + 80002174: 0000 unimp + 80002176: 0000 unimp + 80002178: ffff 0xffff + 8000217a: ffff 0xffff + 8000217c: 0000 unimp + 8000217e: 0000 unimp + 80002180: ffff 0xffff + 80002182: ffff 0xffff + 80002184: 0000 unimp + 80002186: 0000 unimp + 80002188: ffff 0xffff + 8000218a: ffff 0xffff + 8000218c: 0000 unimp + ... diff --git a/VexRiscv/src/test/resources/asm/dhrystoneO3.asm b/VexRiscv/src/test/resources/asm/dhrystoneO3.asm new file mode 100644 index 0000000..e2a193d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/dhrystoneO3.asm @@ -0,0 +1,3836 @@ + +build/dhrystone.elf: file format elf32-littleriscv + + +Disassembly of section .vector: + +80000000 <crtStart>: +.global crtStart +.global main +.global irqCallback + +crtStart: + j crtInit +80000000: 0b00006f j 800000b0 <crtInit> + nop +80000004: 00000013 nop + nop +80000008: 00000013 nop + nop +8000000c: 00000013 nop + nop +80000010: 00000013 nop + nop +80000014: 00000013 nop + nop +80000018: 00000013 nop + nop +8000001c: 00000013 nop + +80000020 <trap_entry>: + +.global trap_entry +trap_entry: + sw x1, - 1*4(sp) +80000020: fe112e23 sw ra,-4(sp) + sw x5, - 2*4(sp) +80000024: fe512c23 sw t0,-8(sp) + sw x6, - 3*4(sp) +80000028: fe612a23 sw t1,-12(sp) + sw x7, - 4*4(sp) +8000002c: fe712823 sw t2,-16(sp) + sw x10, - 5*4(sp) +80000030: fea12623 sw a0,-20(sp) + sw x11, - 6*4(sp) +80000034: feb12423 sw a1,-24(sp) + sw x12, - 7*4(sp) +80000038: fec12223 sw a2,-28(sp) + sw x13, - 8*4(sp) +8000003c: fed12023 sw a3,-32(sp) + sw x14, - 9*4(sp) +80000040: fce12e23 sw a4,-36(sp) + sw x15, -10*4(sp) +80000044: fcf12c23 sw a5,-40(sp) + sw x16, -11*4(sp) +80000048: fd012a23 sw a6,-44(sp) + sw x17, -12*4(sp) +8000004c: fd112823 sw a7,-48(sp) + sw x28, -13*4(sp) +80000050: fdc12623 sw t3,-52(sp) + sw x29, -14*4(sp) +80000054: fdd12423 sw t4,-56(sp) + sw x30, -15*4(sp) +80000058: fde12223 sw t5,-60(sp) + sw x31, -16*4(sp) +8000005c: fdf12023 sw t6,-64(sp) + addi sp,sp,-16*4 +80000060: fc010113 addi sp,sp,-64 + call irqCallback +80000064: 0b4000ef jal ra,80000118 <irqCallback> + lw x1 , 15*4(sp) +80000068: 03c12083 lw ra,60(sp) + lw x5, 14*4(sp) +8000006c: 03812283 lw t0,56(sp) + lw x6, 13*4(sp) +80000070: 03412303 lw t1,52(sp) + lw x7, 12*4(sp) +80000074: 03012383 lw t2,48(sp) + lw x10, 11*4(sp) +80000078: 02c12503 lw a0,44(sp) + lw x11, 10*4(sp) +8000007c: 02812583 lw a1,40(sp) + lw x12, 9*4(sp) +80000080: 02412603 lw a2,36(sp) + lw x13, 8*4(sp) +80000084: 02012683 lw a3,32(sp) + lw x14, 7*4(sp) +80000088: 01c12703 lw a4,28(sp) + lw x15, 6*4(sp) +8000008c: 01812783 lw a5,24(sp) + lw x16, 5*4(sp) +80000090: 01412803 lw a6,20(sp) + lw x17, 4*4(sp) +80000094: 01012883 lw a7,16(sp) + lw x28, 3*4(sp) +80000098: 00c12e03 lw t3,12(sp) + lw x29, 2*4(sp) +8000009c: 00812e83 lw t4,8(sp) + lw x30, 1*4(sp) +800000a0: 00412f03 lw t5,4(sp) + lw x31, 0*4(sp) +800000a4: 00012f83 lw t6,0(sp) + addi sp,sp,16*4 +800000a8: 04010113 addi sp,sp,64 + mret +800000ac: 30200073 mret + +800000b0 <crtInit>: + + +crtInit: + .option push + .option norelax + la gp, __global_pointer$ +800000b0: 00004197 auipc gp,0x4 +800000b4: 03018193 addi gp,gp,48 # 800040e0 <__global_pointer$> + .option pop + la sp, _stack_start +800000b8: 00007117 auipc sp,0x7 +800000bc: 85810113 addi sp,sp,-1960 # 80006910 <_stack_start> + +800000c0 <bss_init>: + +bss_init: + la a0, _bss_start +800000c0: 81c18513 addi a0,gp,-2020 # 800038fc <Dhrystones_Per_Second> + la a1, _bss_end +800000c4: 00006597 auipc a1,0x6 +800000c8: 44058593 addi a1,a1,1088 # 80006504 <_bss_end> + +800000cc <bss_loop>: +bss_loop: + beq a0,a1,bss_done +800000cc: 00b50863 beq a0,a1,800000dc <bss_done> + sw zero,0(a0) +800000d0: 00052023 sw zero,0(a0) + add a0,a0,4 +800000d4: 00450513 addi a0,a0,4 + j bss_loop +800000d8: ff5ff06f j 800000cc <bss_loop> + +800000dc <bss_done>: +bss_done: + +ctors_init: + la a0, _ctors_start +800000dc: 00004517 auipc a0,0x4 +800000e0: 80050513 addi a0,a0,-2048 # 800038dc <_ctors_end> + addi sp,sp,-4 +800000e4: ffc10113 addi sp,sp,-4 + +800000e8 <ctors_loop>: +ctors_loop: + la a1, _ctors_end +800000e8: 00003597 auipc a1,0x3 +800000ec: 7f458593 addi a1,a1,2036 # 800038dc <_ctors_end> + beq a0,a1,ctors_done +800000f0: 00b50e63 beq a0,a1,8000010c <ctors_done> + lw a3,0(a0) +800000f4: 00052683 lw a3,0(a0) + add a0,a0,4 +800000f8: 00450513 addi a0,a0,4 + sw a0,0(sp) +800000fc: 00a12023 sw a0,0(sp) + jalr a3 +80000100: 000680e7 jalr a3 + lw a0,0(sp) +80000104: 00012503 lw a0,0(sp) + j ctors_loop +80000108: fe1ff06f j 800000e8 <ctors_loop> + +8000010c <ctors_done>: +ctors_done: + addi sp,sp,4 +8000010c: 00410113 addi sp,sp,4 + //li a0, 0x880 //880 enable timer + external interrupts + //csrw mie,a0 + //li a0, 0x1808 //1808 enable interrupts + //csrw mstatus,a0 + + call main +80000110: 7f1020ef jal ra,80003100 <end> + +80000114 <infinitLoop>: +infinitLoop: + j infinitLoop +80000114: 0000006f j 80000114 <infinitLoop> + +Disassembly of section .memory: + +80000118 <irqCallback>: +} + + +void irqCallback(int irq){ + +} +80000118: 00008067 ret + +8000011c <Proc_2>: + One_Fifty Int_Loc; + Enumeration Enum_Loc; + + Int_Loc = *Int_Par_Ref + 10; + do /* executed once */ + if (Ch_1_Glob == 'A') +8000011c: 8351c703 lbu a4,-1995(gp) # 80003915 <Ch_1_Glob> +80000120: 04100793 li a5,65 +80000124: 00f70463 beq a4,a5,8000012c <Proc_2+0x10> + Int_Loc -= 1; + *Int_Par_Ref = Int_Loc - Int_Glob; + Enum_Loc = Ident_1; + } /* if */ + while (Enum_Loc != Ident_1); /* true */ +} /* Proc_2 */ +80000128: 00008067 ret + Int_Loc -= 1; +8000012c: 00052783 lw a5,0(a0) + *Int_Par_Ref = Int_Loc - Int_Glob; +80000130: 83c1a703 lw a4,-1988(gp) # 8000391c <Int_Glob> + Int_Loc -= 1; +80000134: 00978793 addi a5,a5,9 + *Int_Par_Ref = Int_Loc - Int_Glob; +80000138: 40e787b3 sub a5,a5,a4 +8000013c: 00f52023 sw a5,0(a0) +} /* Proc_2 */ +80000140: 00008067 ret + +80000144 <Proc_3>: + /* Ptr_Ref_Par becomes Ptr_Glob */ + +Rec_Pointer *Ptr_Ref_Par; + +{ + if (Ptr_Glob != Null) +80000144: 8441a603 lw a2,-1980(gp) # 80003924 <Ptr_Glob> +80000148: 00060863 beqz a2,80000158 <Proc_3+0x14> + /* then, executed */ + *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp; +8000014c: 00062703 lw a4,0(a2) +80000150: 00e52023 sw a4,0(a0) +80000154: 8441a603 lw a2,-1980(gp) # 80003924 <Ptr_Glob> + Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp); +80000158: 83c1a583 lw a1,-1988(gp) # 8000391c <Int_Glob> +8000015c: 00c60613 addi a2,a2,12 +80000160: 00a00513 li a0,10 +80000164: 0fd0006f j 80000a60 <Proc_7> + +80000168 <Proc_1>: +{ +80000168: ff010113 addi sp,sp,-16 +8000016c: 01212023 sw s2,0(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000170: 8441a783 lw a5,-1980(gp) # 80003924 <Ptr_Glob> +{ +80000174: 00812423 sw s0,8(sp) + REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; +80000178: 00052403 lw s0,0(a0) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +8000017c: 0007a703 lw a4,0(a5) +{ +80000180: 00912223 sw s1,4(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000184: 0047ae83 lw t4,4(a5) +80000188: 0087ae03 lw t3,8(a5) +8000018c: 0107a303 lw t1,16(a5) +80000190: 0147a883 lw a7,20(a5) +80000194: 0187a803 lw a6,24(a5) +80000198: 0207a583 lw a1,32(a5) +8000019c: 0247a603 lw a2,36(a5) +800001a0: 0287a683 lw a3,40(a5) +{ +800001a4: 00112623 sw ra,12(sp) +800001a8: 00050493 mv s1,a0 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +800001ac: 01c7a503 lw a0,28(a5) +800001b0: 02c7a783 lw a5,44(a5) +800001b4: 00e42023 sw a4,0(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +800001b8: 0004a703 lw a4,0(s1) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +800001bc: 00a42e23 sw a0,28(s0) +800001c0: 02f42623 sw a5,44(s0) +800001c4: 01d42223 sw t4,4(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +800001c8: 00500793 li a5,5 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +800001cc: 01c42423 sw t3,8(s0) +800001d0: 00642823 sw t1,16(s0) +800001d4: 01142a23 sw a7,20(s0) +800001d8: 01042c23 sw a6,24(s0) +800001dc: 02b42023 sw a1,32(s0) +800001e0: 02c42223 sw a2,36(s0) +800001e4: 02d42423 sw a3,40(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +800001e8: 00f4a623 sw a5,12(s1) + = Ptr_Val_Par->variant.var_1.Int_Comp; +800001ec: 00f42623 sw a5,12(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +800001f0: 00e42023 sw a4,0(s0) + Proc_3 (&Next_Record->Ptr_Comp); +800001f4: 00040513 mv a0,s0 +800001f8: f4dff0ef jal ra,80000144 <Proc_3> + if (Next_Record->Discr == Ident_1) +800001fc: 00442783 lw a5,4(s0) +80000200: 08078063 beqz a5,80000280 <Proc_1+0x118> + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +80000204: 0004a783 lw a5,0(s1) +} /* Proc_1 */ +80000208: 00c12083 lw ra,12(sp) +8000020c: 00812403 lw s0,8(sp) + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +80000210: 0007af83 lw t6,0(a5) +80000214: 0047af03 lw t5,4(a5) +80000218: 0087ae83 lw t4,8(a5) +8000021c: 00c7ae03 lw t3,12(a5) +80000220: 0107a303 lw t1,16(a5) +80000224: 0147a883 lw a7,20(a5) +80000228: 0187a803 lw a6,24(a5) +8000022c: 01c7a583 lw a1,28(a5) +80000230: 0207a603 lw a2,32(a5) +80000234: 0247a683 lw a3,36(a5) +80000238: 0287a703 lw a4,40(a5) +8000023c: 02c7a783 lw a5,44(a5) +80000240: 01f4a023 sw t6,0(s1) +80000244: 01e4a223 sw t5,4(s1) +80000248: 01d4a423 sw t4,8(s1) +8000024c: 01c4a623 sw t3,12(s1) +80000250: 0064a823 sw t1,16(s1) +80000254: 0114aa23 sw a7,20(s1) +80000258: 0104ac23 sw a6,24(s1) +8000025c: 00b4ae23 sw a1,28(s1) +80000260: 02c4a023 sw a2,32(s1) +80000264: 02d4a223 sw a3,36(s1) +80000268: 02e4a423 sw a4,40(s1) +8000026c: 02f4a623 sw a5,44(s1) +} /* Proc_1 */ +80000270: 00012903 lw s2,0(sp) +80000274: 00412483 lw s1,4(sp) +80000278: 01010113 addi sp,sp,16 +8000027c: 00008067 ret + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +80000280: 0084a503 lw a0,8(s1) + Next_Record->variant.var_1.Int_Comp = 6; +80000284: 00600793 li a5,6 + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +80000288: 00840593 addi a1,s0,8 + Next_Record->variant.var_1.Int_Comp = 6; +8000028c: 00f42623 sw a5,12(s0) + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +80000290: 10d000ef jal ra,80000b9c <Proc_6> + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +80000294: 8441a783 lw a5,-1980(gp) # 80003924 <Ptr_Glob> + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +80000298: 00c42503 lw a0,12(s0) +8000029c: 00c40613 addi a2,s0,12 + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800002a0: 0007a783 lw a5,0(a5) +} /* Proc_1 */ +800002a4: 00c12083 lw ra,12(sp) +800002a8: 00412483 lw s1,4(sp) + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800002ac: 00f42023 sw a5,0(s0) +} /* Proc_1 */ +800002b0: 00812403 lw s0,8(sp) +800002b4: 00012903 lw s2,0(sp) + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800002b8: 00a00593 li a1,10 +} /* Proc_1 */ +800002bc: 01010113 addi sp,sp,16 + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800002c0: 7a00006f j 80000a60 <Proc_7> + +800002c4 <Proc_4>: +/*******/ + /* executed once */ +{ + Boolean Bool_Loc; + + Bool_Loc = Ch_1_Glob == 'A'; +800002c4: 8351c783 lbu a5,-1995(gp) # 80003915 <Ch_1_Glob> + Bool_Glob = Bool_Loc | Bool_Glob; +800002c8: 8381a683 lw a3,-1992(gp) # 80003918 <Bool_Glob> + Bool_Loc = Ch_1_Glob == 'A'; +800002cc: fbf78793 addi a5,a5,-65 +800002d0: 0017b793 seqz a5,a5 + Bool_Glob = Bool_Loc | Bool_Glob; +800002d4: 00d7e7b3 or a5,a5,a3 +800002d8: 82f1ac23 sw a5,-1992(gp) # 80003918 <Bool_Glob> + Ch_2_Glob = 'B'; +800002dc: 04200713 li a4,66 +800002e0: 82e18a23 sb a4,-1996(gp) # 80003914 <Ch_2_Glob> +} /* Proc_4 */ +800002e4: 00008067 ret + +800002e8 <Proc_5>: + +Proc_5 () /* without parameters */ +/*******/ + /* executed once */ +{ + Ch_1_Glob = 'A'; +800002e8: 04100713 li a4,65 +800002ec: 82e18aa3 sb a4,-1995(gp) # 80003915 <Ch_1_Glob> + Bool_Glob = false; +800002f0: 8201ac23 sw zero,-1992(gp) # 80003918 <Bool_Glob> +} /* Proc_5 */ +800002f4: 00008067 ret + +800002f8 <main2>: +{ +800002f8: f6010113 addi sp,sp,-160 + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +800002fc: 03000513 li a0,48 +{ +80000300: 08112e23 sw ra,156(sp) +80000304: 08812c23 sw s0,152(sp) +80000308: 07812c23 sw s8,120(sp) +8000030c: 07b12623 sw s11,108(sp) +80000310: 08912a23 sw s1,148(sp) +80000314: 09212823 sw s2,144(sp) +80000318: 09312623 sw s3,140(sp) +8000031c: 09412423 sw s4,136(sp) +80000320: 09512223 sw s5,132(sp) +80000324: 09612023 sw s6,128(sp) +80000328: 07712e23 sw s7,124(sp) +8000032c: 07912a23 sw s9,116(sp) +80000330: 07a12823 sw s10,112(sp) + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000334: 1f5000ef jal ra,80000d28 <malloc> +80000338: 84a1a023 sw a0,-1984(gp) # 80003920 <Next_Ptr_Glob> + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000033c: 03000513 li a0,48 +80000340: 1e9000ef jal ra,80000d28 <malloc> + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +80000344: 8401a783 lw a5,-1984(gp) # 80003920 <Next_Ptr_Glob> + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000348: 84a1a223 sw a0,-1980(gp) # 80003924 <Ptr_Glob> + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +8000034c: 00f52023 sw a5,0(a0) + Ptr_Glob->variant.var_1.Enum_Comp = Ident_3; +80000350: 00200793 li a5,2 +80000354: 00f52423 sw a5,8(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000358: 800035b7 lui a1,0x80003 + Ptr_Glob->variant.var_1.Int_Comp = 40; +8000035c: 02800793 li a5,40 +80000360: 00f52623 sw a5,12(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000364: 01f00613 li a2,31 +80000368: 12458593 addi a1,a1,292 # 80003124 <_stack_start+0xffffc814> + Ptr_Glob->Discr = Ident_1; +8000036c: 00052223 sw zero,4(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000370: 01050513 addi a0,a0,16 +80000374: 34d000ef jal ra,80000ec0 <memcpy> + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +80000378: 80003737 lui a4,0x80003 +8000037c: 68c70793 addi a5,a4,1676 # 8000368c <_stack_start+0xffffcd7c> +80000380: 68c72e03 lw t3,1676(a4) +80000384: 0047a303 lw t1,4(a5) +80000388: 0087a883 lw a7,8(a5) +8000038c: 00c7a803 lw a6,12(a5) +80000390: 0107a583 lw a1,16(a5) +80000394: 0147a603 lw a2,20(a5) +80000398: 0187a683 lw a3,24(a5) +8000039c: 01c7d703 lhu a4,28(a5) +800003a0: 01e7c783 lbu a5,30(a5) + Arr_2_Glob [8][7] = 10; +800003a4: 80004db7 lui s11,0x80004 + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +800003a8: 02e11e23 sh a4,60(sp) +800003ac: 02f10f23 sb a5,62(sp) + Arr_2_Glob [8][7] = 10; +800003b0: 9f4d8713 addi a4,s11,-1548 # 800039f4 <_stack_start+0xffffd0e4> +800003b4: 00a00793 li a5,10 + printf ("\n"); +800003b8: 00a00513 li a0,10 + Arr_2_Glob [8][7] = 10; +800003bc: 64f72e23 sw a5,1628(a4) + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +800003c0: 03c12023 sw t3,32(sp) +800003c4: 02612223 sw t1,36(sp) +800003c8: 03112423 sw a7,40(sp) +800003cc: 03012623 sw a6,44(sp) +800003d0: 02b12823 sw a1,48(sp) +800003d4: 02c12a23 sw a2,52(sp) +800003d8: 02d12c23 sw a3,56(sp) + printf ("\n"); +800003dc: 2cd000ef jal ra,80000ea8 <putchar> + printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); +800003e0: 80003537 lui a0,0x80003 +800003e4: 14450513 addi a0,a0,324 # 80003144 <_stack_start+0xffffc834> +800003e8: 27d000ef jal ra,80000e64 <puts> + printf ("\n"); +800003ec: 00a00513 li a0,10 +800003f0: 2b9000ef jal ra,80000ea8 <putchar> + if (Reg) +800003f4: 8301a783 lw a5,-2000(gp) # 80003910 <Reg> +800003f8: 62078063 beqz a5,80000a18 <main2+0x720> + printf ("Program compiled with 'register' attribute\n"); +800003fc: 80003537 lui a0,0x80003 +80000400: 17450513 addi a0,a0,372 # 80003174 <_stack_start+0xffffc864> +80000404: 261000ef jal ra,80000e64 <puts> + printf ("\n"); +80000408: 00a00513 li a0,10 +8000040c: 29d000ef jal ra,80000ea8 <putchar> + printf ("Please give the number of runs through the benchmark: "); +80000410: 80003537 lui a0,0x80003 +80000414: 1d050513 addi a0,a0,464 # 800031d0 <_stack_start+0xffffc8c0> +80000418: 139000ef jal ra,80000d50 <printf> + printf ("\n"); +8000041c: 00a00513 li a0,10 +80000420: 289000ef jal ra,80000ea8 <putchar> + printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); +80000424: 80003537 lui a0,0x80003 +80000428: 0c800593 li a1,200 +8000042c: 20850513 addi a0,a0,520 # 80003208 <_stack_start+0xffffc8f8> +80000430: 121000ef jal ra,80000d50 <printf> + Begin_Time = clock(); +80000434: 281000ef jal ra,80000eb4 <clock> +80000438: 80003437 lui s0,0x80003 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +8000043c: 6ac42783 lw a5,1708(s0) # 800036ac <_stack_start+0xffffcd9c> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +80000440: 80003d37 lui s10,0x80003 +80000444: 6ccd2b83 lw s7,1740(s10) # 800036cc <_stack_start+0xffffcdbc> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000448: 00f12423 sw a5,8(sp) + Begin_Time = clock(); +8000044c: 82a1a623 sw a0,-2004(gp) # 8000390c <Begin_Time> + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +80000450: 00100993 li s3,1 +80000454: 6ac40413 addi s0,s0,1708 + Int_1_Loc = 2; +80000458: 00200493 li s1,2 + Proc_5(); +8000045c: e8dff0ef jal ra,800002e8 <Proc_5> + Proc_4(); +80000460: e65ff0ef jal ra,800002c4 <Proc_4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000464: 01e44783 lbu a5,30(s0) +80000468: 01442603 lw a2,20(s0) +8000046c: 00442e03 lw t3,4(s0) +80000470: 00842303 lw t1,8(s0) +80000474: 00c42883 lw a7,12(s0) +80000478: 01042803 lw a6,16(s0) +8000047c: 01842683 lw a3,24(s0) +80000480: 01c45703 lhu a4,28(s0) +80000484: 00812e83 lw t4,8(sp) +80000488: 04f10f23 sb a5,94(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000048c: 04010593 addi a1,sp,64 + Enum_Loc = Ident_2; +80000490: 00100793 li a5,1 + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +80000494: 02010513 addi a0,sp,32 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000498: 04c12a23 sw a2,84(sp) + Enum_Loc = Ident_2; +8000049c: 00f12e23 sw a5,28(sp) + Int_1_Loc = 2; +800004a0: 00912a23 sw s1,20(sp) + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +800004a4: 05d12023 sw t4,64(sp) +800004a8: 05c12223 sw t3,68(sp) +800004ac: 04612423 sw t1,72(sp) +800004b0: 05112623 sw a7,76(sp) +800004b4: 05012823 sw a6,80(sp) +800004b8: 04d12c23 sw a3,88(sp) +800004bc: 04e11e23 sh a4,92(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +800004c0: 670000ef jal ra,80000b30 <Func_2> + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +800004c4: 01412603 lw a2,20(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +800004c8: 00153513 seqz a0,a0 +800004cc: 82a1ac23 sw a0,-1992(gp) # 80003918 <Bool_Glob> + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +800004d0: 02c4ca63 blt s1,a2,80000504 <main2+0x20c> + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +800004d4: 00261793 slli a5,a2,0x2 +800004d8: 00c787b3 add a5,a5,a2 +800004dc: ffd78793 addi a5,a5,-3 + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +800004e0: 00060513 mv a0,a2 +800004e4: 00300593 li a1,3 +800004e8: 01810613 addi a2,sp,24 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +800004ec: 00f12c23 sw a5,24(sp) + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +800004f0: 570000ef jal ra,80000a60 <Proc_7> + Int_1_Loc += 1; +800004f4: 01412603 lw a2,20(sp) +800004f8: 00160613 addi a2,a2,1 +800004fc: 00c12a23 sw a2,20(sp) + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000500: fcc4dae3 ble a2,s1,800004d4 <main2+0x1dc> + Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc); +80000504: 01812683 lw a3,24(sp) +80000508: 84c18513 addi a0,gp,-1972 # 8000392c <Arr_1_Glob> +8000050c: 9f4d8593 addi a1,s11,-1548 +80000510: 560000ef jal ra,80000a70 <Proc_8> + Proc_1 (Ptr_Glob); +80000514: 8441a503 lw a0,-1980(gp) # 80003924 <Ptr_Glob> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +80000518: 04100a93 li s5,65 + Int_2_Loc = 3; +8000051c: 00300a13 li s4,3 + Proc_1 (Ptr_Glob); +80000520: c49ff0ef jal ra,80000168 <Proc_1> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +80000524: 8341c703 lbu a4,-1996(gp) # 80003914 <Ch_2_Glob> +80000528: 04000793 li a5,64 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000052c: 6ccd0c93 addi s9,s10,1740 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +80000530: 02e7f463 bleu a4,a5,80000558 <main2+0x260> + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +80000534: 000a8513 mv a0,s5 +80000538: 04300593 li a1,67 +8000053c: 5d4000ef jal ra,80000b10 <Func_1> +80000540: 01c12783 lw a5,28(sp) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +80000544: 001a8713 addi a4,s5,1 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +80000548: 46f50263 beq a0,a5,800009ac <main2+0x6b4> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000054c: 8341c783 lbu a5,-1996(gp) # 80003914 <Ch_2_Glob> +80000550: 0ff77a93 andi s5,a4,255 +80000554: ff57f0e3 bleu s5,a5,80000534 <main2+0x23c> + Int_2_Loc = Int_2_Loc * Int_1_Loc; +80000558: 01412583 lw a1,20(sp) +8000055c: 000a0513 mv a0,s4 + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +80000560: 00198993 addi s3,s3,1 + Int_2_Loc = Int_2_Loc * Int_1_Loc; +80000564: 279020ef jal ra,80002fdc <__mulsi3> + Int_1_Loc = Int_2_Loc / Int_3_Loc; +80000568: 01812a83 lw s5,24(sp) + Int_2_Loc = Int_2_Loc * Int_1_Loc; +8000056c: 00a12623 sw a0,12(sp) + Int_1_Loc = Int_2_Loc / Int_3_Loc; +80000570: 000a8593 mv a1,s5 +80000574: 28d020ef jal ra,80003000 <__divsi3> +80000578: 00050a13 mv s4,a0 + Proc_2 (&Int_1_Loc); +8000057c: 01410513 addi a0,sp,20 + Int_1_Loc = Int_2_Loc / Int_3_Loc; +80000580: 01412a23 sw s4,20(sp) + Proc_2 (&Int_1_Loc); +80000584: b99ff0ef jal ra,8000011c <Proc_2> + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +80000588: 0c900793 li a5,201 +8000058c: ecf998e3 bne s3,a5,8000045c <main2+0x164> + End_Time = clock(); +80000590: 125000ef jal ra,80000eb4 <clock> +80000594: 82a1a423 sw a0,-2008(gp) # 80003908 <End_Time> + printf ("Execution ends\n"); +80000598: 80003537 lui a0,0x80003 +8000059c: 23850513 addi a0,a0,568 # 80003238 <_stack_start+0xffffc928> +800005a0: 0c5000ef jal ra,80000e64 <puts> + printf ("\n"); +800005a4: 00a00513 li a0,10 +800005a8: 101000ef jal ra,80000ea8 <putchar> + printf ("Final values of the variables used in the benchmark:\n"); +800005ac: 80003537 lui a0,0x80003 +800005b0: 24850513 addi a0,a0,584 # 80003248 <_stack_start+0xffffc938> +800005b4: 0b1000ef jal ra,80000e64 <puts> + printf ("\n"); +800005b8: 00a00513 li a0,10 +800005bc: 0ed000ef jal ra,80000ea8 <putchar> + printf ("Int_Glob: %d\n", Int_Glob); +800005c0: 83c1a583 lw a1,-1988(gp) # 8000391c <Int_Glob> +800005c4: 80003537 lui a0,0x80003 +800005c8: 28050513 addi a0,a0,640 # 80003280 <_stack_start+0xffffc970> + printf (" should be: %d\n", 5); +800005cc: 80003437 lui s0,0x80003 + printf ("Int_Glob: %d\n", Int_Glob); +800005d0: 780000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 5); +800005d4: 00500593 li a1,5 +800005d8: 29c40513 addi a0,s0,668 # 8000329c <_stack_start+0xffffc98c> +800005dc: 774000ef jal ra,80000d50 <printf> + printf ("Bool_Glob: %d\n", Bool_Glob); +800005e0: 8381a583 lw a1,-1992(gp) # 80003918 <Bool_Glob> +800005e4: 80003537 lui a0,0x80003 +800005e8: 2b850513 addi a0,a0,696 # 800032b8 <_stack_start+0xffffc9a8> +800005ec: 764000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 1); +800005f0: 00100593 li a1,1 +800005f4: 29c40513 addi a0,s0,668 +800005f8: 758000ef jal ra,80000d50 <printf> + printf ("Ch_1_Glob: %c\n", Ch_1_Glob); +800005fc: 8351c583 lbu a1,-1995(gp) # 80003915 <Ch_1_Glob> +80000600: 80003537 lui a0,0x80003 +80000604: 2d450513 addi a0,a0,724 # 800032d4 <_stack_start+0xffffc9c4> +80000608: 748000ef jal ra,80000d50 <printf> + printf (" should be: %c\n", 'A'); +8000060c: 800034b7 lui s1,0x80003 +80000610: 04100593 li a1,65 +80000614: 2f048513 addi a0,s1,752 # 800032f0 <_stack_start+0xffffc9e0> +80000618: 738000ef jal ra,80000d50 <printf> + printf ("Ch_2_Glob: %c\n", Ch_2_Glob); +8000061c: 8341c583 lbu a1,-1996(gp) # 80003914 <Ch_2_Glob> +80000620: 80003537 lui a0,0x80003 +80000624: 30c50513 addi a0,a0,780 # 8000330c <_stack_start+0xffffc9fc> +80000628: 728000ef jal ra,80000d50 <printf> + printf (" should be: %c\n", 'B'); +8000062c: 04200593 li a1,66 +80000630: 2f048513 addi a0,s1,752 +80000634: 71c000ef jal ra,80000d50 <printf> + printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); +80000638: 84c18793 addi a5,gp,-1972 # 8000392c <Arr_1_Glob> +8000063c: 0207a583 lw a1,32(a5) +80000640: 80003537 lui a0,0x80003 +80000644: 32850513 addi a0,a0,808 # 80003328 <_stack_start+0xffffca18> +80000648: 708000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 7); +8000064c: 00700593 li a1,7 +80000650: 29c40513 addi a0,s0,668 +80000654: 6fc000ef jal ra,80000d50 <printf> + printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); +80000658: 800047b7 lui a5,0x80004 +8000065c: 9f478793 addi a5,a5,-1548 # 800039f4 <_stack_start+0xffffd0e4> +80000660: 65c7a583 lw a1,1628(a5) +80000664: 80003537 lui a0,0x80003 +80000668: 34450513 addi a0,a0,836 # 80003344 <_stack_start+0xffffca34> +8000066c: 6e4000ef jal ra,80000d50 <printf> + printf (" should be: Number_Of_Runs + 10\n"); +80000670: 80003537 lui a0,0x80003 +80000674: 36050513 addi a0,a0,864 # 80003360 <_stack_start+0xffffca50> +80000678: 7ec000ef jal ra,80000e64 <puts> + printf ("Ptr_Glob->\n"); +8000067c: 80003537 lui a0,0x80003 +80000680: 38c50513 addi a0,a0,908 # 8000338c <_stack_start+0xffffca7c> +80000684: 7e0000ef jal ra,80000e64 <puts> + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +80000688: 8441a783 lw a5,-1980(gp) # 80003924 <Ptr_Glob> +8000068c: 80003db7 lui s11,0x80003 +80000690: 398d8513 addi a0,s11,920 # 80003398 <_stack_start+0xffffca88> +80000694: 0007a583 lw a1,0(a5) + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000698: 80003cb7 lui s9,0x80003 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000069c: 80003bb7 lui s7,0x80003 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800006a0: 6b0000ef jal ra,80000d50 <printf> + printf (" should be: (implementation-dependent)\n"); +800006a4: 80003537 lui a0,0x80003 +800006a8: 3b450513 addi a0,a0,948 # 800033b4 <_stack_start+0xffffcaa4> +800006ac: 7b8000ef jal ra,80000e64 <puts> + printf (" Discr: %d\n", Ptr_Glob->Discr); +800006b0: 8441a783 lw a5,-1980(gp) # 80003924 <Ptr_Glob> +800006b4: 3e4c8513 addi a0,s9,996 # 800033e4 <_stack_start+0xffffcad4> + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +800006b8: 80003b37 lui s6,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +800006bc: 0047a583 lw a1,4(a5) + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +800006c0: 800039b7 lui s3,0x80003 + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +800006c4: 80003937 lui s2,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +800006c8: 688000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 0); +800006cc: 00000593 li a1,0 +800006d0: 29c40513 addi a0,s0,668 +800006d4: 67c000ef jal ra,80000d50 <printf> + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +800006d8: 8441a783 lw a5,-1980(gp) # 80003924 <Ptr_Glob> +800006dc: 400b8513 addi a0,s7,1024 # 80003400 <_stack_start+0xffffcaf0> +800006e0: 0087a583 lw a1,8(a5) +800006e4: 66c000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 2); +800006e8: 00200593 li a1,2 +800006ec: 29c40513 addi a0,s0,668 +800006f0: 660000ef jal ra,80000d50 <printf> + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +800006f4: 8441a783 lw a5,-1980(gp) # 80003924 <Ptr_Glob> +800006f8: 41cb0513 addi a0,s6,1052 # 8000341c <_stack_start+0xffffcb0c> +800006fc: 00c7a583 lw a1,12(a5) +80000700: 650000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 17); +80000704: 01100593 li a1,17 +80000708: 29c40513 addi a0,s0,668 +8000070c: 644000ef jal ra,80000d50 <printf> + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +80000710: 8441a583 lw a1,-1980(gp) # 80003924 <Ptr_Glob> +80000714: 43898513 addi a0,s3,1080 # 80003438 <_stack_start+0xffffcb28> +80000718: 01058593 addi a1,a1,16 +8000071c: 634000ef jal ra,80000d50 <printf> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000720: 45490513 addi a0,s2,1108 # 80003454 <_stack_start+0xffffcb44> +80000724: 740000ef jal ra,80000e64 <puts> + printf ("Next_Ptr_Glob->\n"); +80000728: 80003537 lui a0,0x80003 +8000072c: 48850513 addi a0,a0,1160 # 80003488 <_stack_start+0xffffcb78> +80000730: 734000ef jal ra,80000e64 <puts> + printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); +80000734: 8401a783 lw a5,-1984(gp) # 80003920 <Next_Ptr_Glob> +80000738: 398d8513 addi a0,s11,920 +8000073c: 0007a583 lw a1,0(a5) +80000740: 610000ef jal ra,80000d50 <printf> + printf (" should be: (implementation-dependent), same as above\n"); +80000744: 80003537 lui a0,0x80003 +80000748: 49850513 addi a0,a0,1176 # 80003498 <_stack_start+0xffffcb88> +8000074c: 718000ef jal ra,80000e64 <puts> + printf (" Discr: %d\n", Next_Ptr_Glob->Discr); +80000750: 8401a783 lw a5,-1984(gp) # 80003920 <Next_Ptr_Glob> +80000754: 3e4c8513 addi a0,s9,996 +80000758: 0047a583 lw a1,4(a5) +8000075c: 5f4000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 0); +80000760: 00000593 li a1,0 +80000764: 29c40513 addi a0,s0,668 +80000768: 5e8000ef jal ra,80000d50 <printf> + printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp); +8000076c: 8401a783 lw a5,-1984(gp) # 80003920 <Next_Ptr_Glob> +80000770: 400b8513 addi a0,s7,1024 +80000774: 0087a583 lw a1,8(a5) +80000778: 5d8000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 1); +8000077c: 00100593 li a1,1 +80000780: 29c40513 addi a0,s0,668 +80000784: 5cc000ef jal ra,80000d50 <printf> + printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp); +80000788: 8401a783 lw a5,-1984(gp) # 80003920 <Next_Ptr_Glob> +8000078c: 41cb0513 addi a0,s6,1052 +80000790: 00c7a583 lw a1,12(a5) +80000794: 5bc000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 18); +80000798: 01200593 li a1,18 +8000079c: 29c40513 addi a0,s0,668 +800007a0: 5b0000ef jal ra,80000d50 <printf> + printf (" Str_Comp: %s\n", +800007a4: 8401a583 lw a1,-1984(gp) # 80003920 <Next_Ptr_Glob> +800007a8: 43898513 addi a0,s3,1080 +800007ac: 01058593 addi a1,a1,16 +800007b0: 5a0000ef jal ra,80000d50 <printf> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +800007b4: 45490513 addi a0,s2,1108 +800007b8: 6ac000ef jal ra,80000e64 <puts> + printf ("Int_1_Loc: %d\n", Int_1_Loc); +800007bc: 01412583 lw a1,20(sp) +800007c0: 80003537 lui a0,0x80003 +800007c4: 4d850513 addi a0,a0,1240 # 800034d8 <_stack_start+0xffffcbc8> +800007c8: 588000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 5); +800007cc: 00500593 li a1,5 +800007d0: 29c40513 addi a0,s0,668 +800007d4: 57c000ef jal ra,80000d50 <printf> + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800007d8: 00c12783 lw a5,12(sp) + printf ("Int_2_Loc: %d\n", Int_2_Loc); +800007dc: 80003537 lui a0,0x80003 +800007e0: 4f450513 addi a0,a0,1268 # 800034f4 <_stack_start+0xffffcbe4> + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800007e4: 41578ab3 sub s5,a5,s5 +800007e8: 003a9793 slli a5,s5,0x3 +800007ec: 41578ab3 sub s5,a5,s5 + printf ("Int_2_Loc: %d\n", Int_2_Loc); +800007f0: 414a85b3 sub a1,s5,s4 +800007f4: 55c000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 13); +800007f8: 00d00593 li a1,13 +800007fc: 29c40513 addi a0,s0,668 +80000800: 550000ef jal ra,80000d50 <printf> + printf ("Int_3_Loc: %d\n", Int_3_Loc); +80000804: 01812583 lw a1,24(sp) +80000808: 80003537 lui a0,0x80003 +8000080c: 51050513 addi a0,a0,1296 # 80003510 <_stack_start+0xffffcc00> +80000810: 540000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 7); +80000814: 00700593 li a1,7 +80000818: 29c40513 addi a0,s0,668 +8000081c: 534000ef jal ra,80000d50 <printf> + printf ("Enum_Loc: %d\n", Enum_Loc); +80000820: 01c12583 lw a1,28(sp) +80000824: 80003537 lui a0,0x80003 +80000828: 52c50513 addi a0,a0,1324 # 8000352c <_stack_start+0xffffcc1c> +8000082c: 524000ef jal ra,80000d50 <printf> + printf (" should be: %d\n", 1); +80000830: 00100593 li a1,1 +80000834: 29c40513 addi a0,s0,668 +80000838: 518000ef jal ra,80000d50 <printf> + printf ("Str_1_Loc: %s\n", Str_1_Loc); +8000083c: 80003537 lui a0,0x80003 +80000840: 02010593 addi a1,sp,32 +80000844: 54850513 addi a0,a0,1352 # 80003548 <_stack_start+0xffffcc38> +80000848: 508000ef jal ra,80000d50 <printf> + printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n"); +8000084c: 80003537 lui a0,0x80003 +80000850: 56450513 addi a0,a0,1380 # 80003564 <_stack_start+0xffffcc54> +80000854: 610000ef jal ra,80000e64 <puts> + printf ("Str_2_Loc: %s\n", Str_2_Loc); +80000858: 80003537 lui a0,0x80003 +8000085c: 04010593 addi a1,sp,64 +80000860: 59850513 addi a0,a0,1432 # 80003598 <_stack_start+0xffffcc88> +80000864: 4ec000ef jal ra,80000d50 <printf> + printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); +80000868: 80003537 lui a0,0x80003 +8000086c: 5b450513 addi a0,a0,1460 # 800035b4 <_stack_start+0xffffcca4> +80000870: 5f4000ef jal ra,80000e64 <puts> + printf ("\n"); +80000874: 00a00513 li a0,10 +80000878: 630000ef jal ra,80000ea8 <putchar> + User_Time = End_Time - Begin_Time; +8000087c: 82c1a703 lw a4,-2004(gp) # 8000390c <Begin_Time> +80000880: 8281a583 lw a1,-2008(gp) # 80003908 <End_Time> + if (User_Time < Too_Small_Time) +80000884: 1f300793 li a5,499 + User_Time = End_Time - Begin_Time; +80000888: 40e585b3 sub a1,a1,a4 +8000088c: 82b1a223 sw a1,-2012(gp) # 80003904 <User_Time> + if (User_Time < Too_Small_Time) +80000890: 1ab7d063 ble a1,a5,80000a30 <main2+0x738> + printf ("Clock cycles=%d \n", User_Time); +80000894: 80003537 lui a0,0x80003 +80000898: 64050513 addi a0,a0,1600 # 80003640 <_stack_start+0xffffcd30> +8000089c: 4b4000ef jal ra,80000d50 <printf> + Microseconds = (float) User_Time * Mic_secs_Per_Second +800008a0: 8241a503 lw a0,-2012(gp) # 80003904 <User_Time> +800008a4: 370020ef jal ra,80002c14 <__floatsisf> +800008a8: 00050413 mv s0,a0 +800008ac: 48c020ef jal ra,80002d38 <__extendsfdf2> +800008b0: 800047b7 lui a5,0x80004 +800008b4: 8e07a603 lw a2,-1824(a5) # 800038e0 <_stack_start+0xffffcfd0> +800008b8: 8e47a683 lw a3,-1820(a5) +800008bc: 078010ef jal ra,80001934 <__muldf3> + / ((float) CORE_HZ * ((float) Number_Of_Runs)); +800008c0: 800047b7 lui a5,0x80004 +800008c4: 8e87a603 lw a2,-1816(a5) # 800038e8 <_stack_start+0xffffcfd8> +800008c8: 8ec7a683 lw a3,-1812(a5) +800008cc: 059000ef jal ra,80001124 <__divdf3> +800008d0: 574020ef jal ra,80002e44 <__truncdfsf2> +800008d4: 82a1a023 sw a0,-2016(gp) # 80003900 <Microseconds> + / (float) User_Time; +800008d8: 800047b7 lui a5,0x80004 +800008dc: 8f07a503 lw a0,-1808(a5) # 800038f0 <_stack_start+0xffffcfe0> +800008e0: 00040593 mv a1,s0 +800008e4: 740010ef jal ra,80002024 <__divsf3> + Dhrystones_Per_Second = ((float) CORE_HZ * (float) Number_Of_Runs) +800008e8: 80a1ae23 sw a0,-2020(gp) # 800038fc <Dhrystones_Per_Second> + printf ("DMIPS per Mhz: "); +800008ec: 80003537 lui a0,0x80003 +800008f0: 65450513 addi a0,a0,1620 # 80003654 <_stack_start+0xffffcd44> +800008f4: 45c000ef jal ra,80000d50 <printf> + float dmips = (1e6f/1757.0f) * Number_Of_Runs / User_Time; +800008f8: 8241a503 lw a0,-2012(gp) # 80003904 <User_Time> +800008fc: 318020ef jal ra,80002c14 <__floatsisf> +80000900: 800047b7 lui a5,0x80004 +80000904: 00050593 mv a1,a0 +80000908: 8f47a503 lw a0,-1804(a5) # 800038f4 <_stack_start+0xffffcfe4> +8000090c: 718010ef jal ra,80002024 <__divsf3> +80000910: 00050413 mv s0,a0 + int dmipsNatural = dmips; +80000914: 290020ef jal ra,80002ba4 <__fixsfsi> +80000918: 00050493 mv s1,a0 + int dmipsReal = (dmips - dmipsNatural)*100.0f; +8000091c: 2f8020ef jal ra,80002c14 <__floatsisf> +80000920: 00050593 mv a1,a0 +80000924: 00040513 mv a0,s0 +80000928: 605010ef jal ra,8000272c <__subsf3> +8000092c: 800047b7 lui a5,0x80004 +80000930: 8f87a583 lw a1,-1800(a5) # 800038f8 <_stack_start+0xffffcfe8> +80000934: 289010ef jal ra,800023bc <__mulsf3> +80000938: 26c020ef jal ra,80002ba4 <__fixsfsi> +8000093c: 00050413 mv s0,a0 + printf ("%d.", dmipsNatural); +80000940: 80003537 lui a0,0x80003 +80000944: 00048593 mv a1,s1 +80000948: 68450513 addi a0,a0,1668 # 80003684 <_stack_start+0xffffcd74> +8000094c: 404000ef jal ra,80000d50 <printf> + if(dmipsReal < 10) printf("0"); +80000950: 00900793 li a5,9 +80000954: 1087d063 ble s0,a5,80000a54 <main2+0x75c> + printf ("%d", dmipsReal); +80000958: 80003537 lui a0,0x80003 +8000095c: 00040593 mv a1,s0 +80000960: 68850513 addi a0,a0,1672 # 80003688 <_stack_start+0xffffcd78> +80000964: 3ec000ef jal ra,80000d50 <printf> + printf ("\n"); +80000968: 00a00513 li a0,10 +8000096c: 53c000ef jal ra,80000ea8 <putchar> +} +80000970: 09c12083 lw ra,156(sp) +80000974: 09812403 lw s0,152(sp) +80000978: 09412483 lw s1,148(sp) +8000097c: 09012903 lw s2,144(sp) +80000980: 08c12983 lw s3,140(sp) +80000984: 08812a03 lw s4,136(sp) +80000988: 08412a83 lw s5,132(sp) +8000098c: 08012b03 lw s6,128(sp) +80000990: 07c12b83 lw s7,124(sp) +80000994: 07812c03 lw s8,120(sp) +80000998: 07412c83 lw s9,116(sp) +8000099c: 07012d03 lw s10,112(sp) +800009a0: 06c12d83 lw s11,108(sp) +800009a4: 0a010113 addi sp,sp,160 +800009a8: 00008067 ret + Proc_6 (Ident_1, &Enum_Loc); +800009ac: 01c10593 addi a1,sp,28 +800009b0: 00000513 li a0,0 +800009b4: 1e8000ef jal ra,80000b9c <Proc_6> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +800009b8: 004cae03 lw t3,4(s9) +800009bc: 008ca303 lw t1,8(s9) +800009c0: 00cca883 lw a7,12(s9) +800009c4: 010ca803 lw a6,16(s9) +800009c8: 014ca503 lw a0,20(s9) +800009cc: 018ca583 lw a1,24(s9) +800009d0: 01ccd603 lhu a2,28(s9) +800009d4: 01ecc703 lbu a4,30(s9) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800009d8: 8341c783 lbu a5,-1996(gp) # 80003914 <Ch_2_Glob> +800009dc: 001a8a93 addi s5,s5,1 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +800009e0: 05712023 sw s7,64(sp) +800009e4: 05c12223 sw t3,68(sp) +800009e8: 04612423 sw t1,72(sp) +800009ec: 05112623 sw a7,76(sp) +800009f0: 05012823 sw a6,80(sp) +800009f4: 04a12a23 sw a0,84(sp) +800009f8: 04b12c23 sw a1,88(sp) +800009fc: 04c11e23 sh a2,92(sp) +80000a00: 04e10f23 sb a4,94(sp) + Int_Glob = Run_Index; +80000a04: 8331ae23 sw s3,-1988(gp) # 8000391c <Int_Glob> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +80000a08: 0ffafa93 andi s5,s5,255 +80000a0c: 00098a13 mv s4,s3 +80000a10: b357f2e3 bleu s5,a5,80000534 <main2+0x23c> +80000a14: b45ff06f j 80000558 <main2+0x260> + printf ("Program compiled without 'register' attribute\n"); +80000a18: 80003537 lui a0,0x80003 +80000a1c: 1a050513 addi a0,a0,416 # 800031a0 <_stack_start+0xffffc890> +80000a20: 444000ef jal ra,80000e64 <puts> + printf ("\n"); +80000a24: 00a00513 li a0,10 +80000a28: 480000ef jal ra,80000ea8 <putchar> +80000a2c: 9e5ff06f j 80000410 <main2+0x118> + printf ("Measured time too small to obtain meaningful results\n"); +80000a30: 80003537 lui a0,0x80003 +80000a34: 5e850513 addi a0,a0,1512 # 800035e8 <_stack_start+0xffffccd8> +80000a38: 42c000ef jal ra,80000e64 <puts> + printf ("Please increase number of runs\n"); +80000a3c: 80003537 lui a0,0x80003 +80000a40: 62050513 addi a0,a0,1568 # 80003620 <_stack_start+0xffffcd10> +80000a44: 420000ef jal ra,80000e64 <puts> + printf ("\n"); +80000a48: 00a00513 li a0,10 +80000a4c: 45c000ef jal ra,80000ea8 <putchar> +80000a50: f21ff06f j 80000970 <main2+0x678> + if(dmipsReal < 10) printf("0"); +80000a54: 03000513 li a0,48 +80000a58: 450000ef jal ra,80000ea8 <putchar> +80000a5c: efdff06f j 80000958 <main2+0x660> + +80000a60 <Proc_7>: +One_Fifty Int_2_Par_Val; +One_Fifty *Int_Par_Ref; +{ + One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 2; +80000a60: 00250513 addi a0,a0,2 + *Int_Par_Ref = Int_2_Par_Val + Int_Loc; +80000a64: 00b505b3 add a1,a0,a1 +80000a68: 00b62023 sw a1,0(a2) +} /* Proc_7 */ +80000a6c: 00008067 ret + +80000a70 <Proc_8>: + /* Int_Par_Val_2 == 7 */ +Arr_1_Dim Arr_1_Par_Ref; +Arr_2_Dim Arr_2_Par_Ref; +int Int_1_Par_Val; +int Int_2_Par_Val; +{ +80000a70: fe010113 addi sp,sp,-32 +80000a74: 01312623 sw s3,12(sp) + REG One_Fifty Int_Index; + REG One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 5; +80000a78: 00560993 addi s3,a2,5 +{ +80000a7c: 00912a23 sw s1,20(sp) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +80000a80: 00299493 slli s1,s3,0x2 +{ +80000a84: 00812c23 sw s0,24(sp) +80000a88: 01212823 sw s2,16(sp) +80000a8c: 00112e23 sw ra,28(sp) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +80000a90: 009504b3 add s1,a0,s1 +{ +80000a94: 00060913 mv s2,a2 +80000a98: 00058413 mv s0,a1 + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; +80000a9c: 0734ac23 sw s3,120(s1) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +80000aa0: 00d4a023 sw a3,0(s1) + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; +80000aa4: 00d4a223 sw a3,4(s1) + for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +80000aa8: 00098513 mv a0,s3 +80000aac: 0c800593 li a1,200 +80000ab0: 52c020ef jal ra,80002fdc <__mulsi3> +80000ab4: 00291913 slli s2,s2,0x2 +80000ab8: 012507b3 add a5,a0,s2 +80000abc: 00f407b3 add a5,s0,a5 + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +80000ac0: 0107a703 lw a4,16(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +80000ac4: 0137aa23 sw s3,20(a5) +80000ac8: 0137ac23 sw s3,24(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +80000acc: 00170713 addi a4,a4,1 +80000ad0: 00e7a823 sw a4,16(a5) + Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc]; +80000ad4: 0004a783 lw a5,0(s1) +80000ad8: 00a40433 add s0,s0,a0 +80000adc: 01240433 add s0,s0,s2 +80000ae0: 00001637 lui a2,0x1 +80000ae4: 00860433 add s0,a2,s0 +80000ae8: faf42a23 sw a5,-76(s0) + Int_Glob = 5; +} /* Proc_8 */ +80000aec: 01c12083 lw ra,28(sp) +80000af0: 01812403 lw s0,24(sp) + Int_Glob = 5; +80000af4: 00500713 li a4,5 +80000af8: 82e1ae23 sw a4,-1988(gp) # 8000391c <Int_Glob> +} /* Proc_8 */ +80000afc: 01412483 lw s1,20(sp) +80000b00: 01012903 lw s2,16(sp) +80000b04: 00c12983 lw s3,12(sp) +80000b08: 02010113 addi sp,sp,32 +80000b0c: 00008067 ret + +80000b10 <Func_1>: + /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ + /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ + +Capital_Letter Ch_1_Par_Val; +Capital_Letter Ch_2_Par_Val; +{ +80000b10: 0ff57513 andi a0,a0,255 +80000b14: 0ff5f593 andi a1,a1,255 + Capital_Letter Ch_1_Loc; + Capital_Letter Ch_2_Loc; + + Ch_1_Loc = Ch_1_Par_Val; + Ch_2_Loc = Ch_1_Loc; + if (Ch_2_Loc != Ch_2_Par_Val) +80000b18: 00b50663 beq a0,a1,80000b24 <Func_1+0x14> + /* then, executed */ + return (Ident_1); +80000b1c: 00000513 li a0,0 + else /* not executed */ + { + Ch_1_Glob = Ch_1_Loc; + return (Ident_2); + } +} /* Func_1 */ +80000b20: 00008067 ret + Ch_1_Glob = Ch_1_Loc; +80000b24: 82a18aa3 sb a0,-1995(gp) # 80003915 <Ch_1_Glob> + return (Ident_2); +80000b28: 00100513 li a0,1 +80000b2c: 00008067 ret + +80000b30 <Func_2>: + /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ + /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ + +Str_30 Str_1_Par_Ref; +Str_30 Str_2_Par_Ref; +{ +80000b30: ff010113 addi sp,sp,-16 +80000b34: 00812423 sw s0,8(sp) +80000b38: 00912223 sw s1,4(sp) +80000b3c: 00112623 sw ra,12(sp) +80000b40: 00050413 mv s0,a0 +80000b44: 00058493 mv s1,a1 + REG One_Thirty Int_Loc; + Capital_Letter Ch_Loc; + + Int_Loc = 2; + while (Int_Loc <= 2) /* loop body executed once */ + if (Func_1 (Str_1_Par_Ref[Int_Loc], +80000b48: 0034c583 lbu a1,3(s1) +80000b4c: 00244503 lbu a0,2(s0) +80000b50: fc1ff0ef jal ra,80000b10 <Func_1> +80000b54: fe051ae3 bnez a0,80000b48 <Func_2+0x18> + if (Ch_Loc == 'R') + /* then, not executed */ + return (true); + else /* executed */ + { + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +80000b58: 00048593 mv a1,s1 +80000b5c: 00040513 mv a0,s0 +80000b60: 448000ef jal ra,80000fa8 <strcmp> + Int_Loc += 7; + Int_Glob = Int_Loc; + return (true); + } + else /* executed */ + return (false); +80000b64: 00000793 li a5,0 + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +80000b68: 00a05863 blez a0,80000b78 <Func_2+0x48> + Int_Glob = Int_Loc; +80000b6c: 00a00713 li a4,10 +80000b70: 82e1ae23 sw a4,-1988(gp) # 8000391c <Int_Glob> + return (true); +80000b74: 00100793 li a5,1 + } /* if Ch_Loc */ +} /* Func_2 */ +80000b78: 00c12083 lw ra,12(sp) +80000b7c: 00812403 lw s0,8(sp) +80000b80: 00412483 lw s1,4(sp) +80000b84: 00078513 mv a0,a5 +80000b88: 01010113 addi sp,sp,16 +80000b8c: 00008067 ret + +80000b90 <Func_3>: +Enumeration Enum_Par_Val; +{ + Enumeration Enum_Loc; + + Enum_Loc = Enum_Par_Val; + if (Enum_Loc == Ident_3) +80000b90: ffe50513 addi a0,a0,-2 + /* then, executed */ + return (true); + else /* not executed */ + return (false); +} /* Func_3 */ +80000b94: 00153513 seqz a0,a0 +80000b98: 00008067 ret + +80000b9c <Proc_6>: +{ +80000b9c: ff010113 addi sp,sp,-16 +80000ba0: 00812423 sw s0,8(sp) +80000ba4: 00912223 sw s1,4(sp) +80000ba8: 00112623 sw ra,12(sp) +80000bac: 00050413 mv s0,a0 +80000bb0: 00058493 mv s1,a1 + if (! Func_3 (Enum_Val_Par)) +80000bb4: fddff0ef jal ra,80000b90 <Func_3> +80000bb8: 02050e63 beqz a0,80000bf4 <Proc_6+0x58> + *Enum_Ref_Par = Enum_Val_Par; +80000bbc: 0084a023 sw s0,0(s1) + switch (Enum_Val_Par) +80000bc0: 00100793 li a5,1 +80000bc4: 04f40063 beq s0,a5,80000c04 <Proc_6+0x68> +80000bc8: 04040463 beqz s0,80000c10 <Proc_6+0x74> +80000bcc: 00200713 li a4,2 +80000bd0: 04e40c63 beq s0,a4,80000c28 <Proc_6+0x8c> +80000bd4: 00400793 li a5,4 +80000bd8: 00f41463 bne s0,a5,80000be0 <Proc_6+0x44> + *Enum_Ref_Par = Ident_3; +80000bdc: 00e4a023 sw a4,0(s1) +} /* Proc_6 */ +80000be0: 00c12083 lw ra,12(sp) +80000be4: 00812403 lw s0,8(sp) +80000be8: 00412483 lw s1,4(sp) +80000bec: 01010113 addi sp,sp,16 +80000bf0: 00008067 ret + *Enum_Ref_Par = Ident_4; +80000bf4: 00300793 li a5,3 +80000bf8: 00f4a023 sw a5,0(s1) + switch (Enum_Val_Par) +80000bfc: 00100793 li a5,1 +80000c00: fcf414e3 bne s0,a5,80000bc8 <Proc_6+0x2c> + if (Int_Glob > 100) +80000c04: 83c1a703 lw a4,-1988(gp) # 8000391c <Int_Glob> +80000c08: 06400793 li a5,100 +80000c0c: 02e7da63 ble a4,a5,80000c40 <Proc_6+0xa4> +} /* Proc_6 */ +80000c10: 00c12083 lw ra,12(sp) +80000c14: 00812403 lw s0,8(sp) + *Enum_Ref_Par = Ident_1; +80000c18: 0004a023 sw zero,0(s1) +} /* Proc_6 */ +80000c1c: 00412483 lw s1,4(sp) +80000c20: 01010113 addi sp,sp,16 +80000c24: 00008067 ret +80000c28: 00c12083 lw ra,12(sp) +80000c2c: 00812403 lw s0,8(sp) + *Enum_Ref_Par = Ident_2; +80000c30: 00f4a023 sw a5,0(s1) +} /* Proc_6 */ +80000c34: 00412483 lw s1,4(sp) +80000c38: 01010113 addi sp,sp,16 +80000c3c: 00008067 ret +80000c40: 00c12083 lw ra,12(sp) +80000c44: 00812403 lw s0,8(sp) + else *Enum_Ref_Par = Ident_4; +80000c48: 00300793 li a5,3 +80000c4c: 00f4a023 sw a5,0(s1) +} /* Proc_6 */ +80000c50: 00412483 lw s1,4(sp) +80000c54: 01010113 addi sp,sp,16 +80000c58: 00008067 ret + +80000c5c <printf_s>: +{ + putchar(c); +} + +static void printf_s(char *p) +{ +80000c5c: ff010113 addi sp,sp,-16 +80000c60: 00812423 sw s0,8(sp) +80000c64: 00112623 sw ra,12(sp) +80000c68: 00050413 mv s0,a0 + while (*p) +80000c6c: 00054503 lbu a0,0(a0) +80000c70: 00050a63 beqz a0,80000c84 <printf_s+0x28> + putchar(*(p++)); +80000c74: 00140413 addi s0,s0,1 +80000c78: 230000ef jal ra,80000ea8 <putchar> + while (*p) +80000c7c: 00044503 lbu a0,0(s0) +80000c80: fe051ae3 bnez a0,80000c74 <printf_s+0x18> +} +80000c84: 00c12083 lw ra,12(sp) +80000c88: 00812403 lw s0,8(sp) +80000c8c: 01010113 addi sp,sp,16 +80000c90: 00008067 ret + +80000c94 <printf_c>: + putchar(c); +80000c94: 2140006f j 80000ea8 <putchar> + +80000c98 <printf_d>: + +static void printf_d(int val) +{ +80000c98: fd010113 addi sp,sp,-48 +80000c9c: 02912223 sw s1,36(sp) +80000ca0: 02112623 sw ra,44(sp) +80000ca4: 02812423 sw s0,40(sp) +80000ca8: 03212023 sw s2,32(sp) +80000cac: 00050493 mv s1,a0 + char buffer[32]; + char *p = buffer; + if (val < 0) { +80000cb0: 06054463 bltz a0,80000d18 <printf_d+0x80> +{ +80000cb4: 00010913 mv s2,sp +80000cb8: 00090413 mv s0,s2 +80000cbc: 0240006f j 80000ce0 <printf_d+0x48> + printf_c('-'); + val = -val; + } + while (val || p == buffer) { + *(p++) = '0' + val % 10; +80000cc0: 3c4020ef jal ra,80003084 <__modsi3> +80000cc4: 03050793 addi a5,a0,48 +80000cc8: 00140413 addi s0,s0,1 + val = val / 10; +80000ccc: 00048513 mv a0,s1 +80000cd0: 00a00593 li a1,10 + *(p++) = '0' + val % 10; +80000cd4: fef40fa3 sb a5,-1(s0) + val = val / 10; +80000cd8: 328020ef jal ra,80003000 <__divsi3> +80000cdc: 00050493 mv s1,a0 + *(p++) = '0' + val % 10; +80000ce0: 00a00593 li a1,10 +80000ce4: 00048513 mv a0,s1 + while (val || p == buffer) { +80000ce8: fc049ce3 bnez s1,80000cc0 <printf_d+0x28> +80000cec: fd240ae3 beq s0,s2,80000cc0 <printf_d+0x28> + } + while (p != buffer) + printf_c(*(--p)); +80000cf0: fff40413 addi s0,s0,-1 +80000cf4: 00044503 lbu a0,0(s0) +80000cf8: f9dff0ef jal ra,80000c94 <printf_c> + while (p != buffer) +80000cfc: ff241ae3 bne s0,s2,80000cf0 <printf_d+0x58> +} +80000d00: 02c12083 lw ra,44(sp) +80000d04: 02812403 lw s0,40(sp) +80000d08: 02412483 lw s1,36(sp) +80000d0c: 02012903 lw s2,32(sp) +80000d10: 03010113 addi sp,sp,48 +80000d14: 00008067 ret + printf_c('-'); +80000d18: 02d00513 li a0,45 +80000d1c: f79ff0ef jal ra,80000c94 <printf_c> + val = -val; +80000d20: 409004b3 neg s1,s1 +80000d24: f91ff06f j 80000cb4 <printf_d+0x1c> + +80000d28 <malloc>: + char *p = heap_memory + heap_memory_used; +80000d28: 8481a703 lw a4,-1976(gp) # 80003928 <heap_memory_used> + heap_memory_used += size; +80000d2c: 00a707b3 add a5,a4,a0 + char *p = heap_memory + heap_memory_used; +80000d30: 80006537 lui a0,0x80006 + heap_memory_used += size; +80000d34: 84f1a423 sw a5,-1976(gp) # 80003928 <heap_memory_used> + char *p = heap_memory + heap_memory_used; +80000d38: 10450513 addi a0,a0,260 # 80006104 <_stack_start+0xfffff7f4> + if (heap_memory_used > 1024) +80000d3c: 40000693 li a3,1024 + char *p = heap_memory + heap_memory_used; +80000d40: 00e50533 add a0,a0,a4 + if (heap_memory_used > 1024) +80000d44: 00f6d463 ble a5,a3,80000d4c <malloc+0x24> + asm volatile ("ebreak"); +80000d48: 00100073 ebreak +} +80000d4c: 00008067 ret + +80000d50 <printf>: + +int printf(const char *format, ...) +{ +80000d50: fb010113 addi sp,sp,-80 +80000d54: 01412c23 sw s4,24(sp) +80000d58: 02112623 sw ra,44(sp) +80000d5c: 02812423 sw s0,40(sp) +80000d60: 02912223 sw s1,36(sp) +80000d64: 03212023 sw s2,32(sp) +80000d68: 01312e23 sw s3,28(sp) +80000d6c: 01512a23 sw s5,20(sp) +80000d70: 00050a13 mv s4,a0 + int i; + va_list ap; + + va_start(ap, format); + + for (i = 0; format[i]; i++) +80000d74: 00054503 lbu a0,0(a0) +{ +80000d78: 04f12223 sw a5,68(sp) + va_start(ap, format); +80000d7c: 03410793 addi a5,sp,52 +{ +80000d80: 02b12a23 sw a1,52(sp) +80000d84: 02c12c23 sw a2,56(sp) +80000d88: 02d12e23 sw a3,60(sp) +80000d8c: 04e12023 sw a4,64(sp) +80000d90: 05012423 sw a6,72(sp) +80000d94: 05112623 sw a7,76(sp) + va_start(ap, format); +80000d98: 00f12623 sw a5,12(sp) + for (i = 0; format[i]; i++) +80000d9c: 02050863 beqz a0,80000dcc <printf+0x7c> +80000da0: 00000413 li s0,0 + if (format[i] == '%') { +80000da4: 02500a93 li s5,37 + while (format[++i]) { + if (format[i] == 'c') { +80000da8: 06300493 li s1,99 + printf_c(va_arg(ap,int)); + break; + } + if (format[i] == 's') { +80000dac: 07300913 li s2,115 + printf_s(va_arg(ap,char*)); + break; + } + if (format[i] == 'd') { +80000db0: 06400993 li s3,100 + if (format[i] == '%') { +80000db4: 03550e63 beq a0,s5,80000df0 <printf+0xa0> + printf_d(va_arg(ap,int)); + break; + } + } + } else + printf_c(format[i]); +80000db8: eddff0ef jal ra,80000c94 <printf_c> + for (i = 0; format[i]; i++) +80000dbc: 00140413 addi s0,s0,1 +80000dc0: 008a07b3 add a5,s4,s0 +80000dc4: 0007c503 lbu a0,0(a5) +80000dc8: fe0516e3 bnez a0,80000db4 <printf+0x64> + + va_end(ap); +} +80000dcc: 02c12083 lw ra,44(sp) +80000dd0: 02812403 lw s0,40(sp) +80000dd4: 02412483 lw s1,36(sp) +80000dd8: 02012903 lw s2,32(sp) +80000ddc: 01c12983 lw s3,28(sp) +80000de0: 01812a03 lw s4,24(sp) +80000de4: 01412a83 lw s5,20(sp) +80000de8: 05010113 addi sp,sp,80 +80000dec: 00008067 ret +80000df0: 00140693 addi a3,s0,1 +80000df4: 00da0733 add a4,s4,a3 +80000df8: 0100006f j 80000e08 <printf+0xb8> + if (format[i] == 's') { +80000dfc: 03278c63 beq a5,s2,80000e34 <printf+0xe4> + if (format[i] == 'd') { +80000e00: 05378663 beq a5,s3,80000e4c <printf+0xfc> +80000e04: 00168693 addi a3,a3,1 + while (format[++i]) { +80000e08: 00074783 lbu a5,0(a4) +80000e0c: 00068413 mv s0,a3 +80000e10: 00170713 addi a4,a4,1 +80000e14: fa0784e3 beqz a5,80000dbc <printf+0x6c> + if (format[i] == 'c') { +80000e18: fe9792e3 bne a5,s1,80000dfc <printf+0xac> + printf_c(va_arg(ap,int)); +80000e1c: 00c12783 lw a5,12(sp) +80000e20: 0007a503 lw a0,0(a5) +80000e24: 00478793 addi a5,a5,4 +80000e28: 00f12623 sw a5,12(sp) +80000e2c: e69ff0ef jal ra,80000c94 <printf_c> + break; +80000e30: f8dff06f j 80000dbc <printf+0x6c> + printf_s(va_arg(ap,char*)); +80000e34: 00c12783 lw a5,12(sp) +80000e38: 0007a503 lw a0,0(a5) +80000e3c: 00478793 addi a5,a5,4 +80000e40: 00f12623 sw a5,12(sp) +80000e44: e19ff0ef jal ra,80000c5c <printf_s> + break; +80000e48: f75ff06f j 80000dbc <printf+0x6c> + printf_d(va_arg(ap,int)); +80000e4c: 00c12783 lw a5,12(sp) +80000e50: 0007a503 lw a0,0(a5) +80000e54: 00478793 addi a5,a5,4 +80000e58: 00f12623 sw a5,12(sp) +80000e5c: e3dff0ef jal ra,80000c98 <printf_d> + break; +80000e60: f5dff06f j 80000dbc <printf+0x6c> + +80000e64 <puts>: + + +int puts(char *s){ +80000e64: ff010113 addi sp,sp,-16 +80000e68: 00812423 sw s0,8(sp) +80000e6c: 00112623 sw ra,12(sp) +80000e70: 00050413 mv s0,a0 + while (*s) { +80000e74: 00054503 lbu a0,0(a0) +80000e78: 00050a63 beqz a0,80000e8c <puts+0x28> + putchar(*s); + s++; +80000e7c: 00140413 addi s0,s0,1 + putchar(*s); +80000e80: 028000ef jal ra,80000ea8 <putchar> + while (*s) { +80000e84: 00044503 lbu a0,0(s0) +80000e88: fe051ae3 bnez a0,80000e7c <puts+0x18> + } + putchar('\n'); +80000e8c: 00a00513 li a0,10 +80000e90: 018000ef jal ra,80000ea8 <putchar> + return 0; +} +80000e94: 00c12083 lw ra,12(sp) +80000e98: 00812403 lw s0,8(sp) +80000e9c: 00000513 li a0,0 +80000ea0: 01010113 addi sp,sp,16 +80000ea4: 00008067 ret + +80000ea8 <putchar>: + +void putchar(char c){ + TEST_COM_BASE[0] = c; +80000ea8: f01007b7 lui a5,0xf0100 +80000eac: f0a7a023 sw a0,-256(a5) # f00fff00 <_stack_start+0x700f95f0> +} +80000eb0: 00008067 ret + +80000eb4 <clock>: + +#include <time.h> +clock_t clock(){ + return TEST_COM_BASE[4]; +80000eb4: f01007b7 lui a5,0xf0100 +80000eb8: f107a503 lw a0,-240(a5) # f00fff10 <_stack_start+0x700f9600> +} +80000ebc: 00008067 ret + +80000ec0 <memcpy>: +80000ec0: 00a5c7b3 xor a5,a1,a0 +80000ec4: 0037f793 andi a5,a5,3 +80000ec8: 00c50733 add a4,a0,a2 +80000ecc: 00079663 bnez a5,80000ed8 <memcpy+0x18> +80000ed0: 00300793 li a5,3 +80000ed4: 02c7e463 bltu a5,a2,80000efc <memcpy+0x3c> +80000ed8: 00050793 mv a5,a0 +80000edc: 00e56c63 bltu a0,a4,80000ef4 <memcpy+0x34> +80000ee0: 00008067 ret +80000ee4: 0005c683 lbu a3,0(a1) +80000ee8: 00178793 addi a5,a5,1 +80000eec: 00158593 addi a1,a1,1 +80000ef0: fed78fa3 sb a3,-1(a5) +80000ef4: fee7e8e3 bltu a5,a4,80000ee4 <memcpy+0x24> +80000ef8: 00008067 ret +80000efc: 00357793 andi a5,a0,3 +80000f00: 08079263 bnez a5,80000f84 <memcpy+0xc4> +80000f04: 00050793 mv a5,a0 +80000f08: ffc77693 andi a3,a4,-4 +80000f0c: fe068613 addi a2,a3,-32 +80000f10: 08c7f663 bleu a2,a5,80000f9c <memcpy+0xdc> +80000f14: 0005a383 lw t2,0(a1) +80000f18: 0045a283 lw t0,4(a1) +80000f1c: 0085af83 lw t6,8(a1) +80000f20: 00c5af03 lw t5,12(a1) +80000f24: 0105ae83 lw t4,16(a1) +80000f28: 0145ae03 lw t3,20(a1) +80000f2c: 0185a303 lw t1,24(a1) +80000f30: 01c5a883 lw a7,28(a1) +80000f34: 02458593 addi a1,a1,36 +80000f38: 02478793 addi a5,a5,36 +80000f3c: ffc5a803 lw a6,-4(a1) +80000f40: fc77ae23 sw t2,-36(a5) +80000f44: fe57a023 sw t0,-32(a5) +80000f48: fff7a223 sw t6,-28(a5) +80000f4c: ffe7a423 sw t5,-24(a5) +80000f50: ffd7a623 sw t4,-20(a5) +80000f54: ffc7a823 sw t3,-16(a5) +80000f58: fe67aa23 sw t1,-12(a5) +80000f5c: ff17ac23 sw a7,-8(a5) +80000f60: ff07ae23 sw a6,-4(a5) +80000f64: fadff06f j 80000f10 <memcpy+0x50> +80000f68: 0005c683 lbu a3,0(a1) +80000f6c: 00178793 addi a5,a5,1 +80000f70: 00158593 addi a1,a1,1 +80000f74: fed78fa3 sb a3,-1(a5) +80000f78: 0037f693 andi a3,a5,3 +80000f7c: fe0696e3 bnez a3,80000f68 <memcpy+0xa8> +80000f80: f89ff06f j 80000f08 <memcpy+0x48> +80000f84: 00050793 mv a5,a0 +80000f88: ff1ff06f j 80000f78 <memcpy+0xb8> +80000f8c: 0005a603 lw a2,0(a1) +80000f90: 00478793 addi a5,a5,4 +80000f94: 00458593 addi a1,a1,4 +80000f98: fec7ae23 sw a2,-4(a5) +80000f9c: fed7e8e3 bltu a5,a3,80000f8c <memcpy+0xcc> +80000fa0: f4e7eae3 bltu a5,a4,80000ef4 <memcpy+0x34> +80000fa4: 00008067 ret + +80000fa8 <strcmp>: +80000fa8: 00b56733 or a4,a0,a1 +80000fac: fff00393 li t2,-1 +80000fb0: 00377713 andi a4,a4,3 +80000fb4: 10071063 bnez a4,800010b4 <strcmp+0x10c> +80000fb8: 7f7f87b7 lui a5,0x7f7f8 +80000fbc: f7f78793 addi a5,a5,-129 # 7f7f7f7f <_stack_size+0x7f7f7b7f> +80000fc0: 00052603 lw a2,0(a0) +80000fc4: 0005a683 lw a3,0(a1) +80000fc8: 00f672b3 and t0,a2,a5 +80000fcc: 00f66333 or t1,a2,a5 +80000fd0: 00f282b3 add t0,t0,a5 +80000fd4: 0062e2b3 or t0,t0,t1 +80000fd8: 10729263 bne t0,t2,800010dc <strcmp+0x134> +80000fdc: 08d61663 bne a2,a3,80001068 <strcmp+0xc0> +80000fe0: 00452603 lw a2,4(a0) +80000fe4: 0045a683 lw a3,4(a1) +80000fe8: 00f672b3 and t0,a2,a5 +80000fec: 00f66333 or t1,a2,a5 +80000ff0: 00f282b3 add t0,t0,a5 +80000ff4: 0062e2b3 or t0,t0,t1 +80000ff8: 0c729e63 bne t0,t2,800010d4 <strcmp+0x12c> +80000ffc: 06d61663 bne a2,a3,80001068 <strcmp+0xc0> +80001000: 00852603 lw a2,8(a0) +80001004: 0085a683 lw a3,8(a1) +80001008: 00f672b3 and t0,a2,a5 +8000100c: 00f66333 or t1,a2,a5 +80001010: 00f282b3 add t0,t0,a5 +80001014: 0062e2b3 or t0,t0,t1 +80001018: 0c729863 bne t0,t2,800010e8 <strcmp+0x140> +8000101c: 04d61663 bne a2,a3,80001068 <strcmp+0xc0> +80001020: 00c52603 lw a2,12(a0) +80001024: 00c5a683 lw a3,12(a1) +80001028: 00f672b3 and t0,a2,a5 +8000102c: 00f66333 or t1,a2,a5 +80001030: 00f282b3 add t0,t0,a5 +80001034: 0062e2b3 or t0,t0,t1 +80001038: 0c729263 bne t0,t2,800010fc <strcmp+0x154> +8000103c: 02d61663 bne a2,a3,80001068 <strcmp+0xc0> +80001040: 01052603 lw a2,16(a0) +80001044: 0105a683 lw a3,16(a1) +80001048: 00f672b3 and t0,a2,a5 +8000104c: 00f66333 or t1,a2,a5 +80001050: 00f282b3 add t0,t0,a5 +80001054: 0062e2b3 or t0,t0,t1 +80001058: 0a729c63 bne t0,t2,80001110 <strcmp+0x168> +8000105c: 01450513 addi a0,a0,20 +80001060: 01458593 addi a1,a1,20 +80001064: f4d60ee3 beq a2,a3,80000fc0 <strcmp+0x18> +80001068: 01061713 slli a4,a2,0x10 +8000106c: 01069793 slli a5,a3,0x10 +80001070: 00f71e63 bne a4,a5,8000108c <strcmp+0xe4> +80001074: 01065713 srli a4,a2,0x10 +80001078: 0106d793 srli a5,a3,0x10 +8000107c: 40f70533 sub a0,a4,a5 +80001080: 0ff57593 andi a1,a0,255 +80001084: 02059063 bnez a1,800010a4 <strcmp+0xfc> +80001088: 00008067 ret +8000108c: 01075713 srli a4,a4,0x10 +80001090: 0107d793 srli a5,a5,0x10 +80001094: 40f70533 sub a0,a4,a5 +80001098: 0ff57593 andi a1,a0,255 +8000109c: 00059463 bnez a1,800010a4 <strcmp+0xfc> +800010a0: 00008067 ret +800010a4: 0ff77713 andi a4,a4,255 +800010a8: 0ff7f793 andi a5,a5,255 +800010ac: 40f70533 sub a0,a4,a5 +800010b0: 00008067 ret +800010b4: 00054603 lbu a2,0(a0) +800010b8: 0005c683 lbu a3,0(a1) +800010bc: 00150513 addi a0,a0,1 +800010c0: 00158593 addi a1,a1,1 +800010c4: 00d61463 bne a2,a3,800010cc <strcmp+0x124> +800010c8: fe0616e3 bnez a2,800010b4 <strcmp+0x10c> +800010cc: 40d60533 sub a0,a2,a3 +800010d0: 00008067 ret +800010d4: 00450513 addi a0,a0,4 +800010d8: 00458593 addi a1,a1,4 +800010dc: fcd61ce3 bne a2,a3,800010b4 <strcmp+0x10c> +800010e0: 00000513 li a0,0 +800010e4: 00008067 ret +800010e8: 00850513 addi a0,a0,8 +800010ec: 00858593 addi a1,a1,8 +800010f0: fcd612e3 bne a2,a3,800010b4 <strcmp+0x10c> +800010f4: 00000513 li a0,0 +800010f8: 00008067 ret +800010fc: 00c50513 addi a0,a0,12 +80001100: 00c58593 addi a1,a1,12 +80001104: fad618e3 bne a2,a3,800010b4 <strcmp+0x10c> +80001108: 00000513 li a0,0 +8000110c: 00008067 ret +80001110: 01050513 addi a0,a0,16 +80001114: 01058593 addi a1,a1,16 +80001118: f8d61ee3 bne a2,a3,800010b4 <strcmp+0x10c> +8000111c: 00000513 li a0,0 +80001120: 00008067 ret + +80001124 <__divdf3>: +80001124: fb010113 addi sp,sp,-80 +80001128: 04812423 sw s0,72(sp) +8000112c: 03412c23 sw s4,56(sp) +80001130: 00100437 lui s0,0x100 +80001134: 0145da13 srli s4,a1,0x14 +80001138: 05212023 sw s2,64(sp) +8000113c: 03312e23 sw s3,60(sp) +80001140: 03512a23 sw s5,52(sp) +80001144: 03812423 sw s8,40(sp) +80001148: fff40413 addi s0,s0,-1 # fffff <_stack_size+0xffbff> +8000114c: 04112623 sw ra,76(sp) +80001150: 04912223 sw s1,68(sp) +80001154: 03612823 sw s6,48(sp) +80001158: 03712623 sw s7,44(sp) +8000115c: 03912223 sw s9,36(sp) +80001160: 03a12023 sw s10,32(sp) +80001164: 01b12e23 sw s11,28(sp) +80001168: 7ffa7a13 andi s4,s4,2047 +8000116c: 00050913 mv s2,a0 +80001170: 00060c13 mv s8,a2 +80001174: 00068a93 mv s5,a3 +80001178: 00b47433 and s0,s0,a1 +8000117c: 01f5d993 srli s3,a1,0x1f +80001180: 0a0a0663 beqz s4,8000122c <__divdf3+0x108> +80001184: 7ff00793 li a5,2047 +80001188: 10fa0463 beq s4,a5,80001290 <__divdf3+0x16c> +8000118c: 00341413 slli s0,s0,0x3 +80001190: 008007b7 lui a5,0x800 +80001194: 00f46433 or s0,s0,a5 +80001198: 01d55b13 srli s6,a0,0x1d +8000119c: 008b6b33 or s6,s6,s0 +800011a0: 00351493 slli s1,a0,0x3 +800011a4: c01a0a13 addi s4,s4,-1023 +800011a8: 00000b93 li s7,0 +800011ac: 014ad513 srli a0,s5,0x14 +800011b0: 00100937 lui s2,0x100 +800011b4: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +800011b8: 7ff57513 andi a0,a0,2047 +800011bc: 01597933 and s2,s2,s5 +800011c0: 000c0593 mv a1,s8 +800011c4: 01fada93 srli s5,s5,0x1f +800011c8: 10050263 beqz a0,800012cc <__divdf3+0x1a8> +800011cc: 7ff00793 li a5,2047 +800011d0: 16f50263 beq a0,a5,80001334 <__divdf3+0x210> +800011d4: 00800437 lui s0,0x800 +800011d8: 00391913 slli s2,s2,0x3 +800011dc: 00896933 or s2,s2,s0 +800011e0: 01dc5413 srli s0,s8,0x1d +800011e4: 01246433 or s0,s0,s2 +800011e8: 003c1593 slli a1,s8,0x3 +800011ec: c0150513 addi a0,a0,-1023 +800011f0: 00000793 li a5,0 +800011f4: 002b9713 slli a4,s7,0x2 +800011f8: 00f76733 or a4,a4,a5 +800011fc: fff70713 addi a4,a4,-1 +80001200: 00e00693 li a3,14 +80001204: 0159c933 xor s2,s3,s5 +80001208: 40aa0a33 sub s4,s4,a0 +8000120c: 16e6e063 bltu a3,a4,8000136c <__divdf3+0x248> +80001210: 00002697 auipc a3,0x2 +80001214: 4dc68693 addi a3,a3,1244 # 800036ec <end+0x5ec> +80001218: 00271713 slli a4,a4,0x2 +8000121c: 00d70733 add a4,a4,a3 +80001220: 00072703 lw a4,0(a4) +80001224: 00d70733 add a4,a4,a3 +80001228: 00070067 jr a4 +8000122c: 00a46b33 or s6,s0,a0 +80001230: 060b0e63 beqz s6,800012ac <__divdf3+0x188> +80001234: 04040063 beqz s0,80001274 <__divdf3+0x150> +80001238: 00040513 mv a0,s0 +8000123c: 679010ef jal ra,800030b4 <__clzsi2> +80001240: ff550793 addi a5,a0,-11 +80001244: 01c00713 li a4,28 +80001248: 02f74c63 blt a4,a5,80001280 <__divdf3+0x15c> +8000124c: 01d00b13 li s6,29 +80001250: ff850493 addi s1,a0,-8 +80001254: 40fb0b33 sub s6,s6,a5 +80001258: 00941433 sll s0,s0,s1 +8000125c: 01695b33 srl s6,s2,s6 +80001260: 008b6b33 or s6,s6,s0 +80001264: 009914b3 sll s1,s2,s1 +80001268: c0d00a13 li s4,-1011 +8000126c: 40aa0a33 sub s4,s4,a0 +80001270: f39ff06f j 800011a8 <__divdf3+0x84> +80001274: 641010ef jal ra,800030b4 <__clzsi2> +80001278: 02050513 addi a0,a0,32 +8000127c: fc5ff06f j 80001240 <__divdf3+0x11c> +80001280: fd850413 addi s0,a0,-40 +80001284: 00891b33 sll s6,s2,s0 +80001288: 00000493 li s1,0 +8000128c: fddff06f j 80001268 <__divdf3+0x144> +80001290: 00a46b33 or s6,s0,a0 +80001294: 020b0463 beqz s6,800012bc <__divdf3+0x198> +80001298: 00050493 mv s1,a0 +8000129c: 00040b13 mv s6,s0 +800012a0: 7ff00a13 li s4,2047 +800012a4: 00300b93 li s7,3 +800012a8: f05ff06f j 800011ac <__divdf3+0x88> +800012ac: 00000493 li s1,0 +800012b0: 00000a13 li s4,0 +800012b4: 00100b93 li s7,1 +800012b8: ef5ff06f j 800011ac <__divdf3+0x88> +800012bc: 00000493 li s1,0 +800012c0: 7ff00a13 li s4,2047 +800012c4: 00200b93 li s7,2 +800012c8: ee5ff06f j 800011ac <__divdf3+0x88> +800012cc: 01896433 or s0,s2,s8 +800012d0: 06040e63 beqz s0,8000134c <__divdf3+0x228> +800012d4: 04090063 beqz s2,80001314 <__divdf3+0x1f0> +800012d8: 00090513 mv a0,s2 +800012dc: 5d9010ef jal ra,800030b4 <__clzsi2> +800012e0: ff550793 addi a5,a0,-11 +800012e4: 01c00713 li a4,28 +800012e8: 02f74e63 blt a4,a5,80001324 <__divdf3+0x200> +800012ec: 01d00413 li s0,29 +800012f0: ff850593 addi a1,a0,-8 +800012f4: 40f40433 sub s0,s0,a5 +800012f8: 00b91933 sll s2,s2,a1 +800012fc: 008c5433 srl s0,s8,s0 +80001300: 01246433 or s0,s0,s2 +80001304: 00bc15b3 sll a1,s8,a1 +80001308: c0d00713 li a4,-1011 +8000130c: 40a70533 sub a0,a4,a0 +80001310: ee1ff06f j 800011f0 <__divdf3+0xcc> +80001314: 000c0513 mv a0,s8 +80001318: 59d010ef jal ra,800030b4 <__clzsi2> +8000131c: 02050513 addi a0,a0,32 +80001320: fc1ff06f j 800012e0 <__divdf3+0x1bc> +80001324: fd850413 addi s0,a0,-40 +80001328: 008c1433 sll s0,s8,s0 +8000132c: 00000593 li a1,0 +80001330: fd9ff06f j 80001308 <__divdf3+0x1e4> +80001334: 01896433 or s0,s2,s8 +80001338: 02040263 beqz s0,8000135c <__divdf3+0x238> +8000133c: 00090413 mv s0,s2 +80001340: 7ff00513 li a0,2047 +80001344: 00300793 li a5,3 +80001348: eadff06f j 800011f4 <__divdf3+0xd0> +8000134c: 00000593 li a1,0 +80001350: 00000513 li a0,0 +80001354: 00100793 li a5,1 +80001358: e9dff06f j 800011f4 <__divdf3+0xd0> +8000135c: 00000593 li a1,0 +80001360: 7ff00513 li a0,2047 +80001364: 00200793 li a5,2 +80001368: e8dff06f j 800011f4 <__divdf3+0xd0> +8000136c: 01646663 bltu s0,s6,80001378 <__divdf3+0x254> +80001370: 488b1263 bne s6,s0,800017f4 <__divdf3+0x6d0> +80001374: 48b4e063 bltu s1,a1,800017f4 <__divdf3+0x6d0> +80001378: 01fb1693 slli a3,s6,0x1f +8000137c: 0014d713 srli a4,s1,0x1 +80001380: 01f49c13 slli s8,s1,0x1f +80001384: 001b5b13 srli s6,s6,0x1 +80001388: 00e6e4b3 or s1,a3,a4 +8000138c: 00841413 slli s0,s0,0x8 +80001390: 0185dc93 srli s9,a1,0x18 +80001394: 008cecb3 or s9,s9,s0 +80001398: 010cda93 srli s5,s9,0x10 +8000139c: 010c9793 slli a5,s9,0x10 +800013a0: 0107d793 srli a5,a5,0x10 +800013a4: 00859d13 slli s10,a1,0x8 +800013a8: 000b0513 mv a0,s6 +800013ac: 000a8593 mv a1,s5 +800013b0: 00f12223 sw a5,4(sp) +800013b4: 455010ef jal ra,80003008 <__udivsi3> +800013b8: 00050593 mv a1,a0 +800013bc: 00050b93 mv s7,a0 +800013c0: 010c9513 slli a0,s9,0x10 +800013c4: 01055513 srli a0,a0,0x10 +800013c8: 415010ef jal ra,80002fdc <__mulsi3> +800013cc: 00050413 mv s0,a0 +800013d0: 000a8593 mv a1,s5 +800013d4: 000b0513 mv a0,s6 +800013d8: 479010ef jal ra,80003050 <__umodsi3> +800013dc: 01051513 slli a0,a0,0x10 +800013e0: 0104d713 srli a4,s1,0x10 +800013e4: 00a76533 or a0,a4,a0 +800013e8: 000b8993 mv s3,s7 +800013ec: 00857e63 bleu s0,a0,80001408 <__divdf3+0x2e4> +800013f0: 01950533 add a0,a0,s9 +800013f4: fffb8993 addi s3,s7,-1 +800013f8: 01956863 bltu a0,s9,80001408 <__divdf3+0x2e4> +800013fc: 00857663 bleu s0,a0,80001408 <__divdf3+0x2e4> +80001400: ffeb8993 addi s3,s7,-2 +80001404: 01950533 add a0,a0,s9 +80001408: 40850433 sub s0,a0,s0 +8000140c: 000a8593 mv a1,s5 +80001410: 00040513 mv a0,s0 +80001414: 3f5010ef jal ra,80003008 <__udivsi3> +80001418: 00050593 mv a1,a0 +8000141c: 00050b93 mv s7,a0 +80001420: 010c9513 slli a0,s9,0x10 +80001424: 01055513 srli a0,a0,0x10 +80001428: 3b5010ef jal ra,80002fdc <__mulsi3> +8000142c: 00050b13 mv s6,a0 +80001430: 000a8593 mv a1,s5 +80001434: 00040513 mv a0,s0 +80001438: 419010ef jal ra,80003050 <__umodsi3> +8000143c: 01049d93 slli s11,s1,0x10 +80001440: 01051513 slli a0,a0,0x10 +80001444: 010ddd93 srli s11,s11,0x10 +80001448: 00adedb3 or s11,s11,a0 +8000144c: 000b8713 mv a4,s7 +80001450: 016dfe63 bleu s6,s11,8000146c <__divdf3+0x348> +80001454: 019d8db3 add s11,s11,s9 +80001458: fffb8713 addi a4,s7,-1 +8000145c: 019de863 bltu s11,s9,8000146c <__divdf3+0x348> +80001460: 016df663 bleu s6,s11,8000146c <__divdf3+0x348> +80001464: ffeb8713 addi a4,s7,-2 +80001468: 019d8db3 add s11,s11,s9 +8000146c: 01099693 slli a3,s3,0x10 +80001470: 000104b7 lui s1,0x10 +80001474: 00e6e6b3 or a3,a3,a4 +80001478: 416d8db3 sub s11,s11,s6 +8000147c: fff48b13 addi s6,s1,-1 # ffff <_stack_size+0xfbff> +80001480: 0166f733 and a4,a3,s6 +80001484: 016d7b33 and s6,s10,s6 +80001488: 00070513 mv a0,a4 +8000148c: 000b0593 mv a1,s6 +80001490: 0106d413 srli s0,a3,0x10 +80001494: 00d12623 sw a3,12(sp) +80001498: 00e12423 sw a4,8(sp) +8000149c: 341010ef jal ra,80002fdc <__mulsi3> +800014a0: 00a12223 sw a0,4(sp) +800014a4: 000b0593 mv a1,s6 +800014a8: 00040513 mv a0,s0 +800014ac: 331010ef jal ra,80002fdc <__mulsi3> +800014b0: 010d5b93 srli s7,s10,0x10 +800014b4: 00050993 mv s3,a0 +800014b8: 000b8593 mv a1,s7 +800014bc: 00040513 mv a0,s0 +800014c0: 31d010ef jal ra,80002fdc <__mulsi3> +800014c4: 00812703 lw a4,8(sp) +800014c8: 00050413 mv s0,a0 +800014cc: 000b8513 mv a0,s7 +800014d0: 00070593 mv a1,a4 +800014d4: 309010ef jal ra,80002fdc <__mulsi3> +800014d8: 00412603 lw a2,4(sp) +800014dc: 01350533 add a0,a0,s3 +800014e0: 00c12683 lw a3,12(sp) +800014e4: 01065713 srli a4,a2,0x10 +800014e8: 00a70733 add a4,a4,a0 +800014ec: 01377463 bleu s3,a4,800014f4 <__divdf3+0x3d0> +800014f0: 00940433 add s0,s0,s1 +800014f4: 00010537 lui a0,0x10 +800014f8: fff50513 addi a0,a0,-1 # ffff <_stack_size+0xfbff> +800014fc: 01075493 srli s1,a4,0x10 +80001500: 00a779b3 and s3,a4,a0 +80001504: 01099993 slli s3,s3,0x10 +80001508: 00a67633 and a2,a2,a0 +8000150c: 008484b3 add s1,s1,s0 +80001510: 00c989b3 add s3,s3,a2 +80001514: 009de863 bltu s11,s1,80001524 <__divdf3+0x400> +80001518: 00068413 mv s0,a3 +8000151c: 049d9463 bne s11,s1,80001564 <__divdf3+0x440> +80001520: 053c7263 bleu s3,s8,80001564 <__divdf3+0x440> +80001524: 01ac0c33 add s8,s8,s10 +80001528: 01ac3733 sltu a4,s8,s10 +8000152c: 01970733 add a4,a4,s9 +80001530: 00ed8db3 add s11,s11,a4 +80001534: fff68413 addi s0,a3,-1 +80001538: 01bce663 bltu s9,s11,80001544 <__divdf3+0x420> +8000153c: 03bc9463 bne s9,s11,80001564 <__divdf3+0x440> +80001540: 03ac6263 bltu s8,s10,80001564 <__divdf3+0x440> +80001544: 009de663 bltu s11,s1,80001550 <__divdf3+0x42c> +80001548: 01b49e63 bne s1,s11,80001564 <__divdf3+0x440> +8000154c: 013c7c63 bleu s3,s8,80001564 <__divdf3+0x440> +80001550: 01ac0c33 add s8,s8,s10 +80001554: 01ac3733 sltu a4,s8,s10 +80001558: 01970733 add a4,a4,s9 +8000155c: ffe68413 addi s0,a3,-2 +80001560: 00ed8db3 add s11,s11,a4 +80001564: 413c09b3 sub s3,s8,s3 +80001568: 409d84b3 sub s1,s11,s1 +8000156c: 013c37b3 sltu a5,s8,s3 +80001570: 40f484b3 sub s1,s1,a5 +80001574: fff00593 li a1,-1 +80001578: 1a9c8863 beq s9,s1,80001728 <__divdf3+0x604> +8000157c: 000a8593 mv a1,s5 +80001580: 00048513 mv a0,s1 +80001584: 285010ef jal ra,80003008 <__udivsi3> +80001588: 00050593 mv a1,a0 +8000158c: 00a12423 sw a0,8(sp) +80001590: 010c9513 slli a0,s9,0x10 +80001594: 01055513 srli a0,a0,0x10 +80001598: 245010ef jal ra,80002fdc <__mulsi3> +8000159c: 00a12223 sw a0,4(sp) +800015a0: 000a8593 mv a1,s5 +800015a4: 00048513 mv a0,s1 +800015a8: 2a9010ef jal ra,80003050 <__umodsi3> +800015ac: 00812683 lw a3,8(sp) +800015b0: 00412703 lw a4,4(sp) +800015b4: 01051513 slli a0,a0,0x10 +800015b8: 0109d793 srli a5,s3,0x10 +800015bc: 00a7e533 or a0,a5,a0 +800015c0: 00068d93 mv s11,a3 +800015c4: 00e57e63 bleu a4,a0,800015e0 <__divdf3+0x4bc> +800015c8: 01950533 add a0,a0,s9 +800015cc: fff68d93 addi s11,a3,-1 +800015d0: 01956863 bltu a0,s9,800015e0 <__divdf3+0x4bc> +800015d4: 00e57663 bleu a4,a0,800015e0 <__divdf3+0x4bc> +800015d8: ffe68d93 addi s11,a3,-2 +800015dc: 01950533 add a0,a0,s9 +800015e0: 40e504b3 sub s1,a0,a4 +800015e4: 000a8593 mv a1,s5 +800015e8: 00048513 mv a0,s1 +800015ec: 21d010ef jal ra,80003008 <__udivsi3> +800015f0: 00050593 mv a1,a0 +800015f4: 00a12223 sw a0,4(sp) +800015f8: 010c9513 slli a0,s9,0x10 +800015fc: 01055513 srli a0,a0,0x10 +80001600: 1dd010ef jal ra,80002fdc <__mulsi3> +80001604: 00050c13 mv s8,a0 +80001608: 000a8593 mv a1,s5 +8000160c: 00048513 mv a0,s1 +80001610: 241010ef jal ra,80003050 <__umodsi3> +80001614: 01099993 slli s3,s3,0x10 +80001618: 00412703 lw a4,4(sp) +8000161c: 01051513 slli a0,a0,0x10 +80001620: 0109d993 srli s3,s3,0x10 +80001624: 00a9e533 or a0,s3,a0 +80001628: 00070793 mv a5,a4 +8000162c: 01857e63 bleu s8,a0,80001648 <__divdf3+0x524> +80001630: 01950533 add a0,a0,s9 +80001634: fff70793 addi a5,a4,-1 +80001638: 01956863 bltu a0,s9,80001648 <__divdf3+0x524> +8000163c: 01857663 bleu s8,a0,80001648 <__divdf3+0x524> +80001640: ffe70793 addi a5,a4,-2 +80001644: 01950533 add a0,a0,s9 +80001648: 010d9493 slli s1,s11,0x10 +8000164c: 00f4e4b3 or s1,s1,a5 +80001650: 01049793 slli a5,s1,0x10 +80001654: 0107d793 srli a5,a5,0x10 +80001658: 000b0593 mv a1,s6 +8000165c: 418509b3 sub s3,a0,s8 +80001660: 00078513 mv a0,a5 +80001664: 00f12223 sw a5,4(sp) +80001668: 0104dd93 srli s11,s1,0x10 +8000166c: 171010ef jal ra,80002fdc <__mulsi3> +80001670: 000b0593 mv a1,s6 +80001674: 00050a93 mv s5,a0 +80001678: 000d8513 mv a0,s11 +8000167c: 161010ef jal ra,80002fdc <__mulsi3> +80001680: 00050c13 mv s8,a0 +80001684: 000d8593 mv a1,s11 +80001688: 000b8513 mv a0,s7 +8000168c: 151010ef jal ra,80002fdc <__mulsi3> +80001690: 00412783 lw a5,4(sp) +80001694: 00050b13 mv s6,a0 +80001698: 000b8513 mv a0,s7 +8000169c: 00078593 mv a1,a5 +800016a0: 13d010ef jal ra,80002fdc <__mulsi3> +800016a4: 01850533 add a0,a0,s8 +800016a8: 010ad793 srli a5,s5,0x10 +800016ac: 00a78533 add a0,a5,a0 +800016b0: 01857663 bleu s8,a0,800016bc <__divdf3+0x598> +800016b4: 000107b7 lui a5,0x10 +800016b8: 00fb0b33 add s6,s6,a5 +800016bc: 000106b7 lui a3,0x10 +800016c0: fff68693 addi a3,a3,-1 # ffff <_stack_size+0xfbff> +800016c4: 01055793 srli a5,a0,0x10 +800016c8: 00d57733 and a4,a0,a3 +800016cc: 01071713 slli a4,a4,0x10 +800016d0: 00dafab3 and s5,s5,a3 +800016d4: 016787b3 add a5,a5,s6 +800016d8: 01570733 add a4,a4,s5 +800016dc: 00f9e863 bltu s3,a5,800016ec <__divdf3+0x5c8> +800016e0: 00048593 mv a1,s1 +800016e4: 04f99063 bne s3,a5,80001724 <__divdf3+0x600> +800016e8: 04070063 beqz a4,80001728 <__divdf3+0x604> +800016ec: 013c8533 add a0,s9,s3 +800016f0: fff48593 addi a1,s1,-1 +800016f4: 03956463 bltu a0,s9,8000171c <__divdf3+0x5f8> +800016f8: 00f56663 bltu a0,a5,80001704 <__divdf3+0x5e0> +800016fc: 02f51463 bne a0,a5,80001724 <__divdf3+0x600> +80001700: 02ed7063 bleu a4,s10,80001720 <__divdf3+0x5fc> +80001704: 001d1693 slli a3,s10,0x1 +80001708: 01a6bd33 sltu s10,a3,s10 +8000170c: 019d0cb3 add s9,s10,s9 +80001710: ffe48593 addi a1,s1,-2 +80001714: 01950533 add a0,a0,s9 +80001718: 00068d13 mv s10,a3 +8000171c: 00f51463 bne a0,a5,80001724 <__divdf3+0x600> +80001720: 01a70463 beq a4,s10,80001728 <__divdf3+0x604> +80001724: 0015e593 ori a1,a1,1 +80001728: 3ffa0713 addi a4,s4,1023 +8000172c: 12e05263 blez a4,80001850 <__divdf3+0x72c> +80001730: 0075f793 andi a5,a1,7 +80001734: 02078063 beqz a5,80001754 <__divdf3+0x630> +80001738: 00f5f793 andi a5,a1,15 +8000173c: 00400693 li a3,4 +80001740: 00d78a63 beq a5,a3,80001754 <__divdf3+0x630> +80001744: 00458693 addi a3,a1,4 +80001748: 00b6b5b3 sltu a1,a3,a1 +8000174c: 00b40433 add s0,s0,a1 +80001750: 00068593 mv a1,a3 +80001754: 00741793 slli a5,s0,0x7 +80001758: 0007da63 bgez a5,8000176c <__divdf3+0x648> +8000175c: ff0007b7 lui a5,0xff000 +80001760: fff78793 addi a5,a5,-1 # feffffff <_stack_start+0x7eff96ef> +80001764: 00f47433 and s0,s0,a5 +80001768: 400a0713 addi a4,s4,1024 +8000176c: 7fe00793 li a5,2046 +80001770: 1ae7c263 blt a5,a4,80001914 <__divdf3+0x7f0> +80001774: 01d41793 slli a5,s0,0x1d +80001778: 0035d593 srli a1,a1,0x3 +8000177c: 00b7e7b3 or a5,a5,a1 +80001780: 00345413 srli s0,s0,0x3 +80001784: 001006b7 lui a3,0x100 +80001788: fff68693 addi a3,a3,-1 # fffff <_stack_size+0xffbff> +8000178c: 00d47433 and s0,s0,a3 +80001790: 801006b7 lui a3,0x80100 +80001794: 7ff77713 andi a4,a4,2047 +80001798: fff68693 addi a3,a3,-1 # 800fffff <_stack_start+0xf96ef> +8000179c: 01471713 slli a4,a4,0x14 +800017a0: 00d47433 and s0,s0,a3 +800017a4: 01f91913 slli s2,s2,0x1f +800017a8: 00e46433 or s0,s0,a4 +800017ac: 01246733 or a4,s0,s2 +800017b0: 04c12083 lw ra,76(sp) +800017b4: 04812403 lw s0,72(sp) +800017b8: 04412483 lw s1,68(sp) +800017bc: 04012903 lw s2,64(sp) +800017c0: 03c12983 lw s3,60(sp) +800017c4: 03812a03 lw s4,56(sp) +800017c8: 03412a83 lw s5,52(sp) +800017cc: 03012b03 lw s6,48(sp) +800017d0: 02c12b83 lw s7,44(sp) +800017d4: 02812c03 lw s8,40(sp) +800017d8: 02412c83 lw s9,36(sp) +800017dc: 02012d03 lw s10,32(sp) +800017e0: 01c12d83 lw s11,28(sp) +800017e4: 00078513 mv a0,a5 +800017e8: 00070593 mv a1,a4 +800017ec: 05010113 addi sp,sp,80 +800017f0: 00008067 ret +800017f4: fffa0a13 addi s4,s4,-1 +800017f8: 00000c13 li s8,0 +800017fc: b91ff06f j 8000138c <__divdf3+0x268> +80001800: 00098913 mv s2,s3 +80001804: 000b0413 mv s0,s6 +80001808: 00048593 mv a1,s1 +8000180c: 000b8793 mv a5,s7 +80001810: 00200713 li a4,2 +80001814: 10e78063 beq a5,a4,80001914 <__divdf3+0x7f0> +80001818: 00300713 li a4,3 +8000181c: 0ee78263 beq a5,a4,80001900 <__divdf3+0x7dc> +80001820: 00100713 li a4,1 +80001824: f0e792e3 bne a5,a4,80001728 <__divdf3+0x604> +80001828: 00000413 li s0,0 +8000182c: 00000793 li a5,0 +80001830: 0940006f j 800018c4 <__divdf3+0x7a0> +80001834: 000a8913 mv s2,s5 +80001838: fd9ff06f j 80001810 <__divdf3+0x6ec> +8000183c: 00080437 lui s0,0x80 +80001840: 00000593 li a1,0 +80001844: 00000913 li s2,0 +80001848: 00300793 li a5,3 +8000184c: fc5ff06f j 80001810 <__divdf3+0x6ec> +80001850: 00100693 li a3,1 +80001854: 40e686b3 sub a3,a3,a4 +80001858: 03800793 li a5,56 +8000185c: fcd7c6e3 blt a5,a3,80001828 <__divdf3+0x704> +80001860: 01f00793 li a5,31 +80001864: 06d7c463 blt a5,a3,800018cc <__divdf3+0x7a8> +80001868: 41ea0a13 addi s4,s4,1054 +8000186c: 014417b3 sll a5,s0,s4 +80001870: 00d5d733 srl a4,a1,a3 +80001874: 01459a33 sll s4,a1,s4 +80001878: 00e7e7b3 or a5,a5,a4 +8000187c: 01403a33 snez s4,s4 +80001880: 0147e7b3 or a5,a5,s4 +80001884: 00d45433 srl s0,s0,a3 +80001888: 0077f713 andi a4,a5,7 +8000188c: 02070063 beqz a4,800018ac <__divdf3+0x788> +80001890: 00f7f713 andi a4,a5,15 +80001894: 00400693 li a3,4 +80001898: 00d70a63 beq a4,a3,800018ac <__divdf3+0x788> +8000189c: 00478713 addi a4,a5,4 +800018a0: 00f737b3 sltu a5,a4,a5 +800018a4: 00f40433 add s0,s0,a5 +800018a8: 00070793 mv a5,a4 +800018ac: 00841713 slli a4,s0,0x8 +800018b0: 06074a63 bltz a4,80001924 <__divdf3+0x800> +800018b4: 01d41713 slli a4,s0,0x1d +800018b8: 0037d793 srli a5,a5,0x3 +800018bc: 00f767b3 or a5,a4,a5 +800018c0: 00345413 srli s0,s0,0x3 +800018c4: 00000713 li a4,0 +800018c8: ebdff06f j 80001784 <__divdf3+0x660> +800018cc: fe100793 li a5,-31 +800018d0: 40e787b3 sub a5,a5,a4 +800018d4: 02000713 li a4,32 +800018d8: 00f457b3 srl a5,s0,a5 +800018dc: 00000513 li a0,0 +800018e0: 00e68663 beq a3,a4,800018ec <__divdf3+0x7c8> +800018e4: 43ea0a13 addi s4,s4,1086 +800018e8: 01441533 sll a0,s0,s4 +800018ec: 00b56a33 or s4,a0,a1 +800018f0: 01403a33 snez s4,s4 +800018f4: 0147e7b3 or a5,a5,s4 +800018f8: 00000413 li s0,0 +800018fc: f8dff06f j 80001888 <__divdf3+0x764> +80001900: 00080437 lui s0,0x80 +80001904: 00000793 li a5,0 +80001908: 7ff00713 li a4,2047 +8000190c: 00000913 li s2,0 +80001910: e75ff06f j 80001784 <__divdf3+0x660> +80001914: 00000413 li s0,0 +80001918: 00000793 li a5,0 +8000191c: 7ff00713 li a4,2047 +80001920: e65ff06f j 80001784 <__divdf3+0x660> +80001924: 00000413 li s0,0 +80001928: 00000793 li a5,0 +8000192c: 00100713 li a4,1 +80001930: e55ff06f j 80001784 <__divdf3+0x660> + +80001934 <__muldf3>: +80001934: fa010113 addi sp,sp,-96 +80001938: 04812c23 sw s0,88(sp) +8000193c: 05312623 sw s3,76(sp) +80001940: 00100437 lui s0,0x100 +80001944: 0145d993 srli s3,a1,0x14 +80001948: 04912a23 sw s1,84(sp) +8000194c: 05612023 sw s6,64(sp) +80001950: 03712e23 sw s7,60(sp) +80001954: 03812c23 sw s8,56(sp) +80001958: fff40413 addi s0,s0,-1 # fffff <_stack_size+0xffbff> +8000195c: 04112e23 sw ra,92(sp) +80001960: 05212823 sw s2,80(sp) +80001964: 05412423 sw s4,72(sp) +80001968: 05512223 sw s5,68(sp) +8000196c: 03912a23 sw s9,52(sp) +80001970: 03a12823 sw s10,48(sp) +80001974: 03b12623 sw s11,44(sp) +80001978: 7ff9f993 andi s3,s3,2047 +8000197c: 00050493 mv s1,a0 +80001980: 00060b93 mv s7,a2 +80001984: 00068c13 mv s8,a3 +80001988: 00b47433 and s0,s0,a1 +8000198c: 01f5db13 srli s6,a1,0x1f +80001990: 0a098863 beqz s3,80001a40 <__muldf3+0x10c> +80001994: 7ff00793 li a5,2047 +80001998: 10f98663 beq s3,a5,80001aa4 <__muldf3+0x170> +8000199c: 00800937 lui s2,0x800 +800019a0: 00341413 slli s0,s0,0x3 +800019a4: 01246433 or s0,s0,s2 +800019a8: 01d55913 srli s2,a0,0x1d +800019ac: 00896933 or s2,s2,s0 +800019b0: 00351d13 slli s10,a0,0x3 +800019b4: c0198993 addi s3,s3,-1023 +800019b8: 00000c93 li s9,0 +800019bc: 014c5513 srli a0,s8,0x14 +800019c0: 00100a37 lui s4,0x100 +800019c4: fffa0a13 addi s4,s4,-1 # fffff <_stack_size+0xffbff> +800019c8: 7ff57513 andi a0,a0,2047 +800019cc: 018a7a33 and s4,s4,s8 +800019d0: 000b8493 mv s1,s7 +800019d4: 01fc5c13 srli s8,s8,0x1f +800019d8: 10050463 beqz a0,80001ae0 <__muldf3+0x1ac> +800019dc: 7ff00793 li a5,2047 +800019e0: 16f50463 beq a0,a5,80001b48 <__muldf3+0x214> +800019e4: 00800437 lui s0,0x800 +800019e8: 003a1a13 slli s4,s4,0x3 +800019ec: 008a6a33 or s4,s4,s0 +800019f0: 01dbd413 srli s0,s7,0x1d +800019f4: 01446433 or s0,s0,s4 +800019f8: 003b9493 slli s1,s7,0x3 +800019fc: c0150513 addi a0,a0,-1023 +80001a00: 00000793 li a5,0 +80001a04: 002c9713 slli a4,s9,0x2 +80001a08: 00f76733 or a4,a4,a5 +80001a0c: 00a989b3 add s3,s3,a0 +80001a10: fff70713 addi a4,a4,-1 +80001a14: 00e00693 li a3,14 +80001a18: 018b4bb3 xor s7,s6,s8 +80001a1c: 00198a93 addi s5,s3,1 +80001a20: 16e6e063 bltu a3,a4,80001b80 <__muldf3+0x24c> +80001a24: 00002697 auipc a3,0x2 +80001a28: d0468693 addi a3,a3,-764 # 80003728 <end+0x628> +80001a2c: 00271713 slli a4,a4,0x2 +80001a30: 00d70733 add a4,a4,a3 +80001a34: 00072703 lw a4,0(a4) +80001a38: 00d70733 add a4,a4,a3 +80001a3c: 00070067 jr a4 +80001a40: 00a46933 or s2,s0,a0 +80001a44: 06090e63 beqz s2,80001ac0 <__muldf3+0x18c> +80001a48: 04040063 beqz s0,80001a88 <__muldf3+0x154> +80001a4c: 00040513 mv a0,s0 +80001a50: 664010ef jal ra,800030b4 <__clzsi2> +80001a54: ff550793 addi a5,a0,-11 +80001a58: 01c00713 li a4,28 +80001a5c: 02f74c63 blt a4,a5,80001a94 <__muldf3+0x160> +80001a60: 01d00913 li s2,29 +80001a64: ff850d13 addi s10,a0,-8 +80001a68: 40f90933 sub s2,s2,a5 +80001a6c: 01a41433 sll s0,s0,s10 +80001a70: 0124d933 srl s2,s1,s2 +80001a74: 00896933 or s2,s2,s0 +80001a78: 01a49d33 sll s10,s1,s10 +80001a7c: c0d00993 li s3,-1011 +80001a80: 40a989b3 sub s3,s3,a0 +80001a84: f35ff06f j 800019b8 <__muldf3+0x84> +80001a88: 62c010ef jal ra,800030b4 <__clzsi2> +80001a8c: 02050513 addi a0,a0,32 +80001a90: fc5ff06f j 80001a54 <__muldf3+0x120> +80001a94: fd850913 addi s2,a0,-40 +80001a98: 01249933 sll s2,s1,s2 +80001a9c: 00000d13 li s10,0 +80001aa0: fddff06f j 80001a7c <__muldf3+0x148> +80001aa4: 00a46933 or s2,s0,a0 +80001aa8: 02090463 beqz s2,80001ad0 <__muldf3+0x19c> +80001aac: 00050d13 mv s10,a0 +80001ab0: 00040913 mv s2,s0 +80001ab4: 7ff00993 li s3,2047 +80001ab8: 00300c93 li s9,3 +80001abc: f01ff06f j 800019bc <__muldf3+0x88> +80001ac0: 00000d13 li s10,0 +80001ac4: 00000993 li s3,0 +80001ac8: 00100c93 li s9,1 +80001acc: ef1ff06f j 800019bc <__muldf3+0x88> +80001ad0: 00000d13 li s10,0 +80001ad4: 7ff00993 li s3,2047 +80001ad8: 00200c93 li s9,2 +80001adc: ee1ff06f j 800019bc <__muldf3+0x88> +80001ae0: 017a6433 or s0,s4,s7 +80001ae4: 06040e63 beqz s0,80001b60 <__muldf3+0x22c> +80001ae8: 040a0063 beqz s4,80001b28 <__muldf3+0x1f4> +80001aec: 000a0513 mv a0,s4 +80001af0: 5c4010ef jal ra,800030b4 <__clzsi2> +80001af4: ff550793 addi a5,a0,-11 +80001af8: 01c00713 li a4,28 +80001afc: 02f74e63 blt a4,a5,80001b38 <__muldf3+0x204> +80001b00: 01d00413 li s0,29 +80001b04: ff850493 addi s1,a0,-8 +80001b08: 40f40433 sub s0,s0,a5 +80001b0c: 009a1a33 sll s4,s4,s1 +80001b10: 008bd433 srl s0,s7,s0 +80001b14: 01446433 or s0,s0,s4 +80001b18: 009b94b3 sll s1,s7,s1 +80001b1c: c0d00793 li a5,-1011 +80001b20: 40a78533 sub a0,a5,a0 +80001b24: eddff06f j 80001a00 <__muldf3+0xcc> +80001b28: 000b8513 mv a0,s7 +80001b2c: 588010ef jal ra,800030b4 <__clzsi2> +80001b30: 02050513 addi a0,a0,32 +80001b34: fc1ff06f j 80001af4 <__muldf3+0x1c0> +80001b38: fd850413 addi s0,a0,-40 +80001b3c: 008b9433 sll s0,s7,s0 +80001b40: 00000493 li s1,0 +80001b44: fd9ff06f j 80001b1c <__muldf3+0x1e8> +80001b48: 017a6433 or s0,s4,s7 +80001b4c: 02040263 beqz s0,80001b70 <__muldf3+0x23c> +80001b50: 000a0413 mv s0,s4 +80001b54: 7ff00513 li a0,2047 +80001b58: 00300793 li a5,3 +80001b5c: ea9ff06f j 80001a04 <__muldf3+0xd0> +80001b60: 00000493 li s1,0 +80001b64: 00000513 li a0,0 +80001b68: 00100793 li a5,1 +80001b6c: e99ff06f j 80001a04 <__muldf3+0xd0> +80001b70: 00000493 li s1,0 +80001b74: 7ff00513 li a0,2047 +80001b78: 00200793 li a5,2 +80001b7c: e89ff06f j 80001a04 <__muldf3+0xd0> +80001b80: 00010737 lui a4,0x10 +80001b84: fff70a13 addi s4,a4,-1 # ffff <_stack_size+0xfbff> +80001b88: 010d5c13 srli s8,s10,0x10 +80001b8c: 0104dd93 srli s11,s1,0x10 +80001b90: 014d7d33 and s10,s10,s4 +80001b94: 0144f4b3 and s1,s1,s4 +80001b98: 000d0593 mv a1,s10 +80001b9c: 00048513 mv a0,s1 +80001ba0: 00e12823 sw a4,16(sp) +80001ba4: 438010ef jal ra,80002fdc <__mulsi3> +80001ba8: 00050c93 mv s9,a0 +80001bac: 00048593 mv a1,s1 +80001bb0: 000c0513 mv a0,s8 +80001bb4: 428010ef jal ra,80002fdc <__mulsi3> +80001bb8: 00a12623 sw a0,12(sp) +80001bbc: 000d8593 mv a1,s11 +80001bc0: 000c0513 mv a0,s8 +80001bc4: 418010ef jal ra,80002fdc <__mulsi3> +80001bc8: 00050b13 mv s6,a0 +80001bcc: 000d0593 mv a1,s10 +80001bd0: 000d8513 mv a0,s11 +80001bd4: 408010ef jal ra,80002fdc <__mulsi3> +80001bd8: 00c12683 lw a3,12(sp) +80001bdc: 010cd793 srli a5,s9,0x10 +80001be0: 00d50533 add a0,a0,a3 +80001be4: 00a78533 add a0,a5,a0 +80001be8: 00d57663 bleu a3,a0,80001bf4 <__muldf3+0x2c0> +80001bec: 01012703 lw a4,16(sp) +80001bf0: 00eb0b33 add s6,s6,a4 +80001bf4: 01055693 srli a3,a0,0x10 +80001bf8: 01457533 and a0,a0,s4 +80001bfc: 014cfcb3 and s9,s9,s4 +80001c00: 01051513 slli a0,a0,0x10 +80001c04: 019507b3 add a5,a0,s9 +80001c08: 01045c93 srli s9,s0,0x10 +80001c0c: 01447433 and s0,s0,s4 +80001c10: 000d0593 mv a1,s10 +80001c14: 00040513 mv a0,s0 +80001c18: 00d12a23 sw a3,20(sp) +80001c1c: 00f12623 sw a5,12(sp) +80001c20: 3bc010ef jal ra,80002fdc <__mulsi3> +80001c24: 00a12823 sw a0,16(sp) +80001c28: 00040593 mv a1,s0 +80001c2c: 000c0513 mv a0,s8 +80001c30: 3ac010ef jal ra,80002fdc <__mulsi3> +80001c34: 00050a13 mv s4,a0 +80001c38: 000c8593 mv a1,s9 +80001c3c: 000c0513 mv a0,s8 +80001c40: 39c010ef jal ra,80002fdc <__mulsi3> +80001c44: 00050c13 mv s8,a0 +80001c48: 000d0593 mv a1,s10 +80001c4c: 000c8513 mv a0,s9 +80001c50: 38c010ef jal ra,80002fdc <__mulsi3> +80001c54: 01012703 lw a4,16(sp) +80001c58: 01450533 add a0,a0,s4 +80001c5c: 01412683 lw a3,20(sp) +80001c60: 01075793 srli a5,a4,0x10 +80001c64: 00a78533 add a0,a5,a0 +80001c68: 01457663 bleu s4,a0,80001c74 <__muldf3+0x340> +80001c6c: 000107b7 lui a5,0x10 +80001c70: 00fc0c33 add s8,s8,a5 +80001c74: 00010637 lui a2,0x10 +80001c78: 01055793 srli a5,a0,0x10 +80001c7c: 01878c33 add s8,a5,s8 +80001c80: fff60793 addi a5,a2,-1 # ffff <_stack_size+0xfbff> +80001c84: 00f57a33 and s4,a0,a5 +80001c88: 00f77733 and a4,a4,a5 +80001c8c: 010a1a13 slli s4,s4,0x10 +80001c90: 01095d13 srli s10,s2,0x10 +80001c94: 00ea0a33 add s4,s4,a4 +80001c98: 00f97933 and s2,s2,a5 +80001c9c: 01468733 add a4,a3,s4 +80001ca0: 00090593 mv a1,s2 +80001ca4: 00048513 mv a0,s1 +80001ca8: 00e12823 sw a4,16(sp) +80001cac: 00c12e23 sw a2,28(sp) +80001cb0: 32c010ef jal ra,80002fdc <__mulsi3> +80001cb4: 00048593 mv a1,s1 +80001cb8: 00a12c23 sw a0,24(sp) +80001cbc: 000d0513 mv a0,s10 +80001cc0: 31c010ef jal ra,80002fdc <__mulsi3> +80001cc4: 00a12a23 sw a0,20(sp) +80001cc8: 000d0593 mv a1,s10 +80001ccc: 000d8513 mv a0,s11 +80001cd0: 30c010ef jal ra,80002fdc <__mulsi3> +80001cd4: 00050493 mv s1,a0 +80001cd8: 00090593 mv a1,s2 +80001cdc: 000d8513 mv a0,s11 +80001ce0: 2fc010ef jal ra,80002fdc <__mulsi3> +80001ce4: 01412683 lw a3,20(sp) +80001ce8: 01812703 lw a4,24(sp) +80001cec: 00d50533 add a0,a0,a3 +80001cf0: 01075793 srli a5,a4,0x10 +80001cf4: 00a78533 add a0,a5,a0 +80001cf8: 00d57663 bleu a3,a0,80001d04 <__muldf3+0x3d0> +80001cfc: 01c12603 lw a2,28(sp) +80001d00: 00c484b3 add s1,s1,a2 +80001d04: 000106b7 lui a3,0x10 +80001d08: fff68793 addi a5,a3,-1 # ffff <_stack_size+0xfbff> +80001d0c: 01055d93 srli s11,a0,0x10 +80001d10: 009d84b3 add s1,s11,s1 +80001d14: 00f57db3 and s11,a0,a5 +80001d18: 00f77733 and a4,a4,a5 +80001d1c: 00090593 mv a1,s2 +80001d20: 00040513 mv a0,s0 +80001d24: 010d9d93 slli s11,s11,0x10 +80001d28: 00ed8db3 add s11,s11,a4 +80001d2c: 00d12c23 sw a3,24(sp) +80001d30: 2ac010ef jal ra,80002fdc <__mulsi3> +80001d34: 00040593 mv a1,s0 +80001d38: 00a12a23 sw a0,20(sp) +80001d3c: 000d0513 mv a0,s10 +80001d40: 29c010ef jal ra,80002fdc <__mulsi3> +80001d44: 000d0593 mv a1,s10 +80001d48: 00050413 mv s0,a0 +80001d4c: 000c8513 mv a0,s9 +80001d50: 28c010ef jal ra,80002fdc <__mulsi3> +80001d54: 00050d13 mv s10,a0 +80001d58: 00090593 mv a1,s2 +80001d5c: 000c8513 mv a0,s9 +80001d60: 27c010ef jal ra,80002fdc <__mulsi3> +80001d64: 01412703 lw a4,20(sp) +80001d68: 00850533 add a0,a0,s0 +80001d6c: 01075793 srli a5,a4,0x10 +80001d70: 00a78533 add a0,a5,a0 +80001d74: 00857663 bleu s0,a0,80001d80 <__muldf3+0x44c> +80001d78: 01812683 lw a3,24(sp) +80001d7c: 00dd0d33 add s10,s10,a3 +80001d80: 01012783 lw a5,16(sp) +80001d84: 000106b7 lui a3,0x10 +80001d88: fff68693 addi a3,a3,-1 # ffff <_stack_size+0xfbff> +80001d8c: 00fb0b33 add s6,s6,a5 +80001d90: 00d577b3 and a5,a0,a3 +80001d94: 00d77733 and a4,a4,a3 +80001d98: 01079793 slli a5,a5,0x10 +80001d9c: 00e787b3 add a5,a5,a4 +80001da0: 014b3a33 sltu s4,s6,s4 +80001da4: 018787b3 add a5,a5,s8 +80001da8: 01478433 add s0,a5,s4 +80001dac: 01bb0b33 add s6,s6,s11 +80001db0: 00940733 add a4,s0,s1 +80001db4: 01bb3db3 sltu s11,s6,s11 +80001db8: 01b706b3 add a3,a4,s11 +80001dbc: 0187bc33 sltu s8,a5,s8 +80001dc0: 01443433 sltu s0,s0,s4 +80001dc4: 01055793 srli a5,a0,0x10 +80001dc8: 00973733 sltu a4,a4,s1 +80001dcc: 008c6433 or s0,s8,s0 +80001dd0: 01b6bdb3 sltu s11,a3,s11 +80001dd4: 00f40433 add s0,s0,a5 +80001dd8: 01b76db3 or s11,a4,s11 +80001ddc: 01b40433 add s0,s0,s11 +80001de0: 01a40433 add s0,s0,s10 +80001de4: 0176d793 srli a5,a3,0x17 +80001de8: 00941413 slli s0,s0,0x9 +80001dec: 00f46433 or s0,s0,a5 +80001df0: 00c12783 lw a5,12(sp) +80001df4: 009b1493 slli s1,s6,0x9 +80001df8: 017b5b13 srli s6,s6,0x17 +80001dfc: 00f4e4b3 or s1,s1,a5 +80001e00: 009034b3 snez s1,s1 +80001e04: 00969793 slli a5,a3,0x9 +80001e08: 0164e4b3 or s1,s1,s6 +80001e0c: 00f4e4b3 or s1,s1,a5 +80001e10: 00741793 slli a5,s0,0x7 +80001e14: 1207d263 bgez a5,80001f38 <__muldf3+0x604> +80001e18: 0014d793 srli a5,s1,0x1 +80001e1c: 0014f493 andi s1,s1,1 +80001e20: 0097e4b3 or s1,a5,s1 +80001e24: 01f41793 slli a5,s0,0x1f +80001e28: 00f4e4b3 or s1,s1,a5 +80001e2c: 00145413 srli s0,s0,0x1 +80001e30: 3ffa8713 addi a4,s5,1023 +80001e34: 10e05663 blez a4,80001f40 <__muldf3+0x60c> +80001e38: 0074f793 andi a5,s1,7 +80001e3c: 02078063 beqz a5,80001e5c <__muldf3+0x528> +80001e40: 00f4f793 andi a5,s1,15 +80001e44: 00400693 li a3,4 +80001e48: 00d78a63 beq a5,a3,80001e5c <__muldf3+0x528> +80001e4c: 00448793 addi a5,s1,4 +80001e50: 0097b4b3 sltu s1,a5,s1 +80001e54: 00940433 add s0,s0,s1 +80001e58: 00078493 mv s1,a5 +80001e5c: 00741793 slli a5,s0,0x7 +80001e60: 0007da63 bgez a5,80001e74 <__muldf3+0x540> +80001e64: ff0007b7 lui a5,0xff000 +80001e68: fff78793 addi a5,a5,-1 # feffffff <_stack_start+0x7eff96ef> +80001e6c: 00f47433 and s0,s0,a5 +80001e70: 400a8713 addi a4,s5,1024 +80001e74: 7fe00793 li a5,2046 +80001e78: 18e7c663 blt a5,a4,80002004 <__muldf3+0x6d0> +80001e7c: 0034da93 srli s5,s1,0x3 +80001e80: 01d41493 slli s1,s0,0x1d +80001e84: 0154e4b3 or s1,s1,s5 +80001e88: 00345413 srli s0,s0,0x3 +80001e8c: 001007b7 lui a5,0x100 +80001e90: fff78793 addi a5,a5,-1 # fffff <_stack_size+0xffbff> +80001e94: 00f47433 and s0,s0,a5 +80001e98: 7ff77793 andi a5,a4,2047 +80001e9c: 80100737 lui a4,0x80100 +80001ea0: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf96ef> +80001ea4: 01479793 slli a5,a5,0x14 +80001ea8: 00e47433 and s0,s0,a4 +80001eac: 01fb9b93 slli s7,s7,0x1f +80001eb0: 00f46433 or s0,s0,a5 +80001eb4: 017467b3 or a5,s0,s7 +80001eb8: 05c12083 lw ra,92(sp) +80001ebc: 05812403 lw s0,88(sp) +80001ec0: 00048513 mv a0,s1 +80001ec4: 05012903 lw s2,80(sp) +80001ec8: 05412483 lw s1,84(sp) +80001ecc: 04c12983 lw s3,76(sp) +80001ed0: 04812a03 lw s4,72(sp) +80001ed4: 04412a83 lw s5,68(sp) +80001ed8: 04012b03 lw s6,64(sp) +80001edc: 03c12b83 lw s7,60(sp) +80001ee0: 03812c03 lw s8,56(sp) +80001ee4: 03412c83 lw s9,52(sp) +80001ee8: 03012d03 lw s10,48(sp) +80001eec: 02c12d83 lw s11,44(sp) +80001ef0: 00078593 mv a1,a5 +80001ef4: 06010113 addi sp,sp,96 +80001ef8: 00008067 ret +80001efc: 000b0b93 mv s7,s6 +80001f00: 00090413 mv s0,s2 +80001f04: 000d0493 mv s1,s10 +80001f08: 000c8793 mv a5,s9 +80001f0c: 00200713 li a4,2 +80001f10: 0ee78a63 beq a5,a4,80002004 <__muldf3+0x6d0> +80001f14: 00300713 li a4,3 +80001f18: 0ce78c63 beq a5,a4,80001ff0 <__muldf3+0x6bc> +80001f1c: 00100713 li a4,1 +80001f20: f0e798e3 bne a5,a4,80001e30 <__muldf3+0x4fc> +80001f24: 00000413 li s0,0 +80001f28: 00000493 li s1,0 +80001f2c: 0880006f j 80001fb4 <__muldf3+0x680> +80001f30: 000c0b93 mv s7,s8 +80001f34: fd9ff06f j 80001f0c <__muldf3+0x5d8> +80001f38: 00098a93 mv s5,s3 +80001f3c: ef5ff06f j 80001e30 <__muldf3+0x4fc> +80001f40: 00100693 li a3,1 +80001f44: 40e686b3 sub a3,a3,a4 +80001f48: 03800793 li a5,56 +80001f4c: fcd7cce3 blt a5,a3,80001f24 <__muldf3+0x5f0> +80001f50: 01f00793 li a5,31 +80001f54: 06d7c463 blt a5,a3,80001fbc <__muldf3+0x688> +80001f58: 41ea8a93 addi s5,s5,1054 +80001f5c: 015417b3 sll a5,s0,s5 +80001f60: 00d4d733 srl a4,s1,a3 +80001f64: 015494b3 sll s1,s1,s5 +80001f68: 00e7e7b3 or a5,a5,a4 +80001f6c: 009034b3 snez s1,s1 +80001f70: 0097e4b3 or s1,a5,s1 +80001f74: 00d45433 srl s0,s0,a3 +80001f78: 0074f793 andi a5,s1,7 +80001f7c: 02078063 beqz a5,80001f9c <__muldf3+0x668> +80001f80: 00f4f793 andi a5,s1,15 +80001f84: 00400713 li a4,4 +80001f88: 00e78a63 beq a5,a4,80001f9c <__muldf3+0x668> +80001f8c: 00448793 addi a5,s1,4 +80001f90: 0097b4b3 sltu s1,a5,s1 +80001f94: 00940433 add s0,s0,s1 +80001f98: 00078493 mv s1,a5 +80001f9c: 00841793 slli a5,s0,0x8 +80001fa0: 0607ca63 bltz a5,80002014 <__muldf3+0x6e0> +80001fa4: 01d41793 slli a5,s0,0x1d +80001fa8: 0034d493 srli s1,s1,0x3 +80001fac: 0097e4b3 or s1,a5,s1 +80001fb0: 00345413 srli s0,s0,0x3 +80001fb4: 00000713 li a4,0 +80001fb8: ed5ff06f j 80001e8c <__muldf3+0x558> +80001fbc: fe100793 li a5,-31 +80001fc0: 40e787b3 sub a5,a5,a4 +80001fc4: 02000613 li a2,32 +80001fc8: 00f457b3 srl a5,s0,a5 +80001fcc: 00000713 li a4,0 +80001fd0: 00c68663 beq a3,a2,80001fdc <__muldf3+0x6a8> +80001fd4: 43ea8a93 addi s5,s5,1086 +80001fd8: 01541733 sll a4,s0,s5 +80001fdc: 009764b3 or s1,a4,s1 +80001fe0: 009034b3 snez s1,s1 +80001fe4: 0097e4b3 or s1,a5,s1 +80001fe8: 00000413 li s0,0 +80001fec: f8dff06f j 80001f78 <__muldf3+0x644> +80001ff0: 00080437 lui s0,0x80 +80001ff4: 00000493 li s1,0 +80001ff8: 7ff00713 li a4,2047 +80001ffc: 00000b93 li s7,0 +80002000: e8dff06f j 80001e8c <__muldf3+0x558> +80002004: 00000413 li s0,0 +80002008: 00000493 li s1,0 +8000200c: 7ff00713 li a4,2047 +80002010: e7dff06f j 80001e8c <__muldf3+0x558> +80002014: 00000413 li s0,0 +80002018: 00000493 li s1,0 +8000201c: 00100713 li a4,1 +80002020: e6dff06f j 80001e8c <__muldf3+0x558> + +80002024 <__divsf3>: +80002024: fd010113 addi sp,sp,-48 +80002028: 02912223 sw s1,36(sp) +8000202c: 01512a23 sw s5,20(sp) +80002030: 01755493 srli s1,a0,0x17 +80002034: 00800ab7 lui s5,0x800 +80002038: 03212023 sw s2,32(sp) +8000203c: 01612823 sw s6,16(sp) +80002040: fffa8a93 addi s5,s5,-1 # 7fffff <_stack_size+0x7ffbff> +80002044: 02112623 sw ra,44(sp) +80002048: 02812423 sw s0,40(sp) +8000204c: 01312e23 sw s3,28(sp) +80002050: 01412c23 sw s4,24(sp) +80002054: 01712623 sw s7,12(sp) +80002058: 01812423 sw s8,8(sp) +8000205c: 0ff4f493 andi s1,s1,255 +80002060: 00058b13 mv s6,a1 +80002064: 00aafab3 and s5,s5,a0 +80002068: 01f55913 srli s2,a0,0x1f +8000206c: 08048863 beqz s1,800020fc <__divsf3+0xd8> +80002070: 0ff00793 li a5,255 +80002074: 0af48463 beq s1,a5,8000211c <__divsf3+0xf8> +80002078: 003a9a93 slli s5,s5,0x3 +8000207c: 040007b7 lui a5,0x4000 +80002080: 00faeab3 or s5,s5,a5 +80002084: f8148493 addi s1,s1,-127 +80002088: 00000b93 li s7,0 +8000208c: 017b5513 srli a0,s6,0x17 +80002090: 00800437 lui s0,0x800 +80002094: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002098: 0ff57513 andi a0,a0,255 +8000209c: 01647433 and s0,s0,s6 +800020a0: 01fb5b13 srli s6,s6,0x1f +800020a4: 08050c63 beqz a0,8000213c <__divsf3+0x118> +800020a8: 0ff00793 li a5,255 +800020ac: 0af50863 beq a0,a5,8000215c <__divsf3+0x138> +800020b0: 00341413 slli s0,s0,0x3 +800020b4: 040007b7 lui a5,0x4000 +800020b8: 00f46433 or s0,s0,a5 +800020bc: f8150513 addi a0,a0,-127 +800020c0: 00000793 li a5,0 +800020c4: 002b9713 slli a4,s7,0x2 +800020c8: 00f76733 or a4,a4,a5 +800020cc: fff70713 addi a4,a4,-1 +800020d0: 00e00693 li a3,14 +800020d4: 016949b3 xor s3,s2,s6 +800020d8: 40a48a33 sub s4,s1,a0 +800020dc: 0ae6e063 bltu a3,a4,8000217c <__divsf3+0x158> +800020e0: 00001697 auipc a3,0x1 +800020e4: 68468693 addi a3,a3,1668 # 80003764 <end+0x664> +800020e8: 00271713 slli a4,a4,0x2 +800020ec: 00d70733 add a4,a4,a3 +800020f0: 00072703 lw a4,0(a4) +800020f4: 00d70733 add a4,a4,a3 +800020f8: 00070067 jr a4 +800020fc: 020a8a63 beqz s5,80002130 <__divsf3+0x10c> +80002100: 000a8513 mv a0,s5 +80002104: 7b1000ef jal ra,800030b4 <__clzsi2> +80002108: ffb50793 addi a5,a0,-5 +8000210c: f8a00493 li s1,-118 +80002110: 00fa9ab3 sll s5,s5,a5 +80002114: 40a484b3 sub s1,s1,a0 +80002118: f71ff06f j 80002088 <__divsf3+0x64> +8000211c: 0ff00493 li s1,255 +80002120: 00200b93 li s7,2 +80002124: f60a84e3 beqz s5,8000208c <__divsf3+0x68> +80002128: 00300b93 li s7,3 +8000212c: f61ff06f j 8000208c <__divsf3+0x68> +80002130: 00000493 li s1,0 +80002134: 00100b93 li s7,1 +80002138: f55ff06f j 8000208c <__divsf3+0x68> +8000213c: 02040a63 beqz s0,80002170 <__divsf3+0x14c> +80002140: 00040513 mv a0,s0 +80002144: 771000ef jal ra,800030b4 <__clzsi2> +80002148: ffb50793 addi a5,a0,-5 +8000214c: 00f41433 sll s0,s0,a5 +80002150: f8a00793 li a5,-118 +80002154: 40a78533 sub a0,a5,a0 +80002158: f69ff06f j 800020c0 <__divsf3+0x9c> +8000215c: 0ff00513 li a0,255 +80002160: 00200793 li a5,2 +80002164: f60400e3 beqz s0,800020c4 <__divsf3+0xa0> +80002168: 00300793 li a5,3 +8000216c: f59ff06f j 800020c4 <__divsf3+0xa0> +80002170: 00000513 li a0,0 +80002174: 00100793 li a5,1 +80002178: f4dff06f j 800020c4 <__divsf3+0xa0> +8000217c: 00541b13 slli s6,s0,0x5 +80002180: 128af663 bleu s0,s5,800022ac <__divsf3+0x288> +80002184: fffa0a13 addi s4,s4,-1 +80002188: 00000913 li s2,0 +8000218c: 010b5b93 srli s7,s6,0x10 +80002190: 00010437 lui s0,0x10 +80002194: 000b8593 mv a1,s7 +80002198: fff40413 addi s0,s0,-1 # ffff <_stack_size+0xfbff> +8000219c: 000a8513 mv a0,s5 +800021a0: 669000ef jal ra,80003008 <__udivsi3> +800021a4: 008b7433 and s0,s6,s0 +800021a8: 00050593 mv a1,a0 +800021ac: 00050c13 mv s8,a0 +800021b0: 00040513 mv a0,s0 +800021b4: 629000ef jal ra,80002fdc <__mulsi3> +800021b8: 00050493 mv s1,a0 +800021bc: 000b8593 mv a1,s7 +800021c0: 000a8513 mv a0,s5 +800021c4: 68d000ef jal ra,80003050 <__umodsi3> +800021c8: 01095913 srli s2,s2,0x10 +800021cc: 01051513 slli a0,a0,0x10 +800021d0: 00a96533 or a0,s2,a0 +800021d4: 000c0913 mv s2,s8 +800021d8: 00957e63 bleu s1,a0,800021f4 <__divsf3+0x1d0> +800021dc: 01650533 add a0,a0,s6 +800021e0: fffc0913 addi s2,s8,-1 +800021e4: 01656863 bltu a0,s6,800021f4 <__divsf3+0x1d0> +800021e8: 00957663 bleu s1,a0,800021f4 <__divsf3+0x1d0> +800021ec: ffec0913 addi s2,s8,-2 +800021f0: 01650533 add a0,a0,s6 +800021f4: 409504b3 sub s1,a0,s1 +800021f8: 000b8593 mv a1,s7 +800021fc: 00048513 mv a0,s1 +80002200: 609000ef jal ra,80003008 <__udivsi3> +80002204: 00050593 mv a1,a0 +80002208: 00050c13 mv s8,a0 +8000220c: 00040513 mv a0,s0 +80002210: 5cd000ef jal ra,80002fdc <__mulsi3> +80002214: 00050a93 mv s5,a0 +80002218: 000b8593 mv a1,s7 +8000221c: 00048513 mv a0,s1 +80002220: 631000ef jal ra,80003050 <__umodsi3> +80002224: 01051513 slli a0,a0,0x10 +80002228: 000c0413 mv s0,s8 +8000222c: 01557e63 bleu s5,a0,80002248 <__divsf3+0x224> +80002230: 01650533 add a0,a0,s6 +80002234: fffc0413 addi s0,s8,-1 +80002238: 01656863 bltu a0,s6,80002248 <__divsf3+0x224> +8000223c: 01557663 bleu s5,a0,80002248 <__divsf3+0x224> +80002240: ffec0413 addi s0,s8,-2 +80002244: 01650533 add a0,a0,s6 +80002248: 01091913 slli s2,s2,0x10 +8000224c: 41550533 sub a0,a0,s5 +80002250: 00896933 or s2,s2,s0 +80002254: 00a03533 snez a0,a0 +80002258: 00a96433 or s0,s2,a0 +8000225c: 07fa0713 addi a4,s4,127 +80002260: 0ae05063 blez a4,80002300 <__divsf3+0x2dc> +80002264: 00747793 andi a5,s0,7 +80002268: 00078a63 beqz a5,8000227c <__divsf3+0x258> +8000226c: 00f47793 andi a5,s0,15 +80002270: 00400693 li a3,4 +80002274: 00d78463 beq a5,a3,8000227c <__divsf3+0x258> +80002278: 00440413 addi s0,s0,4 +8000227c: 00441793 slli a5,s0,0x4 +80002280: 0007da63 bgez a5,80002294 <__divsf3+0x270> +80002284: f80007b7 lui a5,0xf8000 +80002288: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff96ef> +8000228c: 00f47433 and s0,s0,a5 +80002290: 080a0713 addi a4,s4,128 +80002294: 0fe00793 li a5,254 +80002298: 00345413 srli s0,s0,0x3 +8000229c: 0ce7d263 ble a4,a5,80002360 <__divsf3+0x33c> +800022a0: 00000413 li s0,0 +800022a4: 0ff00713 li a4,255 +800022a8: 0b80006f j 80002360 <__divsf3+0x33c> +800022ac: 01fa9913 slli s2,s5,0x1f +800022b0: 001ada93 srli s5,s5,0x1 +800022b4: ed9ff06f j 8000218c <__divsf3+0x168> +800022b8: 00090993 mv s3,s2 +800022bc: 000a8413 mv s0,s5 +800022c0: 000b8793 mv a5,s7 +800022c4: 00200713 li a4,2 +800022c8: fce78ce3 beq a5,a4,800022a0 <__divsf3+0x27c> +800022cc: 00300713 li a4,3 +800022d0: 08e78263 beq a5,a4,80002354 <__divsf3+0x330> +800022d4: 00100713 li a4,1 +800022d8: f8e792e3 bne a5,a4,8000225c <__divsf3+0x238> +800022dc: 00000413 li s0,0 +800022e0: 00000713 li a4,0 +800022e4: 07c0006f j 80002360 <__divsf3+0x33c> +800022e8: 000b0993 mv s3,s6 +800022ec: fd9ff06f j 800022c4 <__divsf3+0x2a0> +800022f0: 00400437 lui s0,0x400 +800022f4: 00000993 li s3,0 +800022f8: 00300793 li a5,3 +800022fc: fc9ff06f j 800022c4 <__divsf3+0x2a0> +80002300: 00100793 li a5,1 +80002304: 40e787b3 sub a5,a5,a4 +80002308: 01b00713 li a4,27 +8000230c: fcf748e3 blt a4,a5,800022dc <__divsf3+0x2b8> +80002310: 09ea0513 addi a0,s4,158 +80002314: 00f457b3 srl a5,s0,a5 +80002318: 00a41433 sll s0,s0,a0 +8000231c: 00803433 snez s0,s0 +80002320: 0087e433 or s0,a5,s0 +80002324: 00747793 andi a5,s0,7 +80002328: 00078a63 beqz a5,8000233c <__divsf3+0x318> +8000232c: 00f47793 andi a5,s0,15 +80002330: 00400713 li a4,4 +80002334: 00e78463 beq a5,a4,8000233c <__divsf3+0x318> +80002338: 00440413 addi s0,s0,4 # 400004 <_stack_size+0x3ffc04> +8000233c: 00541793 slli a5,s0,0x5 +80002340: 00345413 srli s0,s0,0x3 +80002344: f807dee3 bgez a5,800022e0 <__divsf3+0x2bc> +80002348: 00000413 li s0,0 +8000234c: 00100713 li a4,1 +80002350: 0100006f j 80002360 <__divsf3+0x33c> +80002354: 00400437 lui s0,0x400 +80002358: 0ff00713 li a4,255 +8000235c: 00000993 li s3,0 +80002360: 00800537 lui a0,0x800 +80002364: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002368: 00a47433 and s0,s0,a0 +8000236c: 80800537 lui a0,0x80800 +80002370: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f96ef> +80002374: 0ff77713 andi a4,a4,255 +80002378: 00a47433 and s0,s0,a0 +8000237c: 01771713 slli a4,a4,0x17 +80002380: 01f99513 slli a0,s3,0x1f +80002384: 00e46433 or s0,s0,a4 +80002388: 00a46533 or a0,s0,a0 +8000238c: 02c12083 lw ra,44(sp) +80002390: 02812403 lw s0,40(sp) +80002394: 02412483 lw s1,36(sp) +80002398: 02012903 lw s2,32(sp) +8000239c: 01c12983 lw s3,28(sp) +800023a0: 01812a03 lw s4,24(sp) +800023a4: 01412a83 lw s5,20(sp) +800023a8: 01012b03 lw s6,16(sp) +800023ac: 00c12b83 lw s7,12(sp) +800023b0: 00812c03 lw s8,8(sp) +800023b4: 03010113 addi sp,sp,48 +800023b8: 00008067 ret + +800023bc <__mulsf3>: +800023bc: fd010113 addi sp,sp,-48 +800023c0: 02912223 sw s1,36(sp) +800023c4: 03212023 sw s2,32(sp) +800023c8: 008004b7 lui s1,0x800 +800023cc: 01755913 srli s2,a0,0x17 +800023d0: 01312e23 sw s3,28(sp) +800023d4: 01712623 sw s7,12(sp) +800023d8: fff48493 addi s1,s1,-1 # 7fffff <_stack_size+0x7ffbff> +800023dc: 02112623 sw ra,44(sp) +800023e0: 02812423 sw s0,40(sp) +800023e4: 01412c23 sw s4,24(sp) +800023e8: 01512a23 sw s5,20(sp) +800023ec: 01612823 sw s6,16(sp) +800023f0: 01812423 sw s8,8(sp) +800023f4: 01912223 sw s9,4(sp) +800023f8: 0ff97913 andi s2,s2,255 +800023fc: 00058b93 mv s7,a1 +80002400: 00a4f4b3 and s1,s1,a0 +80002404: 01f55993 srli s3,a0,0x1f +80002408: 08090a63 beqz s2,8000249c <__mulsf3+0xe0> +8000240c: 0ff00793 li a5,255 +80002410: 0af90663 beq s2,a5,800024bc <__mulsf3+0x100> +80002414: 00349493 slli s1,s1,0x3 +80002418: 040007b7 lui a5,0x4000 +8000241c: 00f4e4b3 or s1,s1,a5 +80002420: f8190913 addi s2,s2,-127 # 7fff81 <_stack_size+0x7ffb81> +80002424: 00000b13 li s6,0 +80002428: 017bd513 srli a0,s7,0x17 +8000242c: 00800437 lui s0,0x800 +80002430: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002434: 0ff57513 andi a0,a0,255 +80002438: 01747433 and s0,s0,s7 +8000243c: 01fbdb93 srli s7,s7,0x1f +80002440: 08050e63 beqz a0,800024dc <__mulsf3+0x120> +80002444: 0ff00793 li a5,255 +80002448: 0af50a63 beq a0,a5,800024fc <__mulsf3+0x140> +8000244c: 00341413 slli s0,s0,0x3 +80002450: 040007b7 lui a5,0x4000 +80002454: 00f46433 or s0,s0,a5 +80002458: f8150513 addi a0,a0,-127 +8000245c: 00000693 li a3,0 +80002460: 002b1793 slli a5,s6,0x2 +80002464: 00d7e7b3 or a5,a5,a3 +80002468: 00a90933 add s2,s2,a0 +8000246c: fff78793 addi a5,a5,-1 # 3ffffff <_stack_size+0x3fffbff> +80002470: 00e00713 li a4,14 +80002474: 0179ca33 xor s4,s3,s7 +80002478: 00190a93 addi s5,s2,1 +8000247c: 0af76063 bltu a4,a5,8000251c <__mulsf3+0x160> +80002480: 00001717 auipc a4,0x1 +80002484: 32070713 addi a4,a4,800 # 800037a0 <end+0x6a0> +80002488: 00279793 slli a5,a5,0x2 +8000248c: 00e787b3 add a5,a5,a4 +80002490: 0007a783 lw a5,0(a5) +80002494: 00e787b3 add a5,a5,a4 +80002498: 00078067 jr a5 +8000249c: 02048a63 beqz s1,800024d0 <__mulsf3+0x114> +800024a0: 00048513 mv a0,s1 +800024a4: 411000ef jal ra,800030b4 <__clzsi2> +800024a8: ffb50793 addi a5,a0,-5 +800024ac: f8a00913 li s2,-118 +800024b0: 00f494b3 sll s1,s1,a5 +800024b4: 40a90933 sub s2,s2,a0 +800024b8: f6dff06f j 80002424 <__mulsf3+0x68> +800024bc: 0ff00913 li s2,255 +800024c0: 00200b13 li s6,2 +800024c4: f60482e3 beqz s1,80002428 <__mulsf3+0x6c> +800024c8: 00300b13 li s6,3 +800024cc: f5dff06f j 80002428 <__mulsf3+0x6c> +800024d0: 00000913 li s2,0 +800024d4: 00100b13 li s6,1 +800024d8: f51ff06f j 80002428 <__mulsf3+0x6c> +800024dc: 02040a63 beqz s0,80002510 <__mulsf3+0x154> +800024e0: 00040513 mv a0,s0 +800024e4: 3d1000ef jal ra,800030b4 <__clzsi2> +800024e8: ffb50793 addi a5,a0,-5 +800024ec: 00f41433 sll s0,s0,a5 +800024f0: f8a00793 li a5,-118 +800024f4: 40a78533 sub a0,a5,a0 +800024f8: f65ff06f j 8000245c <__mulsf3+0xa0> +800024fc: 0ff00513 li a0,255 +80002500: 00200693 li a3,2 +80002504: f4040ee3 beqz s0,80002460 <__mulsf3+0xa4> +80002508: 00300693 li a3,3 +8000250c: f55ff06f j 80002460 <__mulsf3+0xa4> +80002510: 00000513 li a0,0 +80002514: 00100693 li a3,1 +80002518: f49ff06f j 80002460 <__mulsf3+0xa4> +8000251c: 00010c37 lui s8,0x10 +80002520: fffc0b13 addi s6,s8,-1 # ffff <_stack_size+0xfbff> +80002524: 0104db93 srli s7,s1,0x10 +80002528: 01045c93 srli s9,s0,0x10 +8000252c: 0164f4b3 and s1,s1,s6 +80002530: 01647433 and s0,s0,s6 +80002534: 00040593 mv a1,s0 +80002538: 00048513 mv a0,s1 +8000253c: 2a1000ef jal ra,80002fdc <__mulsi3> +80002540: 00040593 mv a1,s0 +80002544: 00050993 mv s3,a0 +80002548: 000b8513 mv a0,s7 +8000254c: 291000ef jal ra,80002fdc <__mulsi3> +80002550: 00050413 mv s0,a0 +80002554: 000c8593 mv a1,s9 +80002558: 000b8513 mv a0,s7 +8000255c: 281000ef jal ra,80002fdc <__mulsi3> +80002560: 00050b93 mv s7,a0 +80002564: 00048593 mv a1,s1 +80002568: 000c8513 mv a0,s9 +8000256c: 271000ef jal ra,80002fdc <__mulsi3> +80002570: 00850533 add a0,a0,s0 +80002574: 0109d793 srli a5,s3,0x10 +80002578: 00a78533 add a0,a5,a0 +8000257c: 00857463 bleu s0,a0,80002584 <__mulsf3+0x1c8> +80002580: 018b8bb3 add s7,s7,s8 +80002584: 016577b3 and a5,a0,s6 +80002588: 01079793 slli a5,a5,0x10 +8000258c: 0169f9b3 and s3,s3,s6 +80002590: 013787b3 add a5,a5,s3 +80002594: 00679413 slli s0,a5,0x6 +80002598: 00803433 snez s0,s0 +8000259c: 01a7d793 srli a5,a5,0x1a +800025a0: 01055513 srli a0,a0,0x10 +800025a4: 00f467b3 or a5,s0,a5 +800025a8: 01750433 add s0,a0,s7 +800025ac: 00641413 slli s0,s0,0x6 +800025b0: 00f46433 or s0,s0,a5 +800025b4: 00441793 slli a5,s0,0x4 +800025b8: 0e07d663 bgez a5,800026a4 <__mulsf3+0x2e8> +800025bc: 00145793 srli a5,s0,0x1 +800025c0: 00147413 andi s0,s0,1 +800025c4: 0087e433 or s0,a5,s0 +800025c8: 07fa8713 addi a4,s5,127 +800025cc: 0ee05063 blez a4,800026ac <__mulsf3+0x2f0> +800025d0: 00747793 andi a5,s0,7 +800025d4: 00078a63 beqz a5,800025e8 <__mulsf3+0x22c> +800025d8: 00f47793 andi a5,s0,15 +800025dc: 00400693 li a3,4 +800025e0: 00d78463 beq a5,a3,800025e8 <__mulsf3+0x22c> +800025e4: 00440413 addi s0,s0,4 +800025e8: 00441793 slli a5,s0,0x4 +800025ec: 0007da63 bgez a5,80002600 <__mulsf3+0x244> +800025f0: f80007b7 lui a5,0xf8000 +800025f4: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff96ef> +800025f8: 00f47433 and s0,s0,a5 +800025fc: 080a8713 addi a4,s5,128 +80002600: 0fe00793 li a5,254 +80002604: 10e7c463 blt a5,a4,8000270c <__mulsf3+0x350> +80002608: 00345793 srli a5,s0,0x3 +8000260c: 0300006f j 8000263c <__mulsf3+0x280> +80002610: 00098a13 mv s4,s3 +80002614: 00048413 mv s0,s1 +80002618: 000b0693 mv a3,s6 +8000261c: 00200793 li a5,2 +80002620: 0ef68663 beq a3,a5,8000270c <__mulsf3+0x350> +80002624: 00300793 li a5,3 +80002628: 0cf68a63 beq a3,a5,800026fc <__mulsf3+0x340> +8000262c: 00100613 li a2,1 +80002630: 00000793 li a5,0 +80002634: 00000713 li a4,0 +80002638: f8c698e3 bne a3,a2,800025c8 <__mulsf3+0x20c> +8000263c: 00800437 lui s0,0x800 +80002640: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002644: 80800537 lui a0,0x80800 +80002648: 0087f7b3 and a5,a5,s0 +8000264c: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f96ef> +80002650: 02c12083 lw ra,44(sp) +80002654: 02812403 lw s0,40(sp) +80002658: 0ff77713 andi a4,a4,255 +8000265c: 00a7f7b3 and a5,a5,a0 +80002660: 01771713 slli a4,a4,0x17 +80002664: 01fa1513 slli a0,s4,0x1f +80002668: 00e7e7b3 or a5,a5,a4 +8000266c: 02412483 lw s1,36(sp) +80002670: 02012903 lw s2,32(sp) +80002674: 01c12983 lw s3,28(sp) +80002678: 01812a03 lw s4,24(sp) +8000267c: 01412a83 lw s5,20(sp) +80002680: 01012b03 lw s6,16(sp) +80002684: 00c12b83 lw s7,12(sp) +80002688: 00812c03 lw s8,8(sp) +8000268c: 00412c83 lw s9,4(sp) +80002690: 00a7e533 or a0,a5,a0 +80002694: 03010113 addi sp,sp,48 +80002698: 00008067 ret +8000269c: 000b8a13 mv s4,s7 +800026a0: f7dff06f j 8000261c <__mulsf3+0x260> +800026a4: 00090a93 mv s5,s2 +800026a8: f21ff06f j 800025c8 <__mulsf3+0x20c> +800026ac: 00100793 li a5,1 +800026b0: 40e787b3 sub a5,a5,a4 +800026b4: 01b00713 li a4,27 +800026b8: 06f74063 blt a4,a5,80002718 <__mulsf3+0x35c> +800026bc: 09ea8a93 addi s5,s5,158 +800026c0: 00f457b3 srl a5,s0,a5 +800026c4: 01541433 sll s0,s0,s5 +800026c8: 00803433 snez s0,s0 +800026cc: 0087e433 or s0,a5,s0 +800026d0: 00747793 andi a5,s0,7 +800026d4: 00078a63 beqz a5,800026e8 <__mulsf3+0x32c> +800026d8: 00f47793 andi a5,s0,15 +800026dc: 00400713 li a4,4 +800026e0: 00e78463 beq a5,a4,800026e8 <__mulsf3+0x32c> +800026e4: 00440413 addi s0,s0,4 +800026e8: 00541793 slli a5,s0,0x5 +800026ec: 0207ca63 bltz a5,80002720 <__mulsf3+0x364> +800026f0: 00345793 srli a5,s0,0x3 +800026f4: 00000713 li a4,0 +800026f8: f45ff06f j 8000263c <__mulsf3+0x280> +800026fc: 004007b7 lui a5,0x400 +80002700: 0ff00713 li a4,255 +80002704: 00000a13 li s4,0 +80002708: f35ff06f j 8000263c <__mulsf3+0x280> +8000270c: 00000793 li a5,0 +80002710: 0ff00713 li a4,255 +80002714: f29ff06f j 8000263c <__mulsf3+0x280> +80002718: 00000793 li a5,0 +8000271c: fd9ff06f j 800026f4 <__mulsf3+0x338> +80002720: 00000793 li a5,0 +80002724: 00100713 li a4,1 +80002728: f15ff06f j 8000263c <__mulsf3+0x280> + +8000272c <__subsf3>: +8000272c: 008007b7 lui a5,0x800 +80002730: fff78793 addi a5,a5,-1 # 7fffff <_stack_size+0x7ffbff> +80002734: ff010113 addi sp,sp,-16 +80002738: 00a7f733 and a4,a5,a0 +8000273c: 01755693 srli a3,a0,0x17 +80002740: 0175d613 srli a2,a1,0x17 +80002744: 00b7f7b3 and a5,a5,a1 +80002748: 00912223 sw s1,4(sp) +8000274c: 01212023 sw s2,0(sp) +80002750: 0ff6f693 andi a3,a3,255 +80002754: 00371813 slli a6,a4,0x3 +80002758: 0ff67613 andi a2,a2,255 +8000275c: 00112623 sw ra,12(sp) +80002760: 00812423 sw s0,8(sp) +80002764: 0ff00713 li a4,255 +80002768: 01f55493 srli s1,a0,0x1f +8000276c: 00068913 mv s2,a3 +80002770: 00060513 mv a0,a2 +80002774: 01f5d593 srli a1,a1,0x1f +80002778: 00379793 slli a5,a5,0x3 +8000277c: 00e61463 bne a2,a4,80002784 <__subsf3+0x58> +80002780: 00079463 bnez a5,80002788 <__subsf3+0x5c> +80002784: 0015c593 xori a1,a1,1 +80002788: 40c68733 sub a4,a3,a2 +8000278c: 1a959a63 bne a1,s1,80002940 <__subsf3+0x214> +80002790: 0ae05663 blez a4,8000283c <__subsf3+0x110> +80002794: 06061663 bnez a2,80002800 <__subsf3+0xd4> +80002798: 00079c63 bnez a5,800027b0 <__subsf3+0x84> +8000279c: 0ff00793 li a5,255 +800027a0: 04f68c63 beq a3,a5,800027f8 <__subsf3+0xcc> +800027a4: 00080793 mv a5,a6 +800027a8: 00068513 mv a0,a3 +800027ac: 14c0006f j 800028f8 <__subsf3+0x1cc> +800027b0: fff70713 addi a4,a4,-1 +800027b4: 02071e63 bnez a4,800027f0 <__subsf3+0xc4> +800027b8: 010787b3 add a5,a5,a6 +800027bc: 00068513 mv a0,a3 +800027c0: 00579713 slli a4,a5,0x5 +800027c4: 12075a63 bgez a4,800028f8 <__subsf3+0x1cc> +800027c8: 00150513 addi a0,a0,1 +800027cc: 0ff00713 li a4,255 +800027d0: 32e50e63 beq a0,a4,80002b0c <__subsf3+0x3e0> +800027d4: 7e000737 lui a4,0x7e000 +800027d8: 0017f693 andi a3,a5,1 +800027dc: fff70713 addi a4,a4,-1 # 7dffffff <_stack_size+0x7dfffbff> +800027e0: 0017d793 srli a5,a5,0x1 +800027e4: 00e7f7b3 and a5,a5,a4 +800027e8: 00d7e7b3 or a5,a5,a3 +800027ec: 10c0006f j 800028f8 <__subsf3+0x1cc> +800027f0: 0ff00613 li a2,255 +800027f4: 00c69e63 bne a3,a2,80002810 <__subsf3+0xe4> +800027f8: 00080793 mv a5,a6 +800027fc: 0740006f j 80002870 <__subsf3+0x144> +80002800: 0ff00613 li a2,255 +80002804: fec68ae3 beq a3,a2,800027f8 <__subsf3+0xcc> +80002808: 04000637 lui a2,0x4000 +8000280c: 00c7e7b3 or a5,a5,a2 +80002810: 01b00613 li a2,27 +80002814: 00e65663 ble a4,a2,80002820 <__subsf3+0xf4> +80002818: 00100793 li a5,1 +8000281c: f9dff06f j 800027b8 <__subsf3+0x8c> +80002820: 02000613 li a2,32 +80002824: 40e60633 sub a2,a2,a4 +80002828: 00e7d5b3 srl a1,a5,a4 +8000282c: 00c797b3 sll a5,a5,a2 +80002830: 00f037b3 snez a5,a5 +80002834: 00f5e7b3 or a5,a1,a5 +80002838: f81ff06f j 800027b8 <__subsf3+0x8c> +8000283c: 08070063 beqz a4,800028bc <__subsf3+0x190> +80002840: 02069c63 bnez a3,80002878 <__subsf3+0x14c> +80002844: 00081863 bnez a6,80002854 <__subsf3+0x128> +80002848: 0ff00713 li a4,255 +8000284c: 0ae61663 bne a2,a4,800028f8 <__subsf3+0x1cc> +80002850: 0200006f j 80002870 <__subsf3+0x144> +80002854: fff00693 li a3,-1 +80002858: 00d71663 bne a4,a3,80002864 <__subsf3+0x138> +8000285c: 010787b3 add a5,a5,a6 +80002860: f61ff06f j 800027c0 <__subsf3+0x94> +80002864: 0ff00693 li a3,255 +80002868: fff74713 not a4,a4 +8000286c: 02d61063 bne a2,a3,8000288c <__subsf3+0x160> +80002870: 0ff00513 li a0,255 +80002874: 0840006f j 800028f8 <__subsf3+0x1cc> +80002878: 0ff00693 li a3,255 +8000287c: fed60ae3 beq a2,a3,80002870 <__subsf3+0x144> +80002880: 040006b7 lui a3,0x4000 +80002884: 40e00733 neg a4,a4 +80002888: 00d86833 or a6,a6,a3 +8000288c: 01b00693 li a3,27 +80002890: 00e6d663 ble a4,a3,8000289c <__subsf3+0x170> +80002894: 00100713 li a4,1 +80002898: 01c0006f j 800028b4 <__subsf3+0x188> +8000289c: 02000693 li a3,32 +800028a0: 00e85633 srl a2,a6,a4 +800028a4: 40e68733 sub a4,a3,a4 +800028a8: 00e81733 sll a4,a6,a4 +800028ac: 00e03733 snez a4,a4 +800028b0: 00e66733 or a4,a2,a4 +800028b4: 00e787b3 add a5,a5,a4 +800028b8: f09ff06f j 800027c0 <__subsf3+0x94> +800028bc: 00168513 addi a0,a3,1 # 4000001 <_stack_size+0x3fffc01> +800028c0: 0ff57613 andi a2,a0,255 +800028c4: 00100713 li a4,1 +800028c8: 06c74263 blt a4,a2,8000292c <__subsf3+0x200> +800028cc: 04069463 bnez a3,80002914 <__subsf3+0x1e8> +800028d0: 00000513 li a0,0 +800028d4: 02080263 beqz a6,800028f8 <__subsf3+0x1cc> +800028d8: 22078663 beqz a5,80002b04 <__subsf3+0x3d8> +800028dc: 010787b3 add a5,a5,a6 +800028e0: 00579713 slli a4,a5,0x5 +800028e4: 00075a63 bgez a4,800028f8 <__subsf3+0x1cc> +800028e8: fc000737 lui a4,0xfc000 +800028ec: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff96ef> +800028f0: 00e7f7b3 and a5,a5,a4 +800028f4: 00100513 li a0,1 +800028f8: 0077f713 andi a4,a5,7 +800028fc: 20070a63 beqz a4,80002b10 <__subsf3+0x3e4> +80002900: 00f7f713 andi a4,a5,15 +80002904: 00400693 li a3,4 +80002908: 20d70463 beq a4,a3,80002b10 <__subsf3+0x3e4> +8000290c: 00478793 addi a5,a5,4 +80002910: 2000006f j 80002b10 <__subsf3+0x3e4> +80002914: f4080ee3 beqz a6,80002870 <__subsf3+0x144> +80002918: ee0780e3 beqz a5,800027f8 <__subsf3+0xcc> +8000291c: 020007b7 lui a5,0x2000 +80002920: 0ff00513 li a0,255 +80002924: 00000493 li s1,0 +80002928: 1e80006f j 80002b10 <__subsf3+0x3e4> +8000292c: 0ff00713 li a4,255 +80002930: 1ce50e63 beq a0,a4,80002b0c <__subsf3+0x3e0> +80002934: 00f80733 add a4,a6,a5 +80002938: 00175793 srli a5,a4,0x1 +8000293c: fbdff06f j 800028f8 <__subsf3+0x1cc> +80002940: 08e05063 blez a4,800029c0 <__subsf3+0x294> +80002944: 04061663 bnez a2,80002990 <__subsf3+0x264> +80002948: e4078ae3 beqz a5,8000279c <__subsf3+0x70> +8000294c: fff70713 addi a4,a4,-1 +80002950: 02071463 bnez a4,80002978 <__subsf3+0x24c> +80002954: 40f807b3 sub a5,a6,a5 +80002958: 00068513 mv a0,a3 +8000295c: 00579713 slli a4,a5,0x5 +80002960: f8075ce3 bgez a4,800028f8 <__subsf3+0x1cc> +80002964: 04000437 lui s0,0x4000 +80002968: fff40413 addi s0,s0,-1 # 3ffffff <_stack_size+0x3fffbff> +8000296c: 0087f433 and s0,a5,s0 +80002970: 00050913 mv s2,a0 +80002974: 1380006f j 80002aac <__subsf3+0x380> +80002978: 0ff00613 li a2,255 +8000297c: e6c68ee3 beq a3,a2,800027f8 <__subsf3+0xcc> +80002980: 01b00613 li a2,27 +80002984: 02e65063 ble a4,a2,800029a4 <__subsf3+0x278> +80002988: 00100793 li a5,1 +8000298c: fc9ff06f j 80002954 <__subsf3+0x228> +80002990: 0ff00613 li a2,255 +80002994: e6c682e3 beq a3,a2,800027f8 <__subsf3+0xcc> +80002998: 04000637 lui a2,0x4000 +8000299c: 00c7e7b3 or a5,a5,a2 +800029a0: fe1ff06f j 80002980 <__subsf3+0x254> +800029a4: 02000613 li a2,32 +800029a8: 00e7d5b3 srl a1,a5,a4 +800029ac: 40e60733 sub a4,a2,a4 +800029b0: 00e797b3 sll a5,a5,a4 +800029b4: 00f037b3 snez a5,a5 +800029b8: 00f5e7b3 or a5,a1,a5 +800029bc: f99ff06f j 80002954 <__subsf3+0x228> +800029c0: 08070263 beqz a4,80002a44 <__subsf3+0x318> +800029c4: 02069e63 bnez a3,80002a00 <__subsf3+0x2d4> +800029c8: 00081863 bnez a6,800029d8 <__subsf3+0x2ac> +800029cc: 0ff00713 li a4,255 +800029d0: 00058493 mv s1,a1 +800029d4: e79ff06f j 8000284c <__subsf3+0x120> +800029d8: fff00693 li a3,-1 +800029dc: 00d71863 bne a4,a3,800029ec <__subsf3+0x2c0> +800029e0: 410787b3 sub a5,a5,a6 +800029e4: 00058493 mv s1,a1 +800029e8: f75ff06f j 8000295c <__subsf3+0x230> +800029ec: 0ff00693 li a3,255 +800029f0: fff74713 not a4,a4 +800029f4: 02d61063 bne a2,a3,80002a14 <__subsf3+0x2e8> +800029f8: 00058493 mv s1,a1 +800029fc: e75ff06f j 80002870 <__subsf3+0x144> +80002a00: 0ff00693 li a3,255 +80002a04: fed60ae3 beq a2,a3,800029f8 <__subsf3+0x2cc> +80002a08: 040006b7 lui a3,0x4000 +80002a0c: 40e00733 neg a4,a4 +80002a10: 00d86833 or a6,a6,a3 +80002a14: 01b00693 li a3,27 +80002a18: 00e6d663 ble a4,a3,80002a24 <__subsf3+0x2f8> +80002a1c: 00100713 li a4,1 +80002a20: 01c0006f j 80002a3c <__subsf3+0x310> +80002a24: 02000693 li a3,32 +80002a28: 00e85633 srl a2,a6,a4 +80002a2c: 40e68733 sub a4,a3,a4 +80002a30: 00e81733 sll a4,a6,a4 +80002a34: 00e03733 snez a4,a4 +80002a38: 00e66733 or a4,a2,a4 +80002a3c: 40e787b3 sub a5,a5,a4 +80002a40: fa5ff06f j 800029e4 <__subsf3+0x2b8> +80002a44: 00168713 addi a4,a3,1 # 4000001 <_stack_size+0x3fffc01> +80002a48: 0ff77713 andi a4,a4,255 +80002a4c: 00100613 li a2,1 +80002a50: 04e64463 blt a2,a4,80002a98 <__subsf3+0x36c> +80002a54: 02069c63 bnez a3,80002a8c <__subsf3+0x360> +80002a58: 00081863 bnez a6,80002a68 <__subsf3+0x33c> +80002a5c: 12079863 bnez a5,80002b8c <__subsf3+0x460> +80002a60: 00000513 li a0,0 +80002a64: ec1ff06f j 80002924 <__subsf3+0x1f8> +80002a68: 12078663 beqz a5,80002b94 <__subsf3+0x468> +80002a6c: 40f80733 sub a4,a6,a5 +80002a70: 00571693 slli a3,a4,0x5 +80002a74: 410787b3 sub a5,a5,a6 +80002a78: 1006ca63 bltz a3,80002b8c <__subsf3+0x460> +80002a7c: 00070793 mv a5,a4 +80002a80: 06071063 bnez a4,80002ae0 <__subsf3+0x3b4> +80002a84: 00000793 li a5,0 +80002a88: fd9ff06f j 80002a60 <__subsf3+0x334> +80002a8c: e80816e3 bnez a6,80002918 <__subsf3+0x1ec> +80002a90: f60794e3 bnez a5,800029f8 <__subsf3+0x2cc> +80002a94: e89ff06f j 8000291c <__subsf3+0x1f0> +80002a98: 40f80433 sub s0,a6,a5 +80002a9c: 00541713 slli a4,s0,0x5 +80002aa0: 04075463 bgez a4,80002ae8 <__subsf3+0x3bc> +80002aa4: 41078433 sub s0,a5,a6 +80002aa8: 00058493 mv s1,a1 +80002aac: 00040513 mv a0,s0 +80002ab0: 604000ef jal ra,800030b4 <__clzsi2> +80002ab4: ffb50513 addi a0,a0,-5 +80002ab8: 00a41433 sll s0,s0,a0 +80002abc: 03254a63 blt a0,s2,80002af0 <__subsf3+0x3c4> +80002ac0: 41250533 sub a0,a0,s2 +80002ac4: 00150513 addi a0,a0,1 +80002ac8: 02000713 li a4,32 +80002acc: 00a457b3 srl a5,s0,a0 +80002ad0: 40a70533 sub a0,a4,a0 +80002ad4: 00a41433 sll s0,s0,a0 +80002ad8: 00803433 snez s0,s0 +80002adc: 0087e7b3 or a5,a5,s0 +80002ae0: 00000513 li a0,0 +80002ae4: e15ff06f j 800028f8 <__subsf3+0x1cc> +80002ae8: f8040ee3 beqz s0,80002a84 <__subsf3+0x358> +80002aec: fc1ff06f j 80002aac <__subsf3+0x380> +80002af0: fc0007b7 lui a5,0xfc000 +80002af4: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff96ef> +80002af8: 40a90533 sub a0,s2,a0 +80002afc: 00f477b3 and a5,s0,a5 +80002b00: df9ff06f j 800028f8 <__subsf3+0x1cc> +80002b04: 00080793 mv a5,a6 +80002b08: df1ff06f j 800028f8 <__subsf3+0x1cc> +80002b0c: 00000793 li a5,0 +80002b10: 00579713 slli a4,a5,0x5 +80002b14: 00075e63 bgez a4,80002b30 <__subsf3+0x404> +80002b18: 00150513 addi a0,a0,1 +80002b1c: 0ff00713 li a4,255 +80002b20: 06e50e63 beq a0,a4,80002b9c <__subsf3+0x470> +80002b24: fc000737 lui a4,0xfc000 +80002b28: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff96ef> +80002b2c: 00e7f7b3 and a5,a5,a4 +80002b30: 0ff00713 li a4,255 +80002b34: 0037d793 srli a5,a5,0x3 +80002b38: 00e51863 bne a0,a4,80002b48 <__subsf3+0x41c> +80002b3c: 00078663 beqz a5,80002b48 <__subsf3+0x41c> +80002b40: 004007b7 lui a5,0x400 +80002b44: 00000493 li s1,0 +80002b48: 00800737 lui a4,0x800 +80002b4c: fff70713 addi a4,a4,-1 # 7fffff <_stack_size+0x7ffbff> +80002b50: 0ff57513 andi a0,a0,255 +80002b54: 00e7f7b3 and a5,a5,a4 +80002b58: 01751713 slli a4,a0,0x17 +80002b5c: 80800537 lui a0,0x80800 +80002b60: 00c12083 lw ra,12(sp) +80002b64: 00812403 lw s0,8(sp) +80002b68: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f96ef> +80002b6c: 00a7f533 and a0,a5,a0 +80002b70: 01f49493 slli s1,s1,0x1f +80002b74: 00e56533 or a0,a0,a4 +80002b78: 00956533 or a0,a0,s1 +80002b7c: 00012903 lw s2,0(sp) +80002b80: 00412483 lw s1,4(sp) +80002b84: 01010113 addi sp,sp,16 +80002b88: 00008067 ret +80002b8c: 00058493 mv s1,a1 +80002b90: f51ff06f j 80002ae0 <__subsf3+0x3b4> +80002b94: 00080793 mv a5,a6 +80002b98: f49ff06f j 80002ae0 <__subsf3+0x3b4> +80002b9c: 00000793 li a5,0 +80002ba0: f91ff06f j 80002b30 <__subsf3+0x404> + +80002ba4 <__fixsfsi>: +80002ba4: 00800637 lui a2,0x800 +80002ba8: 01755713 srli a4,a0,0x17 +80002bac: fff60793 addi a5,a2,-1 # 7fffff <_stack_size+0x7ffbff> +80002bb0: 0ff77713 andi a4,a4,255 +80002bb4: 07e00593 li a1,126 +80002bb8: 00a7f7b3 and a5,a5,a0 +80002bbc: 01f55693 srli a3,a0,0x1f +80002bc0: 04e5f663 bleu a4,a1,80002c0c <__fixsfsi+0x68> +80002bc4: 09d00593 li a1,157 +80002bc8: 00e5fa63 bleu a4,a1,80002bdc <__fixsfsi+0x38> +80002bcc: 80000537 lui a0,0x80000 +80002bd0: fff54513 not a0,a0 +80002bd4: 00a68533 add a0,a3,a0 +80002bd8: 00008067 ret +80002bdc: 00c7e533 or a0,a5,a2 +80002be0: 09500793 li a5,149 +80002be4: 00e7dc63 ble a4,a5,80002bfc <__fixsfsi+0x58> +80002be8: f6a70713 addi a4,a4,-150 +80002bec: 00e51533 sll a0,a0,a4 +80002bf0: 02068063 beqz a3,80002c10 <__fixsfsi+0x6c> +80002bf4: 40a00533 neg a0,a0 +80002bf8: 00008067 ret +80002bfc: 09600793 li a5,150 +80002c00: 40e78733 sub a4,a5,a4 +80002c04: 00e55533 srl a0,a0,a4 +80002c08: fe9ff06f j 80002bf0 <__fixsfsi+0x4c> +80002c0c: 00000513 li a0,0 +80002c10: 00008067 ret + +80002c14 <__floatsisf>: +80002c14: ff010113 addi sp,sp,-16 +80002c18: 00112623 sw ra,12(sp) +80002c1c: 00812423 sw s0,8(sp) +80002c20: 00912223 sw s1,4(sp) +80002c24: 10050263 beqz a0,80002d28 <__floatsisf+0x114> +80002c28: 00050413 mv s0,a0 +80002c2c: 01f55493 srli s1,a0,0x1f +80002c30: 00055463 bgez a0,80002c38 <__floatsisf+0x24> +80002c34: 40a00433 neg s0,a0 +80002c38: 00040513 mv a0,s0 +80002c3c: 478000ef jal ra,800030b4 <__clzsi2> +80002c40: 09e00793 li a5,158 +80002c44: 40a787b3 sub a5,a5,a0 +80002c48: 09600713 li a4,150 +80002c4c: 06f74063 blt a4,a5,80002cac <__floatsisf+0x98> +80002c50: 00800713 li a4,8 +80002c54: 00a75663 ble a0,a4,80002c60 <__floatsisf+0x4c> +80002c58: ff850513 addi a0,a0,-8 # 7ffffff8 <_stack_start+0xffff96e8> +80002c5c: 00a41433 sll s0,s0,a0 +80002c60: 00800537 lui a0,0x800 +80002c64: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002c68: 0ff7f793 andi a5,a5,255 +80002c6c: 00a47433 and s0,s0,a0 +80002c70: 01779513 slli a0,a5,0x17 +80002c74: 808007b7 lui a5,0x80800 +80002c78: fff78793 addi a5,a5,-1 # 807fffff <_stack_start+0x7f96ef> +80002c7c: 00f47433 and s0,s0,a5 +80002c80: 800007b7 lui a5,0x80000 +80002c84: 00a46433 or s0,s0,a0 +80002c88: fff7c793 not a5,a5 +80002c8c: 01f49513 slli a0,s1,0x1f +80002c90: 00f47433 and s0,s0,a5 +80002c94: 00a46533 or a0,s0,a0 +80002c98: 00c12083 lw ra,12(sp) +80002c9c: 00812403 lw s0,8(sp) +80002ca0: 00412483 lw s1,4(sp) +80002ca4: 01010113 addi sp,sp,16 +80002ca8: 00008067 ret +80002cac: 09900713 li a4,153 +80002cb0: 02f75063 ble a5,a4,80002cd0 <__floatsisf+0xbc> +80002cb4: 00500713 li a4,5 +80002cb8: 40a70733 sub a4,a4,a0 +80002cbc: 01b50693 addi a3,a0,27 +80002cc0: 00e45733 srl a4,s0,a4 +80002cc4: 00d41433 sll s0,s0,a3 +80002cc8: 00803433 snez s0,s0 +80002ccc: 00876433 or s0,a4,s0 +80002cd0: 00500713 li a4,5 +80002cd4: 00a75663 ble a0,a4,80002ce0 <__floatsisf+0xcc> +80002cd8: ffb50713 addi a4,a0,-5 +80002cdc: 00e41433 sll s0,s0,a4 +80002ce0: fc000737 lui a4,0xfc000 +80002ce4: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff96ef> +80002ce8: 00747693 andi a3,s0,7 +80002cec: 00e47733 and a4,s0,a4 +80002cf0: 00068a63 beqz a3,80002d04 <__floatsisf+0xf0> +80002cf4: 00f47413 andi s0,s0,15 +80002cf8: 00400693 li a3,4 +80002cfc: 00d40463 beq s0,a3,80002d04 <__floatsisf+0xf0> +80002d00: 00470713 addi a4,a4,4 +80002d04: 00571693 slli a3,a4,0x5 +80002d08: 0006dc63 bgez a3,80002d20 <__floatsisf+0x10c> +80002d0c: fc0007b7 lui a5,0xfc000 +80002d10: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff96ef> +80002d14: 00f77733 and a4,a4,a5 +80002d18: 09f00793 li a5,159 +80002d1c: 40a787b3 sub a5,a5,a0 +80002d20: 00375413 srli s0,a4,0x3 +80002d24: f3dff06f j 80002c60 <__floatsisf+0x4c> +80002d28: 00000413 li s0,0 +80002d2c: 00000793 li a5,0 +80002d30: 00000493 li s1,0 +80002d34: f2dff06f j 80002c60 <__floatsisf+0x4c> + +80002d38 <__extendsfdf2>: +80002d38: 01755793 srli a5,a0,0x17 +80002d3c: ff010113 addi sp,sp,-16 +80002d40: 0ff7f793 andi a5,a5,255 +80002d44: 00812423 sw s0,8(sp) +80002d48: 00178713 addi a4,a5,1 +80002d4c: 00800437 lui s0,0x800 +80002d50: 00912223 sw s1,4(sp) +80002d54: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002d58: 00112623 sw ra,12(sp) +80002d5c: 0ff77713 andi a4,a4,255 +80002d60: 00100693 li a3,1 +80002d64: 00a47433 and s0,s0,a0 +80002d68: 01f55493 srli s1,a0,0x1f +80002d6c: 06e6d263 ble a4,a3,80002dd0 <__extendsfdf2+0x98> +80002d70: 38078513 addi a0,a5,896 +80002d74: 00345793 srli a5,s0,0x3 +80002d78: 01d41413 slli s0,s0,0x1d +80002d7c: 00100737 lui a4,0x100 +80002d80: fff70713 addi a4,a4,-1 # fffff <_stack_size+0xffbff> +80002d84: 00e7f7b3 and a5,a5,a4 +80002d88: 80100737 lui a4,0x80100 +80002d8c: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf96ef> +80002d90: 7ff57513 andi a0,a0,2047 +80002d94: 01451513 slli a0,a0,0x14 +80002d98: 00e7f7b3 and a5,a5,a4 +80002d9c: 80000737 lui a4,0x80000 +80002da0: 00a7e7b3 or a5,a5,a0 +80002da4: fff74713 not a4,a4 +80002da8: 01f49513 slli a0,s1,0x1f +80002dac: 00e7f7b3 and a5,a5,a4 +80002db0: 00a7e733 or a4,a5,a0 +80002db4: 00c12083 lw ra,12(sp) +80002db8: 00040513 mv a0,s0 +80002dbc: 00812403 lw s0,8(sp) +80002dc0: 00412483 lw s1,4(sp) +80002dc4: 00070593 mv a1,a4 +80002dc8: 01010113 addi sp,sp,16 +80002dcc: 00008067 ret +80002dd0: 04079463 bnez a5,80002e18 <__extendsfdf2+0xe0> +80002dd4: 06040263 beqz s0,80002e38 <__extendsfdf2+0x100> +80002dd8: 00040513 mv a0,s0 +80002ddc: 2d8000ef jal ra,800030b4 <__clzsi2> +80002de0: 00a00793 li a5,10 +80002de4: 02a7c263 blt a5,a0,80002e08 <__extendsfdf2+0xd0> +80002de8: 00b00793 li a5,11 +80002dec: 40a787b3 sub a5,a5,a0 +80002df0: 01550713 addi a4,a0,21 +80002df4: 00f457b3 srl a5,s0,a5 +80002df8: 00e41433 sll s0,s0,a4 +80002dfc: 38900713 li a4,905 +80002e00: 40a70533 sub a0,a4,a0 +80002e04: f79ff06f j 80002d7c <__extendsfdf2+0x44> +80002e08: ff550793 addi a5,a0,-11 +80002e0c: 00f417b3 sll a5,s0,a5 +80002e10: 00000413 li s0,0 +80002e14: fe9ff06f j 80002dfc <__extendsfdf2+0xc4> +80002e18: 00000793 li a5,0 +80002e1c: 00040a63 beqz s0,80002e30 <__extendsfdf2+0xf8> +80002e20: 00345793 srli a5,s0,0x3 +80002e24: 00080737 lui a4,0x80 +80002e28: 01d41413 slli s0,s0,0x1d +80002e2c: 00e7e7b3 or a5,a5,a4 +80002e30: 7ff00513 li a0,2047 +80002e34: f49ff06f j 80002d7c <__extendsfdf2+0x44> +80002e38: 00000793 li a5,0 +80002e3c: 00000513 li a0,0 +80002e40: f3dff06f j 80002d7c <__extendsfdf2+0x44> + +80002e44 <__truncdfsf2>: +80002e44: 00100637 lui a2,0x100 +80002e48: fff60613 addi a2,a2,-1 # fffff <_stack_size+0xffbff> +80002e4c: 00b67633 and a2,a2,a1 +80002e50: 0145d813 srli a6,a1,0x14 +80002e54: 01d55793 srli a5,a0,0x1d +80002e58: 7ff87813 andi a6,a6,2047 +80002e5c: 00361613 slli a2,a2,0x3 +80002e60: 00c7e633 or a2,a5,a2 +80002e64: 00180793 addi a5,a6,1 +80002e68: 7ff7f793 andi a5,a5,2047 +80002e6c: 00100693 li a3,1 +80002e70: 01f5d593 srli a1,a1,0x1f +80002e74: 00351713 slli a4,a0,0x3 +80002e78: 0af6d663 ble a5,a3,80002f24 <__truncdfsf2+0xe0> +80002e7c: c8080693 addi a3,a6,-896 +80002e80: 0fe00793 li a5,254 +80002e84: 0cd7c263 blt a5,a3,80002f48 <__truncdfsf2+0x104> +80002e88: 08d04063 bgtz a3,80002f08 <__truncdfsf2+0xc4> +80002e8c: fe900793 li a5,-23 +80002e90: 12f6c463 blt a3,a5,80002fb8 <__truncdfsf2+0x174> +80002e94: 008007b7 lui a5,0x800 +80002e98: 01e00513 li a0,30 +80002e9c: 00f66633 or a2,a2,a5 +80002ea0: 40d50533 sub a0,a0,a3 +80002ea4: 01f00793 li a5,31 +80002ea8: 02a7c863 blt a5,a0,80002ed8 <__truncdfsf2+0x94> +80002eac: c8280813 addi a6,a6,-894 +80002eb0: 010717b3 sll a5,a4,a6 +80002eb4: 00f037b3 snez a5,a5 +80002eb8: 01061633 sll a2,a2,a6 +80002ebc: 00a75533 srl a0,a4,a0 +80002ec0: 00c7e7b3 or a5,a5,a2 +80002ec4: 00f567b3 or a5,a0,a5 +80002ec8: 00000693 li a3,0 +80002ecc: 0077f713 andi a4,a5,7 +80002ed0: 08070063 beqz a4,80002f50 <__truncdfsf2+0x10c> +80002ed4: 0ec0006f j 80002fc0 <__truncdfsf2+0x17c> +80002ed8: ffe00793 li a5,-2 +80002edc: 40d786b3 sub a3,a5,a3 +80002ee0: 02000793 li a5,32 +80002ee4: 00d656b3 srl a3,a2,a3 +80002ee8: 00000893 li a7,0 +80002eec: 00f50663 beq a0,a5,80002ef8 <__truncdfsf2+0xb4> +80002ef0: ca280813 addi a6,a6,-862 +80002ef4: 010618b3 sll a7,a2,a6 +80002ef8: 00e8e7b3 or a5,a7,a4 +80002efc: 00f037b3 snez a5,a5 +80002f00: 00f6e7b3 or a5,a3,a5 +80002f04: fc5ff06f j 80002ec8 <__truncdfsf2+0x84> +80002f08: 00651513 slli a0,a0,0x6 +80002f0c: 00a03533 snez a0,a0 +80002f10: 00361613 slli a2,a2,0x3 +80002f14: 01d75793 srli a5,a4,0x1d +80002f18: 00c56633 or a2,a0,a2 +80002f1c: 00f667b3 or a5,a2,a5 +80002f20: fadff06f j 80002ecc <__truncdfsf2+0x88> +80002f24: 00e667b3 or a5,a2,a4 +80002f28: 00081663 bnez a6,80002f34 <__truncdfsf2+0xf0> +80002f2c: 00f037b3 snez a5,a5 +80002f30: f99ff06f j 80002ec8 <__truncdfsf2+0x84> +80002f34: 0ff00693 li a3,255 +80002f38: 00078c63 beqz a5,80002f50 <__truncdfsf2+0x10c> +80002f3c: 00361613 slli a2,a2,0x3 +80002f40: 020007b7 lui a5,0x2000 +80002f44: fd9ff06f j 80002f1c <__truncdfsf2+0xd8> +80002f48: 00000793 li a5,0 +80002f4c: 0ff00693 li a3,255 +80002f50: 00579713 slli a4,a5,0x5 +80002f54: 00075e63 bgez a4,80002f70 <__truncdfsf2+0x12c> +80002f58: 00168693 addi a3,a3,1 +80002f5c: 0ff00713 li a4,255 +80002f60: 06e68a63 beq a3,a4,80002fd4 <__truncdfsf2+0x190> +80002f64: fc000737 lui a4,0xfc000 +80002f68: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff96ef> +80002f6c: 00e7f7b3 and a5,a5,a4 +80002f70: 0ff00713 li a4,255 +80002f74: 0037d793 srli a5,a5,0x3 +80002f78: 00e69863 bne a3,a4,80002f88 <__truncdfsf2+0x144> +80002f7c: 00078663 beqz a5,80002f88 <__truncdfsf2+0x144> +80002f80: 004007b7 lui a5,0x400 +80002f84: 00000593 li a1,0 +80002f88: 00800537 lui a0,0x800 +80002f8c: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002f90: 00a7f7b3 and a5,a5,a0 +80002f94: 80800537 lui a0,0x80800 +80002f98: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f96ef> +80002f9c: 0ff6f693 andi a3,a3,255 +80002fa0: 01769693 slli a3,a3,0x17 +80002fa4: 00a7f7b3 and a5,a5,a0 +80002fa8: 01f59593 slli a1,a1,0x1f +80002fac: 00d7e7b3 or a5,a5,a3 +80002fb0: 00b7e533 or a0,a5,a1 +80002fb4: 00008067 ret +80002fb8: 00100793 li a5,1 +80002fbc: 00000693 li a3,0 +80002fc0: 00f7f713 andi a4,a5,15 +80002fc4: 00400613 li a2,4 +80002fc8: f8c704e3 beq a4,a2,80002f50 <__truncdfsf2+0x10c> +80002fcc: 00478793 addi a5,a5,4 # 400004 <_stack_size+0x3ffc04> +80002fd0: f81ff06f j 80002f50 <__truncdfsf2+0x10c> +80002fd4: 00000793 li a5,0 +80002fd8: f99ff06f j 80002f70 <__truncdfsf2+0x12c> + +80002fdc <__mulsi3>: +80002fdc: 00050613 mv a2,a0 +80002fe0: 00000513 li a0,0 +80002fe4: 0015f693 andi a3,a1,1 +80002fe8: 00068463 beqz a3,80002ff0 <__mulsi3+0x14> +80002fec: 00c50533 add a0,a0,a2 +80002ff0: 0015d593 srli a1,a1,0x1 +80002ff4: 00161613 slli a2,a2,0x1 +80002ff8: fe0596e3 bnez a1,80002fe4 <__mulsi3+0x8> +80002ffc: 00008067 ret + +80003000 <__divsi3>: +80003000: 06054063 bltz a0,80003060 <__umodsi3+0x10> +80003004: 0605c663 bltz a1,80003070 <__umodsi3+0x20> + +80003008 <__udivsi3>: +80003008: 00058613 mv a2,a1 +8000300c: 00050593 mv a1,a0 +80003010: fff00513 li a0,-1 +80003014: 02060c63 beqz a2,8000304c <__udivsi3+0x44> +80003018: 00100693 li a3,1 +8000301c: 00b67a63 bleu a1,a2,80003030 <__udivsi3+0x28> +80003020: 00c05863 blez a2,80003030 <__udivsi3+0x28> +80003024: 00161613 slli a2,a2,0x1 +80003028: 00169693 slli a3,a3,0x1 +8000302c: feb66ae3 bltu a2,a1,80003020 <__udivsi3+0x18> +80003030: 00000513 li a0,0 +80003034: 00c5e663 bltu a1,a2,80003040 <__udivsi3+0x38> +80003038: 40c585b3 sub a1,a1,a2 +8000303c: 00d56533 or a0,a0,a3 +80003040: 0016d693 srli a3,a3,0x1 +80003044: 00165613 srli a2,a2,0x1 +80003048: fe0696e3 bnez a3,80003034 <__udivsi3+0x2c> +8000304c: 00008067 ret + +80003050 <__umodsi3>: +80003050: 00008293 mv t0,ra +80003054: fb5ff0ef jal ra,80003008 <__udivsi3> +80003058: 00058513 mv a0,a1 +8000305c: 00028067 jr t0 +80003060: 40a00533 neg a0,a0 +80003064: 0005d863 bgez a1,80003074 <__umodsi3+0x24> +80003068: 40b005b3 neg a1,a1 +8000306c: f9dff06f j 80003008 <__udivsi3> +80003070: 40b005b3 neg a1,a1 +80003074: 00008293 mv t0,ra +80003078: f91ff0ef jal ra,80003008 <__udivsi3> +8000307c: 40a00533 neg a0,a0 +80003080: 00028067 jr t0 + +80003084 <__modsi3>: +80003084: 00008293 mv t0,ra +80003088: 0005ca63 bltz a1,8000309c <__modsi3+0x18> +8000308c: 00054c63 bltz a0,800030a4 <__modsi3+0x20> +80003090: f79ff0ef jal ra,80003008 <__udivsi3> +80003094: 00058513 mv a0,a1 +80003098: 00028067 jr t0 +8000309c: 40b005b3 neg a1,a1 +800030a0: fe0558e3 bgez a0,80003090 <__modsi3+0xc> +800030a4: 40a00533 neg a0,a0 +800030a8: f61ff0ef jal ra,80003008 <__udivsi3> +800030ac: 40b00533 neg a0,a1 +800030b0: 00028067 jr t0 + +800030b4 <__clzsi2>: +800030b4: 000107b7 lui a5,0x10 +800030b8: 02f57a63 bleu a5,a0,800030ec <__clzsi2+0x38> +800030bc: 0ff00793 li a5,255 +800030c0: 00a7b7b3 sltu a5,a5,a0 +800030c4: 00379793 slli a5,a5,0x3 +800030c8: 02000713 li a4,32 +800030cc: 40f70733 sub a4,a4,a5 +800030d0: 00f557b3 srl a5,a0,a5 +800030d4: 00000517 auipc a0,0x0 +800030d8: 70850513 addi a0,a0,1800 # 800037dc <__clz_tab> +800030dc: 00f507b3 add a5,a0,a5 +800030e0: 0007c503 lbu a0,0(a5) # 10000 <_stack_size+0xfc00> +800030e4: 40a70533 sub a0,a4,a0 +800030e8: 00008067 ret +800030ec: 01000737 lui a4,0x1000 +800030f0: 01000793 li a5,16 +800030f4: fce56ae3 bltu a0,a4,800030c8 <__clzsi2+0x14> +800030f8: 01800793 li a5,24 +800030fc: fcdff06f j 800030c8 <__clzsi2+0x14> + +Disassembly of section .text.startup: + +80003100 <main>: +int main() { +80003100: ff010113 addi sp,sp,-16 +80003104: 00112623 sw ra,12(sp) + main2(); +80003108: 9f0fd0ef jal ra,800002f8 <main2> +} +8000310c: 00c12083 lw ra,12(sp) + TEST_COM_BASE[8] = 0; +80003110: f01007b7 lui a5,0xf0100 +80003114: f207a023 sw zero,-224(a5) # f00fff20 <_stack_start+0x700f9610> +} +80003118: 00000513 li a0,0 +8000311c: 01010113 addi sp,sp,16 +80003120: 00008067 ret diff --git a/VexRiscv/src/test/resources/asm/dhrystoneO3C.asm b/VexRiscv/src/test/resources/asm/dhrystoneO3C.asm new file mode 100644 index 0000000..7c7f995 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/dhrystoneO3C.asm @@ -0,0 +1,3836 @@ + +build/dhrystone.elf: file format elf32-littleriscv + + +Disassembly of section .vector: + +80000000 <crtStart>: +.global crtStart +.global main +.global irqCallback + +crtStart: + j crtInit +80000000: a8ad j 8000007a <crtInit> + nop +80000002: 0001 nop + nop +80000004: 0001 nop + nop +80000006: 0001 nop + nop +80000008: 0001 nop + nop +8000000a: 0001 nop + nop +8000000c: 0001 nop + nop +8000000e: 0001 nop + +80000010 <trap_entry>: + +.global trap_entry +trap_entry: + sw x1, - 1*4(sp) +80000010: fe112e23 sw ra,-4(sp) + sw x5, - 2*4(sp) +80000014: fe512c23 sw t0,-8(sp) + sw x6, - 3*4(sp) +80000018: fe612a23 sw t1,-12(sp) + sw x7, - 4*4(sp) +8000001c: fe712823 sw t2,-16(sp) + sw x10, - 5*4(sp) +80000020: fea12623 sw a0,-20(sp) + sw x11, - 6*4(sp) +80000024: feb12423 sw a1,-24(sp) + sw x12, - 7*4(sp) +80000028: fec12223 sw a2,-28(sp) + sw x13, - 8*4(sp) +8000002c: fed12023 sw a3,-32(sp) + sw x14, - 9*4(sp) +80000030: fce12e23 sw a4,-36(sp) + sw x15, -10*4(sp) +80000034: fcf12c23 sw a5,-40(sp) + sw x16, -11*4(sp) +80000038: fd012a23 sw a6,-44(sp) + sw x17, -12*4(sp) +8000003c: fd112823 sw a7,-48(sp) + sw x28, -13*4(sp) +80000040: fdc12623 sw t3,-52(sp) + sw x29, -14*4(sp) +80000044: fdd12423 sw t4,-56(sp) + sw x30, -15*4(sp) +80000048: fde12223 sw t5,-60(sp) + sw x31, -16*4(sp) +8000004c: fdf12023 sw t6,-64(sp) + addi sp,sp,-16*4 +80000050: 7139 addi sp,sp,-64 + call irqCallback +80000052: 28ad jal 800000cc <irqCallback> + lw x1 , 15*4(sp) +80000054: 50f2 lw ra,60(sp) + lw x5, 14*4(sp) +80000056: 52e2 lw t0,56(sp) + lw x6, 13*4(sp) +80000058: 5352 lw t1,52(sp) + lw x7, 12*4(sp) +8000005a: 53c2 lw t2,48(sp) + lw x10, 11*4(sp) +8000005c: 5532 lw a0,44(sp) + lw x11, 10*4(sp) +8000005e: 55a2 lw a1,40(sp) + lw x12, 9*4(sp) +80000060: 5612 lw a2,36(sp) + lw x13, 8*4(sp) +80000062: 5682 lw a3,32(sp) + lw x14, 7*4(sp) +80000064: 4772 lw a4,28(sp) + lw x15, 6*4(sp) +80000066: 47e2 lw a5,24(sp) + lw x16, 5*4(sp) +80000068: 4852 lw a6,20(sp) + lw x17, 4*4(sp) +8000006a: 48c2 lw a7,16(sp) + lw x28, 3*4(sp) +8000006c: 4e32 lw t3,12(sp) + lw x29, 2*4(sp) +8000006e: 4ea2 lw t4,8(sp) + lw x30, 1*4(sp) +80000070: 4f12 lw t5,4(sp) + lw x31, 0*4(sp) +80000072: 4f82 lw t6,0(sp) + addi sp,sp,16*4 +80000074: 6121 addi sp,sp,64 + mret +80000076: 30200073 mret + +8000007a <crtInit>: + + +crtInit: + .option push + .option norelax + la gp, __global_pointer$ +8000007a: 00004197 auipc gp,0x4 +8000007e: c2618193 addi gp,gp,-986 # 80003ca0 <__global_pointer$> + .option pop + la sp, _stack_start +80000082: 00006117 auipc sp,0x6 +80000086: 44e10113 addi sp,sp,1102 # 800064d0 <_stack_start> + +8000008a <bss_init>: + +bss_init: + la a0, _bss_start +8000008a: 81c18513 addi a0,gp,-2020 # 800034bc <Dhrystones_Per_Second> + la a1, _bss_end +8000008e: 00006597 auipc a1,0x6 +80000092: 03658593 addi a1,a1,54 # 800060c4 <_bss_end> + +80000096 <bss_loop>: +bss_loop: + beq a0,a1,bss_done +80000096: 00b50663 beq a0,a1,800000a2 <bss_done> + sw zero,0(a0) +8000009a: 00052023 sw zero,0(a0) + add a0,a0,4 +8000009e: 0511 addi a0,a0,4 + j bss_loop +800000a0: bfdd j 80000096 <bss_loop> + +800000a2 <bss_done>: +bss_done: + +ctors_init: + la a0, _ctors_start +800000a2: 00003517 auipc a0,0x3 +800000a6: 3fa50513 addi a0,a0,1018 # 8000349c <_ctors_end> + addi sp,sp,-4 +800000aa: 1171 addi sp,sp,-4 + +800000ac <ctors_loop>: +ctors_loop: + la a1, _ctors_end +800000ac: 00003597 auipc a1,0x3 +800000b0: 3f058593 addi a1,a1,1008 # 8000349c <_ctors_end> + beq a0,a1,ctors_done +800000b4: 00b50863 beq a0,a1,800000c4 <ctors_done> + lw a3,0(a0) +800000b8: 4114 lw a3,0(a0) + add a0,a0,4 +800000ba: 0511 addi a0,a0,4 + sw a0,0(sp) +800000bc: c02a sw a0,0(sp) + jalr a3 +800000be: 9682 jalr a3 + lw a0,0(sp) +800000c0: 4502 lw a0,0(sp) + j ctors_loop +800000c2: b7ed j 800000ac <ctors_loop> + +800000c4 <ctors_done>: +ctors_done: + addi sp,sp,4 +800000c4: 0111 addi sp,sp,4 + //li a0, 0x880 //880 enable timer + external interrupts + //csrw mie,a0 + //li a0, 0x1808 //1808 enable interrupts + //csrw mstatus,a0 + + call main +800000c6: 407020ef jal ra,80002ccc <end> + +800000ca <infinitLoop>: +infinitLoop: + j infinitLoop +800000ca: a001 j 800000ca <infinitLoop> + +Disassembly of section .memory: + +800000cc <irqCallback>: +} + + +void irqCallback(int irq){ + +} +800000cc: 8082 ret + +800000ce <Proc_2>: + One_Fifty Int_Loc; + Enumeration Enum_Loc; + + Int_Loc = *Int_Par_Ref + 10; + do /* executed once */ + if (Ch_1_Glob == 'A') +800000ce: 8351c703 lbu a4,-1995(gp) # 800034d5 <Ch_1_Glob> +800000d2: 04100793 li a5,65 +800000d6: 00f70363 beq a4,a5,800000dc <Proc_2+0xe> + Int_Loc -= 1; + *Int_Par_Ref = Int_Loc - Int_Glob; + Enum_Loc = Ident_1; + } /* if */ + while (Enum_Loc != Ident_1); /* true */ +} /* Proc_2 */ +800000da: 8082 ret + Int_Loc -= 1; +800000dc: 411c lw a5,0(a0) + *Int_Par_Ref = Int_Loc - Int_Glob; +800000de: 83c1a703 lw a4,-1988(gp) # 800034dc <Int_Glob> + Int_Loc -= 1; +800000e2: 07a5 addi a5,a5,9 + *Int_Par_Ref = Int_Loc - Int_Glob; +800000e4: 8f99 sub a5,a5,a4 +800000e6: c11c sw a5,0(a0) +} /* Proc_2 */ +800000e8: 8082 ret + +800000ea <Proc_3>: + /* Ptr_Ref_Par becomes Ptr_Glob */ + +Rec_Pointer *Ptr_Ref_Par; + +{ + if (Ptr_Glob != Null) +800000ea: 8441a603 lw a2,-1980(gp) # 800034e4 <Ptr_Glob> +800000ee: c609 beqz a2,800000f8 <Proc_3+0xe> + /* then, executed */ + *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp; +800000f0: 4218 lw a4,0(a2) +800000f2: c118 sw a4,0(a0) +800000f4: 8441a603 lw a2,-1980(gp) # 800034e4 <Ptr_Glob> + Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp); +800000f8: 83c1a583 lw a1,-1988(gp) # 800034dc <Int_Glob> +800000fc: 0631 addi a2,a2,12 +800000fe: 4529 li a0,10 +80000100: 6d80006f j 800007d8 <Proc_7> + +80000104 <Proc_1>: +{ +80000104: 1141 addi sp,sp,-16 +80000106: c04a sw s2,0(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000108: 8441a783 lw a5,-1980(gp) # 800034e4 <Ptr_Glob> +{ +8000010c: c422 sw s0,8(sp) + REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; +8000010e: 4100 lw s0,0(a0) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000110: 4398 lw a4,0(a5) +{ +80000112: c226 sw s1,4(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000114: 0047ae83 lw t4,4(a5) +80000118: 0087ae03 lw t3,8(a5) +8000011c: 0107a303 lw t1,16(a5) +80000120: 0147a883 lw a7,20(a5) +80000124: 0187a803 lw a6,24(a5) +80000128: 538c lw a1,32(a5) +8000012a: 53d0 lw a2,36(a5) +8000012c: 5794 lw a3,40(a5) +{ +8000012e: c606 sw ra,12(sp) +80000130: 84aa mv s1,a0 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000132: 4fc8 lw a0,28(a5) +80000134: 57dc lw a5,44(a5) +80000136: c018 sw a4,0(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +80000138: 4098 lw a4,0(s1) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +8000013a: cc48 sw a0,28(s0) +8000013c: d45c sw a5,44(s0) +8000013e: 01d42223 sw t4,4(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +80000142: 4795 li a5,5 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000144: 01c42423 sw t3,8(s0) +80000148: 00642823 sw t1,16(s0) +8000014c: 01142a23 sw a7,20(s0) +80000150: 01042c23 sw a6,24(s0) +80000154: d00c sw a1,32(s0) +80000156: d050 sw a2,36(s0) +80000158: d414 sw a3,40(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +8000015a: c4dc sw a5,12(s1) + = Ptr_Val_Par->variant.var_1.Int_Comp; +8000015c: c45c sw a5,12(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +8000015e: c018 sw a4,0(s0) + Proc_3 (&Next_Record->Ptr_Comp); +80000160: 8522 mv a0,s0 +80000162: 3761 jal 800000ea <Proc_3> + if (Next_Record->Discr == Ident_1) +80000164: 405c lw a5,4(s0) +80000166: cfb1 beqz a5,800001c2 <Proc_1+0xbe> + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +80000168: 409c lw a5,0(s1) +} /* Proc_1 */ +8000016a: 40b2 lw ra,12(sp) +8000016c: 4422 lw s0,8(sp) + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +8000016e: 0007af83 lw t6,0(a5) +80000172: 0047af03 lw t5,4(a5) +80000176: 0087ae83 lw t4,8(a5) +8000017a: 00c7ae03 lw t3,12(a5) +8000017e: 0107a303 lw t1,16(a5) +80000182: 0147a883 lw a7,20(a5) +80000186: 0187a803 lw a6,24(a5) +8000018a: 4fcc lw a1,28(a5) +8000018c: 5390 lw a2,32(a5) +8000018e: 53d4 lw a3,36(a5) +80000190: 5798 lw a4,40(a5) +80000192: 57dc lw a5,44(a5) +80000194: 01f4a023 sw t6,0(s1) +80000198: 01e4a223 sw t5,4(s1) +8000019c: 01d4a423 sw t4,8(s1) +800001a0: 01c4a623 sw t3,12(s1) +800001a4: 0064a823 sw t1,16(s1) +800001a8: 0114aa23 sw a7,20(s1) +800001ac: 0104ac23 sw a6,24(s1) +800001b0: cccc sw a1,28(s1) +800001b2: d090 sw a2,32(s1) +800001b4: d0d4 sw a3,36(s1) +800001b6: d498 sw a4,40(s1) +800001b8: d4dc sw a5,44(s1) +} /* Proc_1 */ +800001ba: 4902 lw s2,0(sp) +800001bc: 4492 lw s1,4(sp) +800001be: 0141 addi sp,sp,16 +800001c0: 8082 ret + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c2: 4488 lw a0,8(s1) + Next_Record->variant.var_1.Int_Comp = 6; +800001c4: 4799 li a5,6 + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c6: 00840593 addi a1,s0,8 + Next_Record->variant.var_1.Int_Comp = 6; +800001ca: c45c sw a5,12(s0) + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001cc: 6d0000ef jal ra,8000089c <Proc_6> + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001d0: 8441a783 lw a5,-1980(gp) # 800034e4 <Ptr_Glob> + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001d4: 4448 lw a0,12(s0) +800001d6: 00c40613 addi a2,s0,12 + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001da: 439c lw a5,0(a5) +} /* Proc_1 */ +800001dc: 40b2 lw ra,12(sp) +800001de: 4492 lw s1,4(sp) + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001e0: c01c sw a5,0(s0) +} /* Proc_1 */ +800001e2: 4422 lw s0,8(sp) +800001e4: 4902 lw s2,0(sp) + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001e6: 45a9 li a1,10 +} /* Proc_1 */ +800001e8: 0141 addi sp,sp,16 + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001ea: 5ee0006f j 800007d8 <Proc_7> + +800001ee <Proc_4>: +/*******/ + /* executed once */ +{ + Boolean Bool_Loc; + + Bool_Loc = Ch_1_Glob == 'A'; +800001ee: 8351c783 lbu a5,-1995(gp) # 800034d5 <Ch_1_Glob> + Bool_Glob = Bool_Loc | Bool_Glob; +800001f2: 8381a683 lw a3,-1992(gp) # 800034d8 <Bool_Glob> + Bool_Loc = Ch_1_Glob == 'A'; +800001f6: fbf78793 addi a5,a5,-65 +800001fa: 0017b793 seqz a5,a5 + Bool_Glob = Bool_Loc | Bool_Glob; +800001fe: 8fd5 or a5,a5,a3 +80000200: 82f1ac23 sw a5,-1992(gp) # 800034d8 <Bool_Glob> + Ch_2_Glob = 'B'; +80000204: 04200713 li a4,66 +80000208: 82e18a23 sb a4,-1996(gp) # 800034d4 <Ch_2_Glob> +} /* Proc_4 */ +8000020c: 8082 ret + +8000020e <Proc_5>: + +Proc_5 () /* without parameters */ +/*******/ + /* executed once */ +{ + Ch_1_Glob = 'A'; +8000020e: 04100713 li a4,65 +80000212: 82e18aa3 sb a4,-1995(gp) # 800034d5 <Ch_1_Glob> + Bool_Glob = false; +80000216: 8201ac23 sw zero,-1992(gp) # 800034d8 <Bool_Glob> +} /* Proc_5 */ +8000021a: 8082 ret + +8000021c <main2>: +{ +8000021c: 7135 addi sp,sp,-160 + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000021e: 03000513 li a0,48 +{ +80000222: cf06 sw ra,156(sp) +80000224: cd22 sw s0,152(sp) +80000226: dce2 sw s8,120(sp) +80000228: d6ee sw s11,108(sp) +8000022a: cb26 sw s1,148(sp) +8000022c: c94a sw s2,144(sp) +8000022e: c74e sw s3,140(sp) +80000230: c552 sw s4,136(sp) +80000232: c356 sw s5,132(sp) +80000234: c15a sw s6,128(sp) +80000236: dede sw s7,124(sp) +80000238: dae6 sw s9,116(sp) +8000023a: d8ea sw s10,112(sp) + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000023c: 74e000ef jal ra,8000098a <malloc> +80000240: 84a1a023 sw a0,-1984(gp) # 800034e0 <Next_Ptr_Glob> + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000244: 03000513 li a0,48 +80000248: 742000ef jal ra,8000098a <malloc> + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +8000024c: 8401a783 lw a5,-1984(gp) # 800034e0 <Next_Ptr_Glob> + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000250: 84a1a223 sw a0,-1980(gp) # 800034e4 <Ptr_Glob> + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +80000254: c11c sw a5,0(a0) + Ptr_Glob->variant.var_1.Enum_Comp = Ident_3; +80000256: 4789 li a5,2 +80000258: c51c sw a5,8(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000025a: 800035b7 lui a1,0x80003 + Ptr_Glob->variant.var_1.Int_Comp = 40; +8000025e: 02800793 li a5,40 +80000262: c55c sw a5,12(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000264: 467d li a2,31 +80000266: ce458593 addi a1,a1,-796 # 80002ce4 <_stack_start+0xffffc814> + Ptr_Glob->Discr = Ident_1; +8000026a: 00052223 sw zero,4(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000026e: 0541 addi a0,a0,16 +80000270: 01d000ef jal ra,80000a8c <memcpy> + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +80000274: 80003737 lui a4,0x80003 +80000278: 24c70793 addi a5,a4,588 # 8000324c <_stack_start+0xffffcd7c> +8000027c: 24c72e03 lw t3,588(a4) +80000280: 0047a303 lw t1,4(a5) +80000284: 0087a883 lw a7,8(a5) +80000288: 00c7a803 lw a6,12(a5) +8000028c: 4b8c lw a1,16(a5) +8000028e: 4bd0 lw a2,20(a5) +80000290: 4f94 lw a3,24(a5) +80000292: 01c7d703 lhu a4,28(a5) +80000296: 01e7c783 lbu a5,30(a5) + Arr_2_Glob [8][7] = 10; +8000029a: 80003db7 lui s11,0x80003 + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +8000029e: 02e11e23 sh a4,60(sp) +800002a2: 02f10f23 sb a5,62(sp) + Arr_2_Glob [8][7] = 10; +800002a6: 5b4d8713 addi a4,s11,1460 # 800035b4 <_stack_start+0xffffd0e4> +800002aa: 47a9 li a5,10 + printf ("\n"); +800002ac: 4529 li a0,10 + Arr_2_Glob [8][7] = 10; +800002ae: 64f72e23 sw a5,1628(a4) + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +800002b2: d072 sw t3,32(sp) +800002b4: d21a sw t1,36(sp) +800002b6: d446 sw a7,40(sp) +800002b8: d642 sw a6,44(sp) +800002ba: d82e sw a1,48(sp) +800002bc: da32 sw a2,52(sp) +800002be: dc36 sw a3,56(sp) + printf ("\n"); +800002c0: 7b8000ef jal ra,80000a78 <putchar> + printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); +800002c4: 80003537 lui a0,0x80003 +800002c8: d0450513 addi a0,a0,-764 # 80002d04 <_stack_start+0xffffc834> +800002cc: 786000ef jal ra,80000a52 <puts> + printf ("\n"); +800002d0: 4529 li a0,10 +800002d2: 7a6000ef jal ra,80000a78 <putchar> + if (Reg) +800002d6: 8301a783 lw a5,-2000(gp) # 800034d0 <Reg> +800002da: 4c078663 beqz a5,800007a6 <main2+0x58a> + printf ("Program compiled with 'register' attribute\n"); +800002de: 80003537 lui a0,0x80003 +800002e2: d3450513 addi a0,a0,-716 # 80002d34 <_stack_start+0xffffc864> +800002e6: 76c000ef jal ra,80000a52 <puts> + printf ("\n"); +800002ea: 4529 li a0,10 +800002ec: 78c000ef jal ra,80000a78 <putchar> + printf ("Please give the number of runs through the benchmark: "); +800002f0: 80003537 lui a0,0x80003 +800002f4: d9050513 addi a0,a0,-624 # 80002d90 <_stack_start+0xffffc8c0> +800002f8: 6b4000ef jal ra,800009ac <printf> + printf ("\n"); +800002fc: 4529 li a0,10 +800002fe: 77a000ef jal ra,80000a78 <putchar> + printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); +80000302: 80003537 lui a0,0x80003 +80000306: 0c800593 li a1,200 +8000030a: dc850513 addi a0,a0,-568 # 80002dc8 <_stack_start+0xffffc8f8> +8000030e: 69e000ef jal ra,800009ac <printf> + Begin_Time = clock(); +80000312: 770000ef jal ra,80000a82 <clock> +80000316: 80003437 lui s0,0x80003 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +8000031a: 26c42783 lw a5,620(s0) # 8000326c <_stack_start+0xffffcd9c> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000031e: 80003d37 lui s10,0x80003 +80000322: 28cd2b83 lw s7,652(s10) # 8000328c <_stack_start+0xffffcdbc> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000326: c43e sw a5,8(sp) + Begin_Time = clock(); +80000328: 82a1a623 sw a0,-2004(gp) # 800034cc <Begin_Time> + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +8000032c: 4985 li s3,1 +8000032e: 26c40413 addi s0,s0,620 + Int_1_Loc = 2; +80000332: 4489 li s1,2 + Proc_5(); +80000334: 3de9 jal 8000020e <Proc_5> + Proc_4(); +80000336: 3d65 jal 800001ee <Proc_4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000338: 01e44783 lbu a5,30(s0) +8000033c: 4850 lw a2,20(s0) +8000033e: 00442e03 lw t3,4(s0) +80000342: 00842303 lw t1,8(s0) +80000346: 00c42883 lw a7,12(s0) +8000034a: 01042803 lw a6,16(s0) +8000034e: 4c14 lw a3,24(s0) +80000350: 01c45703 lhu a4,28(s0) +80000354: 4ea2 lw t4,8(sp) +80000356: 04f10f23 sb a5,94(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035a: 008c addi a1,sp,64 + Enum_Loc = Ident_2; +8000035c: 4785 li a5,1 + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035e: 1008 addi a0,sp,32 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000360: cab2 sw a2,84(sp) + Enum_Loc = Ident_2; +80000362: ce3e sw a5,28(sp) + Int_1_Loc = 2; +80000364: ca26 sw s1,20(sp) + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000366: c0f6 sw t4,64(sp) +80000368: c2f2 sw t3,68(sp) +8000036a: c49a sw t1,72(sp) +8000036c: c6c6 sw a7,76(sp) +8000036e: c8c2 sw a6,80(sp) +80000370: ccb6 sw a3,88(sp) +80000372: 04e11e23 sh a4,92(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +80000376: 21dd jal 8000085c <Func_2> + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000378: 4652 lw a2,20(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000037a: 00153513 seqz a0,a0 +8000037e: 82a1ac23 sw a0,-1992(gp) # 800034d8 <Bool_Glob> + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000382: 02c4c063 blt s1,a2,800003a2 <main2+0x186> + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000386: 00261793 slli a5,a2,0x2 +8000038a: 97b2 add a5,a5,a2 +8000038c: 17f5 addi a5,a5,-3 + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +8000038e: 8532 mv a0,a2 +80000390: 458d li a1,3 +80000392: 0830 addi a2,sp,24 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000394: cc3e sw a5,24(sp) + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +80000396: 2189 jal 800007d8 <Proc_7> + Int_1_Loc += 1; +80000398: 4652 lw a2,20(sp) +8000039a: 0605 addi a2,a2,1 +8000039c: ca32 sw a2,20(sp) + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +8000039e: fec4d4e3 ble a2,s1,80000386 <main2+0x16a> + Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc); +800003a2: 46e2 lw a3,24(sp) +800003a4: 84c18513 addi a0,gp,-1972 # 800034ec <Arr_1_Glob> +800003a8: 5b4d8593 addi a1,s11,1460 +800003ac: 2915 jal 800007e0 <Proc_8> + Proc_1 (Ptr_Glob); +800003ae: 8441a503 lw a0,-1980(gp) # 800034e4 <Ptr_Glob> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003b2: 04100a93 li s5,65 + Int_2_Loc = 3; +800003b6: 4a0d li s4,3 + Proc_1 (Ptr_Glob); +800003b8: 33b1 jal 80000104 <Proc_1> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003ba: 8341c703 lbu a4,-1996(gp) # 800034d4 <Ch_2_Glob> +800003be: 04000793 li a5,64 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +800003c2: 28cd0c93 addi s9,s10,652 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003c6: 02e7f163 bleu a4,a5,800003e8 <main2+0x1cc> + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003ca: 8556 mv a0,s5 +800003cc: 04300593 li a1,67 +800003d0: 2995 jal 80000844 <Func_1> +800003d2: 47f2 lw a5,28(sp) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003d4: 001a8713 addi a4,s5,1 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003d8: 36f50e63 beq a0,a5,80000754 <main2+0x538> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003dc: 8341c783 lbu a5,-1996(gp) # 800034d4 <Ch_2_Glob> +800003e0: 0ff77a93 andi s5,a4,255 +800003e4: ff57f3e3 bleu s5,a5,800003ca <main2+0x1ae> + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003e8: 45d2 lw a1,20(sp) +800003ea: 8552 mv a0,s4 + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +800003ec: 0985 addi s3,s3,1 + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003ee: 7ba020ef jal ra,80002ba8 <__mulsi3> + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003f2: 4ae2 lw s5,24(sp) + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003f4: c62a sw a0,12(sp) + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003f6: 85d6 mv a1,s5 +800003f8: 7d4020ef jal ra,80002bcc <__divsi3> +800003fc: 8a2a mv s4,a0 + Proc_2 (&Int_1_Loc); +800003fe: 0848 addi a0,sp,20 + Int_1_Loc = Int_2_Loc / Int_3_Loc; +80000400: ca52 sw s4,20(sp) + Proc_2 (&Int_1_Loc); +80000402: 31f1 jal 800000ce <Proc_2> + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +80000404: 0c900793 li a5,201 +80000408: f2f996e3 bne s3,a5,80000334 <main2+0x118> + End_Time = clock(); +8000040c: 676000ef jal ra,80000a82 <clock> +80000410: 82a1a423 sw a0,-2008(gp) # 800034c8 <End_Time> + printf ("Execution ends\n"); +80000414: 80003537 lui a0,0x80003 +80000418: df850513 addi a0,a0,-520 # 80002df8 <_stack_start+0xffffc928> +8000041c: 636000ef jal ra,80000a52 <puts> + printf ("\n"); +80000420: 4529 li a0,10 +80000422: 656000ef jal ra,80000a78 <putchar> + printf ("Final values of the variables used in the benchmark:\n"); +80000426: 80003537 lui a0,0x80003 +8000042a: e0850513 addi a0,a0,-504 # 80002e08 <_stack_start+0xffffc938> +8000042e: 624000ef jal ra,80000a52 <puts> + printf ("\n"); +80000432: 4529 li a0,10 +80000434: 644000ef jal ra,80000a78 <putchar> + printf ("Int_Glob: %d\n", Int_Glob); +80000438: 83c1a583 lw a1,-1988(gp) # 800034dc <Int_Glob> +8000043c: 80003537 lui a0,0x80003 +80000440: e4050513 addi a0,a0,-448 # 80002e40 <_stack_start+0xffffc970> + printf (" should be: %d\n", 5); +80000444: 80003437 lui s0,0x80003 + printf ("Int_Glob: %d\n", Int_Glob); +80000448: 564000ef jal ra,800009ac <printf> + printf (" should be: %d\n", 5); +8000044c: 4595 li a1,5 +8000044e: e5c40513 addi a0,s0,-420 # 80002e5c <_stack_start+0xffffc98c> +80000452: 55a000ef jal ra,800009ac <printf> + printf ("Bool_Glob: %d\n", Bool_Glob); +80000456: 8381a583 lw a1,-1992(gp) # 800034d8 <Bool_Glob> +8000045a: 80003537 lui a0,0x80003 +8000045e: e7850513 addi a0,a0,-392 # 80002e78 <_stack_start+0xffffc9a8> +80000462: 54a000ef jal ra,800009ac <printf> + printf (" should be: %d\n", 1); +80000466: 4585 li a1,1 +80000468: e5c40513 addi a0,s0,-420 +8000046c: 540000ef jal ra,800009ac <printf> + printf ("Ch_1_Glob: %c\n", Ch_1_Glob); +80000470: 8351c583 lbu a1,-1995(gp) # 800034d5 <Ch_1_Glob> +80000474: 80003537 lui a0,0x80003 +80000478: e9450513 addi a0,a0,-364 # 80002e94 <_stack_start+0xffffc9c4> +8000047c: 2b05 jal 800009ac <printf> + printf (" should be: %c\n", 'A'); +8000047e: 800034b7 lui s1,0x80003 +80000482: 04100593 li a1,65 +80000486: eb048513 addi a0,s1,-336 # 80002eb0 <_stack_start+0xffffc9e0> +8000048a: 230d jal 800009ac <printf> + printf ("Ch_2_Glob: %c\n", Ch_2_Glob); +8000048c: 8341c583 lbu a1,-1996(gp) # 800034d4 <Ch_2_Glob> +80000490: 80003537 lui a0,0x80003 +80000494: ecc50513 addi a0,a0,-308 # 80002ecc <_stack_start+0xffffc9fc> +80000498: 2b11 jal 800009ac <printf> + printf (" should be: %c\n", 'B'); +8000049a: 04200593 li a1,66 +8000049e: eb048513 addi a0,s1,-336 +800004a2: 2329 jal 800009ac <printf> + printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); +800004a4: 84c18793 addi a5,gp,-1972 # 800034ec <Arr_1_Glob> +800004a8: 538c lw a1,32(a5) +800004aa: 80003537 lui a0,0x80003 +800004ae: ee850513 addi a0,a0,-280 # 80002ee8 <_stack_start+0xffffca18> +800004b2: 29ed jal 800009ac <printf> + printf (" should be: %d\n", 7); +800004b4: 459d li a1,7 +800004b6: e5c40513 addi a0,s0,-420 +800004ba: 29cd jal 800009ac <printf> + printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); +800004bc: 800037b7 lui a5,0x80003 +800004c0: 5b478793 addi a5,a5,1460 # 800035b4 <_stack_start+0xffffd0e4> +800004c4: 65c7a583 lw a1,1628(a5) +800004c8: 80003537 lui a0,0x80003 +800004cc: f0450513 addi a0,a0,-252 # 80002f04 <_stack_start+0xffffca34> +800004d0: 29f1 jal 800009ac <printf> + printf (" should be: Number_Of_Runs + 10\n"); +800004d2: 80003537 lui a0,0x80003 +800004d6: f2050513 addi a0,a0,-224 # 80002f20 <_stack_start+0xffffca50> +800004da: 578000ef jal ra,80000a52 <puts> + printf ("Ptr_Glob->\n"); +800004de: 80003537 lui a0,0x80003 +800004e2: f4c50513 addi a0,a0,-180 # 80002f4c <_stack_start+0xffffca7c> +800004e6: 56c000ef jal ra,80000a52 <puts> + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800004ea: 8441a783 lw a5,-1980(gp) # 800034e4 <Ptr_Glob> +800004ee: 80003db7 lui s11,0x80003 +800004f2: f58d8513 addi a0,s11,-168 # 80002f58 <_stack_start+0xffffca88> +800004f6: 438c lw a1,0(a5) + printf (" Discr: %d\n", Ptr_Glob->Discr); +800004f8: 80003cb7 lui s9,0x80003 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +800004fc: 80003bb7 lui s7,0x80003 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +80000500: 2175 jal 800009ac <printf> + printf (" should be: (implementation-dependent)\n"); +80000502: 80003537 lui a0,0x80003 +80000506: f7450513 addi a0,a0,-140 # 80002f74 <_stack_start+0xffffcaa4> +8000050a: 548000ef jal ra,80000a52 <puts> + printf (" Discr: %d\n", Ptr_Glob->Discr); +8000050e: 8441a783 lw a5,-1980(gp) # 800034e4 <Ptr_Glob> +80000512: fa4c8513 addi a0,s9,-92 # 80002fa4 <_stack_start+0xffffcad4> + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000516: 80003b37 lui s6,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +8000051a: 43cc lw a1,4(a5) + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +8000051c: 800039b7 lui s3,0x80003 + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000520: 80003937 lui s2,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000524: 2161 jal 800009ac <printf> + printf (" should be: %d\n", 0); +80000526: 4581 li a1,0 +80000528: e5c40513 addi a0,s0,-420 +8000052c: 2141 jal 800009ac <printf> + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000052e: 8441a783 lw a5,-1980(gp) # 800034e4 <Ptr_Glob> +80000532: fc0b8513 addi a0,s7,-64 # 80002fc0 <_stack_start+0xffffcaf0> +80000536: 478c lw a1,8(a5) +80000538: 2995 jal 800009ac <printf> + printf (" should be: %d\n", 2); +8000053a: 4589 li a1,2 +8000053c: e5c40513 addi a0,s0,-420 +80000540: 21b5 jal 800009ac <printf> + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000542: 8441a783 lw a5,-1980(gp) # 800034e4 <Ptr_Glob> +80000546: fdcb0513 addi a0,s6,-36 # 80002fdc <_stack_start+0xffffcb0c> +8000054a: 47cc lw a1,12(a5) +8000054c: 2185 jal 800009ac <printf> + printf (" should be: %d\n", 17); +8000054e: 45c5 li a1,17 +80000550: e5c40513 addi a0,s0,-420 +80000554: 29a1 jal 800009ac <printf> + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +80000556: 8441a583 lw a1,-1980(gp) # 800034e4 <Ptr_Glob> +8000055a: ff898513 addi a0,s3,-8 # 80002ff8 <_stack_start+0xffffcb28> +8000055e: 05c1 addi a1,a1,16 +80000560: 21b1 jal 800009ac <printf> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000562: 01490513 addi a0,s2,20 # 80003014 <_stack_start+0xffffcb44> +80000566: 21f5 jal 80000a52 <puts> + printf ("Next_Ptr_Glob->\n"); +80000568: 80003537 lui a0,0x80003 +8000056c: 04850513 addi a0,a0,72 # 80003048 <_stack_start+0xffffcb78> +80000570: 21cd jal 80000a52 <puts> + printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); +80000572: 8401a783 lw a5,-1984(gp) # 800034e0 <Next_Ptr_Glob> +80000576: f58d8513 addi a0,s11,-168 +8000057a: 438c lw a1,0(a5) +8000057c: 2905 jal 800009ac <printf> + printf (" should be: (implementation-dependent), same as above\n"); +8000057e: 80003537 lui a0,0x80003 +80000582: 05850513 addi a0,a0,88 # 80003058 <_stack_start+0xffffcb88> +80000586: 21f1 jal 80000a52 <puts> + printf (" Discr: %d\n", Next_Ptr_Glob->Discr); +80000588: 8401a783 lw a5,-1984(gp) # 800034e0 <Next_Ptr_Glob> +8000058c: fa4c8513 addi a0,s9,-92 +80000590: 43cc lw a1,4(a5) +80000592: 2929 jal 800009ac <printf> + printf (" should be: %d\n", 0); +80000594: 4581 li a1,0 +80000596: e5c40513 addi a0,s0,-420 +8000059a: 2909 jal 800009ac <printf> + printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp); +8000059c: 8401a783 lw a5,-1984(gp) # 800034e0 <Next_Ptr_Glob> +800005a0: fc0b8513 addi a0,s7,-64 +800005a4: 478c lw a1,8(a5) +800005a6: 2119 jal 800009ac <printf> + printf (" should be: %d\n", 1); +800005a8: 4585 li a1,1 +800005aa: e5c40513 addi a0,s0,-420 +800005ae: 2efd jal 800009ac <printf> + printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp); +800005b0: 8401a783 lw a5,-1984(gp) # 800034e0 <Next_Ptr_Glob> +800005b4: fdcb0513 addi a0,s6,-36 +800005b8: 47cc lw a1,12(a5) +800005ba: 2ecd jal 800009ac <printf> + printf (" should be: %d\n", 18); +800005bc: 45c9 li a1,18 +800005be: e5c40513 addi a0,s0,-420 +800005c2: 26ed jal 800009ac <printf> + printf (" Str_Comp: %s\n", +800005c4: 8401a583 lw a1,-1984(gp) # 800034e0 <Next_Ptr_Glob> +800005c8: ff898513 addi a0,s3,-8 +800005cc: 05c1 addi a1,a1,16 +800005ce: 2ef9 jal 800009ac <printf> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +800005d0: 01490513 addi a0,s2,20 +800005d4: 29bd jal 80000a52 <puts> + printf ("Int_1_Loc: %d\n", Int_1_Loc); +800005d6: 45d2 lw a1,20(sp) +800005d8: 80003537 lui a0,0x80003 +800005dc: 09850513 addi a0,a0,152 # 80003098 <_stack_start+0xffffcbc8> +800005e0: 26f1 jal 800009ac <printf> + printf (" should be: %d\n", 5); +800005e2: 4595 li a1,5 +800005e4: e5c40513 addi a0,s0,-420 +800005e8: 26d1 jal 800009ac <printf> + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800005ea: 47b2 lw a5,12(sp) + printf ("Int_2_Loc: %d\n", Int_2_Loc); +800005ec: 80003537 lui a0,0x80003 +800005f0: 0b450513 addi a0,a0,180 # 800030b4 <_stack_start+0xffffcbe4> + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800005f4: 41578ab3 sub s5,a5,s5 +800005f8: 003a9793 slli a5,s5,0x3 +800005fc: 41578ab3 sub s5,a5,s5 + printf ("Int_2_Loc: %d\n", Int_2_Loc); +80000600: 414a85b3 sub a1,s5,s4 +80000604: 2665 jal 800009ac <printf> + printf (" should be: %d\n", 13); +80000606: 45b5 li a1,13 +80000608: e5c40513 addi a0,s0,-420 +8000060c: 2645 jal 800009ac <printf> + printf ("Int_3_Loc: %d\n", Int_3_Loc); +8000060e: 45e2 lw a1,24(sp) +80000610: 80003537 lui a0,0x80003 +80000614: 0d050513 addi a0,a0,208 # 800030d0 <_stack_start+0xffffcc00> +80000618: 2e51 jal 800009ac <printf> + printf (" should be: %d\n", 7); +8000061a: 459d li a1,7 +8000061c: e5c40513 addi a0,s0,-420 +80000620: 2671 jal 800009ac <printf> + printf ("Enum_Loc: %d\n", Enum_Loc); +80000622: 45f2 lw a1,28(sp) +80000624: 80003537 lui a0,0x80003 +80000628: 0ec50513 addi a0,a0,236 # 800030ec <_stack_start+0xffffcc1c> +8000062c: 2641 jal 800009ac <printf> + printf (" should be: %d\n", 1); +8000062e: 4585 li a1,1 +80000630: e5c40513 addi a0,s0,-420 +80000634: 2ea5 jal 800009ac <printf> + printf ("Str_1_Loc: %s\n", Str_1_Loc); +80000636: 80003537 lui a0,0x80003 +8000063a: 100c addi a1,sp,32 +8000063c: 10850513 addi a0,a0,264 # 80003108 <_stack_start+0xffffcc38> +80000640: 26b5 jal 800009ac <printf> + printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n"); +80000642: 80003537 lui a0,0x80003 +80000646: 12450513 addi a0,a0,292 # 80003124 <_stack_start+0xffffcc54> +8000064a: 2121 jal 80000a52 <puts> + printf ("Str_2_Loc: %s\n", Str_2_Loc); +8000064c: 80003537 lui a0,0x80003 +80000650: 008c addi a1,sp,64 +80000652: 15850513 addi a0,a0,344 # 80003158 <_stack_start+0xffffcc88> +80000656: 2e99 jal 800009ac <printf> + printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); +80000658: 80003537 lui a0,0x80003 +8000065c: 17450513 addi a0,a0,372 # 80003174 <_stack_start+0xffffcca4> +80000660: 2ecd jal 80000a52 <puts> + printf ("\n"); +80000662: 4529 li a0,10 +80000664: 2911 jal 80000a78 <putchar> + User_Time = End_Time - Begin_Time; +80000666: 82c1a703 lw a4,-2004(gp) # 800034cc <Begin_Time> +8000066a: 8281a583 lw a1,-2008(gp) # 800034c8 <End_Time> + if (User_Time < Too_Small_Time) +8000066e: 1f300793 li a5,499 + User_Time = End_Time - Begin_Time; +80000672: 8d99 sub a1,a1,a4 +80000674: 82b1a223 sw a1,-2012(gp) # 800034c4 <User_Time> + if (User_Time < Too_Small_Time) +80000678: 12b7df63 ble a1,a5,800007b6 <main2+0x59a> + printf ("Clock cycles=%d \n", User_Time); +8000067c: 80003537 lui a0,0x80003 +80000680: 20050513 addi a0,a0,512 # 80003200 <_stack_start+0xffffcd30> +80000684: 2625 jal 800009ac <printf> + Microseconds = (float) User_Time * Mic_secs_Per_Second +80000686: 8241a503 lw a0,-2012(gp) # 800034c4 <User_Time> +8000068a: 156020ef jal ra,800027e0 <__floatsisf> +8000068e: 842a mv s0,a0 +80000690: 274020ef jal ra,80002904 <__extendsfdf2> +80000694: 800037b7 lui a5,0x80003 +80000698: 4a07a603 lw a2,1184(a5) # 800034a0 <_stack_start+0xffffcfd0> +8000069c: 4a47a683 lw a3,1188(a5) +800006a0: 661000ef jal ra,80001500 <__muldf3> + / ((float) CORE_HZ * ((float) Number_Of_Runs)); +800006a4: 800037b7 lui a5,0x80003 +800006a8: 4a87a603 lw a2,1192(a5) # 800034a8 <_stack_start+0xffffcfd8> +800006ac: 4ac7a683 lw a3,1196(a5) +800006b0: 640000ef jal ra,80000cf0 <__divdf3> +800006b4: 35c020ef jal ra,80002a10 <__truncdfsf2> +800006b8: 82a1a023 sw a0,-2016(gp) # 800034c0 <Microseconds> + / (float) User_Time; +800006bc: 800037b7 lui a5,0x80003 +800006c0: 4b07a503 lw a0,1200(a5) # 800034b0 <_stack_start+0xffffcfe0> +800006c4: 85a2 mv a1,s0 +800006c6: 52a010ef jal ra,80001bf0 <__divsf3> + Dhrystones_Per_Second = ((float) CORE_HZ * (float) Number_Of_Runs) +800006ca: 80a1ae23 sw a0,-2020(gp) # 800034bc <Dhrystones_Per_Second> + printf ("DMIPS per Mhz: "); +800006ce: 80003537 lui a0,0x80003 +800006d2: 21450513 addi a0,a0,532 # 80003214 <_stack_start+0xffffcd44> +800006d6: 2cd9 jal 800009ac <printf> + float dmips = (1e6f/1757.0f) * Number_Of_Runs / User_Time; +800006d8: 8241a503 lw a0,-2012(gp) # 800034c4 <User_Time> +800006dc: 104020ef jal ra,800027e0 <__floatsisf> +800006e0: 800037b7 lui a5,0x80003 +800006e4: 85aa mv a1,a0 +800006e6: 4b47a503 lw a0,1204(a5) # 800034b4 <_stack_start+0xffffcfe4> +800006ea: 506010ef jal ra,80001bf0 <__divsf3> +800006ee: 842a mv s0,a0 + int dmipsNatural = dmips; +800006f0: 080020ef jal ra,80002770 <__fixsfsi> +800006f4: 84aa mv s1,a0 + int dmipsReal = (dmips - dmipsNatural)*100.0f; +800006f6: 0ea020ef jal ra,800027e0 <__floatsisf> +800006fa: 85aa mv a1,a0 +800006fc: 8522 mv a0,s0 +800006fe: 3fb010ef jal ra,800022f8 <__subsf3> +80000702: 800037b7 lui a5,0x80003 +80000706: 4b87a583 lw a1,1208(a5) # 800034b8 <_stack_start+0xffffcfe8> +8000070a: 07f010ef jal ra,80001f88 <__mulsf3> +8000070e: 062020ef jal ra,80002770 <__fixsfsi> +80000712: 842a mv s0,a0 + printf ("%d.", dmipsNatural); +80000714: 80003537 lui a0,0x80003 +80000718: 85a6 mv a1,s1 +8000071a: 24450513 addi a0,a0,580 # 80003244 <_stack_start+0xffffcd74> +8000071e: 2479 jal 800009ac <printf> + if(dmipsReal < 10) printf("0"); +80000720: 47a5 li a5,9 +80000722: 0a87d763 ble s0,a5,800007d0 <main2+0x5b4> + printf ("%d", dmipsReal); +80000726: 80003537 lui a0,0x80003 +8000072a: 85a2 mv a1,s0 +8000072c: 24850513 addi a0,a0,584 # 80003248 <_stack_start+0xffffcd78> +80000730: 2cb5 jal 800009ac <printf> + printf ("\n"); +80000732: 4529 li a0,10 +80000734: 2691 jal 80000a78 <putchar> +} +80000736: 40fa lw ra,156(sp) +80000738: 446a lw s0,152(sp) +8000073a: 44da lw s1,148(sp) +8000073c: 494a lw s2,144(sp) +8000073e: 49ba lw s3,140(sp) +80000740: 4a2a lw s4,136(sp) +80000742: 4a9a lw s5,132(sp) +80000744: 4b0a lw s6,128(sp) +80000746: 5bf6 lw s7,124(sp) +80000748: 5c66 lw s8,120(sp) +8000074a: 5cd6 lw s9,116(sp) +8000074c: 5d46 lw s10,112(sp) +8000074e: 5db6 lw s11,108(sp) +80000750: 610d addi sp,sp,160 +80000752: 8082 ret + Proc_6 (Ident_1, &Enum_Loc); +80000754: 086c addi a1,sp,28 +80000756: 4501 li a0,0 +80000758: 2291 jal 8000089c <Proc_6> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000075a: 004cae03 lw t3,4(s9) +8000075e: 008ca303 lw t1,8(s9) +80000762: 00cca883 lw a7,12(s9) +80000766: 010ca803 lw a6,16(s9) +8000076a: 014ca503 lw a0,20(s9) +8000076e: 018ca583 lw a1,24(s9) +80000772: 01ccd603 lhu a2,28(s9) +80000776: 01ecc703 lbu a4,30(s9) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000077a: 8341c783 lbu a5,-1996(gp) # 800034d4 <Ch_2_Glob> +8000077e: 0a85 addi s5,s5,1 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +80000780: c0de sw s7,64(sp) +80000782: c2f2 sw t3,68(sp) +80000784: c49a sw t1,72(sp) +80000786: c6c6 sw a7,76(sp) +80000788: c8c2 sw a6,80(sp) +8000078a: caaa sw a0,84(sp) +8000078c: ccae sw a1,88(sp) +8000078e: 04c11e23 sh a2,92(sp) +80000792: 04e10f23 sb a4,94(sp) + Int_Glob = Run_Index; +80000796: 8331ae23 sw s3,-1988(gp) # 800034dc <Int_Glob> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000079a: 0ffafa93 andi s5,s5,255 +8000079e: 8a4e mv s4,s3 +800007a0: c357f5e3 bleu s5,a5,800003ca <main2+0x1ae> +800007a4: b191 j 800003e8 <main2+0x1cc> + printf ("Program compiled without 'register' attribute\n"); +800007a6: 80003537 lui a0,0x80003 +800007aa: d6050513 addi a0,a0,-672 # 80002d60 <_stack_start+0xffffc890> +800007ae: 2455 jal 80000a52 <puts> + printf ("\n"); +800007b0: 4529 li a0,10 +800007b2: 24d9 jal 80000a78 <putchar> +800007b4: be35 j 800002f0 <main2+0xd4> + printf ("Measured time too small to obtain meaningful results\n"); +800007b6: 80003537 lui a0,0x80003 +800007ba: 1a850513 addi a0,a0,424 # 800031a8 <_stack_start+0xffffccd8> +800007be: 2c51 jal 80000a52 <puts> + printf ("Please increase number of runs\n"); +800007c0: 80003537 lui a0,0x80003 +800007c4: 1e050513 addi a0,a0,480 # 800031e0 <_stack_start+0xffffcd10> +800007c8: 2469 jal 80000a52 <puts> + printf ("\n"); +800007ca: 4529 li a0,10 +800007cc: 2475 jal 80000a78 <putchar> +800007ce: b7a5 j 80000736 <main2+0x51a> + if(dmipsReal < 10) printf("0"); +800007d0: 03000513 li a0,48 +800007d4: 2455 jal 80000a78 <putchar> +800007d6: bf81 j 80000726 <main2+0x50a> + +800007d8 <Proc_7>: +One_Fifty Int_2_Par_Val; +One_Fifty *Int_Par_Ref; +{ + One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 2; +800007d8: 0509 addi a0,a0,2 + *Int_Par_Ref = Int_2_Par_Val + Int_Loc; +800007da: 95aa add a1,a1,a0 +800007dc: c20c sw a1,0(a2) +} /* Proc_7 */ +800007de: 8082 ret + +800007e0 <Proc_8>: + /* Int_Par_Val_2 == 7 */ +Arr_1_Dim Arr_1_Par_Ref; +Arr_2_Dim Arr_2_Par_Ref; +int Int_1_Par_Val; +int Int_2_Par_Val; +{ +800007e0: 1101 addi sp,sp,-32 +800007e2: c64e sw s3,12(sp) + REG One_Fifty Int_Index; + REG One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 5; +800007e4: 00560993 addi s3,a2,5 +{ +800007e8: ca26 sw s1,20(sp) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007ea: 00299493 slli s1,s3,0x2 +{ +800007ee: cc22 sw s0,24(sp) +800007f0: c84a sw s2,16(sp) +800007f2: ce06 sw ra,28(sp) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007f4: 94aa add s1,s1,a0 +{ +800007f6: 8932 mv s2,a2 +800007f8: 842e mv s0,a1 + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; +800007fa: 0734ac23 sw s3,120(s1) + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007fe: c094 sw a3,0(s1) + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; +80000800: c0d4 sw a3,4(s1) + for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +80000802: 854e mv a0,s3 +80000804: 0c800593 li a1,200 +80000808: 3a0020ef jal ra,80002ba8 <__mulsi3> +8000080c: 090a slli s2,s2,0x2 +8000080e: 012507b3 add a5,a0,s2 +80000812: 97a2 add a5,a5,s0 + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +80000814: 4b98 lw a4,16(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +80000816: 0137aa23 sw s3,20(a5) +8000081a: 0137ac23 sw s3,24(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +8000081e: 0705 addi a4,a4,1 +80000820: cb98 sw a4,16(a5) + Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc]; +80000822: 409c lw a5,0(s1) +80000824: 942a add s0,s0,a0 +80000826: 944a add s0,s0,s2 +80000828: 6605 lui a2,0x1 +8000082a: 9432 add s0,s0,a2 +8000082c: faf42a23 sw a5,-76(s0) + Int_Glob = 5; +} /* Proc_8 */ +80000830: 40f2 lw ra,28(sp) +80000832: 4462 lw s0,24(sp) + Int_Glob = 5; +80000834: 4715 li a4,5 +80000836: 82e1ae23 sw a4,-1988(gp) # 800034dc <Int_Glob> +} /* Proc_8 */ +8000083a: 44d2 lw s1,20(sp) +8000083c: 4942 lw s2,16(sp) +8000083e: 49b2 lw s3,12(sp) +80000840: 6105 addi sp,sp,32 +80000842: 8082 ret + +80000844 <Func_1>: + /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ + /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ + +Capital_Letter Ch_1_Par_Val; +Capital_Letter Ch_2_Par_Val; +{ +80000844: 0ff57513 andi a0,a0,255 +80000848: 0ff5f593 andi a1,a1,255 + Capital_Letter Ch_1_Loc; + Capital_Letter Ch_2_Loc; + + Ch_1_Loc = Ch_1_Par_Val; + Ch_2_Loc = Ch_1_Loc; + if (Ch_2_Loc != Ch_2_Par_Val) +8000084c: 00b50463 beq a0,a1,80000854 <Func_1+0x10> + /* then, executed */ + return (Ident_1); +80000850: 4501 li a0,0 + else /* not executed */ + { + Ch_1_Glob = Ch_1_Loc; + return (Ident_2); + } +} /* Func_1 */ +80000852: 8082 ret + Ch_1_Glob = Ch_1_Loc; +80000854: 82a18aa3 sb a0,-1995(gp) # 800034d5 <Ch_1_Glob> + return (Ident_2); +80000858: 4505 li a0,1 +8000085a: 8082 ret + +8000085c <Func_2>: + /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ + /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ + +Str_30 Str_1_Par_Ref; +Str_30 Str_2_Par_Ref; +{ +8000085c: 1141 addi sp,sp,-16 +8000085e: c422 sw s0,8(sp) +80000860: c226 sw s1,4(sp) +80000862: c606 sw ra,12(sp) +80000864: 842a mv s0,a0 +80000866: 84ae mv s1,a1 + REG One_Thirty Int_Loc; + Capital_Letter Ch_Loc; + + Int_Loc = 2; + while (Int_Loc <= 2) /* loop body executed once */ + if (Func_1 (Str_1_Par_Ref[Int_Loc], +80000868: 0034c583 lbu a1,3(s1) +8000086c: 00244503 lbu a0,2(s0) +80000870: 3fd1 jal 80000844 <Func_1> +80000872: f97d bnez a0,80000868 <Func_2+0xc> + if (Ch_Loc == 'R') + /* then, not executed */ + return (true); + else /* executed */ + { + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +80000874: 85a6 mv a1,s1 +80000876: 8522 mv a0,s0 +80000878: 2cf5 jal 80000b74 <strcmp> + Int_Loc += 7; + Int_Glob = Int_Loc; + return (true); + } + else /* executed */ + return (false); +8000087a: 4781 li a5,0 + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +8000087c: 00a05663 blez a0,80000888 <Func_2+0x2c> + Int_Glob = Int_Loc; +80000880: 4729 li a4,10 +80000882: 82e1ae23 sw a4,-1988(gp) # 800034dc <Int_Glob> + return (true); +80000886: 4785 li a5,1 + } /* if Ch_Loc */ +} /* Func_2 */ +80000888: 40b2 lw ra,12(sp) +8000088a: 4422 lw s0,8(sp) +8000088c: 4492 lw s1,4(sp) +8000088e: 853e mv a0,a5 +80000890: 0141 addi sp,sp,16 +80000892: 8082 ret + +80000894 <Func_3>: +Enumeration Enum_Par_Val; +{ + Enumeration Enum_Loc; + + Enum_Loc = Enum_Par_Val; + if (Enum_Loc == Ident_3) +80000894: 1579 addi a0,a0,-2 + /* then, executed */ + return (true); + else /* not executed */ + return (false); +} /* Func_3 */ +80000896: 00153513 seqz a0,a0 +8000089a: 8082 ret + +8000089c <Proc_6>: +{ +8000089c: 1141 addi sp,sp,-16 +8000089e: c422 sw s0,8(sp) +800008a0: c226 sw s1,4(sp) +800008a2: c606 sw ra,12(sp) +800008a4: 842a mv s0,a0 +800008a6: 84ae mv s1,a1 + if (! Func_3 (Enum_Val_Par)) +800008a8: 37f5 jal 80000894 <Func_3> +800008aa: c115 beqz a0,800008ce <Proc_6+0x32> + *Enum_Ref_Par = Enum_Val_Par; +800008ac: c080 sw s0,0(s1) + switch (Enum_Val_Par) +800008ae: 4785 li a5,1 +800008b0: 02f40463 beq s0,a5,800008d8 <Proc_6+0x3c> +800008b4: c805 beqz s0,800008e4 <Proc_6+0x48> +800008b6: 4709 li a4,2 +800008b8: 02e40d63 beq s0,a4,800008f2 <Proc_6+0x56> +800008bc: 4791 li a5,4 +800008be: 00f41363 bne s0,a5,800008c4 <Proc_6+0x28> + *Enum_Ref_Par = Ident_3; +800008c2: c098 sw a4,0(s1) +} /* Proc_6 */ +800008c4: 40b2 lw ra,12(sp) +800008c6: 4422 lw s0,8(sp) +800008c8: 4492 lw s1,4(sp) +800008ca: 0141 addi sp,sp,16 +800008cc: 8082 ret + *Enum_Ref_Par = Ident_4; +800008ce: 478d li a5,3 +800008d0: c09c sw a5,0(s1) + switch (Enum_Val_Par) +800008d2: 4785 li a5,1 +800008d4: fef410e3 bne s0,a5,800008b4 <Proc_6+0x18> + if (Int_Glob > 100) +800008d8: 83c1a703 lw a4,-1988(gp) # 800034dc <Int_Glob> +800008dc: 06400793 li a5,100 +800008e0: 00e7df63 ble a4,a5,800008fe <Proc_6+0x62> +} /* Proc_6 */ +800008e4: 40b2 lw ra,12(sp) +800008e6: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_1; +800008e8: 0004a023 sw zero,0(s1) +} /* Proc_6 */ +800008ec: 4492 lw s1,4(sp) +800008ee: 0141 addi sp,sp,16 +800008f0: 8082 ret +800008f2: 40b2 lw ra,12(sp) +800008f4: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_2; +800008f6: c09c sw a5,0(s1) +} /* Proc_6 */ +800008f8: 4492 lw s1,4(sp) +800008fa: 0141 addi sp,sp,16 +800008fc: 8082 ret +800008fe: 40b2 lw ra,12(sp) +80000900: 4422 lw s0,8(sp) + else *Enum_Ref_Par = Ident_4; +80000902: 478d li a5,3 +80000904: c09c sw a5,0(s1) +} /* Proc_6 */ +80000906: 4492 lw s1,4(sp) +80000908: 0141 addi sp,sp,16 +8000090a: 8082 ret + +8000090c <printf_s>: +{ + putchar(c); +} + +static void printf_s(char *p) +{ +8000090c: 1141 addi sp,sp,-16 +8000090e: c422 sw s0,8(sp) +80000910: c606 sw ra,12(sp) +80000912: 842a mv s0,a0 + while (*p) +80000914: 00054503 lbu a0,0(a0) +80000918: c511 beqz a0,80000924 <printf_s+0x18> + putchar(*(p++)); +8000091a: 0405 addi s0,s0,1 +8000091c: 2ab1 jal 80000a78 <putchar> + while (*p) +8000091e: 00044503 lbu a0,0(s0) +80000922: fd65 bnez a0,8000091a <printf_s+0xe> +} +80000924: 40b2 lw ra,12(sp) +80000926: 4422 lw s0,8(sp) +80000928: 0141 addi sp,sp,16 +8000092a: 8082 ret + +8000092c <printf_c>: + putchar(c); +8000092c: a2b1 j 80000a78 <putchar> + +8000092e <printf_d>: + +static void printf_d(int val) +{ +8000092e: 7179 addi sp,sp,-48 +80000930: d226 sw s1,36(sp) +80000932: d606 sw ra,44(sp) +80000934: d422 sw s0,40(sp) +80000936: d04a sw s2,32(sp) +80000938: 84aa mv s1,a0 + char buffer[32]; + char *p = buffer; + if (val < 0) { +8000093a: 04054263 bltz a0,8000097e <printf_d+0x50> +{ +8000093e: 890a mv s2,sp +80000940: 844a mv s0,s2 +80000942: a829 j 8000095c <printf_d+0x2e> + printf_c('-'); + val = -val; + } + while (val || p == buffer) { + *(p++) = '0' + val % 10; +80000944: 30c020ef jal ra,80002c50 <__modsi3> +80000948: 03050793 addi a5,a0,48 +8000094c: 0405 addi s0,s0,1 + val = val / 10; +8000094e: 8526 mv a0,s1 +80000950: 45a9 li a1,10 + *(p++) = '0' + val % 10; +80000952: fef40fa3 sb a5,-1(s0) + val = val / 10; +80000956: 276020ef jal ra,80002bcc <__divsi3> +8000095a: 84aa mv s1,a0 + *(p++) = '0' + val % 10; +8000095c: 45a9 li a1,10 +8000095e: 8526 mv a0,s1 + while (val || p == buffer) { +80000960: f0f5 bnez s1,80000944 <printf_d+0x16> +80000962: ff2401e3 beq s0,s2,80000944 <printf_d+0x16> + } + while (p != buffer) + printf_c(*(--p)); +80000966: 147d addi s0,s0,-1 +80000968: 00044503 lbu a0,0(s0) +8000096c: 37c1 jal 8000092c <printf_c> + while (p != buffer) +8000096e: ff241ce3 bne s0,s2,80000966 <printf_d+0x38> +} +80000972: 50b2 lw ra,44(sp) +80000974: 5422 lw s0,40(sp) +80000976: 5492 lw s1,36(sp) +80000978: 5902 lw s2,32(sp) +8000097a: 6145 addi sp,sp,48 +8000097c: 8082 ret + printf_c('-'); +8000097e: 02d00513 li a0,45 +80000982: 376d jal 8000092c <printf_c> + val = -val; +80000984: 409004b3 neg s1,s1 +80000988: bf5d j 8000093e <printf_d+0x10> + +8000098a <malloc>: + char *p = heap_memory + heap_memory_used; +8000098a: 8481a703 lw a4,-1976(gp) # 800034e8 <heap_memory_used> + heap_memory_used += size; +8000098e: 00a707b3 add a5,a4,a0 + char *p = heap_memory + heap_memory_used; +80000992: 80006537 lui a0,0x80006 + heap_memory_used += size; +80000996: 84f1a423 sw a5,-1976(gp) # 800034e8 <heap_memory_used> + char *p = heap_memory + heap_memory_used; +8000099a: cc450513 addi a0,a0,-828 # 80005cc4 <_stack_start+0xfffff7f4> + if (heap_memory_used > 1024) +8000099e: 40000693 li a3,1024 + char *p = heap_memory + heap_memory_used; +800009a2: 953a add a0,a0,a4 + if (heap_memory_used > 1024) +800009a4: 00f6d363 ble a5,a3,800009aa <malloc+0x20> + asm volatile ("ebreak"); +800009a8: 9002 ebreak +} +800009aa: 8082 ret + +800009ac <printf>: + +int printf(const char *format, ...) +{ +800009ac: 715d addi sp,sp,-80 +800009ae: cc52 sw s4,24(sp) +800009b0: d606 sw ra,44(sp) +800009b2: d422 sw s0,40(sp) +800009b4: d226 sw s1,36(sp) +800009b6: d04a sw s2,32(sp) +800009b8: ce4e sw s3,28(sp) +800009ba: ca56 sw s5,20(sp) +800009bc: 8a2a mv s4,a0 + int i; + va_list ap; + + va_start(ap, format); + + for (i = 0; format[i]; i++) +800009be: 00054503 lbu a0,0(a0) +{ +800009c2: c2be sw a5,68(sp) + va_start(ap, format); +800009c4: 185c addi a5,sp,52 +{ +800009c6: da2e sw a1,52(sp) +800009c8: dc32 sw a2,56(sp) +800009ca: de36 sw a3,60(sp) +800009cc: c0ba sw a4,64(sp) +800009ce: c4c2 sw a6,72(sp) +800009d0: c6c6 sw a7,76(sp) + va_start(ap, format); +800009d2: c63e sw a5,12(sp) + for (i = 0; format[i]; i++) +800009d4: c11d beqz a0,800009fa <printf+0x4e> +800009d6: 4401 li s0,0 + if (format[i] == '%') { +800009d8: 02500a93 li s5,37 + while (format[++i]) { + if (format[i] == 'c') { +800009dc: 06300493 li s1,99 + printf_c(va_arg(ap,int)); + break; + } + if (format[i] == 's') { +800009e0: 07300913 li s2,115 + printf_s(va_arg(ap,char*)); + break; + } + if (format[i] == 'd') { +800009e4: 06400993 li s3,100 + if (format[i] == '%') { +800009e8: 03550263 beq a0,s5,80000a0c <printf+0x60> + printf_d(va_arg(ap,int)); + break; + } + } + } else + printf_c(format[i]); +800009ec: 3781 jal 8000092c <printf_c> + for (i = 0; format[i]; i++) +800009ee: 0405 addi s0,s0,1 +800009f0: 008a07b3 add a5,s4,s0 +800009f4: 0007c503 lbu a0,0(a5) +800009f8: f965 bnez a0,800009e8 <printf+0x3c> + + va_end(ap); +} +800009fa: 50b2 lw ra,44(sp) +800009fc: 5422 lw s0,40(sp) +800009fe: 5492 lw s1,36(sp) +80000a00: 5902 lw s2,32(sp) +80000a02: 49f2 lw s3,28(sp) +80000a04: 4a62 lw s4,24(sp) +80000a06: 4ad2 lw s5,20(sp) +80000a08: 6161 addi sp,sp,80 +80000a0a: 8082 ret +80000a0c: 00140693 addi a3,s0,1 +80000a10: 00da0733 add a4,s4,a3 +80000a14: a031 j 80000a20 <printf+0x74> + if (format[i] == 's') { +80000a16: 03278263 beq a5,s2,80000a3a <printf+0x8e> + if (format[i] == 'd') { +80000a1a: 03378663 beq a5,s3,80000a46 <printf+0x9a> +80000a1e: 0685 addi a3,a3,1 + while (format[++i]) { +80000a20: 00074783 lbu a5,0(a4) +80000a24: 8436 mv s0,a3 +80000a26: 0705 addi a4,a4,1 +80000a28: d3f9 beqz a5,800009ee <printf+0x42> + if (format[i] == 'c') { +80000a2a: fe9796e3 bne a5,s1,80000a16 <printf+0x6a> + printf_c(va_arg(ap,int)); +80000a2e: 47b2 lw a5,12(sp) +80000a30: 4388 lw a0,0(a5) +80000a32: 0791 addi a5,a5,4 +80000a34: c63e sw a5,12(sp) +80000a36: 3ddd jal 8000092c <printf_c> + break; +80000a38: bf5d j 800009ee <printf+0x42> + printf_s(va_arg(ap,char*)); +80000a3a: 47b2 lw a5,12(sp) +80000a3c: 4388 lw a0,0(a5) +80000a3e: 0791 addi a5,a5,4 +80000a40: c63e sw a5,12(sp) +80000a42: 35e9 jal 8000090c <printf_s> + break; +80000a44: b76d j 800009ee <printf+0x42> + printf_d(va_arg(ap,int)); +80000a46: 47b2 lw a5,12(sp) +80000a48: 4388 lw a0,0(a5) +80000a4a: 0791 addi a5,a5,4 +80000a4c: c63e sw a5,12(sp) +80000a4e: 35c5 jal 8000092e <printf_d> + break; +80000a50: bf79 j 800009ee <printf+0x42> + +80000a52 <puts>: + + +int puts(char *s){ +80000a52: 1141 addi sp,sp,-16 +80000a54: c422 sw s0,8(sp) +80000a56: c606 sw ra,12(sp) +80000a58: 842a mv s0,a0 + while (*s) { +80000a5a: 00054503 lbu a0,0(a0) +80000a5e: c511 beqz a0,80000a6a <puts+0x18> + putchar(*s); + s++; +80000a60: 0405 addi s0,s0,1 + putchar(*s); +80000a62: 2819 jal 80000a78 <putchar> + while (*s) { +80000a64: 00044503 lbu a0,0(s0) +80000a68: fd65 bnez a0,80000a60 <puts+0xe> + } + putchar('\n'); +80000a6a: 4529 li a0,10 +80000a6c: 2031 jal 80000a78 <putchar> + return 0; +} +80000a6e: 40b2 lw ra,12(sp) +80000a70: 4422 lw s0,8(sp) +80000a72: 4501 li a0,0 +80000a74: 0141 addi sp,sp,16 +80000a76: 8082 ret + +80000a78 <putchar>: + +void putchar(char c){ + TEST_COM_BASE[0] = c; +80000a78: f01007b7 lui a5,0xf0100 +80000a7c: f0a7a023 sw a0,-256(a5) # f00fff00 <_stack_start+0x700f9a30> +} +80000a80: 8082 ret + +80000a82 <clock>: + +#include <time.h> +clock_t clock(){ + return TEST_COM_BASE[4]; +80000a82: f01007b7 lui a5,0xf0100 +80000a86: f107a503 lw a0,-240(a5) # f00fff10 <_stack_start+0x700f9a40> +} +80000a8a: 8082 ret + +80000a8c <memcpy>: +80000a8c: 00a5c7b3 xor a5,a1,a0 +80000a90: 0037f793 andi a5,a5,3 +80000a94: 00c50733 add a4,a0,a2 +80000a98: 00079663 bnez a5,80000aa4 <memcpy+0x18> +80000a9c: 00300793 li a5,3 +80000aa0: 02c7e463 bltu a5,a2,80000ac8 <memcpy+0x3c> +80000aa4: 00050793 mv a5,a0 +80000aa8: 00e56c63 bltu a0,a4,80000ac0 <memcpy+0x34> +80000aac: 00008067 ret +80000ab0: 0005c683 lbu a3,0(a1) +80000ab4: 00178793 addi a5,a5,1 +80000ab8: 00158593 addi a1,a1,1 +80000abc: fed78fa3 sb a3,-1(a5) +80000ac0: fee7e8e3 bltu a5,a4,80000ab0 <memcpy+0x24> +80000ac4: 00008067 ret +80000ac8: 00357793 andi a5,a0,3 +80000acc: 08079263 bnez a5,80000b50 <memcpy+0xc4> +80000ad0: 00050793 mv a5,a0 +80000ad4: ffc77693 andi a3,a4,-4 +80000ad8: fe068613 addi a2,a3,-32 +80000adc: 08c7f663 bleu a2,a5,80000b68 <memcpy+0xdc> +80000ae0: 0005a383 lw t2,0(a1) +80000ae4: 0045a283 lw t0,4(a1) +80000ae8: 0085af83 lw t6,8(a1) +80000aec: 00c5af03 lw t5,12(a1) +80000af0: 0105ae83 lw t4,16(a1) +80000af4: 0145ae03 lw t3,20(a1) +80000af8: 0185a303 lw t1,24(a1) +80000afc: 01c5a883 lw a7,28(a1) +80000b00: 02458593 addi a1,a1,36 +80000b04: 02478793 addi a5,a5,36 +80000b08: ffc5a803 lw a6,-4(a1) +80000b0c: fc77ae23 sw t2,-36(a5) +80000b10: fe57a023 sw t0,-32(a5) +80000b14: fff7a223 sw t6,-28(a5) +80000b18: ffe7a423 sw t5,-24(a5) +80000b1c: ffd7a623 sw t4,-20(a5) +80000b20: ffc7a823 sw t3,-16(a5) +80000b24: fe67aa23 sw t1,-12(a5) +80000b28: ff17ac23 sw a7,-8(a5) +80000b2c: ff07ae23 sw a6,-4(a5) +80000b30: fadff06f j 80000adc <memcpy+0x50> +80000b34: 0005c683 lbu a3,0(a1) +80000b38: 00178793 addi a5,a5,1 +80000b3c: 00158593 addi a1,a1,1 +80000b40: fed78fa3 sb a3,-1(a5) +80000b44: 0037f693 andi a3,a5,3 +80000b48: fe0696e3 bnez a3,80000b34 <memcpy+0xa8> +80000b4c: f89ff06f j 80000ad4 <memcpy+0x48> +80000b50: 00050793 mv a5,a0 +80000b54: ff1ff06f j 80000b44 <memcpy+0xb8> +80000b58: 0005a603 lw a2,0(a1) +80000b5c: 00478793 addi a5,a5,4 +80000b60: 00458593 addi a1,a1,4 +80000b64: fec7ae23 sw a2,-4(a5) +80000b68: fed7e8e3 bltu a5,a3,80000b58 <memcpy+0xcc> +80000b6c: f4e7eae3 bltu a5,a4,80000ac0 <memcpy+0x34> +80000b70: 00008067 ret + +80000b74 <strcmp>: +80000b74: 00b56733 or a4,a0,a1 +80000b78: fff00393 li t2,-1 +80000b7c: 00377713 andi a4,a4,3 +80000b80: 10071063 bnez a4,80000c80 <strcmp+0x10c> +80000b84: 7f7f87b7 lui a5,0x7f7f8 +80000b88: f7f78793 addi a5,a5,-129 # 7f7f7f7f <_stack_size+0x7f7f7b7f> +80000b8c: 00052603 lw a2,0(a0) +80000b90: 0005a683 lw a3,0(a1) +80000b94: 00f672b3 and t0,a2,a5 +80000b98: 00f66333 or t1,a2,a5 +80000b9c: 00f282b3 add t0,t0,a5 +80000ba0: 0062e2b3 or t0,t0,t1 +80000ba4: 10729263 bne t0,t2,80000ca8 <strcmp+0x134> +80000ba8: 08d61663 bne a2,a3,80000c34 <strcmp+0xc0> +80000bac: 00452603 lw a2,4(a0) +80000bb0: 0045a683 lw a3,4(a1) +80000bb4: 00f672b3 and t0,a2,a5 +80000bb8: 00f66333 or t1,a2,a5 +80000bbc: 00f282b3 add t0,t0,a5 +80000bc0: 0062e2b3 or t0,t0,t1 +80000bc4: 0c729e63 bne t0,t2,80000ca0 <strcmp+0x12c> +80000bc8: 06d61663 bne a2,a3,80000c34 <strcmp+0xc0> +80000bcc: 00852603 lw a2,8(a0) +80000bd0: 0085a683 lw a3,8(a1) +80000bd4: 00f672b3 and t0,a2,a5 +80000bd8: 00f66333 or t1,a2,a5 +80000bdc: 00f282b3 add t0,t0,a5 +80000be0: 0062e2b3 or t0,t0,t1 +80000be4: 0c729863 bne t0,t2,80000cb4 <strcmp+0x140> +80000be8: 04d61663 bne a2,a3,80000c34 <strcmp+0xc0> +80000bec: 00c52603 lw a2,12(a0) +80000bf0: 00c5a683 lw a3,12(a1) +80000bf4: 00f672b3 and t0,a2,a5 +80000bf8: 00f66333 or t1,a2,a5 +80000bfc: 00f282b3 add t0,t0,a5 +80000c00: 0062e2b3 or t0,t0,t1 +80000c04: 0c729263 bne t0,t2,80000cc8 <strcmp+0x154> +80000c08: 02d61663 bne a2,a3,80000c34 <strcmp+0xc0> +80000c0c: 01052603 lw a2,16(a0) +80000c10: 0105a683 lw a3,16(a1) +80000c14: 00f672b3 and t0,a2,a5 +80000c18: 00f66333 or t1,a2,a5 +80000c1c: 00f282b3 add t0,t0,a5 +80000c20: 0062e2b3 or t0,t0,t1 +80000c24: 0a729c63 bne t0,t2,80000cdc <strcmp+0x168> +80000c28: 01450513 addi a0,a0,20 +80000c2c: 01458593 addi a1,a1,20 +80000c30: f4d60ee3 beq a2,a3,80000b8c <strcmp+0x18> +80000c34: 01061713 slli a4,a2,0x10 +80000c38: 01069793 slli a5,a3,0x10 +80000c3c: 00f71e63 bne a4,a5,80000c58 <strcmp+0xe4> +80000c40: 01065713 srli a4,a2,0x10 +80000c44: 0106d793 srli a5,a3,0x10 +80000c48: 40f70533 sub a0,a4,a5 +80000c4c: 0ff57593 andi a1,a0,255 +80000c50: 02059063 bnez a1,80000c70 <strcmp+0xfc> +80000c54: 00008067 ret +80000c58: 01075713 srli a4,a4,0x10 +80000c5c: 0107d793 srli a5,a5,0x10 +80000c60: 40f70533 sub a0,a4,a5 +80000c64: 0ff57593 andi a1,a0,255 +80000c68: 00059463 bnez a1,80000c70 <strcmp+0xfc> +80000c6c: 00008067 ret +80000c70: 0ff77713 andi a4,a4,255 +80000c74: 0ff7f793 andi a5,a5,255 +80000c78: 40f70533 sub a0,a4,a5 +80000c7c: 00008067 ret +80000c80: 00054603 lbu a2,0(a0) +80000c84: 0005c683 lbu a3,0(a1) +80000c88: 00150513 addi a0,a0,1 +80000c8c: 00158593 addi a1,a1,1 +80000c90: 00d61463 bne a2,a3,80000c98 <strcmp+0x124> +80000c94: fe0616e3 bnez a2,80000c80 <strcmp+0x10c> +80000c98: 40d60533 sub a0,a2,a3 +80000c9c: 00008067 ret +80000ca0: 00450513 addi a0,a0,4 +80000ca4: 00458593 addi a1,a1,4 +80000ca8: fcd61ce3 bne a2,a3,80000c80 <strcmp+0x10c> +80000cac: 00000513 li a0,0 +80000cb0: 00008067 ret +80000cb4: 00850513 addi a0,a0,8 +80000cb8: 00858593 addi a1,a1,8 +80000cbc: fcd612e3 bne a2,a3,80000c80 <strcmp+0x10c> +80000cc0: 00000513 li a0,0 +80000cc4: 00008067 ret +80000cc8: 00c50513 addi a0,a0,12 +80000ccc: 00c58593 addi a1,a1,12 +80000cd0: fad618e3 bne a2,a3,80000c80 <strcmp+0x10c> +80000cd4: 00000513 li a0,0 +80000cd8: 00008067 ret +80000cdc: 01050513 addi a0,a0,16 +80000ce0: 01058593 addi a1,a1,16 +80000ce4: f8d61ee3 bne a2,a3,80000c80 <strcmp+0x10c> +80000ce8: 00000513 li a0,0 +80000cec: 00008067 ret + +80000cf0 <__divdf3>: +80000cf0: fb010113 addi sp,sp,-80 +80000cf4: 04812423 sw s0,72(sp) +80000cf8: 03412c23 sw s4,56(sp) +80000cfc: 00100437 lui s0,0x100 +80000d00: 0145da13 srli s4,a1,0x14 +80000d04: 05212023 sw s2,64(sp) +80000d08: 03312e23 sw s3,60(sp) +80000d0c: 03512a23 sw s5,52(sp) +80000d10: 03812423 sw s8,40(sp) +80000d14: fff40413 addi s0,s0,-1 # fffff <_stack_size+0xffbff> +80000d18: 04112623 sw ra,76(sp) +80000d1c: 04912223 sw s1,68(sp) +80000d20: 03612823 sw s6,48(sp) +80000d24: 03712623 sw s7,44(sp) +80000d28: 03912223 sw s9,36(sp) +80000d2c: 03a12023 sw s10,32(sp) +80000d30: 01b12e23 sw s11,28(sp) +80000d34: 7ffa7a13 andi s4,s4,2047 +80000d38: 00050913 mv s2,a0 +80000d3c: 00060c13 mv s8,a2 +80000d40: 00068a93 mv s5,a3 +80000d44: 00b47433 and s0,s0,a1 +80000d48: 01f5d993 srli s3,a1,0x1f +80000d4c: 0a0a0663 beqz s4,80000df8 <__divdf3+0x108> +80000d50: 7ff00793 li a5,2047 +80000d54: 10fa0463 beq s4,a5,80000e5c <__divdf3+0x16c> +80000d58: 00341413 slli s0,s0,0x3 +80000d5c: 008007b7 lui a5,0x800 +80000d60: 00f46433 or s0,s0,a5 +80000d64: 01d55b13 srli s6,a0,0x1d +80000d68: 008b6b33 or s6,s6,s0 +80000d6c: 00351493 slli s1,a0,0x3 +80000d70: c01a0a13 addi s4,s4,-1023 +80000d74: 00000b93 li s7,0 +80000d78: 014ad513 srli a0,s5,0x14 +80000d7c: 00100937 lui s2,0x100 +80000d80: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +80000d84: 7ff57513 andi a0,a0,2047 +80000d88: 01597933 and s2,s2,s5 +80000d8c: 000c0593 mv a1,s8 +80000d90: 01fada93 srli s5,s5,0x1f +80000d94: 10050263 beqz a0,80000e98 <__divdf3+0x1a8> +80000d98: 7ff00793 li a5,2047 +80000d9c: 16f50263 beq a0,a5,80000f00 <__divdf3+0x210> +80000da0: 00800437 lui s0,0x800 +80000da4: 00391913 slli s2,s2,0x3 +80000da8: 00896933 or s2,s2,s0 +80000dac: 01dc5413 srli s0,s8,0x1d +80000db0: 01246433 or s0,s0,s2 +80000db4: 003c1593 slli a1,s8,0x3 +80000db8: c0150513 addi a0,a0,-1023 +80000dbc: 00000793 li a5,0 +80000dc0: 002b9713 slli a4,s7,0x2 +80000dc4: 00f76733 or a4,a4,a5 +80000dc8: fff70713 addi a4,a4,-1 +80000dcc: 00e00693 li a3,14 +80000dd0: 0159c933 xor s2,s3,s5 +80000dd4: 40aa0a33 sub s4,s4,a0 +80000dd8: 16e6e063 bltu a3,a4,80000f38 <__divdf3+0x248> +80000ddc: 00002697 auipc a3,0x2 +80000de0: 4d068693 addi a3,a3,1232 # 800032ac <end+0x5e0> +80000de4: 00271713 slli a4,a4,0x2 +80000de8: 00d70733 add a4,a4,a3 +80000dec: 00072703 lw a4,0(a4) +80000df0: 00d70733 add a4,a4,a3 +80000df4: 00070067 jr a4 +80000df8: 00a46b33 or s6,s0,a0 +80000dfc: 060b0e63 beqz s6,80000e78 <__divdf3+0x188> +80000e00: 04040063 beqz s0,80000e40 <__divdf3+0x150> +80000e04: 00040513 mv a0,s0 +80000e08: 679010ef jal ra,80002c80 <__clzsi2> +80000e0c: ff550793 addi a5,a0,-11 +80000e10: 01c00713 li a4,28 +80000e14: 02f74c63 blt a4,a5,80000e4c <__divdf3+0x15c> +80000e18: 01d00b13 li s6,29 +80000e1c: ff850493 addi s1,a0,-8 +80000e20: 40fb0b33 sub s6,s6,a5 +80000e24: 00941433 sll s0,s0,s1 +80000e28: 01695b33 srl s6,s2,s6 +80000e2c: 008b6b33 or s6,s6,s0 +80000e30: 009914b3 sll s1,s2,s1 +80000e34: c0d00a13 li s4,-1011 +80000e38: 40aa0a33 sub s4,s4,a0 +80000e3c: f39ff06f j 80000d74 <__divdf3+0x84> +80000e40: 641010ef jal ra,80002c80 <__clzsi2> +80000e44: 02050513 addi a0,a0,32 +80000e48: fc5ff06f j 80000e0c <__divdf3+0x11c> +80000e4c: fd850413 addi s0,a0,-40 +80000e50: 00891b33 sll s6,s2,s0 +80000e54: 00000493 li s1,0 +80000e58: fddff06f j 80000e34 <__divdf3+0x144> +80000e5c: 00a46b33 or s6,s0,a0 +80000e60: 020b0463 beqz s6,80000e88 <__divdf3+0x198> +80000e64: 00050493 mv s1,a0 +80000e68: 00040b13 mv s6,s0 +80000e6c: 7ff00a13 li s4,2047 +80000e70: 00300b93 li s7,3 +80000e74: f05ff06f j 80000d78 <__divdf3+0x88> +80000e78: 00000493 li s1,0 +80000e7c: 00000a13 li s4,0 +80000e80: 00100b93 li s7,1 +80000e84: ef5ff06f j 80000d78 <__divdf3+0x88> +80000e88: 00000493 li s1,0 +80000e8c: 7ff00a13 li s4,2047 +80000e90: 00200b93 li s7,2 +80000e94: ee5ff06f j 80000d78 <__divdf3+0x88> +80000e98: 01896433 or s0,s2,s8 +80000e9c: 06040e63 beqz s0,80000f18 <__divdf3+0x228> +80000ea0: 04090063 beqz s2,80000ee0 <__divdf3+0x1f0> +80000ea4: 00090513 mv a0,s2 +80000ea8: 5d9010ef jal ra,80002c80 <__clzsi2> +80000eac: ff550793 addi a5,a0,-11 +80000eb0: 01c00713 li a4,28 +80000eb4: 02f74e63 blt a4,a5,80000ef0 <__divdf3+0x200> +80000eb8: 01d00413 li s0,29 +80000ebc: ff850593 addi a1,a0,-8 +80000ec0: 40f40433 sub s0,s0,a5 +80000ec4: 00b91933 sll s2,s2,a1 +80000ec8: 008c5433 srl s0,s8,s0 +80000ecc: 01246433 or s0,s0,s2 +80000ed0: 00bc15b3 sll a1,s8,a1 +80000ed4: c0d00713 li a4,-1011 +80000ed8: 40a70533 sub a0,a4,a0 +80000edc: ee1ff06f j 80000dbc <__divdf3+0xcc> +80000ee0: 000c0513 mv a0,s8 +80000ee4: 59d010ef jal ra,80002c80 <__clzsi2> +80000ee8: 02050513 addi a0,a0,32 +80000eec: fc1ff06f j 80000eac <__divdf3+0x1bc> +80000ef0: fd850413 addi s0,a0,-40 +80000ef4: 008c1433 sll s0,s8,s0 +80000ef8: 00000593 li a1,0 +80000efc: fd9ff06f j 80000ed4 <__divdf3+0x1e4> +80000f00: 01896433 or s0,s2,s8 +80000f04: 02040263 beqz s0,80000f28 <__divdf3+0x238> +80000f08: 00090413 mv s0,s2 +80000f0c: 7ff00513 li a0,2047 +80000f10: 00300793 li a5,3 +80000f14: eadff06f j 80000dc0 <__divdf3+0xd0> +80000f18: 00000593 li a1,0 +80000f1c: 00000513 li a0,0 +80000f20: 00100793 li a5,1 +80000f24: e9dff06f j 80000dc0 <__divdf3+0xd0> +80000f28: 00000593 li a1,0 +80000f2c: 7ff00513 li a0,2047 +80000f30: 00200793 li a5,2 +80000f34: e8dff06f j 80000dc0 <__divdf3+0xd0> +80000f38: 01646663 bltu s0,s6,80000f44 <__divdf3+0x254> +80000f3c: 488b1263 bne s6,s0,800013c0 <__divdf3+0x6d0> +80000f40: 48b4e063 bltu s1,a1,800013c0 <__divdf3+0x6d0> +80000f44: 01fb1693 slli a3,s6,0x1f +80000f48: 0014d713 srli a4,s1,0x1 +80000f4c: 01f49c13 slli s8,s1,0x1f +80000f50: 001b5b13 srli s6,s6,0x1 +80000f54: 00e6e4b3 or s1,a3,a4 +80000f58: 00841413 slli s0,s0,0x8 +80000f5c: 0185dc93 srli s9,a1,0x18 +80000f60: 008cecb3 or s9,s9,s0 +80000f64: 010cda93 srli s5,s9,0x10 +80000f68: 010c9793 slli a5,s9,0x10 +80000f6c: 0107d793 srli a5,a5,0x10 +80000f70: 00859d13 slli s10,a1,0x8 +80000f74: 000b0513 mv a0,s6 +80000f78: 000a8593 mv a1,s5 +80000f7c: 00f12223 sw a5,4(sp) +80000f80: 455010ef jal ra,80002bd4 <__udivsi3> +80000f84: 00050593 mv a1,a0 +80000f88: 00050b93 mv s7,a0 +80000f8c: 010c9513 slli a0,s9,0x10 +80000f90: 01055513 srli a0,a0,0x10 +80000f94: 415010ef jal ra,80002ba8 <__mulsi3> +80000f98: 00050413 mv s0,a0 +80000f9c: 000a8593 mv a1,s5 +80000fa0: 000b0513 mv a0,s6 +80000fa4: 479010ef jal ra,80002c1c <__umodsi3> +80000fa8: 01051513 slli a0,a0,0x10 +80000fac: 0104d713 srli a4,s1,0x10 +80000fb0: 00a76533 or a0,a4,a0 +80000fb4: 000b8993 mv s3,s7 +80000fb8: 00857e63 bleu s0,a0,80000fd4 <__divdf3+0x2e4> +80000fbc: 01950533 add a0,a0,s9 +80000fc0: fffb8993 addi s3,s7,-1 +80000fc4: 01956863 bltu a0,s9,80000fd4 <__divdf3+0x2e4> +80000fc8: 00857663 bleu s0,a0,80000fd4 <__divdf3+0x2e4> +80000fcc: ffeb8993 addi s3,s7,-2 +80000fd0: 01950533 add a0,a0,s9 +80000fd4: 40850433 sub s0,a0,s0 +80000fd8: 000a8593 mv a1,s5 +80000fdc: 00040513 mv a0,s0 +80000fe0: 3f5010ef jal ra,80002bd4 <__udivsi3> +80000fe4: 00050593 mv a1,a0 +80000fe8: 00050b93 mv s7,a0 +80000fec: 010c9513 slli a0,s9,0x10 +80000ff0: 01055513 srli a0,a0,0x10 +80000ff4: 3b5010ef jal ra,80002ba8 <__mulsi3> +80000ff8: 00050b13 mv s6,a0 +80000ffc: 000a8593 mv a1,s5 +80001000: 00040513 mv a0,s0 +80001004: 419010ef jal ra,80002c1c <__umodsi3> +80001008: 01049d93 slli s11,s1,0x10 +8000100c: 01051513 slli a0,a0,0x10 +80001010: 010ddd93 srli s11,s11,0x10 +80001014: 00adedb3 or s11,s11,a0 +80001018: 000b8713 mv a4,s7 +8000101c: 016dfe63 bleu s6,s11,80001038 <__divdf3+0x348> +80001020: 019d8db3 add s11,s11,s9 +80001024: fffb8713 addi a4,s7,-1 +80001028: 019de863 bltu s11,s9,80001038 <__divdf3+0x348> +8000102c: 016df663 bleu s6,s11,80001038 <__divdf3+0x348> +80001030: ffeb8713 addi a4,s7,-2 +80001034: 019d8db3 add s11,s11,s9 +80001038: 01099693 slli a3,s3,0x10 +8000103c: 000104b7 lui s1,0x10 +80001040: 00e6e6b3 or a3,a3,a4 +80001044: 416d8db3 sub s11,s11,s6 +80001048: fff48b13 addi s6,s1,-1 # ffff <_stack_size+0xfbff> +8000104c: 0166f733 and a4,a3,s6 +80001050: 016d7b33 and s6,s10,s6 +80001054: 00070513 mv a0,a4 +80001058: 000b0593 mv a1,s6 +8000105c: 0106d413 srli s0,a3,0x10 +80001060: 00d12623 sw a3,12(sp) +80001064: 00e12423 sw a4,8(sp) +80001068: 341010ef jal ra,80002ba8 <__mulsi3> +8000106c: 00a12223 sw a0,4(sp) +80001070: 000b0593 mv a1,s6 +80001074: 00040513 mv a0,s0 +80001078: 331010ef jal ra,80002ba8 <__mulsi3> +8000107c: 010d5b93 srli s7,s10,0x10 +80001080: 00050993 mv s3,a0 +80001084: 000b8593 mv a1,s7 +80001088: 00040513 mv a0,s0 +8000108c: 31d010ef jal ra,80002ba8 <__mulsi3> +80001090: 00812703 lw a4,8(sp) +80001094: 00050413 mv s0,a0 +80001098: 000b8513 mv a0,s7 +8000109c: 00070593 mv a1,a4 +800010a0: 309010ef jal ra,80002ba8 <__mulsi3> +800010a4: 00412603 lw a2,4(sp) +800010a8: 01350533 add a0,a0,s3 +800010ac: 00c12683 lw a3,12(sp) +800010b0: 01065713 srli a4,a2,0x10 +800010b4: 00a70733 add a4,a4,a0 +800010b8: 01377463 bleu s3,a4,800010c0 <__divdf3+0x3d0> +800010bc: 00940433 add s0,s0,s1 +800010c0: 00010537 lui a0,0x10 +800010c4: fff50513 addi a0,a0,-1 # ffff <_stack_size+0xfbff> +800010c8: 01075493 srli s1,a4,0x10 +800010cc: 00a779b3 and s3,a4,a0 +800010d0: 01099993 slli s3,s3,0x10 +800010d4: 00a67633 and a2,a2,a0 +800010d8: 008484b3 add s1,s1,s0 +800010dc: 00c989b3 add s3,s3,a2 +800010e0: 009de863 bltu s11,s1,800010f0 <__divdf3+0x400> +800010e4: 00068413 mv s0,a3 +800010e8: 049d9463 bne s11,s1,80001130 <__divdf3+0x440> +800010ec: 053c7263 bleu s3,s8,80001130 <__divdf3+0x440> +800010f0: 01ac0c33 add s8,s8,s10 +800010f4: 01ac3733 sltu a4,s8,s10 +800010f8: 01970733 add a4,a4,s9 +800010fc: 00ed8db3 add s11,s11,a4 +80001100: fff68413 addi s0,a3,-1 +80001104: 01bce663 bltu s9,s11,80001110 <__divdf3+0x420> +80001108: 03bc9463 bne s9,s11,80001130 <__divdf3+0x440> +8000110c: 03ac6263 bltu s8,s10,80001130 <__divdf3+0x440> +80001110: 009de663 bltu s11,s1,8000111c <__divdf3+0x42c> +80001114: 01b49e63 bne s1,s11,80001130 <__divdf3+0x440> +80001118: 013c7c63 bleu s3,s8,80001130 <__divdf3+0x440> +8000111c: 01ac0c33 add s8,s8,s10 +80001120: 01ac3733 sltu a4,s8,s10 +80001124: 01970733 add a4,a4,s9 +80001128: ffe68413 addi s0,a3,-2 +8000112c: 00ed8db3 add s11,s11,a4 +80001130: 413c09b3 sub s3,s8,s3 +80001134: 409d84b3 sub s1,s11,s1 +80001138: 013c37b3 sltu a5,s8,s3 +8000113c: 40f484b3 sub s1,s1,a5 +80001140: fff00593 li a1,-1 +80001144: 1a9c8863 beq s9,s1,800012f4 <__divdf3+0x604> +80001148: 000a8593 mv a1,s5 +8000114c: 00048513 mv a0,s1 +80001150: 285010ef jal ra,80002bd4 <__udivsi3> +80001154: 00050593 mv a1,a0 +80001158: 00a12423 sw a0,8(sp) +8000115c: 010c9513 slli a0,s9,0x10 +80001160: 01055513 srli a0,a0,0x10 +80001164: 245010ef jal ra,80002ba8 <__mulsi3> +80001168: 00a12223 sw a0,4(sp) +8000116c: 000a8593 mv a1,s5 +80001170: 00048513 mv a0,s1 +80001174: 2a9010ef jal ra,80002c1c <__umodsi3> +80001178: 00812683 lw a3,8(sp) +8000117c: 00412703 lw a4,4(sp) +80001180: 01051513 slli a0,a0,0x10 +80001184: 0109d793 srli a5,s3,0x10 +80001188: 00a7e533 or a0,a5,a0 +8000118c: 00068d93 mv s11,a3 +80001190: 00e57e63 bleu a4,a0,800011ac <__divdf3+0x4bc> +80001194: 01950533 add a0,a0,s9 +80001198: fff68d93 addi s11,a3,-1 +8000119c: 01956863 bltu a0,s9,800011ac <__divdf3+0x4bc> +800011a0: 00e57663 bleu a4,a0,800011ac <__divdf3+0x4bc> +800011a4: ffe68d93 addi s11,a3,-2 +800011a8: 01950533 add a0,a0,s9 +800011ac: 40e504b3 sub s1,a0,a4 +800011b0: 000a8593 mv a1,s5 +800011b4: 00048513 mv a0,s1 +800011b8: 21d010ef jal ra,80002bd4 <__udivsi3> +800011bc: 00050593 mv a1,a0 +800011c0: 00a12223 sw a0,4(sp) +800011c4: 010c9513 slli a0,s9,0x10 +800011c8: 01055513 srli a0,a0,0x10 +800011cc: 1dd010ef jal ra,80002ba8 <__mulsi3> +800011d0: 00050c13 mv s8,a0 +800011d4: 000a8593 mv a1,s5 +800011d8: 00048513 mv a0,s1 +800011dc: 241010ef jal ra,80002c1c <__umodsi3> +800011e0: 01099993 slli s3,s3,0x10 +800011e4: 00412703 lw a4,4(sp) +800011e8: 01051513 slli a0,a0,0x10 +800011ec: 0109d993 srli s3,s3,0x10 +800011f0: 00a9e533 or a0,s3,a0 +800011f4: 00070793 mv a5,a4 +800011f8: 01857e63 bleu s8,a0,80001214 <__divdf3+0x524> +800011fc: 01950533 add a0,a0,s9 +80001200: fff70793 addi a5,a4,-1 +80001204: 01956863 bltu a0,s9,80001214 <__divdf3+0x524> +80001208: 01857663 bleu s8,a0,80001214 <__divdf3+0x524> +8000120c: ffe70793 addi a5,a4,-2 +80001210: 01950533 add a0,a0,s9 +80001214: 010d9493 slli s1,s11,0x10 +80001218: 00f4e4b3 or s1,s1,a5 +8000121c: 01049793 slli a5,s1,0x10 +80001220: 0107d793 srli a5,a5,0x10 +80001224: 000b0593 mv a1,s6 +80001228: 418509b3 sub s3,a0,s8 +8000122c: 00078513 mv a0,a5 +80001230: 00f12223 sw a5,4(sp) +80001234: 0104dd93 srli s11,s1,0x10 +80001238: 171010ef jal ra,80002ba8 <__mulsi3> +8000123c: 000b0593 mv a1,s6 +80001240: 00050a93 mv s5,a0 +80001244: 000d8513 mv a0,s11 +80001248: 161010ef jal ra,80002ba8 <__mulsi3> +8000124c: 00050c13 mv s8,a0 +80001250: 000d8593 mv a1,s11 +80001254: 000b8513 mv a0,s7 +80001258: 151010ef jal ra,80002ba8 <__mulsi3> +8000125c: 00412783 lw a5,4(sp) +80001260: 00050b13 mv s6,a0 +80001264: 000b8513 mv a0,s7 +80001268: 00078593 mv a1,a5 +8000126c: 13d010ef jal ra,80002ba8 <__mulsi3> +80001270: 01850533 add a0,a0,s8 +80001274: 010ad793 srli a5,s5,0x10 +80001278: 00a78533 add a0,a5,a0 +8000127c: 01857663 bleu s8,a0,80001288 <__divdf3+0x598> +80001280: 000107b7 lui a5,0x10 +80001284: 00fb0b33 add s6,s6,a5 +80001288: 000106b7 lui a3,0x10 +8000128c: fff68693 addi a3,a3,-1 # ffff <_stack_size+0xfbff> +80001290: 01055793 srli a5,a0,0x10 +80001294: 00d57733 and a4,a0,a3 +80001298: 01071713 slli a4,a4,0x10 +8000129c: 00dafab3 and s5,s5,a3 +800012a0: 016787b3 add a5,a5,s6 +800012a4: 01570733 add a4,a4,s5 +800012a8: 00f9e863 bltu s3,a5,800012b8 <__divdf3+0x5c8> +800012ac: 00048593 mv a1,s1 +800012b0: 04f99063 bne s3,a5,800012f0 <__divdf3+0x600> +800012b4: 04070063 beqz a4,800012f4 <__divdf3+0x604> +800012b8: 013c8533 add a0,s9,s3 +800012bc: fff48593 addi a1,s1,-1 +800012c0: 03956463 bltu a0,s9,800012e8 <__divdf3+0x5f8> +800012c4: 00f56663 bltu a0,a5,800012d0 <__divdf3+0x5e0> +800012c8: 02f51463 bne a0,a5,800012f0 <__divdf3+0x600> +800012cc: 02ed7063 bleu a4,s10,800012ec <__divdf3+0x5fc> +800012d0: 001d1693 slli a3,s10,0x1 +800012d4: 01a6bd33 sltu s10,a3,s10 +800012d8: 019d0cb3 add s9,s10,s9 +800012dc: ffe48593 addi a1,s1,-2 +800012e0: 01950533 add a0,a0,s9 +800012e4: 00068d13 mv s10,a3 +800012e8: 00f51463 bne a0,a5,800012f0 <__divdf3+0x600> +800012ec: 01a70463 beq a4,s10,800012f4 <__divdf3+0x604> +800012f0: 0015e593 ori a1,a1,1 +800012f4: 3ffa0713 addi a4,s4,1023 +800012f8: 12e05263 blez a4,8000141c <__divdf3+0x72c> +800012fc: 0075f793 andi a5,a1,7 +80001300: 02078063 beqz a5,80001320 <__divdf3+0x630> +80001304: 00f5f793 andi a5,a1,15 +80001308: 00400693 li a3,4 +8000130c: 00d78a63 beq a5,a3,80001320 <__divdf3+0x630> +80001310: 00458693 addi a3,a1,4 +80001314: 00b6b5b3 sltu a1,a3,a1 +80001318: 00b40433 add s0,s0,a1 +8000131c: 00068593 mv a1,a3 +80001320: 00741793 slli a5,s0,0x7 +80001324: 0007da63 bgez a5,80001338 <__divdf3+0x648> +80001328: ff0007b7 lui a5,0xff000 +8000132c: fff78793 addi a5,a5,-1 # feffffff <_stack_start+0x7eff9b2f> +80001330: 00f47433 and s0,s0,a5 +80001334: 400a0713 addi a4,s4,1024 +80001338: 7fe00793 li a5,2046 +8000133c: 1ae7c263 blt a5,a4,800014e0 <__divdf3+0x7f0> +80001340: 01d41793 slli a5,s0,0x1d +80001344: 0035d593 srli a1,a1,0x3 +80001348: 00b7e7b3 or a5,a5,a1 +8000134c: 00345413 srli s0,s0,0x3 +80001350: 001006b7 lui a3,0x100 +80001354: fff68693 addi a3,a3,-1 # fffff <_stack_size+0xffbff> +80001358: 00d47433 and s0,s0,a3 +8000135c: 801006b7 lui a3,0x80100 +80001360: 7ff77713 andi a4,a4,2047 +80001364: fff68693 addi a3,a3,-1 # 800fffff <_stack_start+0xf9b2f> +80001368: 01471713 slli a4,a4,0x14 +8000136c: 00d47433 and s0,s0,a3 +80001370: 01f91913 slli s2,s2,0x1f +80001374: 00e46433 or s0,s0,a4 +80001378: 01246733 or a4,s0,s2 +8000137c: 04c12083 lw ra,76(sp) +80001380: 04812403 lw s0,72(sp) +80001384: 04412483 lw s1,68(sp) +80001388: 04012903 lw s2,64(sp) +8000138c: 03c12983 lw s3,60(sp) +80001390: 03812a03 lw s4,56(sp) +80001394: 03412a83 lw s5,52(sp) +80001398: 03012b03 lw s6,48(sp) +8000139c: 02c12b83 lw s7,44(sp) +800013a0: 02812c03 lw s8,40(sp) +800013a4: 02412c83 lw s9,36(sp) +800013a8: 02012d03 lw s10,32(sp) +800013ac: 01c12d83 lw s11,28(sp) +800013b0: 00078513 mv a0,a5 +800013b4: 00070593 mv a1,a4 +800013b8: 05010113 addi sp,sp,80 +800013bc: 00008067 ret +800013c0: fffa0a13 addi s4,s4,-1 +800013c4: 00000c13 li s8,0 +800013c8: b91ff06f j 80000f58 <__divdf3+0x268> +800013cc: 00098913 mv s2,s3 +800013d0: 000b0413 mv s0,s6 +800013d4: 00048593 mv a1,s1 +800013d8: 000b8793 mv a5,s7 +800013dc: 00200713 li a4,2 +800013e0: 10e78063 beq a5,a4,800014e0 <__divdf3+0x7f0> +800013e4: 00300713 li a4,3 +800013e8: 0ee78263 beq a5,a4,800014cc <__divdf3+0x7dc> +800013ec: 00100713 li a4,1 +800013f0: f0e792e3 bne a5,a4,800012f4 <__divdf3+0x604> +800013f4: 00000413 li s0,0 +800013f8: 00000793 li a5,0 +800013fc: 0940006f j 80001490 <__divdf3+0x7a0> +80001400: 000a8913 mv s2,s5 +80001404: fd9ff06f j 800013dc <__divdf3+0x6ec> +80001408: 00080437 lui s0,0x80 +8000140c: 00000593 li a1,0 +80001410: 00000913 li s2,0 +80001414: 00300793 li a5,3 +80001418: fc5ff06f j 800013dc <__divdf3+0x6ec> +8000141c: 00100693 li a3,1 +80001420: 40e686b3 sub a3,a3,a4 +80001424: 03800793 li a5,56 +80001428: fcd7c6e3 blt a5,a3,800013f4 <__divdf3+0x704> +8000142c: 01f00793 li a5,31 +80001430: 06d7c463 blt a5,a3,80001498 <__divdf3+0x7a8> +80001434: 41ea0a13 addi s4,s4,1054 +80001438: 014417b3 sll a5,s0,s4 +8000143c: 00d5d733 srl a4,a1,a3 +80001440: 01459a33 sll s4,a1,s4 +80001444: 00e7e7b3 or a5,a5,a4 +80001448: 01403a33 snez s4,s4 +8000144c: 0147e7b3 or a5,a5,s4 +80001450: 00d45433 srl s0,s0,a3 +80001454: 0077f713 andi a4,a5,7 +80001458: 02070063 beqz a4,80001478 <__divdf3+0x788> +8000145c: 00f7f713 andi a4,a5,15 +80001460: 00400693 li a3,4 +80001464: 00d70a63 beq a4,a3,80001478 <__divdf3+0x788> +80001468: 00478713 addi a4,a5,4 +8000146c: 00f737b3 sltu a5,a4,a5 +80001470: 00f40433 add s0,s0,a5 +80001474: 00070793 mv a5,a4 +80001478: 00841713 slli a4,s0,0x8 +8000147c: 06074a63 bltz a4,800014f0 <__divdf3+0x800> +80001480: 01d41713 slli a4,s0,0x1d +80001484: 0037d793 srli a5,a5,0x3 +80001488: 00f767b3 or a5,a4,a5 +8000148c: 00345413 srli s0,s0,0x3 +80001490: 00000713 li a4,0 +80001494: ebdff06f j 80001350 <__divdf3+0x660> +80001498: fe100793 li a5,-31 +8000149c: 40e787b3 sub a5,a5,a4 +800014a0: 02000713 li a4,32 +800014a4: 00f457b3 srl a5,s0,a5 +800014a8: 00000513 li a0,0 +800014ac: 00e68663 beq a3,a4,800014b8 <__divdf3+0x7c8> +800014b0: 43ea0a13 addi s4,s4,1086 +800014b4: 01441533 sll a0,s0,s4 +800014b8: 00b56a33 or s4,a0,a1 +800014bc: 01403a33 snez s4,s4 +800014c0: 0147e7b3 or a5,a5,s4 +800014c4: 00000413 li s0,0 +800014c8: f8dff06f j 80001454 <__divdf3+0x764> +800014cc: 00080437 lui s0,0x80 +800014d0: 00000793 li a5,0 +800014d4: 7ff00713 li a4,2047 +800014d8: 00000913 li s2,0 +800014dc: e75ff06f j 80001350 <__divdf3+0x660> +800014e0: 00000413 li s0,0 +800014e4: 00000793 li a5,0 +800014e8: 7ff00713 li a4,2047 +800014ec: e65ff06f j 80001350 <__divdf3+0x660> +800014f0: 00000413 li s0,0 +800014f4: 00000793 li a5,0 +800014f8: 00100713 li a4,1 +800014fc: e55ff06f j 80001350 <__divdf3+0x660> + +80001500 <__muldf3>: +80001500: fa010113 addi sp,sp,-96 +80001504: 04812c23 sw s0,88(sp) +80001508: 05312623 sw s3,76(sp) +8000150c: 00100437 lui s0,0x100 +80001510: 0145d993 srli s3,a1,0x14 +80001514: 04912a23 sw s1,84(sp) +80001518: 05612023 sw s6,64(sp) +8000151c: 03712e23 sw s7,60(sp) +80001520: 03812c23 sw s8,56(sp) +80001524: fff40413 addi s0,s0,-1 # fffff <_stack_size+0xffbff> +80001528: 04112e23 sw ra,92(sp) +8000152c: 05212823 sw s2,80(sp) +80001530: 05412423 sw s4,72(sp) +80001534: 05512223 sw s5,68(sp) +80001538: 03912a23 sw s9,52(sp) +8000153c: 03a12823 sw s10,48(sp) +80001540: 03b12623 sw s11,44(sp) +80001544: 7ff9f993 andi s3,s3,2047 +80001548: 00050493 mv s1,a0 +8000154c: 00060b93 mv s7,a2 +80001550: 00068c13 mv s8,a3 +80001554: 00b47433 and s0,s0,a1 +80001558: 01f5db13 srli s6,a1,0x1f +8000155c: 0a098863 beqz s3,8000160c <__muldf3+0x10c> +80001560: 7ff00793 li a5,2047 +80001564: 10f98663 beq s3,a5,80001670 <__muldf3+0x170> +80001568: 00800937 lui s2,0x800 +8000156c: 00341413 slli s0,s0,0x3 +80001570: 01246433 or s0,s0,s2 +80001574: 01d55913 srli s2,a0,0x1d +80001578: 00896933 or s2,s2,s0 +8000157c: 00351d13 slli s10,a0,0x3 +80001580: c0198993 addi s3,s3,-1023 +80001584: 00000c93 li s9,0 +80001588: 014c5513 srli a0,s8,0x14 +8000158c: 00100a37 lui s4,0x100 +80001590: fffa0a13 addi s4,s4,-1 # fffff <_stack_size+0xffbff> +80001594: 7ff57513 andi a0,a0,2047 +80001598: 018a7a33 and s4,s4,s8 +8000159c: 000b8493 mv s1,s7 +800015a0: 01fc5c13 srli s8,s8,0x1f +800015a4: 10050463 beqz a0,800016ac <__muldf3+0x1ac> +800015a8: 7ff00793 li a5,2047 +800015ac: 16f50463 beq a0,a5,80001714 <__muldf3+0x214> +800015b0: 00800437 lui s0,0x800 +800015b4: 003a1a13 slli s4,s4,0x3 +800015b8: 008a6a33 or s4,s4,s0 +800015bc: 01dbd413 srli s0,s7,0x1d +800015c0: 01446433 or s0,s0,s4 +800015c4: 003b9493 slli s1,s7,0x3 +800015c8: c0150513 addi a0,a0,-1023 +800015cc: 00000793 li a5,0 +800015d0: 002c9713 slli a4,s9,0x2 +800015d4: 00f76733 or a4,a4,a5 +800015d8: 00a989b3 add s3,s3,a0 +800015dc: fff70713 addi a4,a4,-1 +800015e0: 00e00693 li a3,14 +800015e4: 018b4bb3 xor s7,s6,s8 +800015e8: 00198a93 addi s5,s3,1 +800015ec: 16e6e063 bltu a3,a4,8000174c <__muldf3+0x24c> +800015f0: 00002697 auipc a3,0x2 +800015f4: cf868693 addi a3,a3,-776 # 800032e8 <end+0x61c> +800015f8: 00271713 slli a4,a4,0x2 +800015fc: 00d70733 add a4,a4,a3 +80001600: 00072703 lw a4,0(a4) +80001604: 00d70733 add a4,a4,a3 +80001608: 00070067 jr a4 +8000160c: 00a46933 or s2,s0,a0 +80001610: 06090e63 beqz s2,8000168c <__muldf3+0x18c> +80001614: 04040063 beqz s0,80001654 <__muldf3+0x154> +80001618: 00040513 mv a0,s0 +8000161c: 664010ef jal ra,80002c80 <__clzsi2> +80001620: ff550793 addi a5,a0,-11 +80001624: 01c00713 li a4,28 +80001628: 02f74c63 blt a4,a5,80001660 <__muldf3+0x160> +8000162c: 01d00913 li s2,29 +80001630: ff850d13 addi s10,a0,-8 +80001634: 40f90933 sub s2,s2,a5 +80001638: 01a41433 sll s0,s0,s10 +8000163c: 0124d933 srl s2,s1,s2 +80001640: 00896933 or s2,s2,s0 +80001644: 01a49d33 sll s10,s1,s10 +80001648: c0d00993 li s3,-1011 +8000164c: 40a989b3 sub s3,s3,a0 +80001650: f35ff06f j 80001584 <__muldf3+0x84> +80001654: 62c010ef jal ra,80002c80 <__clzsi2> +80001658: 02050513 addi a0,a0,32 +8000165c: fc5ff06f j 80001620 <__muldf3+0x120> +80001660: fd850913 addi s2,a0,-40 +80001664: 01249933 sll s2,s1,s2 +80001668: 00000d13 li s10,0 +8000166c: fddff06f j 80001648 <__muldf3+0x148> +80001670: 00a46933 or s2,s0,a0 +80001674: 02090463 beqz s2,8000169c <__muldf3+0x19c> +80001678: 00050d13 mv s10,a0 +8000167c: 00040913 mv s2,s0 +80001680: 7ff00993 li s3,2047 +80001684: 00300c93 li s9,3 +80001688: f01ff06f j 80001588 <__muldf3+0x88> +8000168c: 00000d13 li s10,0 +80001690: 00000993 li s3,0 +80001694: 00100c93 li s9,1 +80001698: ef1ff06f j 80001588 <__muldf3+0x88> +8000169c: 00000d13 li s10,0 +800016a0: 7ff00993 li s3,2047 +800016a4: 00200c93 li s9,2 +800016a8: ee1ff06f j 80001588 <__muldf3+0x88> +800016ac: 017a6433 or s0,s4,s7 +800016b0: 06040e63 beqz s0,8000172c <__muldf3+0x22c> +800016b4: 040a0063 beqz s4,800016f4 <__muldf3+0x1f4> +800016b8: 000a0513 mv a0,s4 +800016bc: 5c4010ef jal ra,80002c80 <__clzsi2> +800016c0: ff550793 addi a5,a0,-11 +800016c4: 01c00713 li a4,28 +800016c8: 02f74e63 blt a4,a5,80001704 <__muldf3+0x204> +800016cc: 01d00413 li s0,29 +800016d0: ff850493 addi s1,a0,-8 +800016d4: 40f40433 sub s0,s0,a5 +800016d8: 009a1a33 sll s4,s4,s1 +800016dc: 008bd433 srl s0,s7,s0 +800016e0: 01446433 or s0,s0,s4 +800016e4: 009b94b3 sll s1,s7,s1 +800016e8: c0d00793 li a5,-1011 +800016ec: 40a78533 sub a0,a5,a0 +800016f0: eddff06f j 800015cc <__muldf3+0xcc> +800016f4: 000b8513 mv a0,s7 +800016f8: 588010ef jal ra,80002c80 <__clzsi2> +800016fc: 02050513 addi a0,a0,32 +80001700: fc1ff06f j 800016c0 <__muldf3+0x1c0> +80001704: fd850413 addi s0,a0,-40 +80001708: 008b9433 sll s0,s7,s0 +8000170c: 00000493 li s1,0 +80001710: fd9ff06f j 800016e8 <__muldf3+0x1e8> +80001714: 017a6433 or s0,s4,s7 +80001718: 02040263 beqz s0,8000173c <__muldf3+0x23c> +8000171c: 000a0413 mv s0,s4 +80001720: 7ff00513 li a0,2047 +80001724: 00300793 li a5,3 +80001728: ea9ff06f j 800015d0 <__muldf3+0xd0> +8000172c: 00000493 li s1,0 +80001730: 00000513 li a0,0 +80001734: 00100793 li a5,1 +80001738: e99ff06f j 800015d0 <__muldf3+0xd0> +8000173c: 00000493 li s1,0 +80001740: 7ff00513 li a0,2047 +80001744: 00200793 li a5,2 +80001748: e89ff06f j 800015d0 <__muldf3+0xd0> +8000174c: 00010737 lui a4,0x10 +80001750: fff70a13 addi s4,a4,-1 # ffff <_stack_size+0xfbff> +80001754: 010d5c13 srli s8,s10,0x10 +80001758: 0104dd93 srli s11,s1,0x10 +8000175c: 014d7d33 and s10,s10,s4 +80001760: 0144f4b3 and s1,s1,s4 +80001764: 000d0593 mv a1,s10 +80001768: 00048513 mv a0,s1 +8000176c: 00e12823 sw a4,16(sp) +80001770: 438010ef jal ra,80002ba8 <__mulsi3> +80001774: 00050c93 mv s9,a0 +80001778: 00048593 mv a1,s1 +8000177c: 000c0513 mv a0,s8 +80001780: 428010ef jal ra,80002ba8 <__mulsi3> +80001784: 00a12623 sw a0,12(sp) +80001788: 000d8593 mv a1,s11 +8000178c: 000c0513 mv a0,s8 +80001790: 418010ef jal ra,80002ba8 <__mulsi3> +80001794: 00050b13 mv s6,a0 +80001798: 000d0593 mv a1,s10 +8000179c: 000d8513 mv a0,s11 +800017a0: 408010ef jal ra,80002ba8 <__mulsi3> +800017a4: 00c12683 lw a3,12(sp) +800017a8: 010cd793 srli a5,s9,0x10 +800017ac: 00d50533 add a0,a0,a3 +800017b0: 00a78533 add a0,a5,a0 +800017b4: 00d57663 bleu a3,a0,800017c0 <__muldf3+0x2c0> +800017b8: 01012703 lw a4,16(sp) +800017bc: 00eb0b33 add s6,s6,a4 +800017c0: 01055693 srli a3,a0,0x10 +800017c4: 01457533 and a0,a0,s4 +800017c8: 014cfcb3 and s9,s9,s4 +800017cc: 01051513 slli a0,a0,0x10 +800017d0: 019507b3 add a5,a0,s9 +800017d4: 01045c93 srli s9,s0,0x10 +800017d8: 01447433 and s0,s0,s4 +800017dc: 000d0593 mv a1,s10 +800017e0: 00040513 mv a0,s0 +800017e4: 00d12a23 sw a3,20(sp) +800017e8: 00f12623 sw a5,12(sp) +800017ec: 3bc010ef jal ra,80002ba8 <__mulsi3> +800017f0: 00a12823 sw a0,16(sp) +800017f4: 00040593 mv a1,s0 +800017f8: 000c0513 mv a0,s8 +800017fc: 3ac010ef jal ra,80002ba8 <__mulsi3> +80001800: 00050a13 mv s4,a0 +80001804: 000c8593 mv a1,s9 +80001808: 000c0513 mv a0,s8 +8000180c: 39c010ef jal ra,80002ba8 <__mulsi3> +80001810: 00050c13 mv s8,a0 +80001814: 000d0593 mv a1,s10 +80001818: 000c8513 mv a0,s9 +8000181c: 38c010ef jal ra,80002ba8 <__mulsi3> +80001820: 01012703 lw a4,16(sp) +80001824: 01450533 add a0,a0,s4 +80001828: 01412683 lw a3,20(sp) +8000182c: 01075793 srli a5,a4,0x10 +80001830: 00a78533 add a0,a5,a0 +80001834: 01457663 bleu s4,a0,80001840 <__muldf3+0x340> +80001838: 000107b7 lui a5,0x10 +8000183c: 00fc0c33 add s8,s8,a5 +80001840: 00010637 lui a2,0x10 +80001844: 01055793 srli a5,a0,0x10 +80001848: 01878c33 add s8,a5,s8 +8000184c: fff60793 addi a5,a2,-1 # ffff <_stack_size+0xfbff> +80001850: 00f57a33 and s4,a0,a5 +80001854: 00f77733 and a4,a4,a5 +80001858: 010a1a13 slli s4,s4,0x10 +8000185c: 01095d13 srli s10,s2,0x10 +80001860: 00ea0a33 add s4,s4,a4 +80001864: 00f97933 and s2,s2,a5 +80001868: 01468733 add a4,a3,s4 +8000186c: 00090593 mv a1,s2 +80001870: 00048513 mv a0,s1 +80001874: 00e12823 sw a4,16(sp) +80001878: 00c12e23 sw a2,28(sp) +8000187c: 32c010ef jal ra,80002ba8 <__mulsi3> +80001880: 00048593 mv a1,s1 +80001884: 00a12c23 sw a0,24(sp) +80001888: 000d0513 mv a0,s10 +8000188c: 31c010ef jal ra,80002ba8 <__mulsi3> +80001890: 00a12a23 sw a0,20(sp) +80001894: 000d0593 mv a1,s10 +80001898: 000d8513 mv a0,s11 +8000189c: 30c010ef jal ra,80002ba8 <__mulsi3> +800018a0: 00050493 mv s1,a0 +800018a4: 00090593 mv a1,s2 +800018a8: 000d8513 mv a0,s11 +800018ac: 2fc010ef jal ra,80002ba8 <__mulsi3> +800018b0: 01412683 lw a3,20(sp) +800018b4: 01812703 lw a4,24(sp) +800018b8: 00d50533 add a0,a0,a3 +800018bc: 01075793 srli a5,a4,0x10 +800018c0: 00a78533 add a0,a5,a0 +800018c4: 00d57663 bleu a3,a0,800018d0 <__muldf3+0x3d0> +800018c8: 01c12603 lw a2,28(sp) +800018cc: 00c484b3 add s1,s1,a2 +800018d0: 000106b7 lui a3,0x10 +800018d4: fff68793 addi a5,a3,-1 # ffff <_stack_size+0xfbff> +800018d8: 01055d93 srli s11,a0,0x10 +800018dc: 009d84b3 add s1,s11,s1 +800018e0: 00f57db3 and s11,a0,a5 +800018e4: 00f77733 and a4,a4,a5 +800018e8: 00090593 mv a1,s2 +800018ec: 00040513 mv a0,s0 +800018f0: 010d9d93 slli s11,s11,0x10 +800018f4: 00ed8db3 add s11,s11,a4 +800018f8: 00d12c23 sw a3,24(sp) +800018fc: 2ac010ef jal ra,80002ba8 <__mulsi3> +80001900: 00040593 mv a1,s0 +80001904: 00a12a23 sw a0,20(sp) +80001908: 000d0513 mv a0,s10 +8000190c: 29c010ef jal ra,80002ba8 <__mulsi3> +80001910: 000d0593 mv a1,s10 +80001914: 00050413 mv s0,a0 +80001918: 000c8513 mv a0,s9 +8000191c: 28c010ef jal ra,80002ba8 <__mulsi3> +80001920: 00050d13 mv s10,a0 +80001924: 00090593 mv a1,s2 +80001928: 000c8513 mv a0,s9 +8000192c: 27c010ef jal ra,80002ba8 <__mulsi3> +80001930: 01412703 lw a4,20(sp) +80001934: 00850533 add a0,a0,s0 +80001938: 01075793 srli a5,a4,0x10 +8000193c: 00a78533 add a0,a5,a0 +80001940: 00857663 bleu s0,a0,8000194c <__muldf3+0x44c> +80001944: 01812683 lw a3,24(sp) +80001948: 00dd0d33 add s10,s10,a3 +8000194c: 01012783 lw a5,16(sp) +80001950: 000106b7 lui a3,0x10 +80001954: fff68693 addi a3,a3,-1 # ffff <_stack_size+0xfbff> +80001958: 00fb0b33 add s6,s6,a5 +8000195c: 00d577b3 and a5,a0,a3 +80001960: 00d77733 and a4,a4,a3 +80001964: 01079793 slli a5,a5,0x10 +80001968: 00e787b3 add a5,a5,a4 +8000196c: 014b3a33 sltu s4,s6,s4 +80001970: 018787b3 add a5,a5,s8 +80001974: 01478433 add s0,a5,s4 +80001978: 01bb0b33 add s6,s6,s11 +8000197c: 00940733 add a4,s0,s1 +80001980: 01bb3db3 sltu s11,s6,s11 +80001984: 01b706b3 add a3,a4,s11 +80001988: 0187bc33 sltu s8,a5,s8 +8000198c: 01443433 sltu s0,s0,s4 +80001990: 01055793 srli a5,a0,0x10 +80001994: 00973733 sltu a4,a4,s1 +80001998: 008c6433 or s0,s8,s0 +8000199c: 01b6bdb3 sltu s11,a3,s11 +800019a0: 00f40433 add s0,s0,a5 +800019a4: 01b76db3 or s11,a4,s11 +800019a8: 01b40433 add s0,s0,s11 +800019ac: 01a40433 add s0,s0,s10 +800019b0: 0176d793 srli a5,a3,0x17 +800019b4: 00941413 slli s0,s0,0x9 +800019b8: 00f46433 or s0,s0,a5 +800019bc: 00c12783 lw a5,12(sp) +800019c0: 009b1493 slli s1,s6,0x9 +800019c4: 017b5b13 srli s6,s6,0x17 +800019c8: 00f4e4b3 or s1,s1,a5 +800019cc: 009034b3 snez s1,s1 +800019d0: 00969793 slli a5,a3,0x9 +800019d4: 0164e4b3 or s1,s1,s6 +800019d8: 00f4e4b3 or s1,s1,a5 +800019dc: 00741793 slli a5,s0,0x7 +800019e0: 1207d263 bgez a5,80001b04 <__muldf3+0x604> +800019e4: 0014d793 srli a5,s1,0x1 +800019e8: 0014f493 andi s1,s1,1 +800019ec: 0097e4b3 or s1,a5,s1 +800019f0: 01f41793 slli a5,s0,0x1f +800019f4: 00f4e4b3 or s1,s1,a5 +800019f8: 00145413 srli s0,s0,0x1 +800019fc: 3ffa8713 addi a4,s5,1023 +80001a00: 10e05663 blez a4,80001b0c <__muldf3+0x60c> +80001a04: 0074f793 andi a5,s1,7 +80001a08: 02078063 beqz a5,80001a28 <__muldf3+0x528> +80001a0c: 00f4f793 andi a5,s1,15 +80001a10: 00400693 li a3,4 +80001a14: 00d78a63 beq a5,a3,80001a28 <__muldf3+0x528> +80001a18: 00448793 addi a5,s1,4 +80001a1c: 0097b4b3 sltu s1,a5,s1 +80001a20: 00940433 add s0,s0,s1 +80001a24: 00078493 mv s1,a5 +80001a28: 00741793 slli a5,s0,0x7 +80001a2c: 0007da63 bgez a5,80001a40 <__muldf3+0x540> +80001a30: ff0007b7 lui a5,0xff000 +80001a34: fff78793 addi a5,a5,-1 # feffffff <_stack_start+0x7eff9b2f> +80001a38: 00f47433 and s0,s0,a5 +80001a3c: 400a8713 addi a4,s5,1024 +80001a40: 7fe00793 li a5,2046 +80001a44: 18e7c663 blt a5,a4,80001bd0 <__muldf3+0x6d0> +80001a48: 0034da93 srli s5,s1,0x3 +80001a4c: 01d41493 slli s1,s0,0x1d +80001a50: 0154e4b3 or s1,s1,s5 +80001a54: 00345413 srli s0,s0,0x3 +80001a58: 001007b7 lui a5,0x100 +80001a5c: fff78793 addi a5,a5,-1 # fffff <_stack_size+0xffbff> +80001a60: 00f47433 and s0,s0,a5 +80001a64: 7ff77793 andi a5,a4,2047 +80001a68: 80100737 lui a4,0x80100 +80001a6c: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf9b2f> +80001a70: 01479793 slli a5,a5,0x14 +80001a74: 00e47433 and s0,s0,a4 +80001a78: 01fb9b93 slli s7,s7,0x1f +80001a7c: 00f46433 or s0,s0,a5 +80001a80: 017467b3 or a5,s0,s7 +80001a84: 05c12083 lw ra,92(sp) +80001a88: 05812403 lw s0,88(sp) +80001a8c: 00048513 mv a0,s1 +80001a90: 05012903 lw s2,80(sp) +80001a94: 05412483 lw s1,84(sp) +80001a98: 04c12983 lw s3,76(sp) +80001a9c: 04812a03 lw s4,72(sp) +80001aa0: 04412a83 lw s5,68(sp) +80001aa4: 04012b03 lw s6,64(sp) +80001aa8: 03c12b83 lw s7,60(sp) +80001aac: 03812c03 lw s8,56(sp) +80001ab0: 03412c83 lw s9,52(sp) +80001ab4: 03012d03 lw s10,48(sp) +80001ab8: 02c12d83 lw s11,44(sp) +80001abc: 00078593 mv a1,a5 +80001ac0: 06010113 addi sp,sp,96 +80001ac4: 00008067 ret +80001ac8: 000b0b93 mv s7,s6 +80001acc: 00090413 mv s0,s2 +80001ad0: 000d0493 mv s1,s10 +80001ad4: 000c8793 mv a5,s9 +80001ad8: 00200713 li a4,2 +80001adc: 0ee78a63 beq a5,a4,80001bd0 <__muldf3+0x6d0> +80001ae0: 00300713 li a4,3 +80001ae4: 0ce78c63 beq a5,a4,80001bbc <__muldf3+0x6bc> +80001ae8: 00100713 li a4,1 +80001aec: f0e798e3 bne a5,a4,800019fc <__muldf3+0x4fc> +80001af0: 00000413 li s0,0 +80001af4: 00000493 li s1,0 +80001af8: 0880006f j 80001b80 <__muldf3+0x680> +80001afc: 000c0b93 mv s7,s8 +80001b00: fd9ff06f j 80001ad8 <__muldf3+0x5d8> +80001b04: 00098a93 mv s5,s3 +80001b08: ef5ff06f j 800019fc <__muldf3+0x4fc> +80001b0c: 00100693 li a3,1 +80001b10: 40e686b3 sub a3,a3,a4 +80001b14: 03800793 li a5,56 +80001b18: fcd7cce3 blt a5,a3,80001af0 <__muldf3+0x5f0> +80001b1c: 01f00793 li a5,31 +80001b20: 06d7c463 blt a5,a3,80001b88 <__muldf3+0x688> +80001b24: 41ea8a93 addi s5,s5,1054 +80001b28: 015417b3 sll a5,s0,s5 +80001b2c: 00d4d733 srl a4,s1,a3 +80001b30: 015494b3 sll s1,s1,s5 +80001b34: 00e7e7b3 or a5,a5,a4 +80001b38: 009034b3 snez s1,s1 +80001b3c: 0097e4b3 or s1,a5,s1 +80001b40: 00d45433 srl s0,s0,a3 +80001b44: 0074f793 andi a5,s1,7 +80001b48: 02078063 beqz a5,80001b68 <__muldf3+0x668> +80001b4c: 00f4f793 andi a5,s1,15 +80001b50: 00400713 li a4,4 +80001b54: 00e78a63 beq a5,a4,80001b68 <__muldf3+0x668> +80001b58: 00448793 addi a5,s1,4 +80001b5c: 0097b4b3 sltu s1,a5,s1 +80001b60: 00940433 add s0,s0,s1 +80001b64: 00078493 mv s1,a5 +80001b68: 00841793 slli a5,s0,0x8 +80001b6c: 0607ca63 bltz a5,80001be0 <__muldf3+0x6e0> +80001b70: 01d41793 slli a5,s0,0x1d +80001b74: 0034d493 srli s1,s1,0x3 +80001b78: 0097e4b3 or s1,a5,s1 +80001b7c: 00345413 srli s0,s0,0x3 +80001b80: 00000713 li a4,0 +80001b84: ed5ff06f j 80001a58 <__muldf3+0x558> +80001b88: fe100793 li a5,-31 +80001b8c: 40e787b3 sub a5,a5,a4 +80001b90: 02000613 li a2,32 +80001b94: 00f457b3 srl a5,s0,a5 +80001b98: 00000713 li a4,0 +80001b9c: 00c68663 beq a3,a2,80001ba8 <__muldf3+0x6a8> +80001ba0: 43ea8a93 addi s5,s5,1086 +80001ba4: 01541733 sll a4,s0,s5 +80001ba8: 009764b3 or s1,a4,s1 +80001bac: 009034b3 snez s1,s1 +80001bb0: 0097e4b3 or s1,a5,s1 +80001bb4: 00000413 li s0,0 +80001bb8: f8dff06f j 80001b44 <__muldf3+0x644> +80001bbc: 00080437 lui s0,0x80 +80001bc0: 00000493 li s1,0 +80001bc4: 7ff00713 li a4,2047 +80001bc8: 00000b93 li s7,0 +80001bcc: e8dff06f j 80001a58 <__muldf3+0x558> +80001bd0: 00000413 li s0,0 +80001bd4: 00000493 li s1,0 +80001bd8: 7ff00713 li a4,2047 +80001bdc: e7dff06f j 80001a58 <__muldf3+0x558> +80001be0: 00000413 li s0,0 +80001be4: 00000493 li s1,0 +80001be8: 00100713 li a4,1 +80001bec: e6dff06f j 80001a58 <__muldf3+0x558> + +80001bf0 <__divsf3>: +80001bf0: fd010113 addi sp,sp,-48 +80001bf4: 02912223 sw s1,36(sp) +80001bf8: 01512a23 sw s5,20(sp) +80001bfc: 01755493 srli s1,a0,0x17 +80001c00: 00800ab7 lui s5,0x800 +80001c04: 03212023 sw s2,32(sp) +80001c08: 01612823 sw s6,16(sp) +80001c0c: fffa8a93 addi s5,s5,-1 # 7fffff <_stack_size+0x7ffbff> +80001c10: 02112623 sw ra,44(sp) +80001c14: 02812423 sw s0,40(sp) +80001c18: 01312e23 sw s3,28(sp) +80001c1c: 01412c23 sw s4,24(sp) +80001c20: 01712623 sw s7,12(sp) +80001c24: 01812423 sw s8,8(sp) +80001c28: 0ff4f493 andi s1,s1,255 +80001c2c: 00058b13 mv s6,a1 +80001c30: 00aafab3 and s5,s5,a0 +80001c34: 01f55913 srli s2,a0,0x1f +80001c38: 08048863 beqz s1,80001cc8 <__divsf3+0xd8> +80001c3c: 0ff00793 li a5,255 +80001c40: 0af48463 beq s1,a5,80001ce8 <__divsf3+0xf8> +80001c44: 003a9a93 slli s5,s5,0x3 +80001c48: 040007b7 lui a5,0x4000 +80001c4c: 00faeab3 or s5,s5,a5 +80001c50: f8148493 addi s1,s1,-127 +80001c54: 00000b93 li s7,0 +80001c58: 017b5513 srli a0,s6,0x17 +80001c5c: 00800437 lui s0,0x800 +80001c60: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80001c64: 0ff57513 andi a0,a0,255 +80001c68: 01647433 and s0,s0,s6 +80001c6c: 01fb5b13 srli s6,s6,0x1f +80001c70: 08050c63 beqz a0,80001d08 <__divsf3+0x118> +80001c74: 0ff00793 li a5,255 +80001c78: 0af50863 beq a0,a5,80001d28 <__divsf3+0x138> +80001c7c: 00341413 slli s0,s0,0x3 +80001c80: 040007b7 lui a5,0x4000 +80001c84: 00f46433 or s0,s0,a5 +80001c88: f8150513 addi a0,a0,-127 +80001c8c: 00000793 li a5,0 +80001c90: 002b9713 slli a4,s7,0x2 +80001c94: 00f76733 or a4,a4,a5 +80001c98: fff70713 addi a4,a4,-1 +80001c9c: 00e00693 li a3,14 +80001ca0: 016949b3 xor s3,s2,s6 +80001ca4: 40a48a33 sub s4,s1,a0 +80001ca8: 0ae6e063 bltu a3,a4,80001d48 <__divsf3+0x158> +80001cac: 00001697 auipc a3,0x1 +80001cb0: 67868693 addi a3,a3,1656 # 80003324 <end+0x658> +80001cb4: 00271713 slli a4,a4,0x2 +80001cb8: 00d70733 add a4,a4,a3 +80001cbc: 00072703 lw a4,0(a4) +80001cc0: 00d70733 add a4,a4,a3 +80001cc4: 00070067 jr a4 +80001cc8: 020a8a63 beqz s5,80001cfc <__divsf3+0x10c> +80001ccc: 000a8513 mv a0,s5 +80001cd0: 7b1000ef jal ra,80002c80 <__clzsi2> +80001cd4: ffb50793 addi a5,a0,-5 +80001cd8: f8a00493 li s1,-118 +80001cdc: 00fa9ab3 sll s5,s5,a5 +80001ce0: 40a484b3 sub s1,s1,a0 +80001ce4: f71ff06f j 80001c54 <__divsf3+0x64> +80001ce8: 0ff00493 li s1,255 +80001cec: 00200b93 li s7,2 +80001cf0: f60a84e3 beqz s5,80001c58 <__divsf3+0x68> +80001cf4: 00300b93 li s7,3 +80001cf8: f61ff06f j 80001c58 <__divsf3+0x68> +80001cfc: 00000493 li s1,0 +80001d00: 00100b93 li s7,1 +80001d04: f55ff06f j 80001c58 <__divsf3+0x68> +80001d08: 02040a63 beqz s0,80001d3c <__divsf3+0x14c> +80001d0c: 00040513 mv a0,s0 +80001d10: 771000ef jal ra,80002c80 <__clzsi2> +80001d14: ffb50793 addi a5,a0,-5 +80001d18: 00f41433 sll s0,s0,a5 +80001d1c: f8a00793 li a5,-118 +80001d20: 40a78533 sub a0,a5,a0 +80001d24: f69ff06f j 80001c8c <__divsf3+0x9c> +80001d28: 0ff00513 li a0,255 +80001d2c: 00200793 li a5,2 +80001d30: f60400e3 beqz s0,80001c90 <__divsf3+0xa0> +80001d34: 00300793 li a5,3 +80001d38: f59ff06f j 80001c90 <__divsf3+0xa0> +80001d3c: 00000513 li a0,0 +80001d40: 00100793 li a5,1 +80001d44: f4dff06f j 80001c90 <__divsf3+0xa0> +80001d48: 00541b13 slli s6,s0,0x5 +80001d4c: 128af663 bleu s0,s5,80001e78 <__divsf3+0x288> +80001d50: fffa0a13 addi s4,s4,-1 +80001d54: 00000913 li s2,0 +80001d58: 010b5b93 srli s7,s6,0x10 +80001d5c: 00010437 lui s0,0x10 +80001d60: 000b8593 mv a1,s7 +80001d64: fff40413 addi s0,s0,-1 # ffff <_stack_size+0xfbff> +80001d68: 000a8513 mv a0,s5 +80001d6c: 669000ef jal ra,80002bd4 <__udivsi3> +80001d70: 008b7433 and s0,s6,s0 +80001d74: 00050593 mv a1,a0 +80001d78: 00050c13 mv s8,a0 +80001d7c: 00040513 mv a0,s0 +80001d80: 629000ef jal ra,80002ba8 <__mulsi3> +80001d84: 00050493 mv s1,a0 +80001d88: 000b8593 mv a1,s7 +80001d8c: 000a8513 mv a0,s5 +80001d90: 68d000ef jal ra,80002c1c <__umodsi3> +80001d94: 01095913 srli s2,s2,0x10 +80001d98: 01051513 slli a0,a0,0x10 +80001d9c: 00a96533 or a0,s2,a0 +80001da0: 000c0913 mv s2,s8 +80001da4: 00957e63 bleu s1,a0,80001dc0 <__divsf3+0x1d0> +80001da8: 01650533 add a0,a0,s6 +80001dac: fffc0913 addi s2,s8,-1 +80001db0: 01656863 bltu a0,s6,80001dc0 <__divsf3+0x1d0> +80001db4: 00957663 bleu s1,a0,80001dc0 <__divsf3+0x1d0> +80001db8: ffec0913 addi s2,s8,-2 +80001dbc: 01650533 add a0,a0,s6 +80001dc0: 409504b3 sub s1,a0,s1 +80001dc4: 000b8593 mv a1,s7 +80001dc8: 00048513 mv a0,s1 +80001dcc: 609000ef jal ra,80002bd4 <__udivsi3> +80001dd0: 00050593 mv a1,a0 +80001dd4: 00050c13 mv s8,a0 +80001dd8: 00040513 mv a0,s0 +80001ddc: 5cd000ef jal ra,80002ba8 <__mulsi3> +80001de0: 00050a93 mv s5,a0 +80001de4: 000b8593 mv a1,s7 +80001de8: 00048513 mv a0,s1 +80001dec: 631000ef jal ra,80002c1c <__umodsi3> +80001df0: 01051513 slli a0,a0,0x10 +80001df4: 000c0413 mv s0,s8 +80001df8: 01557e63 bleu s5,a0,80001e14 <__divsf3+0x224> +80001dfc: 01650533 add a0,a0,s6 +80001e00: fffc0413 addi s0,s8,-1 +80001e04: 01656863 bltu a0,s6,80001e14 <__divsf3+0x224> +80001e08: 01557663 bleu s5,a0,80001e14 <__divsf3+0x224> +80001e0c: ffec0413 addi s0,s8,-2 +80001e10: 01650533 add a0,a0,s6 +80001e14: 01091913 slli s2,s2,0x10 +80001e18: 41550533 sub a0,a0,s5 +80001e1c: 00896933 or s2,s2,s0 +80001e20: 00a03533 snez a0,a0 +80001e24: 00a96433 or s0,s2,a0 +80001e28: 07fa0713 addi a4,s4,127 +80001e2c: 0ae05063 blez a4,80001ecc <__divsf3+0x2dc> +80001e30: 00747793 andi a5,s0,7 +80001e34: 00078a63 beqz a5,80001e48 <__divsf3+0x258> +80001e38: 00f47793 andi a5,s0,15 +80001e3c: 00400693 li a3,4 +80001e40: 00d78463 beq a5,a3,80001e48 <__divsf3+0x258> +80001e44: 00440413 addi s0,s0,4 +80001e48: 00441793 slli a5,s0,0x4 +80001e4c: 0007da63 bgez a5,80001e60 <__divsf3+0x270> +80001e50: f80007b7 lui a5,0xf8000 +80001e54: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9b2f> +80001e58: 00f47433 and s0,s0,a5 +80001e5c: 080a0713 addi a4,s4,128 +80001e60: 0fe00793 li a5,254 +80001e64: 00345413 srli s0,s0,0x3 +80001e68: 0ce7d263 ble a4,a5,80001f2c <__divsf3+0x33c> +80001e6c: 00000413 li s0,0 +80001e70: 0ff00713 li a4,255 +80001e74: 0b80006f j 80001f2c <__divsf3+0x33c> +80001e78: 01fa9913 slli s2,s5,0x1f +80001e7c: 001ada93 srli s5,s5,0x1 +80001e80: ed9ff06f j 80001d58 <__divsf3+0x168> +80001e84: 00090993 mv s3,s2 +80001e88: 000a8413 mv s0,s5 +80001e8c: 000b8793 mv a5,s7 +80001e90: 00200713 li a4,2 +80001e94: fce78ce3 beq a5,a4,80001e6c <__divsf3+0x27c> +80001e98: 00300713 li a4,3 +80001e9c: 08e78263 beq a5,a4,80001f20 <__divsf3+0x330> +80001ea0: 00100713 li a4,1 +80001ea4: f8e792e3 bne a5,a4,80001e28 <__divsf3+0x238> +80001ea8: 00000413 li s0,0 +80001eac: 00000713 li a4,0 +80001eb0: 07c0006f j 80001f2c <__divsf3+0x33c> +80001eb4: 000b0993 mv s3,s6 +80001eb8: fd9ff06f j 80001e90 <__divsf3+0x2a0> +80001ebc: 00400437 lui s0,0x400 +80001ec0: 00000993 li s3,0 +80001ec4: 00300793 li a5,3 +80001ec8: fc9ff06f j 80001e90 <__divsf3+0x2a0> +80001ecc: 00100793 li a5,1 +80001ed0: 40e787b3 sub a5,a5,a4 +80001ed4: 01b00713 li a4,27 +80001ed8: fcf748e3 blt a4,a5,80001ea8 <__divsf3+0x2b8> +80001edc: 09ea0513 addi a0,s4,158 +80001ee0: 00f457b3 srl a5,s0,a5 +80001ee4: 00a41433 sll s0,s0,a0 +80001ee8: 00803433 snez s0,s0 +80001eec: 0087e433 or s0,a5,s0 +80001ef0: 00747793 andi a5,s0,7 +80001ef4: 00078a63 beqz a5,80001f08 <__divsf3+0x318> +80001ef8: 00f47793 andi a5,s0,15 +80001efc: 00400713 li a4,4 +80001f00: 00e78463 beq a5,a4,80001f08 <__divsf3+0x318> +80001f04: 00440413 addi s0,s0,4 # 400004 <_stack_size+0x3ffc04> +80001f08: 00541793 slli a5,s0,0x5 +80001f0c: 00345413 srli s0,s0,0x3 +80001f10: f807dee3 bgez a5,80001eac <__divsf3+0x2bc> +80001f14: 00000413 li s0,0 +80001f18: 00100713 li a4,1 +80001f1c: 0100006f j 80001f2c <__divsf3+0x33c> +80001f20: 00400437 lui s0,0x400 +80001f24: 0ff00713 li a4,255 +80001f28: 00000993 li s3,0 +80001f2c: 00800537 lui a0,0x800 +80001f30: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80001f34: 00a47433 and s0,s0,a0 +80001f38: 80800537 lui a0,0x80800 +80001f3c: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +80001f40: 0ff77713 andi a4,a4,255 +80001f44: 00a47433 and s0,s0,a0 +80001f48: 01771713 slli a4,a4,0x17 +80001f4c: 01f99513 slli a0,s3,0x1f +80001f50: 00e46433 or s0,s0,a4 +80001f54: 00a46533 or a0,s0,a0 +80001f58: 02c12083 lw ra,44(sp) +80001f5c: 02812403 lw s0,40(sp) +80001f60: 02412483 lw s1,36(sp) +80001f64: 02012903 lw s2,32(sp) +80001f68: 01c12983 lw s3,28(sp) +80001f6c: 01812a03 lw s4,24(sp) +80001f70: 01412a83 lw s5,20(sp) +80001f74: 01012b03 lw s6,16(sp) +80001f78: 00c12b83 lw s7,12(sp) +80001f7c: 00812c03 lw s8,8(sp) +80001f80: 03010113 addi sp,sp,48 +80001f84: 00008067 ret + +80001f88 <__mulsf3>: +80001f88: fd010113 addi sp,sp,-48 +80001f8c: 02912223 sw s1,36(sp) +80001f90: 03212023 sw s2,32(sp) +80001f94: 008004b7 lui s1,0x800 +80001f98: 01755913 srli s2,a0,0x17 +80001f9c: 01312e23 sw s3,28(sp) +80001fa0: 01712623 sw s7,12(sp) +80001fa4: fff48493 addi s1,s1,-1 # 7fffff <_stack_size+0x7ffbff> +80001fa8: 02112623 sw ra,44(sp) +80001fac: 02812423 sw s0,40(sp) +80001fb0: 01412c23 sw s4,24(sp) +80001fb4: 01512a23 sw s5,20(sp) +80001fb8: 01612823 sw s6,16(sp) +80001fbc: 01812423 sw s8,8(sp) +80001fc0: 01912223 sw s9,4(sp) +80001fc4: 0ff97913 andi s2,s2,255 +80001fc8: 00058b93 mv s7,a1 +80001fcc: 00a4f4b3 and s1,s1,a0 +80001fd0: 01f55993 srli s3,a0,0x1f +80001fd4: 08090a63 beqz s2,80002068 <__mulsf3+0xe0> +80001fd8: 0ff00793 li a5,255 +80001fdc: 0af90663 beq s2,a5,80002088 <__mulsf3+0x100> +80001fe0: 00349493 slli s1,s1,0x3 +80001fe4: 040007b7 lui a5,0x4000 +80001fe8: 00f4e4b3 or s1,s1,a5 +80001fec: f8190913 addi s2,s2,-127 # 7fff81 <_stack_size+0x7ffb81> +80001ff0: 00000b13 li s6,0 +80001ff4: 017bd513 srli a0,s7,0x17 +80001ff8: 00800437 lui s0,0x800 +80001ffc: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002000: 0ff57513 andi a0,a0,255 +80002004: 01747433 and s0,s0,s7 +80002008: 01fbdb93 srli s7,s7,0x1f +8000200c: 08050e63 beqz a0,800020a8 <__mulsf3+0x120> +80002010: 0ff00793 li a5,255 +80002014: 0af50a63 beq a0,a5,800020c8 <__mulsf3+0x140> +80002018: 00341413 slli s0,s0,0x3 +8000201c: 040007b7 lui a5,0x4000 +80002020: 00f46433 or s0,s0,a5 +80002024: f8150513 addi a0,a0,-127 +80002028: 00000693 li a3,0 +8000202c: 002b1793 slli a5,s6,0x2 +80002030: 00d7e7b3 or a5,a5,a3 +80002034: 00a90933 add s2,s2,a0 +80002038: fff78793 addi a5,a5,-1 # 3ffffff <_stack_size+0x3fffbff> +8000203c: 00e00713 li a4,14 +80002040: 0179ca33 xor s4,s3,s7 +80002044: 00190a93 addi s5,s2,1 +80002048: 0af76063 bltu a4,a5,800020e8 <__mulsf3+0x160> +8000204c: 00001717 auipc a4,0x1 +80002050: 31470713 addi a4,a4,788 # 80003360 <end+0x694> +80002054: 00279793 slli a5,a5,0x2 +80002058: 00e787b3 add a5,a5,a4 +8000205c: 0007a783 lw a5,0(a5) +80002060: 00e787b3 add a5,a5,a4 +80002064: 00078067 jr a5 +80002068: 02048a63 beqz s1,8000209c <__mulsf3+0x114> +8000206c: 00048513 mv a0,s1 +80002070: 411000ef jal ra,80002c80 <__clzsi2> +80002074: ffb50793 addi a5,a0,-5 +80002078: f8a00913 li s2,-118 +8000207c: 00f494b3 sll s1,s1,a5 +80002080: 40a90933 sub s2,s2,a0 +80002084: f6dff06f j 80001ff0 <__mulsf3+0x68> +80002088: 0ff00913 li s2,255 +8000208c: 00200b13 li s6,2 +80002090: f60482e3 beqz s1,80001ff4 <__mulsf3+0x6c> +80002094: 00300b13 li s6,3 +80002098: f5dff06f j 80001ff4 <__mulsf3+0x6c> +8000209c: 00000913 li s2,0 +800020a0: 00100b13 li s6,1 +800020a4: f51ff06f j 80001ff4 <__mulsf3+0x6c> +800020a8: 02040a63 beqz s0,800020dc <__mulsf3+0x154> +800020ac: 00040513 mv a0,s0 +800020b0: 3d1000ef jal ra,80002c80 <__clzsi2> +800020b4: ffb50793 addi a5,a0,-5 +800020b8: 00f41433 sll s0,s0,a5 +800020bc: f8a00793 li a5,-118 +800020c0: 40a78533 sub a0,a5,a0 +800020c4: f65ff06f j 80002028 <__mulsf3+0xa0> +800020c8: 0ff00513 li a0,255 +800020cc: 00200693 li a3,2 +800020d0: f4040ee3 beqz s0,8000202c <__mulsf3+0xa4> +800020d4: 00300693 li a3,3 +800020d8: f55ff06f j 8000202c <__mulsf3+0xa4> +800020dc: 00000513 li a0,0 +800020e0: 00100693 li a3,1 +800020e4: f49ff06f j 8000202c <__mulsf3+0xa4> +800020e8: 00010c37 lui s8,0x10 +800020ec: fffc0b13 addi s6,s8,-1 # ffff <_stack_size+0xfbff> +800020f0: 0104db93 srli s7,s1,0x10 +800020f4: 01045c93 srli s9,s0,0x10 +800020f8: 0164f4b3 and s1,s1,s6 +800020fc: 01647433 and s0,s0,s6 +80002100: 00040593 mv a1,s0 +80002104: 00048513 mv a0,s1 +80002108: 2a1000ef jal ra,80002ba8 <__mulsi3> +8000210c: 00040593 mv a1,s0 +80002110: 00050993 mv s3,a0 +80002114: 000b8513 mv a0,s7 +80002118: 291000ef jal ra,80002ba8 <__mulsi3> +8000211c: 00050413 mv s0,a0 +80002120: 000c8593 mv a1,s9 +80002124: 000b8513 mv a0,s7 +80002128: 281000ef jal ra,80002ba8 <__mulsi3> +8000212c: 00050b93 mv s7,a0 +80002130: 00048593 mv a1,s1 +80002134: 000c8513 mv a0,s9 +80002138: 271000ef jal ra,80002ba8 <__mulsi3> +8000213c: 00850533 add a0,a0,s0 +80002140: 0109d793 srli a5,s3,0x10 +80002144: 00a78533 add a0,a5,a0 +80002148: 00857463 bleu s0,a0,80002150 <__mulsf3+0x1c8> +8000214c: 018b8bb3 add s7,s7,s8 +80002150: 016577b3 and a5,a0,s6 +80002154: 01079793 slli a5,a5,0x10 +80002158: 0169f9b3 and s3,s3,s6 +8000215c: 013787b3 add a5,a5,s3 +80002160: 00679413 slli s0,a5,0x6 +80002164: 00803433 snez s0,s0 +80002168: 01a7d793 srli a5,a5,0x1a +8000216c: 01055513 srli a0,a0,0x10 +80002170: 00f467b3 or a5,s0,a5 +80002174: 01750433 add s0,a0,s7 +80002178: 00641413 slli s0,s0,0x6 +8000217c: 00f46433 or s0,s0,a5 +80002180: 00441793 slli a5,s0,0x4 +80002184: 0e07d663 bgez a5,80002270 <__mulsf3+0x2e8> +80002188: 00145793 srli a5,s0,0x1 +8000218c: 00147413 andi s0,s0,1 +80002190: 0087e433 or s0,a5,s0 +80002194: 07fa8713 addi a4,s5,127 +80002198: 0ee05063 blez a4,80002278 <__mulsf3+0x2f0> +8000219c: 00747793 andi a5,s0,7 +800021a0: 00078a63 beqz a5,800021b4 <__mulsf3+0x22c> +800021a4: 00f47793 andi a5,s0,15 +800021a8: 00400693 li a3,4 +800021ac: 00d78463 beq a5,a3,800021b4 <__mulsf3+0x22c> +800021b0: 00440413 addi s0,s0,4 +800021b4: 00441793 slli a5,s0,0x4 +800021b8: 0007da63 bgez a5,800021cc <__mulsf3+0x244> +800021bc: f80007b7 lui a5,0xf8000 +800021c0: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9b2f> +800021c4: 00f47433 and s0,s0,a5 +800021c8: 080a8713 addi a4,s5,128 +800021cc: 0fe00793 li a5,254 +800021d0: 10e7c463 blt a5,a4,800022d8 <__mulsf3+0x350> +800021d4: 00345793 srli a5,s0,0x3 +800021d8: 0300006f j 80002208 <__mulsf3+0x280> +800021dc: 00098a13 mv s4,s3 +800021e0: 00048413 mv s0,s1 +800021e4: 000b0693 mv a3,s6 +800021e8: 00200793 li a5,2 +800021ec: 0ef68663 beq a3,a5,800022d8 <__mulsf3+0x350> +800021f0: 00300793 li a5,3 +800021f4: 0cf68a63 beq a3,a5,800022c8 <__mulsf3+0x340> +800021f8: 00100613 li a2,1 +800021fc: 00000793 li a5,0 +80002200: 00000713 li a4,0 +80002204: f8c698e3 bne a3,a2,80002194 <__mulsf3+0x20c> +80002208: 00800437 lui s0,0x800 +8000220c: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002210: 80800537 lui a0,0x80800 +80002214: 0087f7b3 and a5,a5,s0 +80002218: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +8000221c: 02c12083 lw ra,44(sp) +80002220: 02812403 lw s0,40(sp) +80002224: 0ff77713 andi a4,a4,255 +80002228: 00a7f7b3 and a5,a5,a0 +8000222c: 01771713 slli a4,a4,0x17 +80002230: 01fa1513 slli a0,s4,0x1f +80002234: 00e7e7b3 or a5,a5,a4 +80002238: 02412483 lw s1,36(sp) +8000223c: 02012903 lw s2,32(sp) +80002240: 01c12983 lw s3,28(sp) +80002244: 01812a03 lw s4,24(sp) +80002248: 01412a83 lw s5,20(sp) +8000224c: 01012b03 lw s6,16(sp) +80002250: 00c12b83 lw s7,12(sp) +80002254: 00812c03 lw s8,8(sp) +80002258: 00412c83 lw s9,4(sp) +8000225c: 00a7e533 or a0,a5,a0 +80002260: 03010113 addi sp,sp,48 +80002264: 00008067 ret +80002268: 000b8a13 mv s4,s7 +8000226c: f7dff06f j 800021e8 <__mulsf3+0x260> +80002270: 00090a93 mv s5,s2 +80002274: f21ff06f j 80002194 <__mulsf3+0x20c> +80002278: 00100793 li a5,1 +8000227c: 40e787b3 sub a5,a5,a4 +80002280: 01b00713 li a4,27 +80002284: 06f74063 blt a4,a5,800022e4 <__mulsf3+0x35c> +80002288: 09ea8a93 addi s5,s5,158 +8000228c: 00f457b3 srl a5,s0,a5 +80002290: 01541433 sll s0,s0,s5 +80002294: 00803433 snez s0,s0 +80002298: 0087e433 or s0,a5,s0 +8000229c: 00747793 andi a5,s0,7 +800022a0: 00078a63 beqz a5,800022b4 <__mulsf3+0x32c> +800022a4: 00f47793 andi a5,s0,15 +800022a8: 00400713 li a4,4 +800022ac: 00e78463 beq a5,a4,800022b4 <__mulsf3+0x32c> +800022b0: 00440413 addi s0,s0,4 +800022b4: 00541793 slli a5,s0,0x5 +800022b8: 0207ca63 bltz a5,800022ec <__mulsf3+0x364> +800022bc: 00345793 srli a5,s0,0x3 +800022c0: 00000713 li a4,0 +800022c4: f45ff06f j 80002208 <__mulsf3+0x280> +800022c8: 004007b7 lui a5,0x400 +800022cc: 0ff00713 li a4,255 +800022d0: 00000a13 li s4,0 +800022d4: f35ff06f j 80002208 <__mulsf3+0x280> +800022d8: 00000793 li a5,0 +800022dc: 0ff00713 li a4,255 +800022e0: f29ff06f j 80002208 <__mulsf3+0x280> +800022e4: 00000793 li a5,0 +800022e8: fd9ff06f j 800022c0 <__mulsf3+0x338> +800022ec: 00000793 li a5,0 +800022f0: 00100713 li a4,1 +800022f4: f15ff06f j 80002208 <__mulsf3+0x280> + +800022f8 <__subsf3>: +800022f8: 008007b7 lui a5,0x800 +800022fc: fff78793 addi a5,a5,-1 # 7fffff <_stack_size+0x7ffbff> +80002300: ff010113 addi sp,sp,-16 +80002304: 00a7f733 and a4,a5,a0 +80002308: 01755693 srli a3,a0,0x17 +8000230c: 0175d613 srli a2,a1,0x17 +80002310: 00b7f7b3 and a5,a5,a1 +80002314: 00912223 sw s1,4(sp) +80002318: 01212023 sw s2,0(sp) +8000231c: 0ff6f693 andi a3,a3,255 +80002320: 00371813 slli a6,a4,0x3 +80002324: 0ff67613 andi a2,a2,255 +80002328: 00112623 sw ra,12(sp) +8000232c: 00812423 sw s0,8(sp) +80002330: 0ff00713 li a4,255 +80002334: 01f55493 srli s1,a0,0x1f +80002338: 00068913 mv s2,a3 +8000233c: 00060513 mv a0,a2 +80002340: 01f5d593 srli a1,a1,0x1f +80002344: 00379793 slli a5,a5,0x3 +80002348: 00e61463 bne a2,a4,80002350 <__subsf3+0x58> +8000234c: 00079463 bnez a5,80002354 <__subsf3+0x5c> +80002350: 0015c593 xori a1,a1,1 +80002354: 40c68733 sub a4,a3,a2 +80002358: 1a959a63 bne a1,s1,8000250c <__subsf3+0x214> +8000235c: 0ae05663 blez a4,80002408 <__subsf3+0x110> +80002360: 06061663 bnez a2,800023cc <__subsf3+0xd4> +80002364: 00079c63 bnez a5,8000237c <__subsf3+0x84> +80002368: 0ff00793 li a5,255 +8000236c: 04f68c63 beq a3,a5,800023c4 <__subsf3+0xcc> +80002370: 00080793 mv a5,a6 +80002374: 00068513 mv a0,a3 +80002378: 14c0006f j 800024c4 <__subsf3+0x1cc> +8000237c: fff70713 addi a4,a4,-1 +80002380: 02071e63 bnez a4,800023bc <__subsf3+0xc4> +80002384: 010787b3 add a5,a5,a6 +80002388: 00068513 mv a0,a3 +8000238c: 00579713 slli a4,a5,0x5 +80002390: 12075a63 bgez a4,800024c4 <__subsf3+0x1cc> +80002394: 00150513 addi a0,a0,1 +80002398: 0ff00713 li a4,255 +8000239c: 32e50e63 beq a0,a4,800026d8 <__subsf3+0x3e0> +800023a0: 7e000737 lui a4,0x7e000 +800023a4: 0017f693 andi a3,a5,1 +800023a8: fff70713 addi a4,a4,-1 # 7dffffff <_stack_size+0x7dfffbff> +800023ac: 0017d793 srli a5,a5,0x1 +800023b0: 00e7f7b3 and a5,a5,a4 +800023b4: 00d7e7b3 or a5,a5,a3 +800023b8: 10c0006f j 800024c4 <__subsf3+0x1cc> +800023bc: 0ff00613 li a2,255 +800023c0: 00c69e63 bne a3,a2,800023dc <__subsf3+0xe4> +800023c4: 00080793 mv a5,a6 +800023c8: 0740006f j 8000243c <__subsf3+0x144> +800023cc: 0ff00613 li a2,255 +800023d0: fec68ae3 beq a3,a2,800023c4 <__subsf3+0xcc> +800023d4: 04000637 lui a2,0x4000 +800023d8: 00c7e7b3 or a5,a5,a2 +800023dc: 01b00613 li a2,27 +800023e0: 00e65663 ble a4,a2,800023ec <__subsf3+0xf4> +800023e4: 00100793 li a5,1 +800023e8: f9dff06f j 80002384 <__subsf3+0x8c> +800023ec: 02000613 li a2,32 +800023f0: 40e60633 sub a2,a2,a4 +800023f4: 00e7d5b3 srl a1,a5,a4 +800023f8: 00c797b3 sll a5,a5,a2 +800023fc: 00f037b3 snez a5,a5 +80002400: 00f5e7b3 or a5,a1,a5 +80002404: f81ff06f j 80002384 <__subsf3+0x8c> +80002408: 08070063 beqz a4,80002488 <__subsf3+0x190> +8000240c: 02069c63 bnez a3,80002444 <__subsf3+0x14c> +80002410: 00081863 bnez a6,80002420 <__subsf3+0x128> +80002414: 0ff00713 li a4,255 +80002418: 0ae61663 bne a2,a4,800024c4 <__subsf3+0x1cc> +8000241c: 0200006f j 8000243c <__subsf3+0x144> +80002420: fff00693 li a3,-1 +80002424: 00d71663 bne a4,a3,80002430 <__subsf3+0x138> +80002428: 010787b3 add a5,a5,a6 +8000242c: f61ff06f j 8000238c <__subsf3+0x94> +80002430: 0ff00693 li a3,255 +80002434: fff74713 not a4,a4 +80002438: 02d61063 bne a2,a3,80002458 <__subsf3+0x160> +8000243c: 0ff00513 li a0,255 +80002440: 0840006f j 800024c4 <__subsf3+0x1cc> +80002444: 0ff00693 li a3,255 +80002448: fed60ae3 beq a2,a3,8000243c <__subsf3+0x144> +8000244c: 040006b7 lui a3,0x4000 +80002450: 40e00733 neg a4,a4 +80002454: 00d86833 or a6,a6,a3 +80002458: 01b00693 li a3,27 +8000245c: 00e6d663 ble a4,a3,80002468 <__subsf3+0x170> +80002460: 00100713 li a4,1 +80002464: 01c0006f j 80002480 <__subsf3+0x188> +80002468: 02000693 li a3,32 +8000246c: 00e85633 srl a2,a6,a4 +80002470: 40e68733 sub a4,a3,a4 +80002474: 00e81733 sll a4,a6,a4 +80002478: 00e03733 snez a4,a4 +8000247c: 00e66733 or a4,a2,a4 +80002480: 00e787b3 add a5,a5,a4 +80002484: f09ff06f j 8000238c <__subsf3+0x94> +80002488: 00168513 addi a0,a3,1 # 4000001 <_stack_size+0x3fffc01> +8000248c: 0ff57613 andi a2,a0,255 +80002490: 00100713 li a4,1 +80002494: 06c74263 blt a4,a2,800024f8 <__subsf3+0x200> +80002498: 04069463 bnez a3,800024e0 <__subsf3+0x1e8> +8000249c: 00000513 li a0,0 +800024a0: 02080263 beqz a6,800024c4 <__subsf3+0x1cc> +800024a4: 22078663 beqz a5,800026d0 <__subsf3+0x3d8> +800024a8: 010787b3 add a5,a5,a6 +800024ac: 00579713 slli a4,a5,0x5 +800024b0: 00075a63 bgez a4,800024c4 <__subsf3+0x1cc> +800024b4: fc000737 lui a4,0xfc000 +800024b8: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +800024bc: 00e7f7b3 and a5,a5,a4 +800024c0: 00100513 li a0,1 +800024c4: 0077f713 andi a4,a5,7 +800024c8: 20070a63 beqz a4,800026dc <__subsf3+0x3e4> +800024cc: 00f7f713 andi a4,a5,15 +800024d0: 00400693 li a3,4 +800024d4: 20d70463 beq a4,a3,800026dc <__subsf3+0x3e4> +800024d8: 00478793 addi a5,a5,4 +800024dc: 2000006f j 800026dc <__subsf3+0x3e4> +800024e0: f4080ee3 beqz a6,8000243c <__subsf3+0x144> +800024e4: ee0780e3 beqz a5,800023c4 <__subsf3+0xcc> +800024e8: 020007b7 lui a5,0x2000 +800024ec: 0ff00513 li a0,255 +800024f0: 00000493 li s1,0 +800024f4: 1e80006f j 800026dc <__subsf3+0x3e4> +800024f8: 0ff00713 li a4,255 +800024fc: 1ce50e63 beq a0,a4,800026d8 <__subsf3+0x3e0> +80002500: 00f80733 add a4,a6,a5 +80002504: 00175793 srli a5,a4,0x1 +80002508: fbdff06f j 800024c4 <__subsf3+0x1cc> +8000250c: 08e05063 blez a4,8000258c <__subsf3+0x294> +80002510: 04061663 bnez a2,8000255c <__subsf3+0x264> +80002514: e4078ae3 beqz a5,80002368 <__subsf3+0x70> +80002518: fff70713 addi a4,a4,-1 +8000251c: 02071463 bnez a4,80002544 <__subsf3+0x24c> +80002520: 40f807b3 sub a5,a6,a5 +80002524: 00068513 mv a0,a3 +80002528: 00579713 slli a4,a5,0x5 +8000252c: f8075ce3 bgez a4,800024c4 <__subsf3+0x1cc> +80002530: 04000437 lui s0,0x4000 +80002534: fff40413 addi s0,s0,-1 # 3ffffff <_stack_size+0x3fffbff> +80002538: 0087f433 and s0,a5,s0 +8000253c: 00050913 mv s2,a0 +80002540: 1380006f j 80002678 <__subsf3+0x380> +80002544: 0ff00613 li a2,255 +80002548: e6c68ee3 beq a3,a2,800023c4 <__subsf3+0xcc> +8000254c: 01b00613 li a2,27 +80002550: 02e65063 ble a4,a2,80002570 <__subsf3+0x278> +80002554: 00100793 li a5,1 +80002558: fc9ff06f j 80002520 <__subsf3+0x228> +8000255c: 0ff00613 li a2,255 +80002560: e6c682e3 beq a3,a2,800023c4 <__subsf3+0xcc> +80002564: 04000637 lui a2,0x4000 +80002568: 00c7e7b3 or a5,a5,a2 +8000256c: fe1ff06f j 8000254c <__subsf3+0x254> +80002570: 02000613 li a2,32 +80002574: 00e7d5b3 srl a1,a5,a4 +80002578: 40e60733 sub a4,a2,a4 +8000257c: 00e797b3 sll a5,a5,a4 +80002580: 00f037b3 snez a5,a5 +80002584: 00f5e7b3 or a5,a1,a5 +80002588: f99ff06f j 80002520 <__subsf3+0x228> +8000258c: 08070263 beqz a4,80002610 <__subsf3+0x318> +80002590: 02069e63 bnez a3,800025cc <__subsf3+0x2d4> +80002594: 00081863 bnez a6,800025a4 <__subsf3+0x2ac> +80002598: 0ff00713 li a4,255 +8000259c: 00058493 mv s1,a1 +800025a0: e79ff06f j 80002418 <__subsf3+0x120> +800025a4: fff00693 li a3,-1 +800025a8: 00d71863 bne a4,a3,800025b8 <__subsf3+0x2c0> +800025ac: 410787b3 sub a5,a5,a6 +800025b0: 00058493 mv s1,a1 +800025b4: f75ff06f j 80002528 <__subsf3+0x230> +800025b8: 0ff00693 li a3,255 +800025bc: fff74713 not a4,a4 +800025c0: 02d61063 bne a2,a3,800025e0 <__subsf3+0x2e8> +800025c4: 00058493 mv s1,a1 +800025c8: e75ff06f j 8000243c <__subsf3+0x144> +800025cc: 0ff00693 li a3,255 +800025d0: fed60ae3 beq a2,a3,800025c4 <__subsf3+0x2cc> +800025d4: 040006b7 lui a3,0x4000 +800025d8: 40e00733 neg a4,a4 +800025dc: 00d86833 or a6,a6,a3 +800025e0: 01b00693 li a3,27 +800025e4: 00e6d663 ble a4,a3,800025f0 <__subsf3+0x2f8> +800025e8: 00100713 li a4,1 +800025ec: 01c0006f j 80002608 <__subsf3+0x310> +800025f0: 02000693 li a3,32 +800025f4: 00e85633 srl a2,a6,a4 +800025f8: 40e68733 sub a4,a3,a4 +800025fc: 00e81733 sll a4,a6,a4 +80002600: 00e03733 snez a4,a4 +80002604: 00e66733 or a4,a2,a4 +80002608: 40e787b3 sub a5,a5,a4 +8000260c: fa5ff06f j 800025b0 <__subsf3+0x2b8> +80002610: 00168713 addi a4,a3,1 # 4000001 <_stack_size+0x3fffc01> +80002614: 0ff77713 andi a4,a4,255 +80002618: 00100613 li a2,1 +8000261c: 04e64463 blt a2,a4,80002664 <__subsf3+0x36c> +80002620: 02069c63 bnez a3,80002658 <__subsf3+0x360> +80002624: 00081863 bnez a6,80002634 <__subsf3+0x33c> +80002628: 12079863 bnez a5,80002758 <__subsf3+0x460> +8000262c: 00000513 li a0,0 +80002630: ec1ff06f j 800024f0 <__subsf3+0x1f8> +80002634: 12078663 beqz a5,80002760 <__subsf3+0x468> +80002638: 40f80733 sub a4,a6,a5 +8000263c: 00571693 slli a3,a4,0x5 +80002640: 410787b3 sub a5,a5,a6 +80002644: 1006ca63 bltz a3,80002758 <__subsf3+0x460> +80002648: 00070793 mv a5,a4 +8000264c: 06071063 bnez a4,800026ac <__subsf3+0x3b4> +80002650: 00000793 li a5,0 +80002654: fd9ff06f j 8000262c <__subsf3+0x334> +80002658: e80816e3 bnez a6,800024e4 <__subsf3+0x1ec> +8000265c: f60794e3 bnez a5,800025c4 <__subsf3+0x2cc> +80002660: e89ff06f j 800024e8 <__subsf3+0x1f0> +80002664: 40f80433 sub s0,a6,a5 +80002668: 00541713 slli a4,s0,0x5 +8000266c: 04075463 bgez a4,800026b4 <__subsf3+0x3bc> +80002670: 41078433 sub s0,a5,a6 +80002674: 00058493 mv s1,a1 +80002678: 00040513 mv a0,s0 +8000267c: 604000ef jal ra,80002c80 <__clzsi2> +80002680: ffb50513 addi a0,a0,-5 +80002684: 00a41433 sll s0,s0,a0 +80002688: 03254a63 blt a0,s2,800026bc <__subsf3+0x3c4> +8000268c: 41250533 sub a0,a0,s2 +80002690: 00150513 addi a0,a0,1 +80002694: 02000713 li a4,32 +80002698: 00a457b3 srl a5,s0,a0 +8000269c: 40a70533 sub a0,a4,a0 +800026a0: 00a41433 sll s0,s0,a0 +800026a4: 00803433 snez s0,s0 +800026a8: 0087e7b3 or a5,a5,s0 +800026ac: 00000513 li a0,0 +800026b0: e15ff06f j 800024c4 <__subsf3+0x1cc> +800026b4: f8040ee3 beqz s0,80002650 <__subsf3+0x358> +800026b8: fc1ff06f j 80002678 <__subsf3+0x380> +800026bc: fc0007b7 lui a5,0xfc000 +800026c0: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9b2f> +800026c4: 40a90533 sub a0,s2,a0 +800026c8: 00f477b3 and a5,s0,a5 +800026cc: df9ff06f j 800024c4 <__subsf3+0x1cc> +800026d0: 00080793 mv a5,a6 +800026d4: df1ff06f j 800024c4 <__subsf3+0x1cc> +800026d8: 00000793 li a5,0 +800026dc: 00579713 slli a4,a5,0x5 +800026e0: 00075e63 bgez a4,800026fc <__subsf3+0x404> +800026e4: 00150513 addi a0,a0,1 +800026e8: 0ff00713 li a4,255 +800026ec: 06e50e63 beq a0,a4,80002768 <__subsf3+0x470> +800026f0: fc000737 lui a4,0xfc000 +800026f4: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +800026f8: 00e7f7b3 and a5,a5,a4 +800026fc: 0ff00713 li a4,255 +80002700: 0037d793 srli a5,a5,0x3 +80002704: 00e51863 bne a0,a4,80002714 <__subsf3+0x41c> +80002708: 00078663 beqz a5,80002714 <__subsf3+0x41c> +8000270c: 004007b7 lui a5,0x400 +80002710: 00000493 li s1,0 +80002714: 00800737 lui a4,0x800 +80002718: fff70713 addi a4,a4,-1 # 7fffff <_stack_size+0x7ffbff> +8000271c: 0ff57513 andi a0,a0,255 +80002720: 00e7f7b3 and a5,a5,a4 +80002724: 01751713 slli a4,a0,0x17 +80002728: 80800537 lui a0,0x80800 +8000272c: 00c12083 lw ra,12(sp) +80002730: 00812403 lw s0,8(sp) +80002734: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +80002738: 00a7f533 and a0,a5,a0 +8000273c: 01f49493 slli s1,s1,0x1f +80002740: 00e56533 or a0,a0,a4 +80002744: 00956533 or a0,a0,s1 +80002748: 00012903 lw s2,0(sp) +8000274c: 00412483 lw s1,4(sp) +80002750: 01010113 addi sp,sp,16 +80002754: 00008067 ret +80002758: 00058493 mv s1,a1 +8000275c: f51ff06f j 800026ac <__subsf3+0x3b4> +80002760: 00080793 mv a5,a6 +80002764: f49ff06f j 800026ac <__subsf3+0x3b4> +80002768: 00000793 li a5,0 +8000276c: f91ff06f j 800026fc <__subsf3+0x404> + +80002770 <__fixsfsi>: +80002770: 00800637 lui a2,0x800 +80002774: 01755713 srli a4,a0,0x17 +80002778: fff60793 addi a5,a2,-1 # 7fffff <_stack_size+0x7ffbff> +8000277c: 0ff77713 andi a4,a4,255 +80002780: 07e00593 li a1,126 +80002784: 00a7f7b3 and a5,a5,a0 +80002788: 01f55693 srli a3,a0,0x1f +8000278c: 04e5f663 bleu a4,a1,800027d8 <__fixsfsi+0x68> +80002790: 09d00593 li a1,157 +80002794: 00e5fa63 bleu a4,a1,800027a8 <__fixsfsi+0x38> +80002798: 80000537 lui a0,0x80000 +8000279c: fff54513 not a0,a0 +800027a0: 00a68533 add a0,a3,a0 +800027a4: 00008067 ret +800027a8: 00c7e533 or a0,a5,a2 +800027ac: 09500793 li a5,149 +800027b0: 00e7dc63 ble a4,a5,800027c8 <__fixsfsi+0x58> +800027b4: f6a70713 addi a4,a4,-150 +800027b8: 00e51533 sll a0,a0,a4 +800027bc: 02068063 beqz a3,800027dc <__fixsfsi+0x6c> +800027c0: 40a00533 neg a0,a0 +800027c4: 00008067 ret +800027c8: 09600793 li a5,150 +800027cc: 40e78733 sub a4,a5,a4 +800027d0: 00e55533 srl a0,a0,a4 +800027d4: fe9ff06f j 800027bc <__fixsfsi+0x4c> +800027d8: 00000513 li a0,0 +800027dc: 00008067 ret + +800027e0 <__floatsisf>: +800027e0: ff010113 addi sp,sp,-16 +800027e4: 00112623 sw ra,12(sp) +800027e8: 00812423 sw s0,8(sp) +800027ec: 00912223 sw s1,4(sp) +800027f0: 10050263 beqz a0,800028f4 <__floatsisf+0x114> +800027f4: 00050413 mv s0,a0 +800027f8: 01f55493 srli s1,a0,0x1f +800027fc: 00055463 bgez a0,80002804 <__floatsisf+0x24> +80002800: 40a00433 neg s0,a0 +80002804: 00040513 mv a0,s0 +80002808: 478000ef jal ra,80002c80 <__clzsi2> +8000280c: 09e00793 li a5,158 +80002810: 40a787b3 sub a5,a5,a0 +80002814: 09600713 li a4,150 +80002818: 06f74063 blt a4,a5,80002878 <__floatsisf+0x98> +8000281c: 00800713 li a4,8 +80002820: 00a75663 ble a0,a4,8000282c <__floatsisf+0x4c> +80002824: ff850513 addi a0,a0,-8 # 7ffffff8 <_stack_start+0xffff9b28> +80002828: 00a41433 sll s0,s0,a0 +8000282c: 00800537 lui a0,0x800 +80002830: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002834: 0ff7f793 andi a5,a5,255 +80002838: 00a47433 and s0,s0,a0 +8000283c: 01779513 slli a0,a5,0x17 +80002840: 808007b7 lui a5,0x80800 +80002844: fff78793 addi a5,a5,-1 # 807fffff <_stack_start+0x7f9b2f> +80002848: 00f47433 and s0,s0,a5 +8000284c: 800007b7 lui a5,0x80000 +80002850: 00a46433 or s0,s0,a0 +80002854: fff7c793 not a5,a5 +80002858: 01f49513 slli a0,s1,0x1f +8000285c: 00f47433 and s0,s0,a5 +80002860: 00a46533 or a0,s0,a0 +80002864: 00c12083 lw ra,12(sp) +80002868: 00812403 lw s0,8(sp) +8000286c: 00412483 lw s1,4(sp) +80002870: 01010113 addi sp,sp,16 +80002874: 00008067 ret +80002878: 09900713 li a4,153 +8000287c: 02f75063 ble a5,a4,8000289c <__floatsisf+0xbc> +80002880: 00500713 li a4,5 +80002884: 40a70733 sub a4,a4,a0 +80002888: 01b50693 addi a3,a0,27 +8000288c: 00e45733 srl a4,s0,a4 +80002890: 00d41433 sll s0,s0,a3 +80002894: 00803433 snez s0,s0 +80002898: 00876433 or s0,a4,s0 +8000289c: 00500713 li a4,5 +800028a0: 00a75663 ble a0,a4,800028ac <__floatsisf+0xcc> +800028a4: ffb50713 addi a4,a0,-5 +800028a8: 00e41433 sll s0,s0,a4 +800028ac: fc000737 lui a4,0xfc000 +800028b0: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +800028b4: 00747693 andi a3,s0,7 +800028b8: 00e47733 and a4,s0,a4 +800028bc: 00068a63 beqz a3,800028d0 <__floatsisf+0xf0> +800028c0: 00f47413 andi s0,s0,15 +800028c4: 00400693 li a3,4 +800028c8: 00d40463 beq s0,a3,800028d0 <__floatsisf+0xf0> +800028cc: 00470713 addi a4,a4,4 +800028d0: 00571693 slli a3,a4,0x5 +800028d4: 0006dc63 bgez a3,800028ec <__floatsisf+0x10c> +800028d8: fc0007b7 lui a5,0xfc000 +800028dc: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9b2f> +800028e0: 00f77733 and a4,a4,a5 +800028e4: 09f00793 li a5,159 +800028e8: 40a787b3 sub a5,a5,a0 +800028ec: 00375413 srli s0,a4,0x3 +800028f0: f3dff06f j 8000282c <__floatsisf+0x4c> +800028f4: 00000413 li s0,0 +800028f8: 00000793 li a5,0 +800028fc: 00000493 li s1,0 +80002900: f2dff06f j 8000282c <__floatsisf+0x4c> + +80002904 <__extendsfdf2>: +80002904: 01755793 srli a5,a0,0x17 +80002908: ff010113 addi sp,sp,-16 +8000290c: 0ff7f793 andi a5,a5,255 +80002910: 00812423 sw s0,8(sp) +80002914: 00178713 addi a4,a5,1 +80002918: 00800437 lui s0,0x800 +8000291c: 00912223 sw s1,4(sp) +80002920: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002924: 00112623 sw ra,12(sp) +80002928: 0ff77713 andi a4,a4,255 +8000292c: 00100693 li a3,1 +80002930: 00a47433 and s0,s0,a0 +80002934: 01f55493 srli s1,a0,0x1f +80002938: 06e6d263 ble a4,a3,8000299c <__extendsfdf2+0x98> +8000293c: 38078513 addi a0,a5,896 +80002940: 00345793 srli a5,s0,0x3 +80002944: 01d41413 slli s0,s0,0x1d +80002948: 00100737 lui a4,0x100 +8000294c: fff70713 addi a4,a4,-1 # fffff <_stack_size+0xffbff> +80002950: 00e7f7b3 and a5,a5,a4 +80002954: 80100737 lui a4,0x80100 +80002958: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf9b2f> +8000295c: 7ff57513 andi a0,a0,2047 +80002960: 01451513 slli a0,a0,0x14 +80002964: 00e7f7b3 and a5,a5,a4 +80002968: 80000737 lui a4,0x80000 +8000296c: 00a7e7b3 or a5,a5,a0 +80002970: fff74713 not a4,a4 +80002974: 01f49513 slli a0,s1,0x1f +80002978: 00e7f7b3 and a5,a5,a4 +8000297c: 00a7e733 or a4,a5,a0 +80002980: 00c12083 lw ra,12(sp) +80002984: 00040513 mv a0,s0 +80002988: 00812403 lw s0,8(sp) +8000298c: 00412483 lw s1,4(sp) +80002990: 00070593 mv a1,a4 +80002994: 01010113 addi sp,sp,16 +80002998: 00008067 ret +8000299c: 04079463 bnez a5,800029e4 <__extendsfdf2+0xe0> +800029a0: 06040263 beqz s0,80002a04 <__extendsfdf2+0x100> +800029a4: 00040513 mv a0,s0 +800029a8: 2d8000ef jal ra,80002c80 <__clzsi2> +800029ac: 00a00793 li a5,10 +800029b0: 02a7c263 blt a5,a0,800029d4 <__extendsfdf2+0xd0> +800029b4: 00b00793 li a5,11 +800029b8: 40a787b3 sub a5,a5,a0 +800029bc: 01550713 addi a4,a0,21 +800029c0: 00f457b3 srl a5,s0,a5 +800029c4: 00e41433 sll s0,s0,a4 +800029c8: 38900713 li a4,905 +800029cc: 40a70533 sub a0,a4,a0 +800029d0: f79ff06f j 80002948 <__extendsfdf2+0x44> +800029d4: ff550793 addi a5,a0,-11 +800029d8: 00f417b3 sll a5,s0,a5 +800029dc: 00000413 li s0,0 +800029e0: fe9ff06f j 800029c8 <__extendsfdf2+0xc4> +800029e4: 00000793 li a5,0 +800029e8: 00040a63 beqz s0,800029fc <__extendsfdf2+0xf8> +800029ec: 00345793 srli a5,s0,0x3 +800029f0: 00080737 lui a4,0x80 +800029f4: 01d41413 slli s0,s0,0x1d +800029f8: 00e7e7b3 or a5,a5,a4 +800029fc: 7ff00513 li a0,2047 +80002a00: f49ff06f j 80002948 <__extendsfdf2+0x44> +80002a04: 00000793 li a5,0 +80002a08: 00000513 li a0,0 +80002a0c: f3dff06f j 80002948 <__extendsfdf2+0x44> + +80002a10 <__truncdfsf2>: +80002a10: 00100637 lui a2,0x100 +80002a14: fff60613 addi a2,a2,-1 # fffff <_stack_size+0xffbff> +80002a18: 00b67633 and a2,a2,a1 +80002a1c: 0145d813 srli a6,a1,0x14 +80002a20: 01d55793 srli a5,a0,0x1d +80002a24: 7ff87813 andi a6,a6,2047 +80002a28: 00361613 slli a2,a2,0x3 +80002a2c: 00c7e633 or a2,a5,a2 +80002a30: 00180793 addi a5,a6,1 +80002a34: 7ff7f793 andi a5,a5,2047 +80002a38: 00100693 li a3,1 +80002a3c: 01f5d593 srli a1,a1,0x1f +80002a40: 00351713 slli a4,a0,0x3 +80002a44: 0af6d663 ble a5,a3,80002af0 <__truncdfsf2+0xe0> +80002a48: c8080693 addi a3,a6,-896 +80002a4c: 0fe00793 li a5,254 +80002a50: 0cd7c263 blt a5,a3,80002b14 <__truncdfsf2+0x104> +80002a54: 08d04063 bgtz a3,80002ad4 <__truncdfsf2+0xc4> +80002a58: fe900793 li a5,-23 +80002a5c: 12f6c463 blt a3,a5,80002b84 <__truncdfsf2+0x174> +80002a60: 008007b7 lui a5,0x800 +80002a64: 01e00513 li a0,30 +80002a68: 00f66633 or a2,a2,a5 +80002a6c: 40d50533 sub a0,a0,a3 +80002a70: 01f00793 li a5,31 +80002a74: 02a7c863 blt a5,a0,80002aa4 <__truncdfsf2+0x94> +80002a78: c8280813 addi a6,a6,-894 +80002a7c: 010717b3 sll a5,a4,a6 +80002a80: 00f037b3 snez a5,a5 +80002a84: 01061633 sll a2,a2,a6 +80002a88: 00a75533 srl a0,a4,a0 +80002a8c: 00c7e7b3 or a5,a5,a2 +80002a90: 00f567b3 or a5,a0,a5 +80002a94: 00000693 li a3,0 +80002a98: 0077f713 andi a4,a5,7 +80002a9c: 08070063 beqz a4,80002b1c <__truncdfsf2+0x10c> +80002aa0: 0ec0006f j 80002b8c <__truncdfsf2+0x17c> +80002aa4: ffe00793 li a5,-2 +80002aa8: 40d786b3 sub a3,a5,a3 +80002aac: 02000793 li a5,32 +80002ab0: 00d656b3 srl a3,a2,a3 +80002ab4: 00000893 li a7,0 +80002ab8: 00f50663 beq a0,a5,80002ac4 <__truncdfsf2+0xb4> +80002abc: ca280813 addi a6,a6,-862 +80002ac0: 010618b3 sll a7,a2,a6 +80002ac4: 00e8e7b3 or a5,a7,a4 +80002ac8: 00f037b3 snez a5,a5 +80002acc: 00f6e7b3 or a5,a3,a5 +80002ad0: fc5ff06f j 80002a94 <__truncdfsf2+0x84> +80002ad4: 00651513 slli a0,a0,0x6 +80002ad8: 00a03533 snez a0,a0 +80002adc: 00361613 slli a2,a2,0x3 +80002ae0: 01d75793 srli a5,a4,0x1d +80002ae4: 00c56633 or a2,a0,a2 +80002ae8: 00f667b3 or a5,a2,a5 +80002aec: fadff06f j 80002a98 <__truncdfsf2+0x88> +80002af0: 00e667b3 or a5,a2,a4 +80002af4: 00081663 bnez a6,80002b00 <__truncdfsf2+0xf0> +80002af8: 00f037b3 snez a5,a5 +80002afc: f99ff06f j 80002a94 <__truncdfsf2+0x84> +80002b00: 0ff00693 li a3,255 +80002b04: 00078c63 beqz a5,80002b1c <__truncdfsf2+0x10c> +80002b08: 00361613 slli a2,a2,0x3 +80002b0c: 020007b7 lui a5,0x2000 +80002b10: fd9ff06f j 80002ae8 <__truncdfsf2+0xd8> +80002b14: 00000793 li a5,0 +80002b18: 0ff00693 li a3,255 +80002b1c: 00579713 slli a4,a5,0x5 +80002b20: 00075e63 bgez a4,80002b3c <__truncdfsf2+0x12c> +80002b24: 00168693 addi a3,a3,1 +80002b28: 0ff00713 li a4,255 +80002b2c: 06e68a63 beq a3,a4,80002ba0 <__truncdfsf2+0x190> +80002b30: fc000737 lui a4,0xfc000 +80002b34: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9b2f> +80002b38: 00e7f7b3 and a5,a5,a4 +80002b3c: 0ff00713 li a4,255 +80002b40: 0037d793 srli a5,a5,0x3 +80002b44: 00e69863 bne a3,a4,80002b54 <__truncdfsf2+0x144> +80002b48: 00078663 beqz a5,80002b54 <__truncdfsf2+0x144> +80002b4c: 004007b7 lui a5,0x400 +80002b50: 00000593 li a1,0 +80002b54: 00800537 lui a0,0x800 +80002b58: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002b5c: 00a7f7b3 and a5,a5,a0 +80002b60: 80800537 lui a0,0x80800 +80002b64: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9b2f> +80002b68: 0ff6f693 andi a3,a3,255 +80002b6c: 01769693 slli a3,a3,0x17 +80002b70: 00a7f7b3 and a5,a5,a0 +80002b74: 01f59593 slli a1,a1,0x1f +80002b78: 00d7e7b3 or a5,a5,a3 +80002b7c: 00b7e533 or a0,a5,a1 +80002b80: 00008067 ret +80002b84: 00100793 li a5,1 +80002b88: 00000693 li a3,0 +80002b8c: 00f7f713 andi a4,a5,15 +80002b90: 00400613 li a2,4 +80002b94: f8c704e3 beq a4,a2,80002b1c <__truncdfsf2+0x10c> +80002b98: 00478793 addi a5,a5,4 # 400004 <_stack_size+0x3ffc04> +80002b9c: f81ff06f j 80002b1c <__truncdfsf2+0x10c> +80002ba0: 00000793 li a5,0 +80002ba4: f99ff06f j 80002b3c <__truncdfsf2+0x12c> + +80002ba8 <__mulsi3>: +80002ba8: 00050613 mv a2,a0 +80002bac: 00000513 li a0,0 +80002bb0: 0015f693 andi a3,a1,1 +80002bb4: 00068463 beqz a3,80002bbc <__mulsi3+0x14> +80002bb8: 00c50533 add a0,a0,a2 +80002bbc: 0015d593 srli a1,a1,0x1 +80002bc0: 00161613 slli a2,a2,0x1 +80002bc4: fe0596e3 bnez a1,80002bb0 <__mulsi3+0x8> +80002bc8: 00008067 ret + +80002bcc <__divsi3>: +80002bcc: 06054063 bltz a0,80002c2c <__umodsi3+0x10> +80002bd0: 0605c663 bltz a1,80002c3c <__umodsi3+0x20> + +80002bd4 <__udivsi3>: +80002bd4: 00058613 mv a2,a1 +80002bd8: 00050593 mv a1,a0 +80002bdc: fff00513 li a0,-1 +80002be0: 02060c63 beqz a2,80002c18 <__udivsi3+0x44> +80002be4: 00100693 li a3,1 +80002be8: 00b67a63 bleu a1,a2,80002bfc <__udivsi3+0x28> +80002bec: 00c05863 blez a2,80002bfc <__udivsi3+0x28> +80002bf0: 00161613 slli a2,a2,0x1 +80002bf4: 00169693 slli a3,a3,0x1 +80002bf8: feb66ae3 bltu a2,a1,80002bec <__udivsi3+0x18> +80002bfc: 00000513 li a0,0 +80002c00: 00c5e663 bltu a1,a2,80002c0c <__udivsi3+0x38> +80002c04: 40c585b3 sub a1,a1,a2 +80002c08: 00d56533 or a0,a0,a3 +80002c0c: 0016d693 srli a3,a3,0x1 +80002c10: 00165613 srli a2,a2,0x1 +80002c14: fe0696e3 bnez a3,80002c00 <__udivsi3+0x2c> +80002c18: 00008067 ret + +80002c1c <__umodsi3>: +80002c1c: 00008293 mv t0,ra +80002c20: fb5ff0ef jal ra,80002bd4 <__udivsi3> +80002c24: 00058513 mv a0,a1 +80002c28: 00028067 jr t0 +80002c2c: 40a00533 neg a0,a0 +80002c30: 0005d863 bgez a1,80002c40 <__umodsi3+0x24> +80002c34: 40b005b3 neg a1,a1 +80002c38: f9dff06f j 80002bd4 <__udivsi3> +80002c3c: 40b005b3 neg a1,a1 +80002c40: 00008293 mv t0,ra +80002c44: f91ff0ef jal ra,80002bd4 <__udivsi3> +80002c48: 40a00533 neg a0,a0 +80002c4c: 00028067 jr t0 + +80002c50 <__modsi3>: +80002c50: 00008293 mv t0,ra +80002c54: 0005ca63 bltz a1,80002c68 <__modsi3+0x18> +80002c58: 00054c63 bltz a0,80002c70 <__modsi3+0x20> +80002c5c: f79ff0ef jal ra,80002bd4 <__udivsi3> +80002c60: 00058513 mv a0,a1 +80002c64: 00028067 jr t0 +80002c68: 40b005b3 neg a1,a1 +80002c6c: fe0558e3 bgez a0,80002c5c <__modsi3+0xc> +80002c70: 40a00533 neg a0,a0 +80002c74: f61ff0ef jal ra,80002bd4 <__udivsi3> +80002c78: 40b00533 neg a0,a1 +80002c7c: 00028067 jr t0 + +80002c80 <__clzsi2>: +80002c80: 000107b7 lui a5,0x10 +80002c84: 02f57a63 bleu a5,a0,80002cb8 <__clzsi2+0x38> +80002c88: 0ff00793 li a5,255 +80002c8c: 00a7b7b3 sltu a5,a5,a0 +80002c90: 00379793 slli a5,a5,0x3 +80002c94: 02000713 li a4,32 +80002c98: 40f70733 sub a4,a4,a5 +80002c9c: 00f557b3 srl a5,a0,a5 +80002ca0: 00000517 auipc a0,0x0 +80002ca4: 6fc50513 addi a0,a0,1788 # 8000339c <__clz_tab> +80002ca8: 00f507b3 add a5,a0,a5 +80002cac: 0007c503 lbu a0,0(a5) # 10000 <_stack_size+0xfc00> +80002cb0: 40a70533 sub a0,a4,a0 +80002cb4: 00008067 ret +80002cb8: 01000737 lui a4,0x1000 +80002cbc: 01000793 li a5,16 +80002cc0: fce56ae3 bltu a0,a4,80002c94 <__clzsi2+0x14> +80002cc4: 01800793 li a5,24 +80002cc8: fcdff06f j 80002c94 <__clzsi2+0x14> + +Disassembly of section .text.startup: + +80002ccc <main>: +int main() { +80002ccc: 1141 addi sp,sp,-16 +80002cce: c606 sw ra,12(sp) + main2(); +80002cd0: d4cfd0ef jal ra,8000021c <main2> +} +80002cd4: 40b2 lw ra,12(sp) + TEST_COM_BASE[8] = 0; +80002cd6: f01007b7 lui a5,0xf0100 +80002cda: f207a023 sw zero,-224(a5) # f00fff20 <_stack_start+0x700f9a50> +} +80002cde: 4501 li a0,0 +80002ce0: 0141 addi sp,sp,16 +80002ce2: 8082 ret diff --git a/VexRiscv/src/test/resources/asm/dhrystoneO3MC.asm b/VexRiscv/src/test/resources/asm/dhrystoneO3MC.asm new file mode 100644 index 0000000..076a117 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/dhrystoneO3MC.asm @@ -0,0 +1,3554 @@ + +build/dhrystone.elf: file format elf32-littleriscv + + +Disassembly of section .vector: + +80000000 <crtStart>: +.global crtStart +.global main +.global irqCallback + +crtStart: + j crtInit +80000000: a8ad j 8000007a <crtInit> + nop +80000002: 0001 nop + nop +80000004: 0001 nop + nop +80000006: 0001 nop + nop +80000008: 0001 nop + nop +8000000a: 0001 nop + nop +8000000c: 0001 nop + nop +8000000e: 0001 nop + +80000010 <trap_entry>: + +.global trap_entry +trap_entry: + sw x1, - 1*4(sp) +80000010: fe112e23 sw ra,-4(sp) + sw x5, - 2*4(sp) +80000014: fe512c23 sw t0,-8(sp) + sw x6, - 3*4(sp) +80000018: fe612a23 sw t1,-12(sp) + sw x7, - 4*4(sp) +8000001c: fe712823 sw t2,-16(sp) + sw x10, - 5*4(sp) +80000020: fea12623 sw a0,-20(sp) + sw x11, - 6*4(sp) +80000024: feb12423 sw a1,-24(sp) + sw x12, - 7*4(sp) +80000028: fec12223 sw a2,-28(sp) + sw x13, - 8*4(sp) +8000002c: fed12023 sw a3,-32(sp) + sw x14, - 9*4(sp) +80000030: fce12e23 sw a4,-36(sp) + sw x15, -10*4(sp) +80000034: fcf12c23 sw a5,-40(sp) + sw x16, -11*4(sp) +80000038: fd012a23 sw a6,-44(sp) + sw x17, -12*4(sp) +8000003c: fd112823 sw a7,-48(sp) + sw x28, -13*4(sp) +80000040: fdc12623 sw t3,-52(sp) + sw x29, -14*4(sp) +80000044: fdd12423 sw t4,-56(sp) + sw x30, -15*4(sp) +80000048: fde12223 sw t5,-60(sp) + sw x31, -16*4(sp) +8000004c: fdf12023 sw t6,-64(sp) + addi sp,sp,-16*4 +80000050: 7139 addi sp,sp,-64 + call irqCallback +80000052: 28ad jal 800000cc <irqCallback> + lw x1 , 15*4(sp) +80000054: 50f2 lw ra,60(sp) + lw x5, 14*4(sp) +80000056: 52e2 lw t0,56(sp) + lw x6, 13*4(sp) +80000058: 5352 lw t1,52(sp) + lw x7, 12*4(sp) +8000005a: 53c2 lw t2,48(sp) + lw x10, 11*4(sp) +8000005c: 5532 lw a0,44(sp) + lw x11, 10*4(sp) +8000005e: 55a2 lw a1,40(sp) + lw x12, 9*4(sp) +80000060: 5612 lw a2,36(sp) + lw x13, 8*4(sp) +80000062: 5682 lw a3,32(sp) + lw x14, 7*4(sp) +80000064: 4772 lw a4,28(sp) + lw x15, 6*4(sp) +80000066: 47e2 lw a5,24(sp) + lw x16, 5*4(sp) +80000068: 4852 lw a6,20(sp) + lw x17, 4*4(sp) +8000006a: 48c2 lw a7,16(sp) + lw x28, 3*4(sp) +8000006c: 4e32 lw t3,12(sp) + lw x29, 2*4(sp) +8000006e: 4ea2 lw t4,8(sp) + lw x30, 1*4(sp) +80000070: 4f12 lw t5,4(sp) + lw x31, 0*4(sp) +80000072: 4f82 lw t6,0(sp) + addi sp,sp,16*4 +80000074: 6121 addi sp,sp,64 + mret +80000076: 30200073 mret + +8000007a <crtInit>: + + +crtInit: + .option push + .option norelax + la gp, __global_pointer$ +8000007a: 00004197 auipc gp,0x4 +8000007e: 82e18193 addi gp,gp,-2002 # 800038a8 <__global_pointer$> + .option pop + la sp, _stack_start +80000082: 00006117 auipc sp,0x6 +80000086: 04e10113 addi sp,sp,78 # 800060d0 <_stack_start> + +8000008a <bss_init>: + +bss_init: + la a0, _bss_start +8000008a: 81c18513 addi a0,gp,-2020 # 800030c4 <Dhrystones_Per_Second> + la a1, _bss_end +8000008e: 00006597 auipc a1,0x6 +80000092: c3e58593 addi a1,a1,-962 # 80005ccc <_bss_end> + +80000096 <bss_loop>: +bss_loop: + beq a0,a1,bss_done +80000096: 00b50663 beq a0,a1,800000a2 <bss_done> + sw zero,0(a0) +8000009a: 00052023 sw zero,0(a0) + add a0,a0,4 +8000009e: 0511 addi a0,a0,4 + j bss_loop +800000a0: bfdd j 80000096 <bss_loop> + +800000a2 <bss_done>: +bss_done: + +ctors_init: + la a0, _ctors_start +800000a2: 00003517 auipc a0,0x3 +800000a6: 00250513 addi a0,a0,2 # 800030a4 <_ctors_end> + addi sp,sp,-4 +800000aa: 1171 addi sp,sp,-4 + +800000ac <ctors_loop>: +ctors_loop: + la a1, _ctors_end +800000ac: 00003597 auipc a1,0x3 +800000b0: ff858593 addi a1,a1,-8 # 800030a4 <_ctors_end> + beq a0,a1,ctors_done +800000b4: 00b50863 beq a0,a1,800000c4 <ctors_done> + lw a3,0(a0) +800000b8: 4114 lw a3,0(a0) + add a0,a0,4 +800000ba: 0511 addi a0,a0,4 + sw a0,0(sp) +800000bc: c02a sw a0,0(sp) + jalr a3 +800000be: 9682 jalr a3 + lw a0,0(sp) +800000c0: 4502 lw a0,0(sp) + j ctors_loop +800000c2: b7ed j 800000ac <ctors_loop> + +800000c4 <ctors_done>: +ctors_done: + addi sp,sp,4 +800000c4: 0111 addi sp,sp,4 + //li a0, 0x880 //880 enable timer + external interrupts + //csrw mie,a0 + //li a0, 0x1808 //1808 enable interrupts + //csrw mstatus,a0 + + call main +800000c6: 00f020ef jal ra,800028d4 <end> + +800000ca <infinitLoop>: +infinitLoop: + j infinitLoop +800000ca: a001 j 800000ca <infinitLoop> + +Disassembly of section .memory: + +800000cc <irqCallback>: +} + + +void irqCallback(int irq){ + +} +800000cc: 8082 ret + +800000ce <Proc_2>: + One_Fifty Int_Loc; + Enumeration Enum_Loc; + + Int_Loc = *Int_Par_Ref + 10; + do /* executed once */ + if (Ch_1_Glob == 'A') +800000ce: 8351c703 lbu a4,-1995(gp) # 800030dd <Ch_1_Glob> +800000d2: 04100793 li a5,65 +800000d6: 00f70363 beq a4,a5,800000dc <Proc_2+0xe> + Int_Loc -= 1; + *Int_Par_Ref = Int_Loc - Int_Glob; + Enum_Loc = Ident_1; + } /* if */ + while (Enum_Loc != Ident_1); /* true */ +} /* Proc_2 */ +800000da: 8082 ret + Int_Loc -= 1; +800000dc: 411c lw a5,0(a0) + *Int_Par_Ref = Int_Loc - Int_Glob; +800000de: 83c1a703 lw a4,-1988(gp) # 800030e4 <Int_Glob> + Int_Loc -= 1; +800000e2: 07a5 addi a5,a5,9 + *Int_Par_Ref = Int_Loc - Int_Glob; +800000e4: 8f99 sub a5,a5,a4 +800000e6: c11c sw a5,0(a0) +} /* Proc_2 */ +800000e8: 8082 ret + +800000ea <Proc_3>: + /* Ptr_Ref_Par becomes Ptr_Glob */ + +Rec_Pointer *Ptr_Ref_Par; + +{ + if (Ptr_Glob != Null) +800000ea: 8441a603 lw a2,-1980(gp) # 800030ec <Ptr_Glob> +800000ee: c609 beqz a2,800000f8 <Proc_3+0xe> + /* then, executed */ + *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp; +800000f0: 4218 lw a4,0(a2) +800000f2: c118 sw a4,0(a0) +800000f4: 8441a603 lw a2,-1980(gp) # 800030ec <Ptr_Glob> + Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp); +800000f8: 83c1a583 lw a1,-1988(gp) # 800030e4 <Int_Glob> +800000fc: 0631 addi a2,a2,12 +800000fe: 4529 li a0,10 +80000100: 6c80006f j 800007c8 <Proc_7> + +80000104 <Proc_1>: +{ +80000104: 1141 addi sp,sp,-16 +80000106: c04a sw s2,0(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000108: 8441a783 lw a5,-1980(gp) # 800030ec <Ptr_Glob> +{ +8000010c: c422 sw s0,8(sp) + REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp; +8000010e: 4100 lw s0,0(a0) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000110: 4398 lw a4,0(a5) +{ +80000112: c226 sw s1,4(sp) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000114: 0047ae83 lw t4,4(a5) +80000118: 0087ae03 lw t3,8(a5) +8000011c: 0107a303 lw t1,16(a5) +80000120: 0147a883 lw a7,20(a5) +80000124: 0187a803 lw a6,24(a5) +80000128: 538c lw a1,32(a5) +8000012a: 53d0 lw a2,36(a5) +8000012c: 5794 lw a3,40(a5) +{ +8000012e: c606 sw ra,12(sp) +80000130: 84aa mv s1,a0 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000132: 4fc8 lw a0,28(a5) +80000134: 57dc lw a5,44(a5) +80000136: c018 sw a4,0(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +80000138: 4098 lw a4,0(s1) + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +8000013a: cc48 sw a0,28(s0) +8000013c: d45c sw a5,44(s0) +8000013e: 01d42223 sw t4,4(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +80000142: 4795 li a5,5 + structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob); +80000144: 01c42423 sw t3,8(s0) +80000148: 00642823 sw t1,16(s0) +8000014c: 01142a23 sw a7,20(s0) +80000150: 01042c23 sw a6,24(s0) +80000154: d00c sw a1,32(s0) +80000156: d050 sw a2,36(s0) +80000158: d414 sw a3,40(s0) + Ptr_Val_Par->variant.var_1.Int_Comp = 5; +8000015a: c4dc sw a5,12(s1) + = Ptr_Val_Par->variant.var_1.Int_Comp; +8000015c: c45c sw a5,12(s0) + Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp; +8000015e: c018 sw a4,0(s0) + Proc_3 (&Next_Record->Ptr_Comp); +80000160: 8522 mv a0,s0 +80000162: 3761 jal 800000ea <Proc_3> + if (Next_Record->Discr == Ident_1) +80000164: 405c lw a5,4(s0) +80000166: cfb1 beqz a5,800001c2 <Proc_1+0xbe> + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +80000168: 409c lw a5,0(s1) +} /* Proc_1 */ +8000016a: 40b2 lw ra,12(sp) +8000016c: 4422 lw s0,8(sp) + structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp); +8000016e: 0007af83 lw t6,0(a5) +80000172: 0047af03 lw t5,4(a5) +80000176: 0087ae83 lw t4,8(a5) +8000017a: 00c7ae03 lw t3,12(a5) +8000017e: 0107a303 lw t1,16(a5) +80000182: 0147a883 lw a7,20(a5) +80000186: 0187a803 lw a6,24(a5) +8000018a: 4fcc lw a1,28(a5) +8000018c: 5390 lw a2,32(a5) +8000018e: 53d4 lw a3,36(a5) +80000190: 5798 lw a4,40(a5) +80000192: 57dc lw a5,44(a5) +80000194: 01f4a023 sw t6,0(s1) +80000198: 01e4a223 sw t5,4(s1) +8000019c: 01d4a423 sw t4,8(s1) +800001a0: 01c4a623 sw t3,12(s1) +800001a4: 0064a823 sw t1,16(s1) +800001a8: 0114aa23 sw a7,20(s1) +800001ac: 0104ac23 sw a6,24(s1) +800001b0: cccc sw a1,28(s1) +800001b2: d090 sw a2,32(s1) +800001b4: d0d4 sw a3,36(s1) +800001b6: d498 sw a4,40(s1) +800001b8: d4dc sw a5,44(s1) +} /* Proc_1 */ +800001ba: 4902 lw s2,0(sp) +800001bc: 4492 lw s1,4(sp) +800001be: 0141 addi sp,sp,16 +800001c0: 8082 ret + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c2: 4488 lw a0,8(s1) + Next_Record->variant.var_1.Int_Comp = 6; +800001c4: 4799 li a5,6 + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001c6: 00840593 addi a1,s0,8 + Next_Record->variant.var_1.Int_Comp = 6; +800001ca: c45c sw a5,12(s0) + Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp, +800001cc: 69e000ef jal ra,8000086a <Proc_6> + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001d0: 8441a783 lw a5,-1980(gp) # 800030ec <Ptr_Glob> + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001d4: 4448 lw a0,12(s0) +800001d6: 00c40613 addi a2,s0,12 + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001da: 439c lw a5,0(a5) +} /* Proc_1 */ +800001dc: 40b2 lw ra,12(sp) +800001de: 4492 lw s1,4(sp) + Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp; +800001e0: c01c sw a5,0(s0) +} /* Proc_1 */ +800001e2: 4422 lw s0,8(sp) +800001e4: 4902 lw s2,0(sp) + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001e6: 45a9 li a1,10 +} /* Proc_1 */ +800001e8: 0141 addi sp,sp,16 + Proc_7 (Next_Record->variant.var_1.Int_Comp, 10, +800001ea: 5de0006f j 800007c8 <Proc_7> + +800001ee <Proc_4>: +/*******/ + /* executed once */ +{ + Boolean Bool_Loc; + + Bool_Loc = Ch_1_Glob == 'A'; +800001ee: 8351c783 lbu a5,-1995(gp) # 800030dd <Ch_1_Glob> + Bool_Glob = Bool_Loc | Bool_Glob; +800001f2: 8381a683 lw a3,-1992(gp) # 800030e0 <Bool_Glob> + Bool_Loc = Ch_1_Glob == 'A'; +800001f6: fbf78793 addi a5,a5,-65 +800001fa: 0017b793 seqz a5,a5 + Bool_Glob = Bool_Loc | Bool_Glob; +800001fe: 8fd5 or a5,a5,a3 +80000200: 82f1ac23 sw a5,-1992(gp) # 800030e0 <Bool_Glob> + Ch_2_Glob = 'B'; +80000204: 04200713 li a4,66 +80000208: 82e18a23 sb a4,-1996(gp) # 800030dc <Ch_2_Glob> +} /* Proc_4 */ +8000020c: 8082 ret + +8000020e <Proc_5>: + +Proc_5 () /* without parameters */ +/*******/ + /* executed once */ +{ + Ch_1_Glob = 'A'; +8000020e: 04100713 li a4,65 +80000212: 82e18aa3 sb a4,-1995(gp) # 800030dd <Ch_1_Glob> + Bool_Glob = false; +80000216: 8201ac23 sw zero,-1992(gp) # 800030e0 <Bool_Glob> +} /* Proc_5 */ +8000021a: 8082 ret + +8000021c <main2>: +{ +8000021c: 7135 addi sp,sp,-160 + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000021e: 03000513 li a0,48 +{ +80000222: cf06 sw ra,156(sp) +80000224: cd22 sw s0,152(sp) +80000226: dae6 sw s9,116(sp) +80000228: d6ee sw s11,108(sp) +8000022a: cb26 sw s1,148(sp) +8000022c: c94a sw s2,144(sp) +8000022e: c74e sw s3,140(sp) +80000230: c552 sw s4,136(sp) +80000232: c356 sw s5,132(sp) +80000234: c15a sw s6,128(sp) +80000236: dede sw s7,124(sp) +80000238: dce2 sw s8,120(sp) +8000023a: d8ea sw s10,112(sp) + Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +8000023c: 714000ef jal ra,80000950 <malloc> +80000240: 84a1a023 sw a0,-1984(gp) # 800030e8 <Next_Ptr_Glob> + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000244: 03000513 li a0,48 +80000248: 708000ef jal ra,80000950 <malloc> + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +8000024c: 8401a783 lw a5,-1984(gp) # 800030e8 <Next_Ptr_Glob> + Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type)); +80000250: 84a1a223 sw a0,-1980(gp) # 800030ec <Ptr_Glob> + Ptr_Glob->Ptr_Comp = Next_Ptr_Glob; +80000254: c11c sw a5,0(a0) + Ptr_Glob->variant.var_1.Enum_Comp = Ident_3; +80000256: 4789 li a5,2 +80000258: c51c sw a5,8(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000025a: 800035b7 lui a1,0x80003 + Ptr_Glob->variant.var_1.Int_Comp = 40; +8000025e: 02800793 li a5,40 +80000262: c55c sw a5,12(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +80000264: 467d li a2,31 +80000266: 8ec58593 addi a1,a1,-1812 # 800028ec <_stack_start+0xffffc81c> + Ptr_Glob->Discr = Ident_1; +8000026a: 00052223 sw zero,4(a0) + strcpy (Ptr_Glob->variant.var_1.Str_Comp, +8000026e: 0541 addi a0,a0,16 +80000270: 7e4000ef jal ra,80000a54 <memcpy> + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +80000274: 80003737 lui a4,0x80003 +80000278: e5470793 addi a5,a4,-428 # 80002e54 <_stack_start+0xffffcd84> +8000027c: e5472e03 lw t3,-428(a4) +80000280: 0047a303 lw t1,4(a5) +80000284: 0087a883 lw a7,8(a5) +80000288: 00c7a803 lw a6,12(a5) +8000028c: 4b8c lw a1,16(a5) +8000028e: 4bd0 lw a2,20(a5) +80000290: 4f94 lw a3,24(a5) +80000292: 01c7d703 lhu a4,28(a5) +80000296: 01e7c783 lbu a5,30(a5) + Arr_2_Glob [8][7] = 10; +8000029a: 80003db7 lui s11,0x80003 + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +8000029e: 02e11e23 sh a4,60(sp) +800002a2: 02f10f23 sb a5,62(sp) + Arr_2_Glob [8][7] = 10; +800002a6: 1bcd8713 addi a4,s11,444 # 800031bc <_stack_start+0xffffd0ec> +800002aa: 47a9 li a5,10 + printf ("\n"); +800002ac: 4529 li a0,10 + Arr_2_Glob [8][7] = 10; +800002ae: 64f72e23 sw a5,1628(a4) + strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING"); +800002b2: d072 sw t3,32(sp) +800002b4: d21a sw t1,36(sp) +800002b6: d446 sw a7,40(sp) +800002b8: d642 sw a6,44(sp) +800002ba: d82e sw a1,48(sp) +800002bc: da32 sw a2,52(sp) +800002be: dc36 sw a3,56(sp) + printf ("\n"); +800002c0: 77e000ef jal ra,80000a3e <putchar> + printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n"); +800002c4: 80003537 lui a0,0x80003 +800002c8: 90c50513 addi a0,a0,-1780 # 8000290c <_stack_start+0xffffc83c> +800002cc: 74c000ef jal ra,80000a18 <puts> + printf ("\n"); +800002d0: 4529 li a0,10 +800002d2: 76c000ef jal ra,80000a3e <putchar> + if (Reg) +800002d6: 8301a783 lw a5,-2000(gp) # 800030d8 <Reg> +800002da: 4a078e63 beqz a5,80000796 <main2+0x57a> + printf ("Program compiled with 'register' attribute\n"); +800002de: 80003537 lui a0,0x80003 +800002e2: 93c50513 addi a0,a0,-1732 # 8000293c <_stack_start+0xffffc86c> +800002e6: 732000ef jal ra,80000a18 <puts> + printf ("\n"); +800002ea: 4529 li a0,10 +800002ec: 752000ef jal ra,80000a3e <putchar> + printf ("Please give the number of runs through the benchmark: "); +800002f0: 80003537 lui a0,0x80003 +800002f4: 99850513 addi a0,a0,-1640 # 80002998 <_stack_start+0xffffc8c8> +800002f8: 67a000ef jal ra,80000972 <printf> + printf ("\n"); +800002fc: 4529 li a0,10 +800002fe: 740000ef jal ra,80000a3e <putchar> + printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs); +80000302: 80003537 lui a0,0x80003 +80000306: 0c800593 li a1,200 +8000030a: 9d050513 addi a0,a0,-1584 # 800029d0 <_stack_start+0xffffc900> +8000030e: 664000ef jal ra,80000972 <printf> + Begin_Time = clock(); +80000312: 736000ef jal ra,80000a48 <clock> +80000316: 80003437 lui s0,0x80003 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +8000031a: e7442783 lw a5,-396(s0) # 80002e74 <_stack_start+0xffffcda4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000031e: 80003d37 lui s10,0x80003 +80000322: e94d2c03 lw s8,-364(s10) # 80002e94 <_stack_start+0xffffcdc4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000326: c63e sw a5,12(sp) + Begin_Time = clock(); +80000328: 82a1a623 sw a0,-2004(gp) # 800030d4 <Begin_Time> + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +8000032c: 4985 li s3,1 +8000032e: e7440413 addi s0,s0,-396 + Int_1_Loc = 2; +80000332: 4489 li s1,2 + Proc_5(); +80000334: 3de9 jal 8000020e <Proc_5> + Proc_4(); +80000336: 3d65 jal 800001ee <Proc_4> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000338: 01e44783 lbu a5,30(s0) +8000033c: 4850 lw a2,20(s0) +8000033e: 00442e03 lw t3,4(s0) +80000342: 00842303 lw t1,8(s0) +80000346: 00c42883 lw a7,12(s0) +8000034a: 01042803 lw a6,16(s0) +8000034e: 4c14 lw a3,24(s0) +80000350: 01c45703 lhu a4,28(s0) +80000354: 4eb2 lw t4,12(sp) +80000356: 04f10f23 sb a5,94(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035a: 008c addi a1,sp,64 + Enum_Loc = Ident_2; +8000035c: 4785 li a5,1 + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000035e: 1008 addi a0,sp,32 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000360: cab2 sw a2,84(sp) + Enum_Loc = Ident_2; +80000362: ce3e sw a5,28(sp) + Int_1_Loc = 2; +80000364: ca26 sw s1,20(sp) + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING"); +80000366: c0f6 sw t4,64(sp) +80000368: c2f2 sw t3,68(sp) +8000036a: c49a sw t1,72(sp) +8000036c: c6c6 sw a7,76(sp) +8000036e: c8c2 sw a6,80(sp) +80000370: ccb6 sw a3,88(sp) +80000372: 04e11e23 sh a4,92(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +80000376: 2955 jal 8000082a <Func_2> + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000378: 4652 lw a2,20(sp) + Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc); +8000037a: 00153513 seqz a0,a0 +8000037e: 82a1ac23 sw a0,-1992(gp) # 800030e0 <Bool_Glob> + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +80000382: 02c4c063 blt s1,a2,800003a2 <main2+0x186> + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000386: 00261793 slli a5,a2,0x2 +8000038a: 97b2 add a5,a5,a2 +8000038c: 17f5 addi a5,a5,-3 + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +8000038e: 8532 mv a0,a2 +80000390: 458d li a1,3 +80000392: 0830 addi a2,sp,24 + Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc; +80000394: cc3e sw a5,24(sp) + Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc); +80000396: 290d jal 800007c8 <Proc_7> + Int_1_Loc += 1; +80000398: 4652 lw a2,20(sp) +8000039a: 0605 addi a2,a2,1 +8000039c: ca32 sw a2,20(sp) + while (Int_1_Loc < Int_2_Loc) /* loop body executed once */ +8000039e: fec4d4e3 ble a2,s1,80000386 <main2+0x16a> + Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc); +800003a2: 46e2 lw a3,24(sp) +800003a4: 84c18513 addi a0,gp,-1972 # 800030f4 <Arr_1_Glob> +800003a8: 1bcd8593 addi a1,s11,444 +800003ac: 2115 jal 800007d0 <Proc_8> + Proc_1 (Ptr_Glob); +800003ae: 8441a503 lw a0,-1980(gp) # 800030ec <Ptr_Glob> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003b2: 04100a93 li s5,65 + Int_2_Loc = 3; +800003b6: 4a0d li s4,3 + Proc_1 (Ptr_Glob); +800003b8: 33b1 jal 80000104 <Proc_1> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003ba: 8341c703 lbu a4,-1996(gp) # 800030dc <Ch_2_Glob> +800003be: 04000793 li a5,64 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +800003c2: e94d0b13 addi s6,s10,-364 + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003c6: 02e7f163 bleu a4,a5,800003e8 <main2+0x1cc> + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003ca: 8556 mv a0,s5 +800003cc: 04300593 li a1,67 +800003d0: 2189 jal 80000812 <Func_1> +800003d2: 47f2 lw a5,28(sp) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003d4: 001a8713 addi a4,s5,1 + if (Enum_Loc == Func_1 (Ch_Index, 'C')) +800003d8: 36f50663 beq a0,a5,80000744 <main2+0x528> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +800003dc: 8341c783 lbu a5,-1996(gp) # 800030dc <Ch_2_Glob> +800003e0: 0ff77a93 andi s5,a4,255 +800003e4: ff57f3e3 bleu s5,a5,800003ca <main2+0x1ae> + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003e8: 47d2 lw a5,20(sp) + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003ea: 4b62 lw s6,24(sp) + Proc_2 (&Int_1_Loc); +800003ec: 0848 addi a0,sp,20 + Int_2_Loc = Int_2_Loc * Int_1_Loc; +800003ee: 02fa0a33 mul s4,s4,a5 + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +800003f2: 0985 addi s3,s3,1 + Int_1_Loc = Int_2_Loc / Int_3_Loc; +800003f4: 036a4ab3 div s5,s4,s6 +800003f8: ca56 sw s5,20(sp) + Proc_2 (&Int_1_Loc); +800003fa: 39d1 jal 800000ce <Proc_2> + for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index) +800003fc: 0c900793 li a5,201 +80000400: f2f99ae3 bne s3,a5,80000334 <main2+0x118> + End_Time = clock(); +80000404: 644000ef jal ra,80000a48 <clock> +80000408: 82a1a423 sw a0,-2008(gp) # 800030d0 <End_Time> + printf ("Execution ends\n"); +8000040c: 80003537 lui a0,0x80003 +80000410: a0050513 addi a0,a0,-1536 # 80002a00 <_stack_start+0xffffc930> +80000414: 604000ef jal ra,80000a18 <puts> + printf ("\n"); +80000418: 4529 li a0,10 +8000041a: 624000ef jal ra,80000a3e <putchar> + printf ("Final values of the variables used in the benchmark:\n"); +8000041e: 80003537 lui a0,0x80003 +80000422: a1050513 addi a0,a0,-1520 # 80002a10 <_stack_start+0xffffc940> +80000426: 5f2000ef jal ra,80000a18 <puts> + printf ("\n"); +8000042a: 4529 li a0,10 +8000042c: 612000ef jal ra,80000a3e <putchar> + printf ("Int_Glob: %d\n", Int_Glob); +80000430: 83c1a583 lw a1,-1988(gp) # 800030e4 <Int_Glob> +80000434: 80003537 lui a0,0x80003 +80000438: a4850513 addi a0,a0,-1464 # 80002a48 <_stack_start+0xffffc978> + printf (" should be: %d\n", 5); +8000043c: 80003437 lui s0,0x80003 + printf ("Int_Glob: %d\n", Int_Glob); +80000440: 2b0d jal 80000972 <printf> + printf (" should be: %d\n", 5); +80000442: 4595 li a1,5 +80000444: a6440513 addi a0,s0,-1436 # 80002a64 <_stack_start+0xffffc994> +80000448: 232d jal 80000972 <printf> + printf ("Bool_Glob: %d\n", Bool_Glob); +8000044a: 8381a583 lw a1,-1992(gp) # 800030e0 <Bool_Glob> +8000044e: 80003537 lui a0,0x80003 +80000452: a8050513 addi a0,a0,-1408 # 80002a80 <_stack_start+0xffffc9b0> +80000456: 2b31 jal 80000972 <printf> + printf (" should be: %d\n", 1); +80000458: 4585 li a1,1 +8000045a: a6440513 addi a0,s0,-1436 +8000045e: 2b11 jal 80000972 <printf> + printf ("Ch_1_Glob: %c\n", Ch_1_Glob); +80000460: 8351c583 lbu a1,-1995(gp) # 800030dd <Ch_1_Glob> +80000464: 80003537 lui a0,0x80003 +80000468: a9c50513 addi a0,a0,-1380 # 80002a9c <_stack_start+0xffffc9cc> +8000046c: 2319 jal 80000972 <printf> + printf (" should be: %c\n", 'A'); +8000046e: 800034b7 lui s1,0x80003 +80000472: 04100593 li a1,65 +80000476: ab848513 addi a0,s1,-1352 # 80002ab8 <_stack_start+0xffffc9e8> +8000047a: 29e5 jal 80000972 <printf> + printf ("Ch_2_Glob: %c\n", Ch_2_Glob); +8000047c: 8341c583 lbu a1,-1996(gp) # 800030dc <Ch_2_Glob> +80000480: 80003537 lui a0,0x80003 +80000484: ad450513 addi a0,a0,-1324 # 80002ad4 <_stack_start+0xffffca04> +80000488: 21ed jal 80000972 <printf> + printf (" should be: %c\n", 'B'); +8000048a: 04200593 li a1,66 +8000048e: ab848513 addi a0,s1,-1352 +80000492: 21c5 jal 80000972 <printf> + printf ("Arr_1_Glob[8]: %d\n", Arr_1_Glob[8]); +80000494: 84c18793 addi a5,gp,-1972 # 800030f4 <Arr_1_Glob> +80000498: 538c lw a1,32(a5) +8000049a: 80003537 lui a0,0x80003 +8000049e: af050513 addi a0,a0,-1296 # 80002af0 <_stack_start+0xffffca20> +800004a2: 29c1 jal 80000972 <printf> + printf (" should be: %d\n", 7); +800004a4: 459d li a1,7 +800004a6: a6440513 addi a0,s0,-1436 +800004aa: 21e1 jal 80000972 <printf> + printf ("Arr_2_Glob[8][7]: %d\n", Arr_2_Glob[8][7]); +800004ac: 800037b7 lui a5,0x80003 +800004b0: 1bc78793 addi a5,a5,444 # 800031bc <_stack_start+0xffffd0ec> +800004b4: 65c7a583 lw a1,1628(a5) +800004b8: 80003537 lui a0,0x80003 +800004bc: b0c50513 addi a0,a0,-1268 # 80002b0c <_stack_start+0xffffca3c> +800004c0: 294d jal 80000972 <printf> + printf (" should be: Number_Of_Runs + 10\n"); +800004c2: 80003537 lui a0,0x80003 +800004c6: b2850513 addi a0,a0,-1240 # 80002b28 <_stack_start+0xffffca58> +800004ca: 54e000ef jal ra,80000a18 <puts> + printf ("Ptr_Glob->\n"); +800004ce: 80003537 lui a0,0x80003 +800004d2: b5450513 addi a0,a0,-1196 # 80002b54 <_stack_start+0xffffca84> +800004d6: 542000ef jal ra,80000a18 <puts> + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800004da: 8441a703 lw a4,-1980(gp) # 800030ec <Ptr_Glob> +800004de: 800037b7 lui a5,0x80003 +800004e2: b6078513 addi a0,a5,-1184 # 80002b60 <_stack_start+0xffffca90> +800004e6: 430c lw a1,0(a4) +800004e8: c63e sw a5,12(sp) + printf (" Discr: %d\n", Ptr_Glob->Discr); +800004ea: 80003d37 lui s10,0x80003 + printf (" Ptr_Comp: %d\n", (int) Ptr_Glob->Ptr_Comp); +800004ee: 2151 jal 80000972 <printf> + printf (" should be: (implementation-dependent)\n"); +800004f0: 80003537 lui a0,0x80003 +800004f4: b7c50513 addi a0,a0,-1156 # 80002b7c <_stack_start+0xffffcaac> +800004f8: 2305 jal 80000a18 <puts> + printf (" Discr: %d\n", Ptr_Glob->Discr); +800004fa: 8441a703 lw a4,-1980(gp) # 800030ec <Ptr_Glob> +800004fe: bacd0513 addi a0,s10,-1108 # 80002bac <_stack_start+0xffffcadc> + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +80000502: 80003c37 lui s8,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000506: 434c lw a1,4(a4) + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000508: 80003bb7 lui s7,0x80003 + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +8000050c: 800039b7 lui s3,0x80003 + printf (" Discr: %d\n", Ptr_Glob->Discr); +80000510: 218d jal 80000972 <printf> + printf (" should be: %d\n", 0); +80000512: 4581 li a1,0 +80000514: a6440513 addi a0,s0,-1436 +80000518: 29a9 jal 80000972 <printf> + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000051a: 8441a703 lw a4,-1980(gp) # 800030ec <Ptr_Glob> +8000051e: bc8c0513 addi a0,s8,-1080 # 80002bc8 <_stack_start+0xffffcaf8> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000522: 80003937 lui s2,0x80003 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +80000526: 470c lw a1,8(a4) + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +80000528: 416a0a33 sub s4,s4,s6 + printf (" Enum_Comp: %d\n", Ptr_Glob->variant.var_1.Enum_Comp); +8000052c: 2199 jal 80000972 <printf> + printf (" should be: %d\n", 2); +8000052e: 4589 li a1,2 +80000530: a6440513 addi a0,s0,-1436 +80000534: 293d jal 80000972 <printf> + printf (" Int_Comp: %d\n", Ptr_Glob->variant.var_1.Int_Comp); +80000536: 8441a703 lw a4,-1980(gp) # 800030ec <Ptr_Glob> +8000053a: be4b8513 addi a0,s7,-1052 # 80002be4 <_stack_start+0xffffcb14> +8000053e: 474c lw a1,12(a4) +80000540: 290d jal 80000972 <printf> + printf (" should be: %d\n", 17); +80000542: 45c5 li a1,17 +80000544: a6440513 addi a0,s0,-1436 +80000548: 212d jal 80000972 <printf> + printf (" Str_Comp: %s\n", Ptr_Glob->variant.var_1.Str_Comp); +8000054a: 8441a583 lw a1,-1980(gp) # 800030ec <Ptr_Glob> +8000054e: c0098513 addi a0,s3,-1024 # 80002c00 <_stack_start+0xffffcb30> +80000552: 05c1 addi a1,a1,16 +80000554: 2939 jal 80000972 <printf> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +80000556: c1c90513 addi a0,s2,-996 # 80002c1c <_stack_start+0xffffcb4c> +8000055a: 297d jal 80000a18 <puts> + printf ("Next_Ptr_Glob->\n"); +8000055c: 80003537 lui a0,0x80003 +80000560: c5050513 addi a0,a0,-944 # 80002c50 <_stack_start+0xffffcb80> +80000564: 2955 jal 80000a18 <puts> + printf (" Ptr_Comp: %d\n", (int) Next_Ptr_Glob->Ptr_Comp); +80000566: 8401a703 lw a4,-1984(gp) # 800030e8 <Next_Ptr_Glob> +8000056a: 47b2 lw a5,12(sp) +8000056c: 430c lw a1,0(a4) +8000056e: b6078513 addi a0,a5,-1184 +80000572: 2101 jal 80000972 <printf> + printf (" should be: (implementation-dependent), same as above\n"); +80000574: 80003537 lui a0,0x80003 +80000578: c6050513 addi a0,a0,-928 # 80002c60 <_stack_start+0xffffcb90> +8000057c: 2971 jal 80000a18 <puts> + printf (" Discr: %d\n", Next_Ptr_Glob->Discr); +8000057e: 8401a783 lw a5,-1984(gp) # 800030e8 <Next_Ptr_Glob> +80000582: bacd0513 addi a0,s10,-1108 +80000586: 43cc lw a1,4(a5) +80000588: 26ed jal 80000972 <printf> + printf (" should be: %d\n", 0); +8000058a: 4581 li a1,0 +8000058c: a6440513 addi a0,s0,-1436 +80000590: 26cd jal 80000972 <printf> + printf (" Enum_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp); +80000592: 8401a783 lw a5,-1984(gp) # 800030e8 <Next_Ptr_Glob> +80000596: bc8c0513 addi a0,s8,-1080 +8000059a: 478c lw a1,8(a5) +8000059c: 2ed9 jal 80000972 <printf> + printf (" should be: %d\n", 1); +8000059e: 4585 li a1,1 +800005a0: a6440513 addi a0,s0,-1436 +800005a4: 26f9 jal 80000972 <printf> + printf (" Int_Comp: %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp); +800005a6: 8401a783 lw a5,-1984(gp) # 800030e8 <Next_Ptr_Glob> +800005aa: be4b8513 addi a0,s7,-1052 +800005ae: 47cc lw a1,12(a5) +800005b0: 26c9 jal 80000972 <printf> + printf (" should be: %d\n", 18); +800005b2: 45c9 li a1,18 +800005b4: a6440513 addi a0,s0,-1436 +800005b8: 2e6d jal 80000972 <printf> + printf (" Str_Comp: %s\n", +800005ba: 8401a583 lw a1,-1984(gp) # 800030e8 <Next_Ptr_Glob> +800005be: c0098513 addi a0,s3,-1024 +800005c2: 05c1 addi a1,a1,16 +800005c4: 267d jal 80000972 <printf> + printf (" should be: DHRYSTONE PROGRAM, SOME STRING\n"); +800005c6: c1c90513 addi a0,s2,-996 +800005ca: 21b9 jal 80000a18 <puts> + printf ("Int_1_Loc: %d\n", Int_1_Loc); +800005cc: 45d2 lw a1,20(sp) +800005ce: 80003537 lui a0,0x80003 +800005d2: ca050513 addi a0,a0,-864 # 80002ca0 <_stack_start+0xffffcbd0> +800005d6: 2e71 jal 80000972 <printf> + printf (" should be: %d\n", 5); +800005d8: 4595 li a1,5 +800005da: a6440513 addi a0,s0,-1436 +800005de: 2e51 jal 80000972 <printf> + Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc; +800005e0: 003a1793 slli a5,s4,0x3 +800005e4: 41478a33 sub s4,a5,s4 + printf ("Int_2_Loc: %d\n", Int_2_Loc); +800005e8: 80003537 lui a0,0x80003 +800005ec: 415a05b3 sub a1,s4,s5 +800005f0: cbc50513 addi a0,a0,-836 # 80002cbc <_stack_start+0xffffcbec> +800005f4: 2ebd jal 80000972 <printf> + printf (" should be: %d\n", 13); +800005f6: 45b5 li a1,13 +800005f8: a6440513 addi a0,s0,-1436 +800005fc: 2e9d jal 80000972 <printf> + printf ("Int_3_Loc: %d\n", Int_3_Loc); +800005fe: 45e2 lw a1,24(sp) +80000600: 80003537 lui a0,0x80003 +80000604: cd850513 addi a0,a0,-808 # 80002cd8 <_stack_start+0xffffcc08> +80000608: 26ad jal 80000972 <printf> + printf (" should be: %d\n", 7); +8000060a: 459d li a1,7 +8000060c: a6440513 addi a0,s0,-1436 +80000610: 268d jal 80000972 <printf> + printf ("Enum_Loc: %d\n", Enum_Loc); +80000612: 45f2 lw a1,28(sp) +80000614: 80003537 lui a0,0x80003 +80000618: cf450513 addi a0,a0,-780 # 80002cf4 <_stack_start+0xffffcc24> +8000061c: 2e99 jal 80000972 <printf> + printf (" should be: %d\n", 1); +8000061e: 4585 li a1,1 +80000620: a6440513 addi a0,s0,-1436 +80000624: 26b9 jal 80000972 <printf> + printf ("Str_1_Loc: %s\n", Str_1_Loc); +80000626: 80003537 lui a0,0x80003 +8000062a: 100c addi a1,sp,32 +8000062c: d1050513 addi a0,a0,-752 # 80002d10 <_stack_start+0xffffcc40> +80000630: 2689 jal 80000972 <printf> + printf (" should be: DHRYSTONE PROGRAM, 1'ST STRING\n"); +80000632: 80003537 lui a0,0x80003 +80000636: d2c50513 addi a0,a0,-724 # 80002d2c <_stack_start+0xffffcc5c> +8000063a: 2ef9 jal 80000a18 <puts> + printf ("Str_2_Loc: %s\n", Str_2_Loc); +8000063c: 80003537 lui a0,0x80003 +80000640: 008c addi a1,sp,64 +80000642: d6050513 addi a0,a0,-672 # 80002d60 <_stack_start+0xffffcc90> +80000646: 2635 jal 80000972 <printf> + printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n"); +80000648: 80003537 lui a0,0x80003 +8000064c: d7c50513 addi a0,a0,-644 # 80002d7c <_stack_start+0xffffccac> +80000650: 26e1 jal 80000a18 <puts> + printf ("\n"); +80000652: 4529 li a0,10 +80000654: 26ed jal 80000a3e <putchar> + User_Time = End_Time - Begin_Time; +80000656: 82c1a703 lw a4,-2004(gp) # 800030d4 <Begin_Time> +8000065a: 8281a583 lw a1,-2008(gp) # 800030d0 <End_Time> + if (User_Time < Too_Small_Time) +8000065e: 1f300793 li a5,499 + User_Time = End_Time - Begin_Time; +80000662: 8d99 sub a1,a1,a4 +80000664: 82b1a223 sw a1,-2012(gp) # 800030cc <User_Time> + if (User_Time < Too_Small_Time) +80000668: 12b7df63 ble a1,a5,800007a6 <main2+0x58a> + printf ("Clock cycles=%d \n", User_Time); +8000066c: 80003537 lui a0,0x80003 +80000670: e0850513 addi a0,a0,-504 # 80002e08 <_stack_start+0xffffcd38> +80000674: 2cfd jal 80000972 <printf> + Microseconds = (float) User_Time * Mic_secs_Per_Second +80000676: 8241a503 lw a0,-2012(gp) # 800030cc <User_Time> +8000067a: 647010ef jal ra,800024c0 <__floatsisf> +8000067e: 842a mv s0,a0 +80000680: 765010ef jal ra,800025e4 <__extendsfdf2> +80000684: 800037b7 lui a5,0x80003 +80000688: 0a87a603 lw a2,168(a5) # 800030a8 <_stack_start+0xffffcfd8> +8000068c: 0ac7a683 lw a3,172(a5) +80000690: 509000ef jal ra,80001398 <__muldf3> + / ((float) CORE_HZ * ((float) Number_Of_Runs)); +80000694: 800037b7 lui a5,0x80003 +80000698: 0b07a603 lw a2,176(a5) # 800030b0 <_stack_start+0xffffcfe0> +8000069c: 0b47a683 lw a3,180(a5) +800006a0: 618000ef jal ra,80000cb8 <__divdf3> +800006a4: 04c020ef jal ra,800026f0 <__truncdfsf2> +800006a8: 82a1a023 sw a0,-2016(gp) # 800030c8 <Microseconds> + / (float) User_Time; +800006ac: 800037b7 lui a5,0x80003 +800006b0: 0b87a503 lw a0,184(a5) # 800030b8 <_stack_start+0xffffcfe8> +800006b4: 85a2 mv a1,s0 +800006b6: 2be010ef jal ra,80001974 <__divsf3> + Dhrystones_Per_Second = ((float) CORE_HZ * (float) Number_Of_Runs) +800006ba: 80a1ae23 sw a0,-2020(gp) # 800030c4 <Dhrystones_Per_Second> + printf ("DMIPS per Mhz: "); +800006be: 80003537 lui a0,0x80003 +800006c2: e1c50513 addi a0,a0,-484 # 80002e1c <_stack_start+0xffffcd4c> +800006c6: 2475 jal 80000972 <printf> + float dmips = (1e6f/1757.0f) * Number_Of_Runs / User_Time; +800006c8: 8241a503 lw a0,-2012(gp) # 800030cc <User_Time> +800006cc: 5f5010ef jal ra,800024c0 <__floatsisf> +800006d0: 800037b7 lui a5,0x80003 +800006d4: 85aa mv a1,a0 +800006d6: 0bc7a503 lw a0,188(a5) # 800030bc <_stack_start+0xffffcfec> +800006da: 29a010ef jal ra,80001974 <__divsf3> +800006de: 842a mv s0,a0 + int dmipsNatural = dmips; +800006e0: 571010ef jal ra,80002450 <__fixsfsi> +800006e4: 84aa mv s1,a0 + int dmipsReal = (dmips - dmipsNatural)*100.0f; +800006e6: 5db010ef jal ra,800024c0 <__floatsisf> +800006ea: 85aa mv a1,a0 +800006ec: 8522 mv a0,s0 +800006ee: 0eb010ef jal ra,80001fd8 <__subsf3> +800006f2: 800037b7 lui a5,0x80003 +800006f6: 0c07a583 lw a1,192(a5) # 800030c0 <_stack_start+0xffffcff0> +800006fa: 5ba010ef jal ra,80001cb4 <__mulsf3> +800006fe: 553010ef jal ra,80002450 <__fixsfsi> +80000702: 842a mv s0,a0 + printf ("%d.", dmipsNatural); +80000704: 80003537 lui a0,0x80003 +80000708: 85a6 mv a1,s1 +8000070a: e4c50513 addi a0,a0,-436 # 80002e4c <_stack_start+0xffffcd7c> +8000070e: 2495 jal 80000972 <printf> + if(dmipsReal < 10) printf("0"); +80000710: 47a5 li a5,9 +80000712: 0a87d763 ble s0,a5,800007c0 <main2+0x5a4> + printf ("%d", dmipsReal); +80000716: 80003537 lui a0,0x80003 +8000071a: 85a2 mv a1,s0 +8000071c: e5050513 addi a0,a0,-432 # 80002e50 <_stack_start+0xffffcd80> +80000720: 2c89 jal 80000972 <printf> + printf ("\n"); +80000722: 4529 li a0,10 +80000724: 2e29 jal 80000a3e <putchar> +} +80000726: 40fa lw ra,156(sp) +80000728: 446a lw s0,152(sp) +8000072a: 44da lw s1,148(sp) +8000072c: 494a lw s2,144(sp) +8000072e: 49ba lw s3,140(sp) +80000730: 4a2a lw s4,136(sp) +80000732: 4a9a lw s5,132(sp) +80000734: 4b0a lw s6,128(sp) +80000736: 5bf6 lw s7,124(sp) +80000738: 5c66 lw s8,120(sp) +8000073a: 5cd6 lw s9,116(sp) +8000073c: 5d46 lw s10,112(sp) +8000073e: 5db6 lw s11,108(sp) +80000740: 610d addi sp,sp,160 +80000742: 8082 ret + Proc_6 (Ident_1, &Enum_Loc); +80000744: 086c addi a1,sp,28 +80000746: 4501 li a0,0 +80000748: 220d jal 8000086a <Proc_6> + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +8000074a: 004b2303 lw t1,4(s6) +8000074e: 008b2883 lw a7,8(s6) +80000752: 00cb2803 lw a6,12(s6) +80000756: 010b2503 lw a0,16(s6) +8000075a: 014b2583 lw a1,20(s6) +8000075e: 018b2603 lw a2,24(s6) +80000762: 01cb5683 lhu a3,28(s6) +80000766: 01eb4703 lbu a4,30(s6) + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000076a: 8341c783 lbu a5,-1996(gp) # 800030dc <Ch_2_Glob> +8000076e: 0a85 addi s5,s5,1 + strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING"); +80000770: c0e2 sw s8,64(sp) +80000772: c29a sw t1,68(sp) +80000774: c4c6 sw a7,72(sp) +80000776: c6c2 sw a6,76(sp) +80000778: c8aa sw a0,80(sp) +8000077a: caae sw a1,84(sp) +8000077c: ccb2 sw a2,88(sp) +8000077e: 04d11e23 sh a3,92(sp) +80000782: 04e10f23 sb a4,94(sp) + Int_Glob = Run_Index; +80000786: 8331ae23 sw s3,-1988(gp) # 800030e4 <Int_Glob> + for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index) +8000078a: 0ffafa93 andi s5,s5,255 +8000078e: 8a4e mv s4,s3 +80000790: c357fde3 bleu s5,a5,800003ca <main2+0x1ae> +80000794: b991 j 800003e8 <main2+0x1cc> + printf ("Program compiled without 'register' attribute\n"); +80000796: 80003537 lui a0,0x80003 +8000079a: 96850513 addi a0,a0,-1688 # 80002968 <_stack_start+0xffffc898> +8000079e: 2cad jal 80000a18 <puts> + printf ("\n"); +800007a0: 4529 li a0,10 +800007a2: 2c71 jal 80000a3e <putchar> +800007a4: b6b1 j 800002f0 <main2+0xd4> + printf ("Measured time too small to obtain meaningful results\n"); +800007a6: 80003537 lui a0,0x80003 +800007aa: db050513 addi a0,a0,-592 # 80002db0 <_stack_start+0xffffcce0> +800007ae: 24ad jal 80000a18 <puts> + printf ("Please increase number of runs\n"); +800007b0: 80003537 lui a0,0x80003 +800007b4: de850513 addi a0,a0,-536 # 80002de8 <_stack_start+0xffffcd18> +800007b8: 2485 jal 80000a18 <puts> + printf ("\n"); +800007ba: 4529 li a0,10 +800007bc: 2449 jal 80000a3e <putchar> +800007be: b7a5 j 80000726 <main2+0x50a> + if(dmipsReal < 10) printf("0"); +800007c0: 03000513 li a0,48 +800007c4: 2cad jal 80000a3e <putchar> +800007c6: bf81 j 80000716 <main2+0x4fa> + +800007c8 <Proc_7>: +One_Fifty Int_2_Par_Val; +One_Fifty *Int_Par_Ref; +{ + One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 2; +800007c8: 0509 addi a0,a0,2 + *Int_Par_Ref = Int_2_Par_Val + Int_Loc; +800007ca: 95aa add a1,a1,a0 +800007cc: c20c sw a1,0(a2) +} /* Proc_7 */ +800007ce: 8082 ret + +800007d0 <Proc_8>: +int Int_2_Par_Val; +{ + REG One_Fifty Int_Index; + REG One_Fifty Int_Loc; + + Int_Loc = Int_1_Par_Val + 5; +800007d0: 00560713 addi a4,a2,5 + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; + for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +800007d4: 0c800813 li a6,200 +800007d8: 03070833 mul a6,a4,a6 +800007dc: 060a slli a2,a2,0x2 + Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val; +800007de: 00271793 slli a5,a4,0x2 +800007e2: 953e add a0,a0,a5 +800007e4: c114 sw a3,0(a0) + Arr_1_Par_Ref [Int_Loc+30] = Int_Loc; +800007e6: dd38 sw a4,120(a0) + Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc]; +800007e8: c154 sw a3,4(a0) +800007ea: 00c807b3 add a5,a6,a2 +800007ee: 97ae add a5,a5,a1 + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +800007f0: 4b94 lw a3,16(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc; +800007f2: cbd8 sw a4,20(a5) +800007f4: cf98 sw a4,24(a5) + Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1; +800007f6: 00168713 addi a4,a3,1 +800007fa: cb98 sw a4,16(a5) + Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc]; +800007fc: 411c lw a5,0(a0) +800007fe: 95c2 add a1,a1,a6 +80000800: 95b2 add a1,a1,a2 +80000802: 6605 lui a2,0x1 +80000804: 95b2 add a1,a1,a2 +80000806: faf5aa23 sw a5,-76(a1) + Int_Glob = 5; +8000080a: 4715 li a4,5 +8000080c: 82e1ae23 sw a4,-1988(gp) # 800030e4 <Int_Glob> +} /* Proc_8 */ +80000810: 8082 ret + +80000812 <Func_1>: + /* second call: Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C' */ + /* third call: Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C' */ + +Capital_Letter Ch_1_Par_Val; +Capital_Letter Ch_2_Par_Val; +{ +80000812: 0ff57513 andi a0,a0,255 +80000816: 0ff5f593 andi a1,a1,255 + Capital_Letter Ch_1_Loc; + Capital_Letter Ch_2_Loc; + + Ch_1_Loc = Ch_1_Par_Val; + Ch_2_Loc = Ch_1_Loc; + if (Ch_2_Loc != Ch_2_Par_Val) +8000081a: 00b50463 beq a0,a1,80000822 <Func_1+0x10> + /* then, executed */ + return (Ident_1); +8000081e: 4501 li a0,0 + else /* not executed */ + { + Ch_1_Glob = Ch_1_Loc; + return (Ident_2); + } +} /* Func_1 */ +80000820: 8082 ret + Ch_1_Glob = Ch_1_Loc; +80000822: 82a18aa3 sb a0,-1995(gp) # 800030dd <Ch_1_Glob> + return (Ident_2); +80000826: 4505 li a0,1 +80000828: 8082 ret + +8000082a <Func_2>: + /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */ + /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */ + +Str_30 Str_1_Par_Ref; +Str_30 Str_2_Par_Ref; +{ +8000082a: 1141 addi sp,sp,-16 +8000082c: c422 sw s0,8(sp) +8000082e: c226 sw s1,4(sp) +80000830: c606 sw ra,12(sp) +80000832: 842a mv s0,a0 +80000834: 84ae mv s1,a1 + REG One_Thirty Int_Loc; + Capital_Letter Ch_Loc; + + Int_Loc = 2; + while (Int_Loc <= 2) /* loop body executed once */ + if (Func_1 (Str_1_Par_Ref[Int_Loc], +80000836: 0034c583 lbu a1,3(s1) +8000083a: 00244503 lbu a0,2(s0) +8000083e: 3fd1 jal 80000812 <Func_1> +80000840: f97d bnez a0,80000836 <Func_2+0xc> + if (Ch_Loc == 'R') + /* then, not executed */ + return (true); + else /* executed */ + { + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +80000842: 85a6 mv a1,s1 +80000844: 8522 mv a0,s0 +80000846: 2cdd jal 80000b3c <strcmp> + Int_Loc += 7; + Int_Glob = Int_Loc; + return (true); + } + else /* executed */ + return (false); +80000848: 4781 li a5,0 + if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0) +8000084a: 00a05663 blez a0,80000856 <Func_2+0x2c> + Int_Glob = Int_Loc; +8000084e: 4729 li a4,10 +80000850: 82e1ae23 sw a4,-1988(gp) # 800030e4 <Int_Glob> + return (true); +80000854: 4785 li a5,1 + } /* if Ch_Loc */ +} /* Func_2 */ +80000856: 40b2 lw ra,12(sp) +80000858: 4422 lw s0,8(sp) +8000085a: 4492 lw s1,4(sp) +8000085c: 853e mv a0,a5 +8000085e: 0141 addi sp,sp,16 +80000860: 8082 ret + +80000862 <Func_3>: +Enumeration Enum_Par_Val; +{ + Enumeration Enum_Loc; + + Enum_Loc = Enum_Par_Val; + if (Enum_Loc == Ident_3) +80000862: 1579 addi a0,a0,-2 + /* then, executed */ + return (true); + else /* not executed */ + return (false); +} /* Func_3 */ +80000864: 00153513 seqz a0,a0 +80000868: 8082 ret + +8000086a <Proc_6>: +{ +8000086a: 1141 addi sp,sp,-16 +8000086c: c422 sw s0,8(sp) +8000086e: c226 sw s1,4(sp) +80000870: c606 sw ra,12(sp) +80000872: 842a mv s0,a0 +80000874: 84ae mv s1,a1 + if (! Func_3 (Enum_Val_Par)) +80000876: 37f5 jal 80000862 <Func_3> +80000878: c115 beqz a0,8000089c <Proc_6+0x32> + *Enum_Ref_Par = Enum_Val_Par; +8000087a: c080 sw s0,0(s1) + switch (Enum_Val_Par) +8000087c: 4785 li a5,1 +8000087e: 02f40463 beq s0,a5,800008a6 <Proc_6+0x3c> +80000882: c805 beqz s0,800008b2 <Proc_6+0x48> +80000884: 4709 li a4,2 +80000886: 02e40d63 beq s0,a4,800008c0 <Proc_6+0x56> +8000088a: 4791 li a5,4 +8000088c: 00f41363 bne s0,a5,80000892 <Proc_6+0x28> + *Enum_Ref_Par = Ident_3; +80000890: c098 sw a4,0(s1) +} /* Proc_6 */ +80000892: 40b2 lw ra,12(sp) +80000894: 4422 lw s0,8(sp) +80000896: 4492 lw s1,4(sp) +80000898: 0141 addi sp,sp,16 +8000089a: 8082 ret + *Enum_Ref_Par = Ident_4; +8000089c: 478d li a5,3 +8000089e: c09c sw a5,0(s1) + switch (Enum_Val_Par) +800008a0: 4785 li a5,1 +800008a2: fef410e3 bne s0,a5,80000882 <Proc_6+0x18> + if (Int_Glob > 100) +800008a6: 83c1a703 lw a4,-1988(gp) # 800030e4 <Int_Glob> +800008aa: 06400793 li a5,100 +800008ae: 00e7df63 ble a4,a5,800008cc <Proc_6+0x62> +} /* Proc_6 */ +800008b2: 40b2 lw ra,12(sp) +800008b4: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_1; +800008b6: 0004a023 sw zero,0(s1) +} /* Proc_6 */ +800008ba: 4492 lw s1,4(sp) +800008bc: 0141 addi sp,sp,16 +800008be: 8082 ret +800008c0: 40b2 lw ra,12(sp) +800008c2: 4422 lw s0,8(sp) + *Enum_Ref_Par = Ident_2; +800008c4: c09c sw a5,0(s1) +} /* Proc_6 */ +800008c6: 4492 lw s1,4(sp) +800008c8: 0141 addi sp,sp,16 +800008ca: 8082 ret +800008cc: 40b2 lw ra,12(sp) +800008ce: 4422 lw s0,8(sp) + else *Enum_Ref_Par = Ident_4; +800008d0: 478d li a5,3 +800008d2: c09c sw a5,0(s1) +} /* Proc_6 */ +800008d4: 4492 lw s1,4(sp) +800008d6: 0141 addi sp,sp,16 +800008d8: 8082 ret + +800008da <printf_s>: +{ + putchar(c); +} + +static void printf_s(char *p) +{ +800008da: 1141 addi sp,sp,-16 +800008dc: c422 sw s0,8(sp) +800008de: c606 sw ra,12(sp) +800008e0: 842a mv s0,a0 + while (*p) +800008e2: 00054503 lbu a0,0(a0) +800008e6: c511 beqz a0,800008f2 <printf_s+0x18> + putchar(*(p++)); +800008e8: 0405 addi s0,s0,1 +800008ea: 2a91 jal 80000a3e <putchar> + while (*p) +800008ec: 00044503 lbu a0,0(s0) +800008f0: fd65 bnez a0,800008e8 <printf_s+0xe> +} +800008f2: 40b2 lw ra,12(sp) +800008f4: 4422 lw s0,8(sp) +800008f6: 0141 addi sp,sp,16 +800008f8: 8082 ret + +800008fa <printf_c>: + putchar(c); +800008fa: a291 j 80000a3e <putchar> + +800008fc <printf_d>: + +static void printf_d(int val) +{ +800008fc: 7179 addi sp,sp,-48 +800008fe: d226 sw s1,36(sp) +80000900: d606 sw ra,44(sp) +80000902: d422 sw s0,40(sp) +80000904: d04a sw s2,32(sp) +80000906: 84aa mv s1,a0 + char buffer[32]; + char *p = buffer; + if (val < 0) { +80000908: 02054e63 bltz a0,80000944 <printf_d+0x48> +{ +8000090c: 890a mv s2,sp +8000090e: 844a mv s0,s2 + printf_c('-'); + val = -val; + } + while (val || p == buffer) { + *(p++) = '0' + val % 10; +80000910: 4729 li a4,10 + while (val || p == buffer) { +80000912: e099 bnez s1,80000918 <printf_d+0x1c> +80000914: 01241c63 bne s0,s2,8000092c <printf_d+0x30> + *(p++) = '0' + val % 10; +80000918: 02e4e7b3 rem a5,s1,a4 +8000091c: 0405 addi s0,s0,1 +8000091e: 03078793 addi a5,a5,48 + val = val / 10; +80000922: 02e4c4b3 div s1,s1,a4 + *(p++) = '0' + val % 10; +80000926: fef40fa3 sb a5,-1(s0) +8000092a: b7e5 j 80000912 <printf_d+0x16> + } + while (p != buffer) + printf_c(*(--p)); +8000092c: 147d addi s0,s0,-1 +8000092e: 00044503 lbu a0,0(s0) +80000932: 37e1 jal 800008fa <printf_c> + while (p != buffer) +80000934: ff241ce3 bne s0,s2,8000092c <printf_d+0x30> +} +80000938: 50b2 lw ra,44(sp) +8000093a: 5422 lw s0,40(sp) +8000093c: 5492 lw s1,36(sp) +8000093e: 5902 lw s2,32(sp) +80000940: 6145 addi sp,sp,48 +80000942: 8082 ret + printf_c('-'); +80000944: 02d00513 li a0,45 +80000948: 3f4d jal 800008fa <printf_c> + val = -val; +8000094a: 409004b3 neg s1,s1 +8000094e: bf7d j 8000090c <printf_d+0x10> + +80000950 <malloc>: + char *p = heap_memory + heap_memory_used; +80000950: 8481a703 lw a4,-1976(gp) # 800030f0 <heap_memory_used> + heap_memory_used += size; +80000954: 00a707b3 add a5,a4,a0 + char *p = heap_memory + heap_memory_used; +80000958: 80006537 lui a0,0x80006 + heap_memory_used += size; +8000095c: 84f1a423 sw a5,-1976(gp) # 800030f0 <heap_memory_used> + char *p = heap_memory + heap_memory_used; +80000960: 8cc50513 addi a0,a0,-1844 # 800058cc <_stack_start+0xfffff7fc> + if (heap_memory_used > 1024) +80000964: 40000693 li a3,1024 + char *p = heap_memory + heap_memory_used; +80000968: 953a add a0,a0,a4 + if (heap_memory_used > 1024) +8000096a: 00f6d363 ble a5,a3,80000970 <malloc+0x20> + asm volatile ("ebreak"); +8000096e: 9002 ebreak +} +80000970: 8082 ret + +80000972 <printf>: + +int printf(const char *format, ...) +{ +80000972: 715d addi sp,sp,-80 +80000974: cc52 sw s4,24(sp) +80000976: d606 sw ra,44(sp) +80000978: d422 sw s0,40(sp) +8000097a: d226 sw s1,36(sp) +8000097c: d04a sw s2,32(sp) +8000097e: ce4e sw s3,28(sp) +80000980: ca56 sw s5,20(sp) +80000982: 8a2a mv s4,a0 + int i; + va_list ap; + + va_start(ap, format); + + for (i = 0; format[i]; i++) +80000984: 00054503 lbu a0,0(a0) +{ +80000988: c2be sw a5,68(sp) + va_start(ap, format); +8000098a: 185c addi a5,sp,52 +{ +8000098c: da2e sw a1,52(sp) +8000098e: dc32 sw a2,56(sp) +80000990: de36 sw a3,60(sp) +80000992: c0ba sw a4,64(sp) +80000994: c4c2 sw a6,72(sp) +80000996: c6c6 sw a7,76(sp) + va_start(ap, format); +80000998: c63e sw a5,12(sp) + for (i = 0; format[i]; i++) +8000099a: c11d beqz a0,800009c0 <printf+0x4e> +8000099c: 4401 li s0,0 + if (format[i] == '%') { +8000099e: 02500a93 li s5,37 + while (format[++i]) { + if (format[i] == 'c') { +800009a2: 06300493 li s1,99 + printf_c(va_arg(ap,int)); + break; + } + if (format[i] == 's') { +800009a6: 07300913 li s2,115 + printf_s(va_arg(ap,char*)); + break; + } + if (format[i] == 'd') { +800009aa: 06400993 li s3,100 + if (format[i] == '%') { +800009ae: 03550263 beq a0,s5,800009d2 <printf+0x60> + printf_d(va_arg(ap,int)); + break; + } + } + } else + printf_c(format[i]); +800009b2: 37a1 jal 800008fa <printf_c> + for (i = 0; format[i]; i++) +800009b4: 0405 addi s0,s0,1 +800009b6: 008a07b3 add a5,s4,s0 +800009ba: 0007c503 lbu a0,0(a5) +800009be: f965 bnez a0,800009ae <printf+0x3c> + + va_end(ap); +} +800009c0: 50b2 lw ra,44(sp) +800009c2: 5422 lw s0,40(sp) +800009c4: 5492 lw s1,36(sp) +800009c6: 5902 lw s2,32(sp) +800009c8: 49f2 lw s3,28(sp) +800009ca: 4a62 lw s4,24(sp) +800009cc: 4ad2 lw s5,20(sp) +800009ce: 6161 addi sp,sp,80 +800009d0: 8082 ret +800009d2: 00140693 addi a3,s0,1 +800009d6: 00da0733 add a4,s4,a3 +800009da: a031 j 800009e6 <printf+0x74> + if (format[i] == 's') { +800009dc: 03278263 beq a5,s2,80000a00 <printf+0x8e> + if (format[i] == 'd') { +800009e0: 03378663 beq a5,s3,80000a0c <printf+0x9a> +800009e4: 0685 addi a3,a3,1 + while (format[++i]) { +800009e6: 00074783 lbu a5,0(a4) +800009ea: 8436 mv s0,a3 +800009ec: 0705 addi a4,a4,1 +800009ee: d3f9 beqz a5,800009b4 <printf+0x42> + if (format[i] == 'c') { +800009f0: fe9796e3 bne a5,s1,800009dc <printf+0x6a> + printf_c(va_arg(ap,int)); +800009f4: 47b2 lw a5,12(sp) +800009f6: 4388 lw a0,0(a5) +800009f8: 0791 addi a5,a5,4 +800009fa: c63e sw a5,12(sp) +800009fc: 3dfd jal 800008fa <printf_c> + break; +800009fe: bf5d j 800009b4 <printf+0x42> + printf_s(va_arg(ap,char*)); +80000a00: 47b2 lw a5,12(sp) +80000a02: 4388 lw a0,0(a5) +80000a04: 0791 addi a5,a5,4 +80000a06: c63e sw a5,12(sp) +80000a08: 3dc9 jal 800008da <printf_s> + break; +80000a0a: b76d j 800009b4 <printf+0x42> + printf_d(va_arg(ap,int)); +80000a0c: 47b2 lw a5,12(sp) +80000a0e: 4388 lw a0,0(a5) +80000a10: 0791 addi a5,a5,4 +80000a12: c63e sw a5,12(sp) +80000a14: 35e5 jal 800008fc <printf_d> + break; +80000a16: bf79 j 800009b4 <printf+0x42> + +80000a18 <puts>: + + +int puts(char *s){ +80000a18: 1141 addi sp,sp,-16 +80000a1a: c422 sw s0,8(sp) +80000a1c: c606 sw ra,12(sp) +80000a1e: 842a mv s0,a0 + while (*s) { +80000a20: 00054503 lbu a0,0(a0) +80000a24: c511 beqz a0,80000a30 <puts+0x18> + putchar(*s); + s++; +80000a26: 0405 addi s0,s0,1 + putchar(*s); +80000a28: 2819 jal 80000a3e <putchar> + while (*s) { +80000a2a: 00044503 lbu a0,0(s0) +80000a2e: fd65 bnez a0,80000a26 <puts+0xe> + } + putchar('\n'); +80000a30: 4529 li a0,10 +80000a32: 2031 jal 80000a3e <putchar> + return 0; +} +80000a34: 40b2 lw ra,12(sp) +80000a36: 4422 lw s0,8(sp) +80000a38: 4501 li a0,0 +80000a3a: 0141 addi sp,sp,16 +80000a3c: 8082 ret + +80000a3e <putchar>: + +void putchar(char c){ + TEST_COM_BASE[0] = c; +80000a3e: f01007b7 lui a5,0xf0100 +80000a42: f0a7a023 sw a0,-256(a5) # f00fff00 <_stack_start+0x700f9e30> +} +80000a46: 8082 ret + +80000a48 <clock>: + +#include <time.h> +clock_t clock(){ + return TEST_COM_BASE[4]; +80000a48: f01007b7 lui a5,0xf0100 +80000a4c: f107a503 lw a0,-240(a5) # f00fff10 <_stack_start+0x700f9e40> +} +80000a50: 8082 ret + ... + +80000a54 <memcpy>: +80000a54: 00a5c7b3 xor a5,a1,a0 +80000a58: 0037f793 andi a5,a5,3 +80000a5c: 00c50733 add a4,a0,a2 +80000a60: 00079663 bnez a5,80000a6c <memcpy+0x18> +80000a64: 00300793 li a5,3 +80000a68: 02c7e463 bltu a5,a2,80000a90 <memcpy+0x3c> +80000a6c: 00050793 mv a5,a0 +80000a70: 00e56c63 bltu a0,a4,80000a88 <memcpy+0x34> +80000a74: 00008067 ret +80000a78: 0005c683 lbu a3,0(a1) +80000a7c: 00178793 addi a5,a5,1 +80000a80: 00158593 addi a1,a1,1 +80000a84: fed78fa3 sb a3,-1(a5) +80000a88: fee7e8e3 bltu a5,a4,80000a78 <memcpy+0x24> +80000a8c: 00008067 ret +80000a90: 00357793 andi a5,a0,3 +80000a94: 08079263 bnez a5,80000b18 <memcpy+0xc4> +80000a98: 00050793 mv a5,a0 +80000a9c: ffc77693 andi a3,a4,-4 +80000aa0: fe068613 addi a2,a3,-32 +80000aa4: 08c7f663 bleu a2,a5,80000b30 <memcpy+0xdc> +80000aa8: 0005a383 lw t2,0(a1) +80000aac: 0045a283 lw t0,4(a1) +80000ab0: 0085af83 lw t6,8(a1) +80000ab4: 00c5af03 lw t5,12(a1) +80000ab8: 0105ae83 lw t4,16(a1) +80000abc: 0145ae03 lw t3,20(a1) +80000ac0: 0185a303 lw t1,24(a1) +80000ac4: 01c5a883 lw a7,28(a1) +80000ac8: 02458593 addi a1,a1,36 +80000acc: 02478793 addi a5,a5,36 +80000ad0: ffc5a803 lw a6,-4(a1) +80000ad4: fc77ae23 sw t2,-36(a5) +80000ad8: fe57a023 sw t0,-32(a5) +80000adc: fff7a223 sw t6,-28(a5) +80000ae0: ffe7a423 sw t5,-24(a5) +80000ae4: ffd7a623 sw t4,-20(a5) +80000ae8: ffc7a823 sw t3,-16(a5) +80000aec: fe67aa23 sw t1,-12(a5) +80000af0: ff17ac23 sw a7,-8(a5) +80000af4: ff07ae23 sw a6,-4(a5) +80000af8: fadff06f j 80000aa4 <memcpy+0x50> +80000afc: 0005c683 lbu a3,0(a1) +80000b00: 00178793 addi a5,a5,1 +80000b04: 00158593 addi a1,a1,1 +80000b08: fed78fa3 sb a3,-1(a5) +80000b0c: 0037f693 andi a3,a5,3 +80000b10: fe0696e3 bnez a3,80000afc <memcpy+0xa8> +80000b14: f89ff06f j 80000a9c <memcpy+0x48> +80000b18: 00050793 mv a5,a0 +80000b1c: ff1ff06f j 80000b0c <memcpy+0xb8> +80000b20: 0005a603 lw a2,0(a1) +80000b24: 00478793 addi a5,a5,4 +80000b28: 00458593 addi a1,a1,4 +80000b2c: fec7ae23 sw a2,-4(a5) +80000b30: fed7e8e3 bltu a5,a3,80000b20 <memcpy+0xcc> +80000b34: f4e7eae3 bltu a5,a4,80000a88 <memcpy+0x34> +80000b38: 00008067 ret + +80000b3c <strcmp>: +80000b3c: 00b56733 or a4,a0,a1 +80000b40: fff00393 li t2,-1 +80000b44: 00377713 andi a4,a4,3 +80000b48: 10071063 bnez a4,80000c48 <strcmp+0x10c> +80000b4c: 7f7f87b7 lui a5,0x7f7f8 +80000b50: f7f78793 addi a5,a5,-129 # 7f7f7f7f <_stack_size+0x7f7f7b7f> +80000b54: 00052603 lw a2,0(a0) +80000b58: 0005a683 lw a3,0(a1) +80000b5c: 00f672b3 and t0,a2,a5 +80000b60: 00f66333 or t1,a2,a5 +80000b64: 00f282b3 add t0,t0,a5 +80000b68: 0062e2b3 or t0,t0,t1 +80000b6c: 10729263 bne t0,t2,80000c70 <strcmp+0x134> +80000b70: 08d61663 bne a2,a3,80000bfc <strcmp+0xc0> +80000b74: 00452603 lw a2,4(a0) +80000b78: 0045a683 lw a3,4(a1) +80000b7c: 00f672b3 and t0,a2,a5 +80000b80: 00f66333 or t1,a2,a5 +80000b84: 00f282b3 add t0,t0,a5 +80000b88: 0062e2b3 or t0,t0,t1 +80000b8c: 0c729e63 bne t0,t2,80000c68 <strcmp+0x12c> +80000b90: 06d61663 bne a2,a3,80000bfc <strcmp+0xc0> +80000b94: 00852603 lw a2,8(a0) +80000b98: 0085a683 lw a3,8(a1) +80000b9c: 00f672b3 and t0,a2,a5 +80000ba0: 00f66333 or t1,a2,a5 +80000ba4: 00f282b3 add t0,t0,a5 +80000ba8: 0062e2b3 or t0,t0,t1 +80000bac: 0c729863 bne t0,t2,80000c7c <strcmp+0x140> +80000bb0: 04d61663 bne a2,a3,80000bfc <strcmp+0xc0> +80000bb4: 00c52603 lw a2,12(a0) +80000bb8: 00c5a683 lw a3,12(a1) +80000bbc: 00f672b3 and t0,a2,a5 +80000bc0: 00f66333 or t1,a2,a5 +80000bc4: 00f282b3 add t0,t0,a5 +80000bc8: 0062e2b3 or t0,t0,t1 +80000bcc: 0c729263 bne t0,t2,80000c90 <strcmp+0x154> +80000bd0: 02d61663 bne a2,a3,80000bfc <strcmp+0xc0> +80000bd4: 01052603 lw a2,16(a0) +80000bd8: 0105a683 lw a3,16(a1) +80000bdc: 00f672b3 and t0,a2,a5 +80000be0: 00f66333 or t1,a2,a5 +80000be4: 00f282b3 add t0,t0,a5 +80000be8: 0062e2b3 or t0,t0,t1 +80000bec: 0a729c63 bne t0,t2,80000ca4 <strcmp+0x168> +80000bf0: 01450513 addi a0,a0,20 +80000bf4: 01458593 addi a1,a1,20 +80000bf8: f4d60ee3 beq a2,a3,80000b54 <strcmp+0x18> +80000bfc: 01061713 slli a4,a2,0x10 +80000c00: 01069793 slli a5,a3,0x10 +80000c04: 00f71e63 bne a4,a5,80000c20 <strcmp+0xe4> +80000c08: 01065713 srli a4,a2,0x10 +80000c0c: 0106d793 srli a5,a3,0x10 +80000c10: 40f70533 sub a0,a4,a5 +80000c14: 0ff57593 andi a1,a0,255 +80000c18: 02059063 bnez a1,80000c38 <strcmp+0xfc> +80000c1c: 00008067 ret +80000c20: 01075713 srli a4,a4,0x10 +80000c24: 0107d793 srli a5,a5,0x10 +80000c28: 40f70533 sub a0,a4,a5 +80000c2c: 0ff57593 andi a1,a0,255 +80000c30: 00059463 bnez a1,80000c38 <strcmp+0xfc> +80000c34: 00008067 ret +80000c38: 0ff77713 andi a4,a4,255 +80000c3c: 0ff7f793 andi a5,a5,255 +80000c40: 40f70533 sub a0,a4,a5 +80000c44: 00008067 ret +80000c48: 00054603 lbu a2,0(a0) +80000c4c: 0005c683 lbu a3,0(a1) +80000c50: 00150513 addi a0,a0,1 +80000c54: 00158593 addi a1,a1,1 +80000c58: 00d61463 bne a2,a3,80000c60 <strcmp+0x124> +80000c5c: fe0616e3 bnez a2,80000c48 <strcmp+0x10c> +80000c60: 40d60533 sub a0,a2,a3 +80000c64: 00008067 ret +80000c68: 00450513 addi a0,a0,4 +80000c6c: 00458593 addi a1,a1,4 +80000c70: fcd61ce3 bne a2,a3,80000c48 <strcmp+0x10c> +80000c74: 00000513 li a0,0 +80000c78: 00008067 ret +80000c7c: 00850513 addi a0,a0,8 +80000c80: 00858593 addi a1,a1,8 +80000c84: fcd612e3 bne a2,a3,80000c48 <strcmp+0x10c> +80000c88: 00000513 li a0,0 +80000c8c: 00008067 ret +80000c90: 00c50513 addi a0,a0,12 +80000c94: 00c58593 addi a1,a1,12 +80000c98: fad618e3 bne a2,a3,80000c48 <strcmp+0x10c> +80000c9c: 00000513 li a0,0 +80000ca0: 00008067 ret +80000ca4: 01050513 addi a0,a0,16 +80000ca8: 01058593 addi a1,a1,16 +80000cac: f8d61ee3 bne a2,a3,80000c48 <strcmp+0x10c> +80000cb0: 00000513 li a0,0 +80000cb4: 00008067 ret + +80000cb8 <__divdf3>: +80000cb8: fd010113 addi sp,sp,-48 +80000cbc: 02812423 sw s0,40(sp) +80000cc0: 02912223 sw s1,36(sp) +80000cc4: 01612823 sw s6,16(sp) +80000cc8: 00050413 mv s0,a0 +80000ccc: 00050b13 mv s6,a0 +80000cd0: 001004b7 lui s1,0x100 +80000cd4: 0145d513 srli a0,a1,0x14 +80000cd8: 03212023 sw s2,32(sp) +80000cdc: 01312e23 sw s3,28(sp) +80000ce0: 01712623 sw s7,12(sp) +80000ce4: fff48493 addi s1,s1,-1 # fffff <_stack_size+0xffbff> +80000ce8: 02112623 sw ra,44(sp) +80000cec: 01412c23 sw s4,24(sp) +80000cf0: 01512a23 sw s5,20(sp) +80000cf4: 7ff57513 andi a0,a0,2047 +80000cf8: 00060b93 mv s7,a2 +80000cfc: 00068993 mv s3,a3 +80000d00: 00b4f4b3 and s1,s1,a1 +80000d04: 01f5d913 srli s2,a1,0x1f +80000d08: 0a050663 beqz a0,80000db4 <__divdf3+0xfc> +80000d0c: 7ff00793 li a5,2047 +80000d10: 10f50663 beq a0,a5,80000e1c <__divdf3+0x164> +80000d14: 00349493 slli s1,s1,0x3 +80000d18: 008006b7 lui a3,0x800 +80000d1c: 00d4e4b3 or s1,s1,a3 +80000d20: 01db5a93 srli s5,s6,0x1d +80000d24: 009aeab3 or s5,s5,s1 +80000d28: 003b1413 slli s0,s6,0x3 +80000d2c: c0150a13 addi s4,a0,-1023 +80000d30: 00000b13 li s6,0 +80000d34: 0149d513 srli a0,s3,0x14 +80000d38: 001004b7 lui s1,0x100 +80000d3c: fff48493 addi s1,s1,-1 # fffff <_stack_size+0xffbff> +80000d40: 7ff57513 andi a0,a0,2047 +80000d44: 0134f4b3 and s1,s1,s3 +80000d48: 000b8f93 mv t6,s7 +80000d4c: 01f9d993 srli s3,s3,0x1f +80000d50: 10050263 beqz a0,80000e54 <__divdf3+0x19c> +80000d54: 7ff00793 li a5,2047 +80000d58: 16f50263 beq a0,a5,80000ebc <__divdf3+0x204> +80000d5c: 008007b7 lui a5,0x800 +80000d60: 00349493 slli s1,s1,0x3 +80000d64: 00f4e4b3 or s1,s1,a5 +80000d68: 01dbd793 srli a5,s7,0x1d +80000d6c: 0097e7b3 or a5,a5,s1 +80000d70: 003b9f93 slli t6,s7,0x3 +80000d74: c0150513 addi a0,a0,-1023 +80000d78: 00000713 li a4,0 +80000d7c: 002b1693 slli a3,s6,0x2 +80000d80: 00e6e6b3 or a3,a3,a4 +80000d84: fff68693 addi a3,a3,-1 # 7fffff <_stack_size+0x7ffbff> +80000d88: 00e00593 li a1,14 +80000d8c: 01394633 xor a2,s2,s3 +80000d90: 40aa0533 sub a0,s4,a0 +80000d94: 16d5e063 bltu a1,a3,80000ef4 <__divdf3+0x23c> +80000d98: 00002597 auipc a1,0x2 +80000d9c: 11c58593 addi a1,a1,284 # 80002eb4 <end+0x5e0> +80000da0: 00269693 slli a3,a3,0x2 +80000da4: 00b686b3 add a3,a3,a1 +80000da8: 0006a683 lw a3,0(a3) +80000dac: 00b686b3 add a3,a3,a1 +80000db0: 00068067 jr a3 +80000db4: 0164eab3 or s5,s1,s6 +80000db8: 060a8e63 beqz s5,80000e34 <__divdf3+0x17c> +80000dbc: 04048063 beqz s1,80000dfc <__divdf3+0x144> +80000dc0: 00048513 mv a0,s1 +80000dc4: 2c5010ef jal ra,80002888 <__clzsi2> +80000dc8: ff550793 addi a5,a0,-11 +80000dcc: 01c00713 li a4,28 +80000dd0: 02f74e63 blt a4,a5,80000e0c <__divdf3+0x154> +80000dd4: 01d00a93 li s5,29 +80000dd8: ff850413 addi s0,a0,-8 +80000ddc: 40fa8ab3 sub s5,s5,a5 +80000de0: 008494b3 sll s1,s1,s0 +80000de4: 015b5ab3 srl s5,s6,s5 +80000de8: 009aeab3 or s5,s5,s1 +80000dec: 008b1433 sll s0,s6,s0 +80000df0: c0d00a13 li s4,-1011 +80000df4: 40aa0a33 sub s4,s4,a0 +80000df8: f39ff06f j 80000d30 <__divdf3+0x78> +80000dfc: 000b0513 mv a0,s6 +80000e00: 289010ef jal ra,80002888 <__clzsi2> +80000e04: 02050513 addi a0,a0,32 +80000e08: fc1ff06f j 80000dc8 <__divdf3+0x110> +80000e0c: fd850493 addi s1,a0,-40 +80000e10: 009b1ab3 sll s5,s6,s1 +80000e14: 00000413 li s0,0 +80000e18: fd9ff06f j 80000df0 <__divdf3+0x138> +80000e1c: 0164eab3 or s5,s1,s6 +80000e20: 020a8263 beqz s5,80000e44 <__divdf3+0x18c> +80000e24: 00048a93 mv s5,s1 +80000e28: 7ff00a13 li s4,2047 +80000e2c: 00300b13 li s6,3 +80000e30: f05ff06f j 80000d34 <__divdf3+0x7c> +80000e34: 00000413 li s0,0 +80000e38: 00000a13 li s4,0 +80000e3c: 00100b13 li s6,1 +80000e40: ef5ff06f j 80000d34 <__divdf3+0x7c> +80000e44: 00000413 li s0,0 +80000e48: 7ff00a13 li s4,2047 +80000e4c: 00200b13 li s6,2 +80000e50: ee5ff06f j 80000d34 <__divdf3+0x7c> +80000e54: 0174e7b3 or a5,s1,s7 +80000e58: 06078e63 beqz a5,80000ed4 <__divdf3+0x21c> +80000e5c: 04048063 beqz s1,80000e9c <__divdf3+0x1e4> +80000e60: 00048513 mv a0,s1 +80000e64: 225010ef jal ra,80002888 <__clzsi2> +80000e68: ff550713 addi a4,a0,-11 +80000e6c: 01c00793 li a5,28 +80000e70: 02e7ce63 blt a5,a4,80000eac <__divdf3+0x1f4> +80000e74: 01d00793 li a5,29 +80000e78: ff850f93 addi t6,a0,-8 +80000e7c: 40e787b3 sub a5,a5,a4 +80000e80: 01f494b3 sll s1,s1,t6 +80000e84: 00fbd7b3 srl a5,s7,a5 +80000e88: 0097e7b3 or a5,a5,s1 +80000e8c: 01fb9fb3 sll t6,s7,t6 +80000e90: c0d00613 li a2,-1011 +80000e94: 40a60533 sub a0,a2,a0 +80000e98: ee1ff06f j 80000d78 <__divdf3+0xc0> +80000e9c: 000b8513 mv a0,s7 +80000ea0: 1e9010ef jal ra,80002888 <__clzsi2> +80000ea4: 02050513 addi a0,a0,32 +80000ea8: fc1ff06f j 80000e68 <__divdf3+0x1b0> +80000eac: fd850793 addi a5,a0,-40 +80000eb0: 00fb97b3 sll a5,s7,a5 +80000eb4: 00000f93 li t6,0 +80000eb8: fd9ff06f j 80000e90 <__divdf3+0x1d8> +80000ebc: 0174e7b3 or a5,s1,s7 +80000ec0: 02078263 beqz a5,80000ee4 <__divdf3+0x22c> +80000ec4: 00048793 mv a5,s1 +80000ec8: 7ff00513 li a0,2047 +80000ecc: 00300713 li a4,3 +80000ed0: eadff06f j 80000d7c <__divdf3+0xc4> +80000ed4: 00000f93 li t6,0 +80000ed8: 00000513 li a0,0 +80000edc: 00100713 li a4,1 +80000ee0: e9dff06f j 80000d7c <__divdf3+0xc4> +80000ee4: 00000f93 li t6,0 +80000ee8: 7ff00513 li a0,2047 +80000eec: 00200713 li a4,2 +80000ef0: e8dff06f j 80000d7c <__divdf3+0xc4> +80000ef4: 0157e663 bltu a5,s5,80000f00 <__divdf3+0x248> +80000ef8: 36fa9063 bne s5,a5,80001258 <__divdf3+0x5a0> +80000efc: 35f46e63 bltu s0,t6,80001258 <__divdf3+0x5a0> +80000f00: 01fa9593 slli a1,s5,0x1f +80000f04: 00145693 srli a3,s0,0x1 +80000f08: 01f41713 slli a4,s0,0x1f +80000f0c: 001ada93 srli s5,s5,0x1 +80000f10: 00d5e433 or s0,a1,a3 +80000f14: 00879793 slli a5,a5,0x8 +80000f18: 018fd813 srli a6,t6,0x18 +80000f1c: 00f86833 or a6,a6,a5 +80000f20: 01085e93 srli t4,a6,0x10 +80000f24: 03dad5b3 divu a1,s5,t4 +80000f28: 01081e13 slli t3,a6,0x10 +80000f2c: 010e5e13 srli t3,t3,0x10 +80000f30: 01045693 srli a3,s0,0x10 +80000f34: 008f9893 slli a7,t6,0x8 +80000f38: 03daf4b3 remu s1,s5,t4 +80000f3c: 00058f93 mv t6,a1 +80000f40: 02be07b3 mul a5,t3,a1 +80000f44: 01049493 slli s1,s1,0x10 +80000f48: 0096e6b3 or a3,a3,s1 +80000f4c: 00f6fe63 bleu a5,a3,80000f68 <__divdf3+0x2b0> +80000f50: 010686b3 add a3,a3,a6 +80000f54: fff58f93 addi t6,a1,-1 +80000f58: 0106e863 bltu a3,a6,80000f68 <__divdf3+0x2b0> +80000f5c: 00f6f663 bleu a5,a3,80000f68 <__divdf3+0x2b0> +80000f60: ffe58f93 addi t6,a1,-2 +80000f64: 010686b3 add a3,a3,a6 +80000f68: 40f686b3 sub a3,a3,a5 +80000f6c: 03d6d333 divu t1,a3,t4 +80000f70: 01041413 slli s0,s0,0x10 +80000f74: 01045413 srli s0,s0,0x10 +80000f78: 03d6f6b3 remu a3,a3,t4 +80000f7c: 00030793 mv a5,t1 +80000f80: 026e05b3 mul a1,t3,t1 +80000f84: 01069693 slli a3,a3,0x10 +80000f88: 00d466b3 or a3,s0,a3 +80000f8c: 00b6fe63 bleu a1,a3,80000fa8 <__divdf3+0x2f0> +80000f90: 010686b3 add a3,a3,a6 +80000f94: fff30793 addi a5,t1,-1 +80000f98: 0106e863 bltu a3,a6,80000fa8 <__divdf3+0x2f0> +80000f9c: 00b6f663 bleu a1,a3,80000fa8 <__divdf3+0x2f0> +80000fa0: ffe30793 addi a5,t1,-2 +80000fa4: 010686b3 add a3,a3,a6 +80000fa8: 40b68433 sub s0,a3,a1 +80000fac: 010f9f93 slli t6,t6,0x10 +80000fb0: 000105b7 lui a1,0x10 +80000fb4: 00ffefb3 or t6,t6,a5 +80000fb8: fff58313 addi t1,a1,-1 # ffff <_stack_size+0xfbff> +80000fbc: 010fd693 srli a3,t6,0x10 +80000fc0: 006ff7b3 and a5,t6,t1 +80000fc4: 0108df13 srli t5,a7,0x10 +80000fc8: 0068f333 and t1,a7,t1 +80000fcc: 026783b3 mul t2,a5,t1 +80000fd0: 026684b3 mul s1,a3,t1 +80000fd4: 02ff07b3 mul a5,t5,a5 +80000fd8: 03e682b3 mul t0,a3,t5 +80000fdc: 009786b3 add a3,a5,s1 +80000fe0: 0103d793 srli a5,t2,0x10 +80000fe4: 00d787b3 add a5,a5,a3 +80000fe8: 0097f463 bleu s1,a5,80000ff0 <__divdf3+0x338> +80000fec: 00b282b3 add t0,t0,a1 +80000ff0: 0107d693 srli a3,a5,0x10 +80000ff4: 005686b3 add a3,a3,t0 +80000ff8: 000102b7 lui t0,0x10 +80000ffc: fff28293 addi t0,t0,-1 # ffff <_stack_size+0xfbff> +80001000: 0057f5b3 and a1,a5,t0 +80001004: 01059593 slli a1,a1,0x10 +80001008: 0053f3b3 and t2,t2,t0 +8000100c: 007585b3 add a1,a1,t2 +80001010: 00d46863 bltu s0,a3,80001020 <__divdf3+0x368> +80001014: 000f8793 mv a5,t6 +80001018: 04d41463 bne s0,a3,80001060 <__divdf3+0x3a8> +8000101c: 04b77263 bleu a1,a4,80001060 <__divdf3+0x3a8> +80001020: 01170733 add a4,a4,a7 +80001024: 011732b3 sltu t0,a4,a7 +80001028: 010282b3 add t0,t0,a6 +8000102c: 00540433 add s0,s0,t0 +80001030: ffff8793 addi a5,t6,-1 +80001034: 00886663 bltu a6,s0,80001040 <__divdf3+0x388> +80001038: 02881463 bne a6,s0,80001060 <__divdf3+0x3a8> +8000103c: 03176263 bltu a4,a7,80001060 <__divdf3+0x3a8> +80001040: 00d46663 bltu s0,a3,8000104c <__divdf3+0x394> +80001044: 00869e63 bne a3,s0,80001060 <__divdf3+0x3a8> +80001048: 00b77c63 bleu a1,a4,80001060 <__divdf3+0x3a8> +8000104c: 01170733 add a4,a4,a7 +80001050: ffef8793 addi a5,t6,-2 +80001054: 01173fb3 sltu t6,a4,a7 +80001058: 010f8fb3 add t6,t6,a6 +8000105c: 01f40433 add s0,s0,t6 +80001060: 40b705b3 sub a1,a4,a1 +80001064: 40d40433 sub s0,s0,a3 +80001068: 00b73733 sltu a4,a4,a1 +8000106c: 40e40433 sub s0,s0,a4 +80001070: fff00f93 li t6,-1 +80001074: 12880463 beq a6,s0,8000119c <__divdf3+0x4e4> +80001078: 03d452b3 divu t0,s0,t4 +8000107c: 0105d693 srli a3,a1,0x10 +80001080: 03d47433 remu s0,s0,t4 +80001084: 00028713 mv a4,t0 +80001088: 025e0fb3 mul t6,t3,t0 +8000108c: 01041413 slli s0,s0,0x10 +80001090: 0086e433 or s0,a3,s0 +80001094: 01f47e63 bleu t6,s0,800010b0 <__divdf3+0x3f8> +80001098: 01040433 add s0,s0,a6 +8000109c: fff28713 addi a4,t0,-1 +800010a0: 01046863 bltu s0,a6,800010b0 <__divdf3+0x3f8> +800010a4: 01f47663 bleu t6,s0,800010b0 <__divdf3+0x3f8> +800010a8: ffe28713 addi a4,t0,-2 +800010ac: 01040433 add s0,s0,a6 +800010b0: 41f40433 sub s0,s0,t6 +800010b4: 03d456b3 divu a3,s0,t4 +800010b8: 01059593 slli a1,a1,0x10 +800010bc: 0105d593 srli a1,a1,0x10 +800010c0: 03d47433 remu s0,s0,t4 +800010c4: 02de0e33 mul t3,t3,a3 +800010c8: 01041413 slli s0,s0,0x10 +800010cc: 0085e433 or s0,a1,s0 +800010d0: 00068593 mv a1,a3 +800010d4: 01c47e63 bleu t3,s0,800010f0 <__divdf3+0x438> +800010d8: 01040433 add s0,s0,a6 +800010dc: fff68593 addi a1,a3,-1 +800010e0: 01046863 bltu s0,a6,800010f0 <__divdf3+0x438> +800010e4: 01c47663 bleu t3,s0,800010f0 <__divdf3+0x438> +800010e8: ffe68593 addi a1,a3,-2 +800010ec: 01040433 add s0,s0,a6 +800010f0: 01071713 slli a4,a4,0x10 +800010f4: 00b765b3 or a1,a4,a1 +800010f8: 01059713 slli a4,a1,0x10 +800010fc: 01075713 srli a4,a4,0x10 +80001100: 41c40433 sub s0,s0,t3 +80001104: 0105de13 srli t3,a1,0x10 +80001108: 02670eb3 mul t4,a4,t1 +8000110c: 026e0333 mul t1,t3,t1 +80001110: 03cf0e33 mul t3,t5,t3 +80001114: 02ef0f33 mul t5,t5,a4 +80001118: 010ed713 srli a4,t4,0x10 +8000111c: 006f0f33 add t5,t5,t1 +80001120: 01e70733 add a4,a4,t5 +80001124: 00677663 bleu t1,a4,80001130 <__divdf3+0x478> +80001128: 000106b7 lui a3,0x10 +8000112c: 00de0e33 add t3,t3,a3 +80001130: 01075313 srli t1,a4,0x10 +80001134: 01c30333 add t1,t1,t3 +80001138: 00010e37 lui t3,0x10 +8000113c: fffe0e13 addi t3,t3,-1 # ffff <_stack_size+0xfbff> +80001140: 01c776b3 and a3,a4,t3 +80001144: 01069693 slli a3,a3,0x10 +80001148: 01cefeb3 and t4,t4,t3 +8000114c: 01d686b3 add a3,a3,t4 +80001150: 00646863 bltu s0,t1,80001160 <__divdf3+0x4a8> +80001154: 00058f93 mv t6,a1 +80001158: 04641063 bne s0,t1,80001198 <__divdf3+0x4e0> +8000115c: 04068063 beqz a3,8000119c <__divdf3+0x4e4> +80001160: 00880433 add s0,a6,s0 +80001164: fff58f93 addi t6,a1,-1 +80001168: 03046463 bltu s0,a6,80001190 <__divdf3+0x4d8> +8000116c: 00646663 bltu s0,t1,80001178 <__divdf3+0x4c0> +80001170: 02641463 bne s0,t1,80001198 <__divdf3+0x4e0> +80001174: 02d8f063 bleu a3,a7,80001194 <__divdf3+0x4dc> +80001178: 00189713 slli a4,a7,0x1 +8000117c: 011738b3 sltu a7,a4,a7 +80001180: 01088833 add a6,a7,a6 +80001184: ffe58f93 addi t6,a1,-2 +80001188: 01040433 add s0,s0,a6 +8000118c: 00070893 mv a7,a4 +80001190: 00641463 bne s0,t1,80001198 <__divdf3+0x4e0> +80001194: 01168463 beq a3,a7,8000119c <__divdf3+0x4e4> +80001198: 001fef93 ori t6,t6,1 +8000119c: 3ff50693 addi a3,a0,1023 +800011a0: 10d05a63 blez a3,800012b4 <__divdf3+0x5fc> +800011a4: 007ff713 andi a4,t6,7 +800011a8: 02070063 beqz a4,800011c8 <__divdf3+0x510> +800011ac: 00fff713 andi a4,t6,15 +800011b0: 00400593 li a1,4 +800011b4: 00b70a63 beq a4,a1,800011c8 <__divdf3+0x510> +800011b8: 004f8593 addi a1,t6,4 +800011bc: 01f5bfb3 sltu t6,a1,t6 +800011c0: 01f787b3 add a5,a5,t6 +800011c4: 00058f93 mv t6,a1 +800011c8: 00779713 slli a4,a5,0x7 +800011cc: 00075a63 bgez a4,800011e0 <__divdf3+0x528> +800011d0: ff000737 lui a4,0xff000 +800011d4: fff70713 addi a4,a4,-1 # feffffff <_stack_start+0x7eff9f2f> +800011d8: 00e7f7b3 and a5,a5,a4 +800011dc: 40050693 addi a3,a0,1024 +800011e0: 7fe00713 li a4,2046 +800011e4: 18d74a63 blt a4,a3,80001378 <__divdf3+0x6c0> +800011e8: 01d79713 slli a4,a5,0x1d +800011ec: 003fdf93 srli t6,t6,0x3 +800011f0: 01f76733 or a4,a4,t6 +800011f4: 0037d793 srli a5,a5,0x3 +800011f8: 001005b7 lui a1,0x100 +800011fc: fff58593 addi a1,a1,-1 # fffff <_stack_size+0xffbff> +80001200: 00b7f7b3 and a5,a5,a1 +80001204: 801005b7 lui a1,0x80100 +80001208: fff58593 addi a1,a1,-1 # 800fffff <_stack_start+0xf9f2f> +8000120c: 7ff6f693 andi a3,a3,2047 +80001210: 01469693 slli a3,a3,0x14 +80001214: 00b7f7b3 and a5,a5,a1 +80001218: 02c12083 lw ra,44(sp) +8000121c: 02812403 lw s0,40(sp) +80001220: 01f61613 slli a2,a2,0x1f +80001224: 00d7e7b3 or a5,a5,a3 +80001228: 00c7e6b3 or a3,a5,a2 +8000122c: 02412483 lw s1,36(sp) +80001230: 02012903 lw s2,32(sp) +80001234: 01c12983 lw s3,28(sp) +80001238: 01812a03 lw s4,24(sp) +8000123c: 01412a83 lw s5,20(sp) +80001240: 01012b03 lw s6,16(sp) +80001244: 00c12b83 lw s7,12(sp) +80001248: 00070513 mv a0,a4 +8000124c: 00068593 mv a1,a3 +80001250: 03010113 addi sp,sp,48 +80001254: 00008067 ret +80001258: fff50513 addi a0,a0,-1 +8000125c: 00000713 li a4,0 +80001260: cb5ff06f j 80000f14 <__divdf3+0x25c> +80001264: 00090613 mv a2,s2 +80001268: 000a8793 mv a5,s5 +8000126c: 00040f93 mv t6,s0 +80001270: 000b0713 mv a4,s6 +80001274: 00200693 li a3,2 +80001278: 10d70063 beq a4,a3,80001378 <__divdf3+0x6c0> +8000127c: 00300693 li a3,3 +80001280: 0ed70263 beq a4,a3,80001364 <__divdf3+0x6ac> +80001284: 00100693 li a3,1 +80001288: f0d71ae3 bne a4,a3,8000119c <__divdf3+0x4e4> +8000128c: 00000793 li a5,0 +80001290: 00000713 li a4,0 +80001294: 0940006f j 80001328 <__divdf3+0x670> +80001298: 00098613 mv a2,s3 +8000129c: fd9ff06f j 80001274 <__divdf3+0x5bc> +800012a0: 000807b7 lui a5,0x80 +800012a4: 00000f93 li t6,0 +800012a8: 00000613 li a2,0 +800012ac: 00300713 li a4,3 +800012b0: fc5ff06f j 80001274 <__divdf3+0x5bc> +800012b4: 00100593 li a1,1 +800012b8: 40d585b3 sub a1,a1,a3 +800012bc: 03800713 li a4,56 +800012c0: fcb746e3 blt a4,a1,8000128c <__divdf3+0x5d4> +800012c4: 01f00713 li a4,31 +800012c8: 06b74463 blt a4,a1,80001330 <__divdf3+0x678> +800012cc: 41e50513 addi a0,a0,1054 +800012d0: 00a79733 sll a4,a5,a0 +800012d4: 00bfd6b3 srl a3,t6,a1 +800012d8: 00af9533 sll a0,t6,a0 +800012dc: 00d76733 or a4,a4,a3 +800012e0: 00a03533 snez a0,a0 +800012e4: 00a76733 or a4,a4,a0 +800012e8: 00b7d7b3 srl a5,a5,a1 +800012ec: 00777693 andi a3,a4,7 +800012f0: 02068063 beqz a3,80001310 <__divdf3+0x658> +800012f4: 00f77693 andi a3,a4,15 +800012f8: 00400593 li a1,4 +800012fc: 00b68a63 beq a3,a1,80001310 <__divdf3+0x658> +80001300: 00470693 addi a3,a4,4 +80001304: 00e6b733 sltu a4,a3,a4 +80001308: 00e787b3 add a5,a5,a4 +8000130c: 00068713 mv a4,a3 +80001310: 00879693 slli a3,a5,0x8 +80001314: 0606ca63 bltz a3,80001388 <__divdf3+0x6d0> +80001318: 01d79693 slli a3,a5,0x1d +8000131c: 00375713 srli a4,a4,0x3 +80001320: 00e6e733 or a4,a3,a4 +80001324: 0037d793 srli a5,a5,0x3 +80001328: 00000693 li a3,0 +8000132c: ecdff06f j 800011f8 <__divdf3+0x540> +80001330: fe100713 li a4,-31 +80001334: 40d70733 sub a4,a4,a3 +80001338: 02000813 li a6,32 +8000133c: 00e7d733 srl a4,a5,a4 +80001340: 00000693 li a3,0 +80001344: 01058663 beq a1,a6,80001350 <__divdf3+0x698> +80001348: 43e50513 addi a0,a0,1086 +8000134c: 00a796b3 sll a3,a5,a0 +80001350: 01f6e533 or a0,a3,t6 +80001354: 00a03533 snez a0,a0 +80001358: 00a76733 or a4,a4,a0 +8000135c: 00000793 li a5,0 +80001360: f8dff06f j 800012ec <__divdf3+0x634> +80001364: 000807b7 lui a5,0x80 +80001368: 00000713 li a4,0 +8000136c: 7ff00693 li a3,2047 +80001370: 00000613 li a2,0 +80001374: e85ff06f j 800011f8 <__divdf3+0x540> +80001378: 00000793 li a5,0 +8000137c: 00000713 li a4,0 +80001380: 7ff00693 li a3,2047 +80001384: e75ff06f j 800011f8 <__divdf3+0x540> +80001388: 00000793 li a5,0 +8000138c: 00000713 li a4,0 +80001390: 00100693 li a3,1 +80001394: e65ff06f j 800011f8 <__divdf3+0x540> + +80001398 <__muldf3>: +80001398: fd010113 addi sp,sp,-48 +8000139c: 03212023 sw s2,32(sp) +800013a0: 01512a23 sw s5,20(sp) +800013a4: 00100937 lui s2,0x100 +800013a8: 0145da93 srli s5,a1,0x14 +800013ac: 01312e23 sw s3,28(sp) +800013b0: 01412c23 sw s4,24(sp) +800013b4: 01612823 sw s6,16(sp) +800013b8: 01712623 sw s7,12(sp) +800013bc: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +800013c0: 02112623 sw ra,44(sp) +800013c4: 02812423 sw s0,40(sp) +800013c8: 02912223 sw s1,36(sp) +800013cc: 7ffafa93 andi s5,s5,2047 +800013d0: 00050b13 mv s6,a0 +800013d4: 00060b93 mv s7,a2 +800013d8: 00068a13 mv s4,a3 +800013dc: 00b97933 and s2,s2,a1 +800013e0: 01f5d993 srli s3,a1,0x1f +800013e4: 0a0a8863 beqz s5,80001494 <__muldf3+0xfc> +800013e8: 7ff00793 li a5,2047 +800013ec: 10fa8663 beq s5,a5,800014f8 <__muldf3+0x160> +800013f0: 00800437 lui s0,0x800 +800013f4: 00391913 slli s2,s2,0x3 +800013f8: 00896933 or s2,s2,s0 +800013fc: 01d55413 srli s0,a0,0x1d +80001400: 01246433 or s0,s0,s2 +80001404: 00351493 slli s1,a0,0x3 +80001408: c01a8a93 addi s5,s5,-1023 +8000140c: 00000b13 li s6,0 +80001410: 014a5513 srli a0,s4,0x14 +80001414: 00100937 lui s2,0x100 +80001418: fff90913 addi s2,s2,-1 # fffff <_stack_size+0xffbff> +8000141c: 7ff57513 andi a0,a0,2047 +80001420: 01497933 and s2,s2,s4 +80001424: 000b8713 mv a4,s7 +80001428: 01fa5a13 srli s4,s4,0x1f +8000142c: 10050463 beqz a0,80001534 <__muldf3+0x19c> +80001430: 7ff00793 li a5,2047 +80001434: 16f50463 beq a0,a5,8000159c <__muldf3+0x204> +80001438: 008007b7 lui a5,0x800 +8000143c: 00391913 slli s2,s2,0x3 +80001440: 00f96933 or s2,s2,a5 +80001444: 01dbd793 srli a5,s7,0x1d +80001448: 0127e7b3 or a5,a5,s2 +8000144c: 003b9713 slli a4,s7,0x3 +80001450: c0150513 addi a0,a0,-1023 +80001454: 00000693 li a3,0 +80001458: 002b1593 slli a1,s6,0x2 +8000145c: 00d5e5b3 or a1,a1,a3 +80001460: 00aa8533 add a0,s5,a0 +80001464: fff58593 addi a1,a1,-1 +80001468: 00e00893 li a7,14 +8000146c: 0149c633 xor a2,s3,s4 +80001470: 00150813 addi a6,a0,1 +80001474: 16b8e063 bltu a7,a1,800015d4 <__muldf3+0x23c> +80001478: 00002517 auipc a0,0x2 +8000147c: a7850513 addi a0,a0,-1416 # 80002ef0 <end+0x61c> +80001480: 00259593 slli a1,a1,0x2 +80001484: 00a585b3 add a1,a1,a0 +80001488: 0005a583 lw a1,0(a1) +8000148c: 00a585b3 add a1,a1,a0 +80001490: 00058067 jr a1 +80001494: 00a96433 or s0,s2,a0 +80001498: 06040e63 beqz s0,80001514 <__muldf3+0x17c> +8000149c: 04090063 beqz s2,800014dc <__muldf3+0x144> +800014a0: 00090513 mv a0,s2 +800014a4: 3e4010ef jal ra,80002888 <__clzsi2> +800014a8: ff550793 addi a5,a0,-11 +800014ac: 01c00713 li a4,28 +800014b0: 02f74c63 blt a4,a5,800014e8 <__muldf3+0x150> +800014b4: 01d00413 li s0,29 +800014b8: ff850493 addi s1,a0,-8 +800014bc: 40f40433 sub s0,s0,a5 +800014c0: 00991933 sll s2,s2,s1 +800014c4: 008b5433 srl s0,s6,s0 +800014c8: 01246433 or s0,s0,s2 +800014cc: 009b14b3 sll s1,s6,s1 +800014d0: c0d00a93 li s5,-1011 +800014d4: 40aa8ab3 sub s5,s5,a0 +800014d8: f35ff06f j 8000140c <__muldf3+0x74> +800014dc: 3ac010ef jal ra,80002888 <__clzsi2> +800014e0: 02050513 addi a0,a0,32 +800014e4: fc5ff06f j 800014a8 <__muldf3+0x110> +800014e8: fd850413 addi s0,a0,-40 +800014ec: 008b1433 sll s0,s6,s0 +800014f0: 00000493 li s1,0 +800014f4: fddff06f j 800014d0 <__muldf3+0x138> +800014f8: 00a96433 or s0,s2,a0 +800014fc: 02040463 beqz s0,80001524 <__muldf3+0x18c> +80001500: 00050493 mv s1,a0 +80001504: 00090413 mv s0,s2 +80001508: 7ff00a93 li s5,2047 +8000150c: 00300b13 li s6,3 +80001510: f01ff06f j 80001410 <__muldf3+0x78> +80001514: 00000493 li s1,0 +80001518: 00000a93 li s5,0 +8000151c: 00100b13 li s6,1 +80001520: ef1ff06f j 80001410 <__muldf3+0x78> +80001524: 00000493 li s1,0 +80001528: 7ff00a93 li s5,2047 +8000152c: 00200b13 li s6,2 +80001530: ee1ff06f j 80001410 <__muldf3+0x78> +80001534: 017967b3 or a5,s2,s7 +80001538: 06078e63 beqz a5,800015b4 <__muldf3+0x21c> +8000153c: 04090063 beqz s2,8000157c <__muldf3+0x1e4> +80001540: 00090513 mv a0,s2 +80001544: 344010ef jal ra,80002888 <__clzsi2> +80001548: ff550693 addi a3,a0,-11 +8000154c: 01c00793 li a5,28 +80001550: 02d7ce63 blt a5,a3,8000158c <__muldf3+0x1f4> +80001554: 01d00793 li a5,29 +80001558: ff850713 addi a4,a0,-8 +8000155c: 40d787b3 sub a5,a5,a3 +80001560: 00e91933 sll s2,s2,a4 +80001564: 00fbd7b3 srl a5,s7,a5 +80001568: 0127e7b3 or a5,a5,s2 +8000156c: 00eb9733 sll a4,s7,a4 +80001570: c0d00693 li a3,-1011 +80001574: 40a68533 sub a0,a3,a0 +80001578: eddff06f j 80001454 <__muldf3+0xbc> +8000157c: 000b8513 mv a0,s7 +80001580: 308010ef jal ra,80002888 <__clzsi2> +80001584: 02050513 addi a0,a0,32 +80001588: fc1ff06f j 80001548 <__muldf3+0x1b0> +8000158c: fd850793 addi a5,a0,-40 +80001590: 00fb97b3 sll a5,s7,a5 +80001594: 00000713 li a4,0 +80001598: fd9ff06f j 80001570 <__muldf3+0x1d8> +8000159c: 017967b3 or a5,s2,s7 +800015a0: 02078263 beqz a5,800015c4 <__muldf3+0x22c> +800015a4: 00090793 mv a5,s2 +800015a8: 7ff00513 li a0,2047 +800015ac: 00300693 li a3,3 +800015b0: ea9ff06f j 80001458 <__muldf3+0xc0> +800015b4: 00000713 li a4,0 +800015b8: 00000513 li a0,0 +800015bc: 00100693 li a3,1 +800015c0: e99ff06f j 80001458 <__muldf3+0xc0> +800015c4: 00000713 li a4,0 +800015c8: 7ff00513 li a0,2047 +800015cc: 00200693 li a3,2 +800015d0: e89ff06f j 80001458 <__muldf3+0xc0> +800015d4: 00010fb7 lui t6,0x10 +800015d8: ffff8f13 addi t5,t6,-1 # ffff <_stack_size+0xfbff> +800015dc: 0104d693 srli a3,s1,0x10 +800015e0: 01075313 srli t1,a4,0x10 +800015e4: 01e4f4b3 and s1,s1,t5 +800015e8: 01e77733 and a4,a4,t5 +800015ec: 029308b3 mul a7,t1,s1 +800015f0: 029705b3 mul a1,a4,s1 +800015f4: 02e682b3 mul t0,a3,a4 +800015f8: 00588e33 add t3,a7,t0 +800015fc: 0105d893 srli a7,a1,0x10 +80001600: 01c888b3 add a7,a7,t3 +80001604: 02668eb3 mul t4,a3,t1 +80001608: 0058f463 bleu t0,a7,80001610 <__muldf3+0x278> +8000160c: 01fe8eb3 add t4,t4,t6 +80001610: 0108d913 srli s2,a7,0x10 +80001614: 01e8f8b3 and a7,a7,t5 +80001618: 0107df93 srli t6,a5,0x10 +8000161c: 01e5f5b3 and a1,a1,t5 +80001620: 01e7f3b3 and t2,a5,t5 +80001624: 01089893 slli a7,a7,0x10 +80001628: 00b888b3 add a7,a7,a1 +8000162c: 027687b3 mul a5,a3,t2 +80001630: 029385b3 mul a1,t2,s1 +80001634: 029f84b3 mul s1,t6,s1 +80001638: 00f48e33 add t3,s1,a5 +8000163c: 0105d493 srli s1,a1,0x10 +80001640: 01c484b3 add s1,s1,t3 +80001644: 03f686b3 mul a3,a3,t6 +80001648: 00f4f663 bleu a5,s1,80001654 <__muldf3+0x2bc> +8000164c: 000107b7 lui a5,0x10 +80001650: 00f686b3 add a3,a3,a5 +80001654: 0104df13 srli t5,s1,0x10 +80001658: 000109b7 lui s3,0x10 +8000165c: 00df0f33 add t5,t5,a3 +80001660: fff98693 addi a3,s3,-1 # ffff <_stack_size+0xfbff> +80001664: 00d4f4b3 and s1,s1,a3 +80001668: 00d5f5b3 and a1,a1,a3 +8000166c: 01045793 srli a5,s0,0x10 +80001670: 01049493 slli s1,s1,0x10 +80001674: 00d47433 and s0,s0,a3 +80001678: 00b484b3 add s1,s1,a1 +8000167c: 028706b3 mul a3,a4,s0 +80001680: 00990933 add s2,s2,s1 +80001684: 02e78e33 mul t3,a5,a4 +80001688: 028305b3 mul a1,t1,s0 +8000168c: 02f30733 mul a4,t1,a5 +80001690: 01c58333 add t1,a1,t3 +80001694: 0106d593 srli a1,a3,0x10 +80001698: 006585b3 add a1,a1,t1 +8000169c: 01c5f463 bleu t3,a1,800016a4 <__muldf3+0x30c> +800016a0: 01370733 add a4,a4,s3 +800016a4: 0105d313 srli t1,a1,0x10 +800016a8: 000109b7 lui s3,0x10 +800016ac: 00e302b3 add t0,t1,a4 +800016b0: fff98713 addi a4,s3,-1 # ffff <_stack_size+0xfbff> +800016b4: 00e5f5b3 and a1,a1,a4 +800016b8: 00e6f6b3 and a3,a3,a4 +800016bc: 02838333 mul t1,t2,s0 +800016c0: 01059593 slli a1,a1,0x10 +800016c4: 00d585b3 add a1,a1,a3 +800016c8: 02778733 mul a4,a5,t2 +800016cc: 028f8433 mul s0,t6,s0 +800016d0: 02ff8e33 mul t3,t6,a5 +800016d4: 00e40433 add s0,s0,a4 +800016d8: 01035793 srli a5,t1,0x10 +800016dc: 00878433 add s0,a5,s0 +800016e0: 00e47463 bleu a4,s0,800016e8 <__muldf3+0x350> +800016e4: 013e0e33 add t3,t3,s3 +800016e8: 000107b7 lui a5,0x10 +800016ec: fff78793 addi a5,a5,-1 # ffff <_stack_size+0xfbff> +800016f0: 00f476b3 and a3,s0,a5 +800016f4: 00f37333 and t1,t1,a5 +800016f8: 01069693 slli a3,a3,0x10 +800016fc: 012e8eb3 add t4,t4,s2 +80001700: 006686b3 add a3,a3,t1 +80001704: 009eb4b3 sltu s1,t4,s1 +80001708: 01e686b3 add a3,a3,t5 +8000170c: 009687b3 add a5,a3,s1 +80001710: 00be8eb3 add t4,t4,a1 +80001714: 00beb5b3 sltu a1,t4,a1 +80001718: 00578333 add t1,a5,t0 +8000171c: 00b30fb3 add t6,t1,a1 +80001720: 01e6b6b3 sltu a3,a3,t5 +80001724: 0097b7b3 sltu a5,a5,s1 +80001728: 00f6e7b3 or a5,a3,a5 +8000172c: 01045413 srli s0,s0,0x10 +80001730: 00533333 sltu t1,t1,t0 +80001734: 00bfb5b3 sltu a1,t6,a1 +80001738: 008787b3 add a5,a5,s0 +8000173c: 00b365b3 or a1,t1,a1 +80001740: 00b787b3 add a5,a5,a1 +80001744: 01c787b3 add a5,a5,t3 +80001748: 017fd713 srli a4,t6,0x17 +8000174c: 00979793 slli a5,a5,0x9 +80001750: 00e7e7b3 or a5,a5,a4 +80001754: 009e9713 slli a4,t4,0x9 +80001758: 01176733 or a4,a4,a7 +8000175c: 00e03733 snez a4,a4 +80001760: 017ede93 srli t4,t4,0x17 +80001764: 009f9693 slli a3,t6,0x9 +80001768: 01d76733 or a4,a4,t4 +8000176c: 00d76733 or a4,a4,a3 +80001770: 00779693 slli a3,a5,0x7 +80001774: 1006da63 bgez a3,80001888 <__muldf3+0x4f0> +80001778: 00175693 srli a3,a4,0x1 +8000177c: 00177713 andi a4,a4,1 +80001780: 00e6e733 or a4,a3,a4 +80001784: 01f79693 slli a3,a5,0x1f +80001788: 00d76733 or a4,a4,a3 +8000178c: 0017d793 srli a5,a5,0x1 +80001790: 3ff80593 addi a1,a6,1023 +80001794: 0eb05e63 blez a1,80001890 <__muldf3+0x4f8> +80001798: 00777693 andi a3,a4,7 +8000179c: 02068063 beqz a3,800017bc <__muldf3+0x424> +800017a0: 00f77693 andi a3,a4,15 +800017a4: 00400513 li a0,4 +800017a8: 00a68a63 beq a3,a0,800017bc <__muldf3+0x424> +800017ac: 00470693 addi a3,a4,4 +800017b0: 00e6b733 sltu a4,a3,a4 +800017b4: 00e787b3 add a5,a5,a4 +800017b8: 00068713 mv a4,a3 +800017bc: 00779693 slli a3,a5,0x7 +800017c0: 0006da63 bgez a3,800017d4 <__muldf3+0x43c> +800017c4: ff0006b7 lui a3,0xff000 +800017c8: fff68693 addi a3,a3,-1 # feffffff <_stack_start+0x7eff9f2f> +800017cc: 00d7f7b3 and a5,a5,a3 +800017d0: 40080593 addi a1,a6,1024 +800017d4: 7fe00693 li a3,2046 +800017d8: 16b6ce63 blt a3,a1,80001954 <__muldf3+0x5bc> +800017dc: 00375693 srli a3,a4,0x3 +800017e0: 01d79713 slli a4,a5,0x1d +800017e4: 00d76733 or a4,a4,a3 +800017e8: 0037d793 srli a5,a5,0x3 +800017ec: 001006b7 lui a3,0x100 +800017f0: fff68693 addi a3,a3,-1 # fffff <_stack_size+0xffbff> +800017f4: 00d7f7b3 and a5,a5,a3 +800017f8: 7ff5f693 andi a3,a1,2047 +800017fc: 801005b7 lui a1,0x80100 +80001800: fff58593 addi a1,a1,-1 # 800fffff <_stack_start+0xf9f2f> +80001804: 01469693 slli a3,a3,0x14 +80001808: 00b7f7b3 and a5,a5,a1 +8000180c: 02c12083 lw ra,44(sp) +80001810: 02812403 lw s0,40(sp) +80001814: 01f61613 slli a2,a2,0x1f +80001818: 00d7e7b3 or a5,a5,a3 +8000181c: 00c7e6b3 or a3,a5,a2 +80001820: 02412483 lw s1,36(sp) +80001824: 02012903 lw s2,32(sp) +80001828: 01c12983 lw s3,28(sp) +8000182c: 01812a03 lw s4,24(sp) +80001830: 01412a83 lw s5,20(sp) +80001834: 01012b03 lw s6,16(sp) +80001838: 00c12b83 lw s7,12(sp) +8000183c: 00070513 mv a0,a4 +80001840: 00068593 mv a1,a3 +80001844: 03010113 addi sp,sp,48 +80001848: 00008067 ret +8000184c: 00098613 mv a2,s3 +80001850: 00040793 mv a5,s0 +80001854: 00048713 mv a4,s1 +80001858: 000b0693 mv a3,s6 +8000185c: 00200593 li a1,2 +80001860: 0eb68a63 beq a3,a1,80001954 <__muldf3+0x5bc> +80001864: 00300593 li a1,3 +80001868: 0cb68c63 beq a3,a1,80001940 <__muldf3+0x5a8> +8000186c: 00100593 li a1,1 +80001870: f2b690e3 bne a3,a1,80001790 <__muldf3+0x3f8> +80001874: 00000793 li a5,0 +80001878: 00000713 li a4,0 +8000187c: 0880006f j 80001904 <__muldf3+0x56c> +80001880: 000a0613 mv a2,s4 +80001884: fd9ff06f j 8000185c <__muldf3+0x4c4> +80001888: 00050813 mv a6,a0 +8000188c: f05ff06f j 80001790 <__muldf3+0x3f8> +80001890: 00100513 li a0,1 +80001894: 40b50533 sub a0,a0,a1 +80001898: 03800693 li a3,56 +8000189c: fca6cce3 blt a3,a0,80001874 <__muldf3+0x4dc> +800018a0: 01f00693 li a3,31 +800018a4: 06a6c463 blt a3,a0,8000190c <__muldf3+0x574> +800018a8: 41e80813 addi a6,a6,1054 +800018ac: 010796b3 sll a3,a5,a6 +800018b0: 00a755b3 srl a1,a4,a0 +800018b4: 01071733 sll a4,a4,a6 +800018b8: 00b6e6b3 or a3,a3,a1 +800018bc: 00e03733 snez a4,a4 +800018c0: 00e6e733 or a4,a3,a4 +800018c4: 00a7d7b3 srl a5,a5,a0 +800018c8: 00777693 andi a3,a4,7 +800018cc: 02068063 beqz a3,800018ec <__muldf3+0x554> +800018d0: 00f77693 andi a3,a4,15 +800018d4: 00400593 li a1,4 +800018d8: 00b68a63 beq a3,a1,800018ec <__muldf3+0x554> +800018dc: 00470693 addi a3,a4,4 +800018e0: 00e6b733 sltu a4,a3,a4 +800018e4: 00e787b3 add a5,a5,a4 +800018e8: 00068713 mv a4,a3 +800018ec: 00879693 slli a3,a5,0x8 +800018f0: 0606ca63 bltz a3,80001964 <__muldf3+0x5cc> +800018f4: 01d79693 slli a3,a5,0x1d +800018f8: 00375713 srli a4,a4,0x3 +800018fc: 00e6e733 or a4,a3,a4 +80001900: 0037d793 srli a5,a5,0x3 +80001904: 00000593 li a1,0 +80001908: ee5ff06f j 800017ec <__muldf3+0x454> +8000190c: fe100693 li a3,-31 +80001910: 40b686b3 sub a3,a3,a1 +80001914: 02000893 li a7,32 +80001918: 00d7d6b3 srl a3,a5,a3 +8000191c: 00000593 li a1,0 +80001920: 01150663 beq a0,a7,8000192c <__muldf3+0x594> +80001924: 43e80813 addi a6,a6,1086 +80001928: 010795b3 sll a1,a5,a6 +8000192c: 00e5e733 or a4,a1,a4 +80001930: 00e03733 snez a4,a4 +80001934: 00e6e733 or a4,a3,a4 +80001938: 00000793 li a5,0 +8000193c: f8dff06f j 800018c8 <__muldf3+0x530> +80001940: 000807b7 lui a5,0x80 +80001944: 00000713 li a4,0 +80001948: 7ff00593 li a1,2047 +8000194c: 00000613 li a2,0 +80001950: e9dff06f j 800017ec <__muldf3+0x454> +80001954: 00000793 li a5,0 +80001958: 00000713 li a4,0 +8000195c: 7ff00593 li a1,2047 +80001960: e8dff06f j 800017ec <__muldf3+0x454> +80001964: 00000793 li a5,0 +80001968: 00000713 li a4,0 +8000196c: 00100593 li a1,1 +80001970: e7dff06f j 800017ec <__muldf3+0x454> + +80001974 <__divsf3>: +80001974: fe010113 addi sp,sp,-32 +80001978: 00912a23 sw s1,20(sp) +8000197c: 01312623 sw s3,12(sp) +80001980: 01755493 srli s1,a0,0x17 +80001984: 008009b7 lui s3,0x800 +80001988: 01212823 sw s2,16(sp) +8000198c: 01412423 sw s4,8(sp) +80001990: fff98993 addi s3,s3,-1 # 7fffff <_stack_size+0x7ffbff> +80001994: 00112e23 sw ra,28(sp) +80001998: 00812c23 sw s0,24(sp) +8000199c: 01512223 sw s5,4(sp) +800019a0: 0ff4f493 andi s1,s1,255 +800019a4: 00058a13 mv s4,a1 +800019a8: 00a9f9b3 and s3,s3,a0 +800019ac: 01f55913 srli s2,a0,0x1f +800019b0: 08048863 beqz s1,80001a40 <__divsf3+0xcc> +800019b4: 0ff00793 li a5,255 +800019b8: 0af48463 beq s1,a5,80001a60 <__divsf3+0xec> +800019bc: 00399993 slli s3,s3,0x3 +800019c0: 040007b7 lui a5,0x4000 +800019c4: 00f9e9b3 or s3,s3,a5 +800019c8: f8148493 addi s1,s1,-127 +800019cc: 00000a93 li s5,0 +800019d0: 017a5513 srli a0,s4,0x17 +800019d4: 00800437 lui s0,0x800 +800019d8: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +800019dc: 0ff57513 andi a0,a0,255 +800019e0: 01447433 and s0,s0,s4 +800019e4: 01fa5a13 srli s4,s4,0x1f +800019e8: 08050c63 beqz a0,80001a80 <__divsf3+0x10c> +800019ec: 0ff00793 li a5,255 +800019f0: 0af50863 beq a0,a5,80001aa0 <__divsf3+0x12c> +800019f4: 00341413 slli s0,s0,0x3 +800019f8: 040007b7 lui a5,0x4000 +800019fc: 00f46433 or s0,s0,a5 +80001a00: f8150513 addi a0,a0,-127 +80001a04: 00000793 li a5,0 +80001a08: 002a9693 slli a3,s5,0x2 +80001a0c: 00f6e6b3 or a3,a3,a5 +80001a10: fff68693 addi a3,a3,-1 +80001a14: 00e00713 li a4,14 +80001a18: 01494633 xor a2,s2,s4 +80001a1c: 40a48533 sub a0,s1,a0 +80001a20: 0ad76063 bltu a4,a3,80001ac0 <__divsf3+0x14c> +80001a24: 00001597 auipc a1,0x1 +80001a28: 50858593 addi a1,a1,1288 # 80002f2c <end+0x658> +80001a2c: 00269693 slli a3,a3,0x2 +80001a30: 00b686b3 add a3,a3,a1 +80001a34: 0006a703 lw a4,0(a3) +80001a38: 00b70733 add a4,a4,a1 +80001a3c: 00070067 jr a4 +80001a40: 02098a63 beqz s3,80001a74 <__divsf3+0x100> +80001a44: 00098513 mv a0,s3 +80001a48: 641000ef jal ra,80002888 <__clzsi2> +80001a4c: ffb50793 addi a5,a0,-5 +80001a50: f8a00493 li s1,-118 +80001a54: 00f999b3 sll s3,s3,a5 +80001a58: 40a484b3 sub s1,s1,a0 +80001a5c: f71ff06f j 800019cc <__divsf3+0x58> +80001a60: 0ff00493 li s1,255 +80001a64: 00200a93 li s5,2 +80001a68: f60984e3 beqz s3,800019d0 <__divsf3+0x5c> +80001a6c: 00300a93 li s5,3 +80001a70: f61ff06f j 800019d0 <__divsf3+0x5c> +80001a74: 00000493 li s1,0 +80001a78: 00100a93 li s5,1 +80001a7c: f55ff06f j 800019d0 <__divsf3+0x5c> +80001a80: 02040a63 beqz s0,80001ab4 <__divsf3+0x140> +80001a84: 00040513 mv a0,s0 +80001a88: 601000ef jal ra,80002888 <__clzsi2> +80001a8c: ffb50793 addi a5,a0,-5 +80001a90: 00f41433 sll s0,s0,a5 +80001a94: f8a00793 li a5,-118 +80001a98: 40a78533 sub a0,a5,a0 +80001a9c: f69ff06f j 80001a04 <__divsf3+0x90> +80001aa0: 0ff00513 li a0,255 +80001aa4: 00200793 li a5,2 +80001aa8: f60400e3 beqz s0,80001a08 <__divsf3+0x94> +80001aac: 00300793 li a5,3 +80001ab0: f59ff06f j 80001a08 <__divsf3+0x94> +80001ab4: 00000513 li a0,0 +80001ab8: 00100793 li a5,1 +80001abc: f4dff06f j 80001a08 <__divsf3+0x94> +80001ac0: 00541813 slli a6,s0,0x5 +80001ac4: 0e89f663 bleu s0,s3,80001bb0 <__divsf3+0x23c> +80001ac8: fff50513 addi a0,a0,-1 +80001acc: 00000693 li a3,0 +80001ad0: 01085413 srli s0,a6,0x10 +80001ad4: 0289d333 divu t1,s3,s0 +80001ad8: 000107b7 lui a5,0x10 +80001adc: fff78793 addi a5,a5,-1 # ffff <_stack_size+0xfbff> +80001ae0: 00f877b3 and a5,a6,a5 +80001ae4: 0106d693 srli a3,a3,0x10 +80001ae8: 0289f733 remu a4,s3,s0 +80001aec: 00030593 mv a1,t1 +80001af0: 026788b3 mul a7,a5,t1 +80001af4: 01071713 slli a4,a4,0x10 +80001af8: 00e6e733 or a4,a3,a4 +80001afc: 01177e63 bleu a7,a4,80001b18 <__divsf3+0x1a4> +80001b00: 01070733 add a4,a4,a6 +80001b04: fff30593 addi a1,t1,-1 +80001b08: 01076863 bltu a4,a6,80001b18 <__divsf3+0x1a4> +80001b0c: 01177663 bleu a7,a4,80001b18 <__divsf3+0x1a4> +80001b10: ffe30593 addi a1,t1,-2 +80001b14: 01070733 add a4,a4,a6 +80001b18: 41170733 sub a4,a4,a7 +80001b1c: 028758b3 divu a7,a4,s0 +80001b20: 02877733 remu a4,a4,s0 +80001b24: 031786b3 mul a3,a5,a7 +80001b28: 01071793 slli a5,a4,0x10 +80001b2c: 00088713 mv a4,a7 +80001b30: 00d7fe63 bleu a3,a5,80001b4c <__divsf3+0x1d8> +80001b34: 010787b3 add a5,a5,a6 +80001b38: fff88713 addi a4,a7,-1 +80001b3c: 0107e863 bltu a5,a6,80001b4c <__divsf3+0x1d8> +80001b40: 00d7f663 bleu a3,a5,80001b4c <__divsf3+0x1d8> +80001b44: ffe88713 addi a4,a7,-2 +80001b48: 010787b3 add a5,a5,a6 +80001b4c: 01059413 slli s0,a1,0x10 +80001b50: 40d787b3 sub a5,a5,a3 +80001b54: 00e46433 or s0,s0,a4 +80001b58: 00f037b3 snez a5,a5 +80001b5c: 00f46433 or s0,s0,a5 +80001b60: 07f50713 addi a4,a0,127 +80001b64: 0ae05063 blez a4,80001c04 <__divsf3+0x290> +80001b68: 00747793 andi a5,s0,7 +80001b6c: 00078a63 beqz a5,80001b80 <__divsf3+0x20c> +80001b70: 00f47793 andi a5,s0,15 +80001b74: 00400693 li a3,4 +80001b78: 00d78463 beq a5,a3,80001b80 <__divsf3+0x20c> +80001b7c: 00440413 addi s0,s0,4 +80001b80: 00441793 slli a5,s0,0x4 +80001b84: 0007da63 bgez a5,80001b98 <__divsf3+0x224> +80001b88: f80007b7 lui a5,0xf8000 +80001b8c: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9f2f> +80001b90: 00f47433 and s0,s0,a5 +80001b94: 08050713 addi a4,a0,128 +80001b98: 0fe00793 li a5,254 +80001b9c: 00345413 srli s0,s0,0x3 +80001ba0: 0ce7d263 ble a4,a5,80001c64 <__divsf3+0x2f0> +80001ba4: 00000413 li s0,0 +80001ba8: 0ff00713 li a4,255 +80001bac: 0b80006f j 80001c64 <__divsf3+0x2f0> +80001bb0: 01f99693 slli a3,s3,0x1f +80001bb4: 0019d993 srli s3,s3,0x1 +80001bb8: f19ff06f j 80001ad0 <__divsf3+0x15c> +80001bbc: 00090613 mv a2,s2 +80001bc0: 00098413 mv s0,s3 +80001bc4: 000a8793 mv a5,s5 +80001bc8: 00200713 li a4,2 +80001bcc: fce78ce3 beq a5,a4,80001ba4 <__divsf3+0x230> +80001bd0: 00300713 li a4,3 +80001bd4: 08e78263 beq a5,a4,80001c58 <__divsf3+0x2e4> +80001bd8: 00100713 li a4,1 +80001bdc: f8e792e3 bne a5,a4,80001b60 <__divsf3+0x1ec> +80001be0: 00000413 li s0,0 +80001be4: 00000713 li a4,0 +80001be8: 07c0006f j 80001c64 <__divsf3+0x2f0> +80001bec: 000a0613 mv a2,s4 +80001bf0: fd9ff06f j 80001bc8 <__divsf3+0x254> +80001bf4: 00400437 lui s0,0x400 +80001bf8: 00000613 li a2,0 +80001bfc: 00300793 li a5,3 +80001c00: fc9ff06f j 80001bc8 <__divsf3+0x254> +80001c04: 00100793 li a5,1 +80001c08: 40e787b3 sub a5,a5,a4 +80001c0c: 01b00713 li a4,27 +80001c10: fcf748e3 blt a4,a5,80001be0 <__divsf3+0x26c> +80001c14: 09e50513 addi a0,a0,158 +80001c18: 00f457b3 srl a5,s0,a5 +80001c1c: 00a41433 sll s0,s0,a0 +80001c20: 00803433 snez s0,s0 +80001c24: 0087e433 or s0,a5,s0 +80001c28: 00747793 andi a5,s0,7 +80001c2c: 00078a63 beqz a5,80001c40 <__divsf3+0x2cc> +80001c30: 00f47793 andi a5,s0,15 +80001c34: 00400713 li a4,4 +80001c38: 00e78463 beq a5,a4,80001c40 <__divsf3+0x2cc> +80001c3c: 00440413 addi s0,s0,4 # 400004 <_stack_size+0x3ffc04> +80001c40: 00541793 slli a5,s0,0x5 +80001c44: 00345413 srli s0,s0,0x3 +80001c48: f807dee3 bgez a5,80001be4 <__divsf3+0x270> +80001c4c: 00000413 li s0,0 +80001c50: 00100713 li a4,1 +80001c54: 0100006f j 80001c64 <__divsf3+0x2f0> +80001c58: 00400437 lui s0,0x400 +80001c5c: 0ff00713 li a4,255 +80001c60: 00000613 li a2,0 +80001c64: 00800537 lui a0,0x800 +80001c68: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80001c6c: 00a47433 and s0,s0,a0 +80001c70: 80800537 lui a0,0x80800 +80001c74: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80001c78: 0ff77713 andi a4,a4,255 +80001c7c: 00a47433 and s0,s0,a0 +80001c80: 01771713 slli a4,a4,0x17 +80001c84: 00e46433 or s0,s0,a4 +80001c88: 01f61513 slli a0,a2,0x1f +80001c8c: 00a46533 or a0,s0,a0 +80001c90: 01c12083 lw ra,28(sp) +80001c94: 01812403 lw s0,24(sp) +80001c98: 01412483 lw s1,20(sp) +80001c9c: 01012903 lw s2,16(sp) +80001ca0: 00c12983 lw s3,12(sp) +80001ca4: 00812a03 lw s4,8(sp) +80001ca8: 00412a83 lw s5,4(sp) +80001cac: 02010113 addi sp,sp,32 +80001cb0: 00008067 ret + +80001cb4 <__mulsf3>: +80001cb4: fe010113 addi sp,sp,-32 +80001cb8: 00912a23 sw s1,20(sp) +80001cbc: 01212823 sw s2,16(sp) +80001cc0: 008004b7 lui s1,0x800 +80001cc4: 01755913 srli s2,a0,0x17 +80001cc8: 01312623 sw s3,12(sp) +80001ccc: 01512223 sw s5,4(sp) +80001cd0: fff48493 addi s1,s1,-1 # 7fffff <_stack_size+0x7ffbff> +80001cd4: 00112e23 sw ra,28(sp) +80001cd8: 00812c23 sw s0,24(sp) +80001cdc: 01412423 sw s4,8(sp) +80001ce0: 0ff97913 andi s2,s2,255 +80001ce4: 00058a93 mv s5,a1 +80001ce8: 00a4f4b3 and s1,s1,a0 +80001cec: 01f55993 srli s3,a0,0x1f +80001cf0: 08090a63 beqz s2,80001d84 <__mulsf3+0xd0> +80001cf4: 0ff00793 li a5,255 +80001cf8: 0af90663 beq s2,a5,80001da4 <__mulsf3+0xf0> +80001cfc: 00349493 slli s1,s1,0x3 +80001d00: 040007b7 lui a5,0x4000 +80001d04: 00f4e4b3 or s1,s1,a5 +80001d08: f8190913 addi s2,s2,-127 +80001d0c: 00000a13 li s4,0 +80001d10: 017ad513 srli a0,s5,0x17 +80001d14: 00800437 lui s0,0x800 +80001d18: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80001d1c: 0ff57513 andi a0,a0,255 +80001d20: 01547433 and s0,s0,s5 +80001d24: 01fada93 srli s5,s5,0x1f +80001d28: 08050e63 beqz a0,80001dc4 <__mulsf3+0x110> +80001d2c: 0ff00793 li a5,255 +80001d30: 0af50a63 beq a0,a5,80001de4 <__mulsf3+0x130> +80001d34: 00341413 slli s0,s0,0x3 +80001d38: 040007b7 lui a5,0x4000 +80001d3c: 00f46433 or s0,s0,a5 +80001d40: f8150513 addi a0,a0,-127 +80001d44: 00000693 li a3,0 +80001d48: 002a1793 slli a5,s4,0x2 +80001d4c: 00d7e7b3 or a5,a5,a3 +80001d50: 00a90533 add a0,s2,a0 +80001d54: fff78793 addi a5,a5,-1 # 3ffffff <_stack_size+0x3fffbff> +80001d58: 00e00713 li a4,14 +80001d5c: 0159c633 xor a2,s3,s5 +80001d60: 00150813 addi a6,a0,1 +80001d64: 0af76063 bltu a4,a5,80001e04 <__mulsf3+0x150> +80001d68: 00001717 auipc a4,0x1 +80001d6c: 20070713 addi a4,a4,512 # 80002f68 <end+0x694> +80001d70: 00279793 slli a5,a5,0x2 +80001d74: 00e787b3 add a5,a5,a4 +80001d78: 0007a783 lw a5,0(a5) +80001d7c: 00e787b3 add a5,a5,a4 +80001d80: 00078067 jr a5 +80001d84: 02048a63 beqz s1,80001db8 <__mulsf3+0x104> +80001d88: 00048513 mv a0,s1 +80001d8c: 2fd000ef jal ra,80002888 <__clzsi2> +80001d90: ffb50793 addi a5,a0,-5 +80001d94: f8a00913 li s2,-118 +80001d98: 00f494b3 sll s1,s1,a5 +80001d9c: 40a90933 sub s2,s2,a0 +80001da0: f6dff06f j 80001d0c <__mulsf3+0x58> +80001da4: 0ff00913 li s2,255 +80001da8: 00200a13 li s4,2 +80001dac: f60482e3 beqz s1,80001d10 <__mulsf3+0x5c> +80001db0: 00300a13 li s4,3 +80001db4: f5dff06f j 80001d10 <__mulsf3+0x5c> +80001db8: 00000913 li s2,0 +80001dbc: 00100a13 li s4,1 +80001dc0: f51ff06f j 80001d10 <__mulsf3+0x5c> +80001dc4: 02040a63 beqz s0,80001df8 <__mulsf3+0x144> +80001dc8: 00040513 mv a0,s0 +80001dcc: 2bd000ef jal ra,80002888 <__clzsi2> +80001dd0: ffb50793 addi a5,a0,-5 +80001dd4: 00f41433 sll s0,s0,a5 +80001dd8: f8a00793 li a5,-118 +80001ddc: 40a78533 sub a0,a5,a0 +80001de0: f65ff06f j 80001d44 <__mulsf3+0x90> +80001de4: 0ff00513 li a0,255 +80001de8: 00200693 li a3,2 +80001dec: f4040ee3 beqz s0,80001d48 <__mulsf3+0x94> +80001df0: 00300693 li a3,3 +80001df4: f55ff06f j 80001d48 <__mulsf3+0x94> +80001df8: 00000513 li a0,0 +80001dfc: 00100693 li a3,1 +80001e00: f49ff06f j 80001d48 <__mulsf3+0x94> +80001e04: 000107b7 lui a5,0x10 +80001e08: fff78313 addi t1,a5,-1 # ffff <_stack_size+0xfbff> +80001e0c: 0104d713 srli a4,s1,0x10 +80001e10: 01045693 srli a3,s0,0x10 +80001e14: 0064f4b3 and s1,s1,t1 +80001e18: 00647433 and s0,s0,t1 +80001e1c: 028488b3 mul a7,s1,s0 +80001e20: 028705b3 mul a1,a4,s0 +80001e24: 02d70433 mul s0,a4,a3 +80001e28: 029686b3 mul a3,a3,s1 +80001e2c: 0108d493 srli s1,a7,0x10 +80001e30: 00b686b3 add a3,a3,a1 +80001e34: 00d484b3 add s1,s1,a3 +80001e38: 00b4f463 bleu a1,s1,80001e40 <__mulsf3+0x18c> +80001e3c: 00f40433 add s0,s0,a5 +80001e40: 0064f7b3 and a5,s1,t1 +80001e44: 01079793 slli a5,a5,0x10 +80001e48: 0068f8b3 and a7,a7,t1 +80001e4c: 011787b3 add a5,a5,a7 +80001e50: 00679713 slli a4,a5,0x6 +80001e54: 0104d493 srli s1,s1,0x10 +80001e58: 00e03733 snez a4,a4 +80001e5c: 01a7d793 srli a5,a5,0x1a +80001e60: 00848433 add s0,s1,s0 +80001e64: 00f767b3 or a5,a4,a5 +80001e68: 00641413 slli s0,s0,0x6 +80001e6c: 00f46433 or s0,s0,a5 +80001e70: 00441793 slli a5,s0,0x4 +80001e74: 0c07de63 bgez a5,80001f50 <__mulsf3+0x29c> +80001e78: 00145793 srli a5,s0,0x1 +80001e7c: 00147413 andi s0,s0,1 +80001e80: 0087e433 or s0,a5,s0 +80001e84: 07f80713 addi a4,a6,127 +80001e88: 0ce05863 blez a4,80001f58 <__mulsf3+0x2a4> +80001e8c: 00747793 andi a5,s0,7 +80001e90: 00078a63 beqz a5,80001ea4 <__mulsf3+0x1f0> +80001e94: 00f47793 andi a5,s0,15 +80001e98: 00400693 li a3,4 +80001e9c: 00d78463 beq a5,a3,80001ea4 <__mulsf3+0x1f0> +80001ea0: 00440413 addi s0,s0,4 +80001ea4: 00441793 slli a5,s0,0x4 +80001ea8: 0007da63 bgez a5,80001ebc <__mulsf3+0x208> +80001eac: f80007b7 lui a5,0xf8000 +80001eb0: fff78793 addi a5,a5,-1 # f7ffffff <_stack_start+0x77ff9f2f> +80001eb4: 00f47433 and s0,s0,a5 +80001eb8: 08080713 addi a4,a6,128 +80001ebc: 0fe00793 li a5,254 +80001ec0: 0ee7cc63 blt a5,a4,80001fb8 <__mulsf3+0x304> +80001ec4: 00345793 srli a5,s0,0x3 +80001ec8: 0300006f j 80001ef8 <__mulsf3+0x244> +80001ecc: 00098613 mv a2,s3 +80001ed0: 00048413 mv s0,s1 +80001ed4: 000a0693 mv a3,s4 +80001ed8: 00200793 li a5,2 +80001edc: 0cf68e63 beq a3,a5,80001fb8 <__mulsf3+0x304> +80001ee0: 00300793 li a5,3 +80001ee4: 0cf68263 beq a3,a5,80001fa8 <__mulsf3+0x2f4> +80001ee8: 00100593 li a1,1 +80001eec: 00000793 li a5,0 +80001ef0: 00000713 li a4,0 +80001ef4: f8b698e3 bne a3,a1,80001e84 <__mulsf3+0x1d0> +80001ef8: 00800437 lui s0,0x800 +80001efc: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80001f00: 80800537 lui a0,0x80800 +80001f04: 0087f7b3 and a5,a5,s0 +80001f08: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80001f0c: 01c12083 lw ra,28(sp) +80001f10: 01812403 lw s0,24(sp) +80001f14: 0ff77713 andi a4,a4,255 +80001f18: 00a7f7b3 and a5,a5,a0 +80001f1c: 01771713 slli a4,a4,0x17 +80001f20: 01f61513 slli a0,a2,0x1f +80001f24: 00e7e7b3 or a5,a5,a4 +80001f28: 01412483 lw s1,20(sp) +80001f2c: 01012903 lw s2,16(sp) +80001f30: 00c12983 lw s3,12(sp) +80001f34: 00812a03 lw s4,8(sp) +80001f38: 00412a83 lw s5,4(sp) +80001f3c: 00a7e533 or a0,a5,a0 +80001f40: 02010113 addi sp,sp,32 +80001f44: 00008067 ret +80001f48: 000a8613 mv a2,s5 +80001f4c: f8dff06f j 80001ed8 <__mulsf3+0x224> +80001f50: 00050813 mv a6,a0 +80001f54: f31ff06f j 80001e84 <__mulsf3+0x1d0> +80001f58: 00100793 li a5,1 +80001f5c: 40e787b3 sub a5,a5,a4 +80001f60: 01b00713 li a4,27 +80001f64: 06f74063 blt a4,a5,80001fc4 <__mulsf3+0x310> +80001f68: 09e80813 addi a6,a6,158 +80001f6c: 00f457b3 srl a5,s0,a5 +80001f70: 01041433 sll s0,s0,a6 +80001f74: 00803433 snez s0,s0 +80001f78: 0087e433 or s0,a5,s0 +80001f7c: 00747793 andi a5,s0,7 +80001f80: 00078a63 beqz a5,80001f94 <__mulsf3+0x2e0> +80001f84: 00f47793 andi a5,s0,15 +80001f88: 00400713 li a4,4 +80001f8c: 00e78463 beq a5,a4,80001f94 <__mulsf3+0x2e0> +80001f90: 00440413 addi s0,s0,4 +80001f94: 00541793 slli a5,s0,0x5 +80001f98: 0207ca63 bltz a5,80001fcc <__mulsf3+0x318> +80001f9c: 00345793 srli a5,s0,0x3 +80001fa0: 00000713 li a4,0 +80001fa4: f55ff06f j 80001ef8 <__mulsf3+0x244> +80001fa8: 004007b7 lui a5,0x400 +80001fac: 0ff00713 li a4,255 +80001fb0: 00000613 li a2,0 +80001fb4: f45ff06f j 80001ef8 <__mulsf3+0x244> +80001fb8: 00000793 li a5,0 +80001fbc: 0ff00713 li a4,255 +80001fc0: f39ff06f j 80001ef8 <__mulsf3+0x244> +80001fc4: 00000793 li a5,0 +80001fc8: fd9ff06f j 80001fa0 <__mulsf3+0x2ec> +80001fcc: 00000793 li a5,0 +80001fd0: 00100713 li a4,1 +80001fd4: f25ff06f j 80001ef8 <__mulsf3+0x244> + +80001fd8 <__subsf3>: +80001fd8: 008007b7 lui a5,0x800 +80001fdc: fff78793 addi a5,a5,-1 # 7fffff <_stack_size+0x7ffbff> +80001fe0: ff010113 addi sp,sp,-16 +80001fe4: 00a7f733 and a4,a5,a0 +80001fe8: 01755693 srli a3,a0,0x17 +80001fec: 0175d613 srli a2,a1,0x17 +80001ff0: 00b7f7b3 and a5,a5,a1 +80001ff4: 00912223 sw s1,4(sp) +80001ff8: 01212023 sw s2,0(sp) +80001ffc: 0ff6f693 andi a3,a3,255 +80002000: 00371813 slli a6,a4,0x3 +80002004: 0ff67613 andi a2,a2,255 +80002008: 00112623 sw ra,12(sp) +8000200c: 00812423 sw s0,8(sp) +80002010: 0ff00713 li a4,255 +80002014: 01f55493 srli s1,a0,0x1f +80002018: 00068913 mv s2,a3 +8000201c: 00060513 mv a0,a2 +80002020: 01f5d593 srli a1,a1,0x1f +80002024: 00379793 slli a5,a5,0x3 +80002028: 00e61463 bne a2,a4,80002030 <__subsf3+0x58> +8000202c: 00079463 bnez a5,80002034 <__subsf3+0x5c> +80002030: 0015c593 xori a1,a1,1 +80002034: 40c68733 sub a4,a3,a2 +80002038: 1a959a63 bne a1,s1,800021ec <__subsf3+0x214> +8000203c: 0ae05663 blez a4,800020e8 <__subsf3+0x110> +80002040: 06061663 bnez a2,800020ac <__subsf3+0xd4> +80002044: 00079c63 bnez a5,8000205c <__subsf3+0x84> +80002048: 0ff00793 li a5,255 +8000204c: 04f68c63 beq a3,a5,800020a4 <__subsf3+0xcc> +80002050: 00080793 mv a5,a6 +80002054: 00068513 mv a0,a3 +80002058: 14c0006f j 800021a4 <__subsf3+0x1cc> +8000205c: fff70713 addi a4,a4,-1 +80002060: 02071e63 bnez a4,8000209c <__subsf3+0xc4> +80002064: 010787b3 add a5,a5,a6 +80002068: 00068513 mv a0,a3 +8000206c: 00579713 slli a4,a5,0x5 +80002070: 12075a63 bgez a4,800021a4 <__subsf3+0x1cc> +80002074: 00150513 addi a0,a0,1 +80002078: 0ff00713 li a4,255 +8000207c: 32e50e63 beq a0,a4,800023b8 <__subsf3+0x3e0> +80002080: 7e000737 lui a4,0x7e000 +80002084: 0017f693 andi a3,a5,1 +80002088: fff70713 addi a4,a4,-1 # 7dffffff <_stack_size+0x7dfffbff> +8000208c: 0017d793 srli a5,a5,0x1 +80002090: 00e7f7b3 and a5,a5,a4 +80002094: 00d7e7b3 or a5,a5,a3 +80002098: 10c0006f j 800021a4 <__subsf3+0x1cc> +8000209c: 0ff00613 li a2,255 +800020a0: 00c69e63 bne a3,a2,800020bc <__subsf3+0xe4> +800020a4: 00080793 mv a5,a6 +800020a8: 0740006f j 8000211c <__subsf3+0x144> +800020ac: 0ff00613 li a2,255 +800020b0: fec68ae3 beq a3,a2,800020a4 <__subsf3+0xcc> +800020b4: 04000637 lui a2,0x4000 +800020b8: 00c7e7b3 or a5,a5,a2 +800020bc: 01b00613 li a2,27 +800020c0: 00e65663 ble a4,a2,800020cc <__subsf3+0xf4> +800020c4: 00100793 li a5,1 +800020c8: f9dff06f j 80002064 <__subsf3+0x8c> +800020cc: 02000613 li a2,32 +800020d0: 40e60633 sub a2,a2,a4 +800020d4: 00e7d5b3 srl a1,a5,a4 +800020d8: 00c797b3 sll a5,a5,a2 +800020dc: 00f037b3 snez a5,a5 +800020e0: 00f5e7b3 or a5,a1,a5 +800020e4: f81ff06f j 80002064 <__subsf3+0x8c> +800020e8: 08070063 beqz a4,80002168 <__subsf3+0x190> +800020ec: 02069c63 bnez a3,80002124 <__subsf3+0x14c> +800020f0: 00081863 bnez a6,80002100 <__subsf3+0x128> +800020f4: 0ff00713 li a4,255 +800020f8: 0ae61663 bne a2,a4,800021a4 <__subsf3+0x1cc> +800020fc: 0200006f j 8000211c <__subsf3+0x144> +80002100: fff00693 li a3,-1 +80002104: 00d71663 bne a4,a3,80002110 <__subsf3+0x138> +80002108: 010787b3 add a5,a5,a6 +8000210c: f61ff06f j 8000206c <__subsf3+0x94> +80002110: 0ff00693 li a3,255 +80002114: fff74713 not a4,a4 +80002118: 02d61063 bne a2,a3,80002138 <__subsf3+0x160> +8000211c: 0ff00513 li a0,255 +80002120: 0840006f j 800021a4 <__subsf3+0x1cc> +80002124: 0ff00693 li a3,255 +80002128: fed60ae3 beq a2,a3,8000211c <__subsf3+0x144> +8000212c: 040006b7 lui a3,0x4000 +80002130: 40e00733 neg a4,a4 +80002134: 00d86833 or a6,a6,a3 +80002138: 01b00693 li a3,27 +8000213c: 00e6d663 ble a4,a3,80002148 <__subsf3+0x170> +80002140: 00100713 li a4,1 +80002144: 01c0006f j 80002160 <__subsf3+0x188> +80002148: 02000693 li a3,32 +8000214c: 00e85633 srl a2,a6,a4 +80002150: 40e68733 sub a4,a3,a4 +80002154: 00e81733 sll a4,a6,a4 +80002158: 00e03733 snez a4,a4 +8000215c: 00e66733 or a4,a2,a4 +80002160: 00e787b3 add a5,a5,a4 +80002164: f09ff06f j 8000206c <__subsf3+0x94> +80002168: 00168513 addi a0,a3,1 # 4000001 <_stack_size+0x3fffc01> +8000216c: 0ff57613 andi a2,a0,255 +80002170: 00100713 li a4,1 +80002174: 06c74263 blt a4,a2,800021d8 <__subsf3+0x200> +80002178: 04069463 bnez a3,800021c0 <__subsf3+0x1e8> +8000217c: 00000513 li a0,0 +80002180: 02080263 beqz a6,800021a4 <__subsf3+0x1cc> +80002184: 22078663 beqz a5,800023b0 <__subsf3+0x3d8> +80002188: 010787b3 add a5,a5,a6 +8000218c: 00579713 slli a4,a5,0x5 +80002190: 00075a63 bgez a4,800021a4 <__subsf3+0x1cc> +80002194: fc000737 lui a4,0xfc000 +80002198: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +8000219c: 00e7f7b3 and a5,a5,a4 +800021a0: 00100513 li a0,1 +800021a4: 0077f713 andi a4,a5,7 +800021a8: 20070a63 beqz a4,800023bc <__subsf3+0x3e4> +800021ac: 00f7f713 andi a4,a5,15 +800021b0: 00400693 li a3,4 +800021b4: 20d70463 beq a4,a3,800023bc <__subsf3+0x3e4> +800021b8: 00478793 addi a5,a5,4 +800021bc: 2000006f j 800023bc <__subsf3+0x3e4> +800021c0: f4080ee3 beqz a6,8000211c <__subsf3+0x144> +800021c4: ee0780e3 beqz a5,800020a4 <__subsf3+0xcc> +800021c8: 020007b7 lui a5,0x2000 +800021cc: 0ff00513 li a0,255 +800021d0: 00000493 li s1,0 +800021d4: 1e80006f j 800023bc <__subsf3+0x3e4> +800021d8: 0ff00713 li a4,255 +800021dc: 1ce50e63 beq a0,a4,800023b8 <__subsf3+0x3e0> +800021e0: 00f80733 add a4,a6,a5 +800021e4: 00175793 srli a5,a4,0x1 +800021e8: fbdff06f j 800021a4 <__subsf3+0x1cc> +800021ec: 08e05063 blez a4,8000226c <__subsf3+0x294> +800021f0: 04061663 bnez a2,8000223c <__subsf3+0x264> +800021f4: e4078ae3 beqz a5,80002048 <__subsf3+0x70> +800021f8: fff70713 addi a4,a4,-1 +800021fc: 02071463 bnez a4,80002224 <__subsf3+0x24c> +80002200: 40f807b3 sub a5,a6,a5 +80002204: 00068513 mv a0,a3 +80002208: 00579713 slli a4,a5,0x5 +8000220c: f8075ce3 bgez a4,800021a4 <__subsf3+0x1cc> +80002210: 04000437 lui s0,0x4000 +80002214: fff40413 addi s0,s0,-1 # 3ffffff <_stack_size+0x3fffbff> +80002218: 0087f433 and s0,a5,s0 +8000221c: 00050913 mv s2,a0 +80002220: 1380006f j 80002358 <__subsf3+0x380> +80002224: 0ff00613 li a2,255 +80002228: e6c68ee3 beq a3,a2,800020a4 <__subsf3+0xcc> +8000222c: 01b00613 li a2,27 +80002230: 02e65063 ble a4,a2,80002250 <__subsf3+0x278> +80002234: 00100793 li a5,1 +80002238: fc9ff06f j 80002200 <__subsf3+0x228> +8000223c: 0ff00613 li a2,255 +80002240: e6c682e3 beq a3,a2,800020a4 <__subsf3+0xcc> +80002244: 04000637 lui a2,0x4000 +80002248: 00c7e7b3 or a5,a5,a2 +8000224c: fe1ff06f j 8000222c <__subsf3+0x254> +80002250: 02000613 li a2,32 +80002254: 00e7d5b3 srl a1,a5,a4 +80002258: 40e60733 sub a4,a2,a4 +8000225c: 00e797b3 sll a5,a5,a4 +80002260: 00f037b3 snez a5,a5 +80002264: 00f5e7b3 or a5,a1,a5 +80002268: f99ff06f j 80002200 <__subsf3+0x228> +8000226c: 08070263 beqz a4,800022f0 <__subsf3+0x318> +80002270: 02069e63 bnez a3,800022ac <__subsf3+0x2d4> +80002274: 00081863 bnez a6,80002284 <__subsf3+0x2ac> +80002278: 0ff00713 li a4,255 +8000227c: 00058493 mv s1,a1 +80002280: e79ff06f j 800020f8 <__subsf3+0x120> +80002284: fff00693 li a3,-1 +80002288: 00d71863 bne a4,a3,80002298 <__subsf3+0x2c0> +8000228c: 410787b3 sub a5,a5,a6 +80002290: 00058493 mv s1,a1 +80002294: f75ff06f j 80002208 <__subsf3+0x230> +80002298: 0ff00693 li a3,255 +8000229c: fff74713 not a4,a4 +800022a0: 02d61063 bne a2,a3,800022c0 <__subsf3+0x2e8> +800022a4: 00058493 mv s1,a1 +800022a8: e75ff06f j 8000211c <__subsf3+0x144> +800022ac: 0ff00693 li a3,255 +800022b0: fed60ae3 beq a2,a3,800022a4 <__subsf3+0x2cc> +800022b4: 040006b7 lui a3,0x4000 +800022b8: 40e00733 neg a4,a4 +800022bc: 00d86833 or a6,a6,a3 +800022c0: 01b00693 li a3,27 +800022c4: 00e6d663 ble a4,a3,800022d0 <__subsf3+0x2f8> +800022c8: 00100713 li a4,1 +800022cc: 01c0006f j 800022e8 <__subsf3+0x310> +800022d0: 02000693 li a3,32 +800022d4: 00e85633 srl a2,a6,a4 +800022d8: 40e68733 sub a4,a3,a4 +800022dc: 00e81733 sll a4,a6,a4 +800022e0: 00e03733 snez a4,a4 +800022e4: 00e66733 or a4,a2,a4 +800022e8: 40e787b3 sub a5,a5,a4 +800022ec: fa5ff06f j 80002290 <__subsf3+0x2b8> +800022f0: 00168713 addi a4,a3,1 # 4000001 <_stack_size+0x3fffc01> +800022f4: 0ff77713 andi a4,a4,255 +800022f8: 00100613 li a2,1 +800022fc: 04e64463 blt a2,a4,80002344 <__subsf3+0x36c> +80002300: 02069c63 bnez a3,80002338 <__subsf3+0x360> +80002304: 00081863 bnez a6,80002314 <__subsf3+0x33c> +80002308: 12079863 bnez a5,80002438 <__subsf3+0x460> +8000230c: 00000513 li a0,0 +80002310: ec1ff06f j 800021d0 <__subsf3+0x1f8> +80002314: 12078663 beqz a5,80002440 <__subsf3+0x468> +80002318: 40f80733 sub a4,a6,a5 +8000231c: 00571693 slli a3,a4,0x5 +80002320: 410787b3 sub a5,a5,a6 +80002324: 1006ca63 bltz a3,80002438 <__subsf3+0x460> +80002328: 00070793 mv a5,a4 +8000232c: 06071063 bnez a4,8000238c <__subsf3+0x3b4> +80002330: 00000793 li a5,0 +80002334: fd9ff06f j 8000230c <__subsf3+0x334> +80002338: e80816e3 bnez a6,800021c4 <__subsf3+0x1ec> +8000233c: f60794e3 bnez a5,800022a4 <__subsf3+0x2cc> +80002340: e89ff06f j 800021c8 <__subsf3+0x1f0> +80002344: 40f80433 sub s0,a6,a5 +80002348: 00541713 slli a4,s0,0x5 +8000234c: 04075463 bgez a4,80002394 <__subsf3+0x3bc> +80002350: 41078433 sub s0,a5,a6 +80002354: 00058493 mv s1,a1 +80002358: 00040513 mv a0,s0 +8000235c: 52c000ef jal ra,80002888 <__clzsi2> +80002360: ffb50513 addi a0,a0,-5 +80002364: 00a41433 sll s0,s0,a0 +80002368: 03254a63 blt a0,s2,8000239c <__subsf3+0x3c4> +8000236c: 41250533 sub a0,a0,s2 +80002370: 00150513 addi a0,a0,1 +80002374: 02000713 li a4,32 +80002378: 00a457b3 srl a5,s0,a0 +8000237c: 40a70533 sub a0,a4,a0 +80002380: 00a41433 sll s0,s0,a0 +80002384: 00803433 snez s0,s0 +80002388: 0087e7b3 or a5,a5,s0 +8000238c: 00000513 li a0,0 +80002390: e15ff06f j 800021a4 <__subsf3+0x1cc> +80002394: f8040ee3 beqz s0,80002330 <__subsf3+0x358> +80002398: fc1ff06f j 80002358 <__subsf3+0x380> +8000239c: fc0007b7 lui a5,0xfc000 +800023a0: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9f2f> +800023a4: 40a90533 sub a0,s2,a0 +800023a8: 00f477b3 and a5,s0,a5 +800023ac: df9ff06f j 800021a4 <__subsf3+0x1cc> +800023b0: 00080793 mv a5,a6 +800023b4: df1ff06f j 800021a4 <__subsf3+0x1cc> +800023b8: 00000793 li a5,0 +800023bc: 00579713 slli a4,a5,0x5 +800023c0: 00075e63 bgez a4,800023dc <__subsf3+0x404> +800023c4: 00150513 addi a0,a0,1 +800023c8: 0ff00713 li a4,255 +800023cc: 06e50e63 beq a0,a4,80002448 <__subsf3+0x470> +800023d0: fc000737 lui a4,0xfc000 +800023d4: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +800023d8: 00e7f7b3 and a5,a5,a4 +800023dc: 0ff00713 li a4,255 +800023e0: 0037d793 srli a5,a5,0x3 +800023e4: 00e51863 bne a0,a4,800023f4 <__subsf3+0x41c> +800023e8: 00078663 beqz a5,800023f4 <__subsf3+0x41c> +800023ec: 004007b7 lui a5,0x400 +800023f0: 00000493 li s1,0 +800023f4: 00800737 lui a4,0x800 +800023f8: fff70713 addi a4,a4,-1 # 7fffff <_stack_size+0x7ffbff> +800023fc: 0ff57513 andi a0,a0,255 +80002400: 00e7f7b3 and a5,a5,a4 +80002404: 01751713 slli a4,a0,0x17 +80002408: 80800537 lui a0,0x80800 +8000240c: 00c12083 lw ra,12(sp) +80002410: 00812403 lw s0,8(sp) +80002414: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80002418: 00a7f533 and a0,a5,a0 +8000241c: 01f49493 slli s1,s1,0x1f +80002420: 00e56533 or a0,a0,a4 +80002424: 00956533 or a0,a0,s1 +80002428: 00012903 lw s2,0(sp) +8000242c: 00412483 lw s1,4(sp) +80002430: 01010113 addi sp,sp,16 +80002434: 00008067 ret +80002438: 00058493 mv s1,a1 +8000243c: f51ff06f j 8000238c <__subsf3+0x3b4> +80002440: 00080793 mv a5,a6 +80002444: f49ff06f j 8000238c <__subsf3+0x3b4> +80002448: 00000793 li a5,0 +8000244c: f91ff06f j 800023dc <__subsf3+0x404> + +80002450 <__fixsfsi>: +80002450: 00800637 lui a2,0x800 +80002454: 01755713 srli a4,a0,0x17 +80002458: fff60793 addi a5,a2,-1 # 7fffff <_stack_size+0x7ffbff> +8000245c: 0ff77713 andi a4,a4,255 +80002460: 07e00593 li a1,126 +80002464: 00a7f7b3 and a5,a5,a0 +80002468: 01f55693 srli a3,a0,0x1f +8000246c: 04e5f663 bleu a4,a1,800024b8 <__fixsfsi+0x68> +80002470: 09d00593 li a1,157 +80002474: 00e5fa63 bleu a4,a1,80002488 <__fixsfsi+0x38> +80002478: 80000537 lui a0,0x80000 +8000247c: fff54513 not a0,a0 +80002480: 00a68533 add a0,a3,a0 +80002484: 00008067 ret +80002488: 00c7e533 or a0,a5,a2 +8000248c: 09500793 li a5,149 +80002490: 00e7dc63 ble a4,a5,800024a8 <__fixsfsi+0x58> +80002494: f6a70713 addi a4,a4,-150 +80002498: 00e51533 sll a0,a0,a4 +8000249c: 02068063 beqz a3,800024bc <__fixsfsi+0x6c> +800024a0: 40a00533 neg a0,a0 +800024a4: 00008067 ret +800024a8: 09600793 li a5,150 +800024ac: 40e78733 sub a4,a5,a4 +800024b0: 00e55533 srl a0,a0,a4 +800024b4: fe9ff06f j 8000249c <__fixsfsi+0x4c> +800024b8: 00000513 li a0,0 +800024bc: 00008067 ret + +800024c0 <__floatsisf>: +800024c0: ff010113 addi sp,sp,-16 +800024c4: 00112623 sw ra,12(sp) +800024c8: 00812423 sw s0,8(sp) +800024cc: 00912223 sw s1,4(sp) +800024d0: 10050263 beqz a0,800025d4 <__floatsisf+0x114> +800024d4: 00050413 mv s0,a0 +800024d8: 01f55493 srli s1,a0,0x1f +800024dc: 00055463 bgez a0,800024e4 <__floatsisf+0x24> +800024e0: 40a00433 neg s0,a0 +800024e4: 00040513 mv a0,s0 +800024e8: 3a0000ef jal ra,80002888 <__clzsi2> +800024ec: 09e00793 li a5,158 +800024f0: 40a787b3 sub a5,a5,a0 +800024f4: 09600713 li a4,150 +800024f8: 06f74063 blt a4,a5,80002558 <__floatsisf+0x98> +800024fc: 00800713 li a4,8 +80002500: 00a75663 ble a0,a4,8000250c <__floatsisf+0x4c> +80002504: ff850513 addi a0,a0,-8 # 7ffffff8 <_stack_start+0xffff9f28> +80002508: 00a41433 sll s0,s0,a0 +8000250c: 00800537 lui a0,0x800 +80002510: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +80002514: 0ff7f793 andi a5,a5,255 +80002518: 00a47433 and s0,s0,a0 +8000251c: 01779513 slli a0,a5,0x17 +80002520: 808007b7 lui a5,0x80800 +80002524: fff78793 addi a5,a5,-1 # 807fffff <_stack_start+0x7f9f2f> +80002528: 00f47433 and s0,s0,a5 +8000252c: 800007b7 lui a5,0x80000 +80002530: 00a46433 or s0,s0,a0 +80002534: fff7c793 not a5,a5 +80002538: 01f49513 slli a0,s1,0x1f +8000253c: 00f47433 and s0,s0,a5 +80002540: 00a46533 or a0,s0,a0 +80002544: 00c12083 lw ra,12(sp) +80002548: 00812403 lw s0,8(sp) +8000254c: 00412483 lw s1,4(sp) +80002550: 01010113 addi sp,sp,16 +80002554: 00008067 ret +80002558: 09900713 li a4,153 +8000255c: 02f75063 ble a5,a4,8000257c <__floatsisf+0xbc> +80002560: 00500713 li a4,5 +80002564: 40a70733 sub a4,a4,a0 +80002568: 01b50693 addi a3,a0,27 +8000256c: 00e45733 srl a4,s0,a4 +80002570: 00d41433 sll s0,s0,a3 +80002574: 00803433 snez s0,s0 +80002578: 00876433 or s0,a4,s0 +8000257c: 00500713 li a4,5 +80002580: 00a75663 ble a0,a4,8000258c <__floatsisf+0xcc> +80002584: ffb50713 addi a4,a0,-5 +80002588: 00e41433 sll s0,s0,a4 +8000258c: fc000737 lui a4,0xfc000 +80002590: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +80002594: 00747693 andi a3,s0,7 +80002598: 00e47733 and a4,s0,a4 +8000259c: 00068a63 beqz a3,800025b0 <__floatsisf+0xf0> +800025a0: 00f47413 andi s0,s0,15 +800025a4: 00400693 li a3,4 +800025a8: 00d40463 beq s0,a3,800025b0 <__floatsisf+0xf0> +800025ac: 00470713 addi a4,a4,4 +800025b0: 00571693 slli a3,a4,0x5 +800025b4: 0006dc63 bgez a3,800025cc <__floatsisf+0x10c> +800025b8: fc0007b7 lui a5,0xfc000 +800025bc: fff78793 addi a5,a5,-1 # fbffffff <_stack_start+0x7bff9f2f> +800025c0: 00f77733 and a4,a4,a5 +800025c4: 09f00793 li a5,159 +800025c8: 40a787b3 sub a5,a5,a0 +800025cc: 00375413 srli s0,a4,0x3 +800025d0: f3dff06f j 8000250c <__floatsisf+0x4c> +800025d4: 00000413 li s0,0 +800025d8: 00000793 li a5,0 +800025dc: 00000493 li s1,0 +800025e0: f2dff06f j 8000250c <__floatsisf+0x4c> + +800025e4 <__extendsfdf2>: +800025e4: 01755793 srli a5,a0,0x17 +800025e8: ff010113 addi sp,sp,-16 +800025ec: 0ff7f793 andi a5,a5,255 +800025f0: 00812423 sw s0,8(sp) +800025f4: 00178713 addi a4,a5,1 +800025f8: 00800437 lui s0,0x800 +800025fc: 00912223 sw s1,4(sp) +80002600: fff40413 addi s0,s0,-1 # 7fffff <_stack_size+0x7ffbff> +80002604: 00112623 sw ra,12(sp) +80002608: 0ff77713 andi a4,a4,255 +8000260c: 00100693 li a3,1 +80002610: 00a47433 and s0,s0,a0 +80002614: 01f55493 srli s1,a0,0x1f +80002618: 06e6d263 ble a4,a3,8000267c <__extendsfdf2+0x98> +8000261c: 38078513 addi a0,a5,896 +80002620: 00345793 srli a5,s0,0x3 +80002624: 01d41413 slli s0,s0,0x1d +80002628: 00100737 lui a4,0x100 +8000262c: fff70713 addi a4,a4,-1 # fffff <_stack_size+0xffbff> +80002630: 00e7f7b3 and a5,a5,a4 +80002634: 80100737 lui a4,0x80100 +80002638: fff70713 addi a4,a4,-1 # 800fffff <_stack_start+0xf9f2f> +8000263c: 7ff57513 andi a0,a0,2047 +80002640: 01451513 slli a0,a0,0x14 +80002644: 00e7f7b3 and a5,a5,a4 +80002648: 80000737 lui a4,0x80000 +8000264c: 00a7e7b3 or a5,a5,a0 +80002650: fff74713 not a4,a4 +80002654: 01f49513 slli a0,s1,0x1f +80002658: 00e7f7b3 and a5,a5,a4 +8000265c: 00a7e733 or a4,a5,a0 +80002660: 00c12083 lw ra,12(sp) +80002664: 00040513 mv a0,s0 +80002668: 00812403 lw s0,8(sp) +8000266c: 00412483 lw s1,4(sp) +80002670: 00070593 mv a1,a4 +80002674: 01010113 addi sp,sp,16 +80002678: 00008067 ret +8000267c: 04079463 bnez a5,800026c4 <__extendsfdf2+0xe0> +80002680: 06040263 beqz s0,800026e4 <__extendsfdf2+0x100> +80002684: 00040513 mv a0,s0 +80002688: 200000ef jal ra,80002888 <__clzsi2> +8000268c: 00a00793 li a5,10 +80002690: 02a7c263 blt a5,a0,800026b4 <__extendsfdf2+0xd0> +80002694: 00b00793 li a5,11 +80002698: 40a787b3 sub a5,a5,a0 +8000269c: 01550713 addi a4,a0,21 +800026a0: 00f457b3 srl a5,s0,a5 +800026a4: 00e41433 sll s0,s0,a4 +800026a8: 38900713 li a4,905 +800026ac: 40a70533 sub a0,a4,a0 +800026b0: f79ff06f j 80002628 <__extendsfdf2+0x44> +800026b4: ff550793 addi a5,a0,-11 +800026b8: 00f417b3 sll a5,s0,a5 +800026bc: 00000413 li s0,0 +800026c0: fe9ff06f j 800026a8 <__extendsfdf2+0xc4> +800026c4: 00000793 li a5,0 +800026c8: 00040a63 beqz s0,800026dc <__extendsfdf2+0xf8> +800026cc: 00345793 srli a5,s0,0x3 +800026d0: 00080737 lui a4,0x80 +800026d4: 01d41413 slli s0,s0,0x1d +800026d8: 00e7e7b3 or a5,a5,a4 +800026dc: 7ff00513 li a0,2047 +800026e0: f49ff06f j 80002628 <__extendsfdf2+0x44> +800026e4: 00000793 li a5,0 +800026e8: 00000513 li a0,0 +800026ec: f3dff06f j 80002628 <__extendsfdf2+0x44> + +800026f0 <__truncdfsf2>: +800026f0: 00100637 lui a2,0x100 +800026f4: fff60613 addi a2,a2,-1 # fffff <_stack_size+0xffbff> +800026f8: 00b67633 and a2,a2,a1 +800026fc: 0145d813 srli a6,a1,0x14 +80002700: 01d55793 srli a5,a0,0x1d +80002704: 7ff87813 andi a6,a6,2047 +80002708: 00361613 slli a2,a2,0x3 +8000270c: 00c7e633 or a2,a5,a2 +80002710: 00180793 addi a5,a6,1 +80002714: 7ff7f793 andi a5,a5,2047 +80002718: 00100693 li a3,1 +8000271c: 01f5d593 srli a1,a1,0x1f +80002720: 00351713 slli a4,a0,0x3 +80002724: 0af6d663 ble a5,a3,800027d0 <__truncdfsf2+0xe0> +80002728: c8080693 addi a3,a6,-896 +8000272c: 0fe00793 li a5,254 +80002730: 0cd7c263 blt a5,a3,800027f4 <__truncdfsf2+0x104> +80002734: 08d04063 bgtz a3,800027b4 <__truncdfsf2+0xc4> +80002738: fe900793 li a5,-23 +8000273c: 12f6c463 blt a3,a5,80002864 <__truncdfsf2+0x174> +80002740: 008007b7 lui a5,0x800 +80002744: 01e00513 li a0,30 +80002748: 00f66633 or a2,a2,a5 +8000274c: 40d50533 sub a0,a0,a3 +80002750: 01f00793 li a5,31 +80002754: 02a7c863 blt a5,a0,80002784 <__truncdfsf2+0x94> +80002758: c8280813 addi a6,a6,-894 +8000275c: 010717b3 sll a5,a4,a6 +80002760: 00f037b3 snez a5,a5 +80002764: 01061633 sll a2,a2,a6 +80002768: 00a75533 srl a0,a4,a0 +8000276c: 00c7e7b3 or a5,a5,a2 +80002770: 00f567b3 or a5,a0,a5 +80002774: 00000693 li a3,0 +80002778: 0077f713 andi a4,a5,7 +8000277c: 08070063 beqz a4,800027fc <__truncdfsf2+0x10c> +80002780: 0ec0006f j 8000286c <__truncdfsf2+0x17c> +80002784: ffe00793 li a5,-2 +80002788: 40d786b3 sub a3,a5,a3 +8000278c: 02000793 li a5,32 +80002790: 00d656b3 srl a3,a2,a3 +80002794: 00000893 li a7,0 +80002798: 00f50663 beq a0,a5,800027a4 <__truncdfsf2+0xb4> +8000279c: ca280813 addi a6,a6,-862 +800027a0: 010618b3 sll a7,a2,a6 +800027a4: 00e8e7b3 or a5,a7,a4 +800027a8: 00f037b3 snez a5,a5 +800027ac: 00f6e7b3 or a5,a3,a5 +800027b0: fc5ff06f j 80002774 <__truncdfsf2+0x84> +800027b4: 00651513 slli a0,a0,0x6 +800027b8: 00a03533 snez a0,a0 +800027bc: 00361613 slli a2,a2,0x3 +800027c0: 01d75793 srli a5,a4,0x1d +800027c4: 00c56633 or a2,a0,a2 +800027c8: 00f667b3 or a5,a2,a5 +800027cc: fadff06f j 80002778 <__truncdfsf2+0x88> +800027d0: 00e667b3 or a5,a2,a4 +800027d4: 00081663 bnez a6,800027e0 <__truncdfsf2+0xf0> +800027d8: 00f037b3 snez a5,a5 +800027dc: f99ff06f j 80002774 <__truncdfsf2+0x84> +800027e0: 0ff00693 li a3,255 +800027e4: 00078c63 beqz a5,800027fc <__truncdfsf2+0x10c> +800027e8: 00361613 slli a2,a2,0x3 +800027ec: 020007b7 lui a5,0x2000 +800027f0: fd9ff06f j 800027c8 <__truncdfsf2+0xd8> +800027f4: 00000793 li a5,0 +800027f8: 0ff00693 li a3,255 +800027fc: 00579713 slli a4,a5,0x5 +80002800: 00075e63 bgez a4,8000281c <__truncdfsf2+0x12c> +80002804: 00168693 addi a3,a3,1 +80002808: 0ff00713 li a4,255 +8000280c: 06e68a63 beq a3,a4,80002880 <__truncdfsf2+0x190> +80002810: fc000737 lui a4,0xfc000 +80002814: fff70713 addi a4,a4,-1 # fbffffff <_stack_start+0x7bff9f2f> +80002818: 00e7f7b3 and a5,a5,a4 +8000281c: 0ff00713 li a4,255 +80002820: 0037d793 srli a5,a5,0x3 +80002824: 00e69863 bne a3,a4,80002834 <__truncdfsf2+0x144> +80002828: 00078663 beqz a5,80002834 <__truncdfsf2+0x144> +8000282c: 004007b7 lui a5,0x400 +80002830: 00000593 li a1,0 +80002834: 00800537 lui a0,0x800 +80002838: fff50513 addi a0,a0,-1 # 7fffff <_stack_size+0x7ffbff> +8000283c: 00a7f7b3 and a5,a5,a0 +80002840: 80800537 lui a0,0x80800 +80002844: fff50513 addi a0,a0,-1 # 807fffff <_stack_start+0x7f9f2f> +80002848: 0ff6f693 andi a3,a3,255 +8000284c: 01769693 slli a3,a3,0x17 +80002850: 00a7f7b3 and a5,a5,a0 +80002854: 01f59593 slli a1,a1,0x1f +80002858: 00d7e7b3 or a5,a5,a3 +8000285c: 00b7e533 or a0,a5,a1 +80002860: 00008067 ret +80002864: 00100793 li a5,1 +80002868: 00000693 li a3,0 +8000286c: 00f7f713 andi a4,a5,15 +80002870: 00400613 li a2,4 +80002874: f8c704e3 beq a4,a2,800027fc <__truncdfsf2+0x10c> +80002878: 00478793 addi a5,a5,4 # 400004 <_stack_size+0x3ffc04> +8000287c: f81ff06f j 800027fc <__truncdfsf2+0x10c> +80002880: 00000793 li a5,0 +80002884: f99ff06f j 8000281c <__truncdfsf2+0x12c> + +80002888 <__clzsi2>: +80002888: 000107b7 lui a5,0x10 +8000288c: 02f57a63 bleu a5,a0,800028c0 <__clzsi2+0x38> +80002890: 0ff00793 li a5,255 +80002894: 00a7b7b3 sltu a5,a5,a0 +80002898: 00379793 slli a5,a5,0x3 +8000289c: 02000713 li a4,32 +800028a0: 40f70733 sub a4,a4,a5 +800028a4: 00f557b3 srl a5,a0,a5 +800028a8: 00000517 auipc a0,0x0 +800028ac: 6fc50513 addi a0,a0,1788 # 80002fa4 <__clz_tab> +800028b0: 00f507b3 add a5,a0,a5 +800028b4: 0007c503 lbu a0,0(a5) # 10000 <_stack_size+0xfc00> +800028b8: 40a70533 sub a0,a4,a0 +800028bc: 00008067 ret +800028c0: 01000737 lui a4,0x1000 +800028c4: 01000793 li a5,16 +800028c8: fce56ae3 bltu a0,a4,8000289c <__clzsi2+0x14> +800028cc: 01800793 li a5,24 +800028d0: fcdff06f j 8000289c <__clzsi2+0x14> + +Disassembly of section .text.startup: + +800028d4 <main>: +int main() { +800028d4: 1141 addi sp,sp,-16 +800028d6: c606 sw ra,12(sp) + main2(); +800028d8: 945fd0ef jal ra,8000021c <main2> +} +800028dc: 40b2 lw ra,12(sp) + TEST_COM_BASE[8] = 0; +800028de: f01007b7 lui a5,0xf0100 +800028e2: f207a023 sw zero,-224(a5) # f00fff20 <_stack_start+0x700f9e50> +} +800028e6: 4501 li a0,0 +800028e8: 0141 addi sp,sp,16 +800028ea: 8082 ret diff --git a/VexRiscv/src/test/resources/asm/machineCsr.asm b/VexRiscv/src/test/resources/asm/machineCsr.asm new file mode 100644 index 0000000..eede723 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/machineCsr.asm @@ -0,0 +1,12550 @@ + +build/machineCsr.elf: file format elf32-littleriscv + + +Disassembly of section .yolo: + +00000000 <trap_entry-0x20>: + j _start + 0: 0900006f j 90 <_start> + nop + 4: 00000013 nop + nop + 8: 00000013 nop + nop + c: 00000013 nop + nop + 10: 00000013 nop + nop + 14: 00000013 nop + nop + 18: 00000013 nop + nop + 1c: 00000013 nop + +00000020 <trap_entry>: + +.global trap_entry +trap_entry: + csrr x28, mcause + 20: 34202e73 csrr t3,mcause + + bnez x28, notICmdAlignementException + 24: 000e1e63 bnez t3,40 <notICmdAlignementException> + li x30, 0xFFFFFFFC + 28: ffc00f13 li t5,-4 + csrr x29, mepc + 2c: 34102ef3 csrr t4,mepc + and x29,x29,x30 + 30: 01eefeb3 and t4,t4,t5 + addi x29, x29, 4 + 34: 004e8e93 addi t4,t4,4 + csrw mepc, x29 + 38: 341e9073 csrw mepc,t4 + j mepcFixed + 3c: 01c0006f j 58 <mepcFixed> + +00000040 <notICmdAlignementException>: + +notICmdAlignementException: + li x29, 0x80000000 + 40: 80000eb7 lui t4,0x80000 + and x30, x28, x29 + 44: 01de7f33 and t5,t3,t4 + bnez x30, mepcFixed + 48: 000f1863 bnez t5,58 <mepcFixed> + csrr x29, mepc + 4c: 34102ef3 csrr t4,mepc + addi x29, x29, 4 + 50: 004e8e93 addi t4,t4,4 # 80000004 <_bss_end+0x3fff397c> + csrw mepc, x29 + 54: 341e9073 csrw mepc,t4 + +00000058 <mepcFixed>: +mepcFixed: + + + li x29, 0x80000003u + 58: 80000eb7 lui t4,0x80000 + 5c: 003e8e93 addi t4,t4,3 # 80000003 <_bss_end+0x3fff397b> + bne x29, x28, noSoftwareInterrupt + 60: 01ce9663 bne t4,t3,6c <noSoftwareInterrupt> + li x29, 0x008 + 64: 00800e93 li t4,8 + csrc mip, x29 + 68: 344eb073 csrc mip,t4 + +0000006c <noSoftwareInterrupt>: + +noSoftwareInterrupt: + + li x29, 0x80000007u + 6c: 80000eb7 lui t4,0x80000 + 70: 007e8e93 addi t4,t4,7 # 80000007 <_bss_end+0x3fff397f> + bne x29, x28, noTimerInterrupt + 74: 01ce9463 bne t4,t3,7c <noTimerInterrupt> + csrw mie, 0 + 78: 30405073 csrwi mie,0 + +0000007c <noTimerInterrupt>: +noTimerInterrupt: + + li x29, 0x8000000bu + 7c: 80000eb7 lui t4,0x80000 + 80: 00be8e93 addi t4,t4,11 # 8000000b <_bss_end+0x3fff3983> + bne x29, x28, noExernalInterrupt + 84: 01ce9463 bne t4,t3,8c <noExernalInterrupt> + csrw mie, 0 + 88: 30405073 csrwi mie,0 + +0000008c <noExernalInterrupt>: +noExernalInterrupt: + + mret + 8c: 30200073 mret + +00000090 <_start>: + + + .text + .globl _start +_start: + li x28, 1 + 90: 00100e13 li t3,1 + scall + 94: 00000073 ecall + + li x28, 2 + 98: 00200e13 li t3,2 + li t0, 0x008 + 9c: 00800293 li t0,8 + csrs mstatus,t0 + a0: 3002a073 csrs mstatus,t0 + li t0, 0x008 + a4: 00800293 li t0,8 + csrw mie,t0 + a8: 30429073 csrw mie,t0 + li t0, 0x008 + ac: 00800293 li t0,8 + csrs mip,t0 + b0: 3442a073 csrs mip,t0 + nop + b4: 00000013 nop + nop + b8: 00000013 nop + nop + bc: 00000013 nop + nop + c0: 00000013 nop + nop + c4: 00000013 nop + nop + c8: 00000013 nop + nop + cc: 00000013 nop + nop + d0: 00000013 nop + nop + d4: 00000013 nop + nop + d8: 00000013 nop + nop + dc: 00000013 nop + nop + e0: 00000013 nop + + + li x28, 3 + e4: 00300e13 li t3,3 + li t0, 0x080 + e8: 08000293 li t0,128 + csrw mie,t0 + ec: 30429073 csrw mie,t0 + nop + f0: 00000013 nop + nop + f4: 00000013 nop + nop + f8: 00000013 nop + nop + fc: 00000013 nop + nop + 100: 00000013 nop + nop + 104: 00000013 nop + nop + 108: 00000013 nop + + li x28, 4 + 10c: 00400e13 li t3,4 + li t0, 0x800 + 110: 000012b7 lui t0,0x1 + 114: 80028293 addi t0,t0,-2048 # 800 <_stack_size> + csrw mie,t0 + 118: 30429073 csrw mie,t0 + nop + 11c: 00000013 nop + nop + 120: 00000013 nop + nop + 124: 00000013 nop + nop + 128: 00000013 nop + nop + 12c: 00000013 nop + nop + 130: 00000013 nop + nop + 134: 00000013 nop + + li x28, 5 + 138: 00500e13 li t3,5 + li x3, 0xF00FFF40 + 13c: f01001b7 lui gp,0xf0100 + 140: f4018193 addi gp,gp,-192 # f00fff40 <_bss_end+0xb00f38b8> + lw x4, 0(x3) + 144: 0001a203 lw tp,0(gp) + lw x5, 4(x3) + 148: 0041a283 lw t0,4(gp) + addi x4, x4, 1023 + 14c: 3ff20213 addi tp,tp,1023 # 3ff <unalignedPcA+0x263> + sw x4, 8(x3) + 150: 0041a423 sw tp,8(gp) + sw x5, 12(x3) + 154: 0051a623 sw t0,12(gp) + li x28, 6 + 158: 00600e13 li t3,6 + li x4, 0x080 + 15c: 08000213 li tp,128 + csrw mie,x4 + 160: 30421073 csrw mie,tp + li x28, 7 + 164: 00700e13 li t3,7 + wfi + 168: 10500073 wfi + + + li x28, 8 + 16c: 00800e13 li t3,8 + li x3, 1 + 170: 00100193 li gp,1 + sw x4,0(x3) + 174: 0041a023 sw tp,0(gp) + li x28, 9 + 178: 00900e13 li t3,9 + sh x4,0(x3) + 17c: 00419023 sh tp,0(gp) + li x28, 10 + 180: 00a00e13 li t3,10 + lw x4,0(x3) + 184: 0001a203 lw tp,0(gp) + li x28, 11 + 188: 00b00e13 li t3,11 + lh x4,0(x3) + 18c: 00019203 lh tp,0(gp) + li x28, 12 + 190: 00c00e13 li t3,12 + + + + li x28, 13 + 194: 00d00e13 li t3,13 + lw x1,0(x0) + 198: 00002083 lw ra,0(zero) # 0 <trap_entry-0x20> + +0000019c <unalignedPcA>: +unalignedPcA: + j unalignedPcA+2 + 19c: 0020006f j 19e <unalignedPcA+0x2> + lw x1,0(x0) + 1a0: 00002083 lw ra,0(zero) # 0 <trap_entry-0x20> + + li x28, 14 + 1a4: 00e00e13 li t3,14 + hret + 1a8: 20200073 hret + li x28, 15 + 1ac: 00f00e13 li t3,15 + + + li x1, 0xF00FFF60 + 1b0: f01000b7 lui ra,0xf0100 + 1b4: f6008093 addi ra,ra,-160 # f00fff60 <_bss_end+0xb00f38d8> + lw x2, 0(x1) + 1b8: 0000a103 lw sp,0(ra) + li x28, 16 + 1bc: 01000e13 li t3,16 + sw x2, 0(x1) + 1c0: 0020a023 sw sp,0(ra) + li x28, 17 + 1c4: 01100e13 li t3,17 + jr x1 + 1c8: 00008067 ret + +Disassembly of section .text: + +40000000 <fstat>: + return 0; +} + +int fstat(int fd, struct _stat *buffer) { + return 0; +} +40000000: 00000513 li a0,0 +40000004: 00008067 ret + +40000008 <isatty>: + +int isatty(int fd) { + return 0; +} +40000008: 00000513 li a0,0 +4000000c: 00008067 ret + +40000010 <close>: +40000010: 00000297 auipc t0,0x0 +40000014: ff828067 jr -8(t0) # 40000008 <isatty> + +40000018 <lseek>: + +long lseek(int fd, long offset, int origin) { + return 0; +} +40000018: 00000513 li a0,0 +4000001c: 00008067 ret + +40000020 <read>: + +int read(int fd, void *buffer, unsigned int count) { + return 0; +} +40000020: 00000513 li a0,0 +40000024: 00008067 ret + +40000028 <writeChar>: + +extern UartCtrl *uartStdio; +void writeChar(char value) { + TEST_COM_BASE[0] = value; +40000028: f01007b7 lui a5,0xf0100 +4000002c: f0a7a023 sw a0,-256(a5) # f00fff00 <_bss_end+0xb00f3878> +40000030: 00008067 ret + +40000034 <writeChars>: +} + +void writeChars(char* value) { +40000034: ff010113 addi sp,sp,-16 +40000038: 00812423 sw s0,8(sp) +4000003c: 00112623 sw ra,12(sp) +40000040: 00050413 mv s0,a0 + while (*value) { +40000044: 00054503 lbu a0,0(a0) +40000048: 00050c63 beqz a0,40000060 <writeChars+0x2c> + writeChar(*(value++)); +4000004c: 00140413 addi s0,s0,1 +40000050: 00000297 auipc t0,0x0 +40000054: fd8280e7 jalr -40(t0) # 40000028 <writeChar> + while (*value) { +40000058: 00044503 lbu a0,0(s0) +4000005c: fe0518e3 bnez a0,4000004c <writeChars+0x18> + } +} +40000060: 00c12083 lw ra,12(sp) +40000064: 00812403 lw s0,8(sp) +40000068: 01010113 addi sp,sp,16 +4000006c: 00008067 ret + +40000070 <write>: + +int write(int fd, const void *buffer, unsigned int count) { +40000070: ff010113 addi sp,sp,-16 +40000074: 00912223 sw s1,4(sp) +40000078: 01212023 sw s2,0(sp) +4000007c: 00112623 sw ra,12(sp) +40000080: 00812423 sw s0,8(sp) +40000084: 00060913 mv s2,a2 +40000088: 00c584b3 add s1,a1,a2 + for (int idx = 0; idx < count; idx++) { +4000008c: 00060e63 beqz a2,400000a8 <write+0x38> +40000090: 00058413 mv s0,a1 + writeChar(((char*) buffer)[idx]); +40000094: 00044503 lbu a0,0(s0) +40000098: 00140413 addi s0,s0,1 +4000009c: 00000297 auipc t0,0x0 +400000a0: f8c280e7 jalr -116(t0) # 40000028 <writeChar> + for (int idx = 0; idx < count; idx++) { +400000a4: fe8498e3 bne s1,s0,40000094 <write+0x24> + } + return count; +} +400000a8: 00c12083 lw ra,12(sp) +400000ac: 00090513 mv a0,s2 +400000b0: 00812403 lw s0,8(sp) +400000b4: 00412483 lw s1,4(sp) +400000b8: 00012903 lw s2,0(sp) +400000bc: 01010113 addi sp,sp,16 +400000c0: 00008067 ret + +400000c4 <irqCpp>: + printf("Miaou !!"); + TEST_COM_BASE[8] = 0; +} + + +void irqCpp(uint32_t irq){ +400000c4: 00008067 ret + +400000c8 <main>: + printf("Miaou !!"); +400000c8: 4000b537 lui a0,0x4000b +int main() { +400000cc: ff010113 addi sp,sp,-16 + printf("Miaou !!"); +400000d0: 61050513 addi a0,a0,1552 # 4000b610 <__clzsi2+0x70> +int main() { +400000d4: 00112623 sw ra,12(sp) + printf("Miaou !!"); +400000d8: 00000297 auipc t0,0x0 +400000dc: 064280e7 jalr 100(t0) # 4000013c <printf> +} +400000e0: 00c12083 lw ra,12(sp) + TEST_COM_BASE[8] = 0; +400000e4: f01007b7 lui a5,0xf0100 +} +400000e8: 00000513 li a0,0 + TEST_COM_BASE[8] = 0; +400000ec: f207a023 sw zero,-224(a5) # f00fff20 <_bss_end+0xb00f3898> +} +400000f0: 01010113 addi sp,sp,16 +400000f4: 00008067 ret + +400000f8 <_printf_r>: +400000f8: fc010113 addi sp,sp,-64 +400000fc: 02c12423 sw a2,40(sp) +40000100: 02d12623 sw a3,44(sp) +40000104: 02f12a23 sw a5,52(sp) +40000108: 02e12823 sw a4,48(sp) +4000010c: 03012c23 sw a6,56(sp) +40000110: 03112e23 sw a7,60(sp) +40000114: 00058613 mv a2,a1 +40000118: 00852583 lw a1,8(a0) +4000011c: 02810793 addi a5,sp,40 +40000120: 00078693 mv a3,a5 +40000124: 00112e23 sw ra,28(sp) +40000128: 00f12623 sw a5,12(sp) +4000012c: 064000ef jal ra,40000190 <_vfprintf_r> +40000130: 01c12083 lw ra,28(sp) +40000134: 04010113 addi sp,sp,64 +40000138: 00008067 ret + +4000013c <printf>: +4000013c: 4000c337 lui t1,0x4000c +40000140: 62c32303 lw t1,1580(t1) # 4000c62c <_impure_ptr> +40000144: fc010113 addi sp,sp,-64 +40000148: 02c12423 sw a2,40(sp) +4000014c: 02d12623 sw a3,44(sp) +40000150: 02f12a23 sw a5,52(sp) +40000154: 02b12223 sw a1,36(sp) +40000158: 02e12823 sw a4,48(sp) +4000015c: 03012c23 sw a6,56(sp) +40000160: 03112e23 sw a7,60(sp) +40000164: 00832583 lw a1,8(t1) +40000168: 02410793 addi a5,sp,36 +4000016c: 00050613 mv a2,a0 +40000170: 00078693 mv a3,a5 +40000174: 00030513 mv a0,t1 +40000178: 00112e23 sw ra,28(sp) +4000017c: 00f12623 sw a5,12(sp) +40000180: 010000ef jal ra,40000190 <_vfprintf_r> +40000184: 01c12083 lw ra,28(sp) +40000188: 04010113 addi sp,sp,64 +4000018c: 00008067 ret + +40000190 <_vfprintf_r>: +40000190: eb010113 addi sp,sp,-336 +40000194: 14112623 sw ra,332(sp) +40000198: 14812423 sw s0,328(sp) +4000019c: 13412c23 sw s4,312(sp) +400001a0: 13512a23 sw s5,308(sp) +400001a4: 00058a13 mv s4,a1 +400001a8: 00060413 mv s0,a2 +400001ac: 02d12023 sw a3,32(sp) +400001b0: 14912223 sw s1,324(sp) +400001b4: 15212023 sw s2,320(sp) +400001b8: 13312e23 sw s3,316(sp) +400001bc: 13612823 sw s6,304(sp) +400001c0: 13712623 sw s7,300(sp) +400001c4: 13812423 sw s8,296(sp) +400001c8: 13912223 sw s9,292(sp) +400001cc: 13a12023 sw s10,288(sp) +400001d0: 11b12e23 sw s11,284(sp) +400001d4: 00050a93 mv s5,a0 +400001d8: 1bc040ef jal ra,40004394 <_localeconv_r> +400001dc: 00052783 lw a5,0(a0) +400001e0: 00078513 mv a0,a5 +400001e4: 04f12423 sw a5,72(sp) +400001e8: 12c060ef jal ra,40006314 <strlen> +400001ec: 04a12023 sw a0,64(sp) +400001f0: 000a8663 beqz s5,400001fc <_vfprintf_r+0x6c> +400001f4: 038aa783 lw a5,56(s5) +400001f8: 220784e3 beqz a5,40000c20 <_vfprintf_r+0xa90> +400001fc: 00ca1703 lh a4,12(s4) +40000200: 01071793 slli a5,a4,0x10 +40000204: 0107d793 srli a5,a5,0x10 +40000208: 01279693 slli a3,a5,0x12 +4000020c: 0206c663 bltz a3,40000238 <_vfprintf_r+0xa8> +40000210: 064a2683 lw a3,100(s4) +40000214: 000027b7 lui a5,0x2 +40000218: 00f767b3 or a5,a4,a5 +4000021c: ffffe737 lui a4,0xffffe +40000220: fff70713 addi a4,a4,-1 # ffffdfff <_bss_end+0xbfff1977> +40000224: 00e6f733 and a4,a3,a4 +40000228: 00fa1623 sh a5,12(s4) +4000022c: 01079793 slli a5,a5,0x10 +40000230: 06ea2223 sw a4,100(s4) +40000234: 0107d793 srli a5,a5,0x10 +40000238: 0087f713 andi a4,a5,8 +4000023c: 7a070c63 beqz a4,400009f4 <_vfprintf_r+0x864> +40000240: 010a2703 lw a4,16(s4) +40000244: 7a070863 beqz a4,400009f4 <_vfprintf_r+0x864> +40000248: 01a7f793 andi a5,a5,26 +4000024c: 00a00713 li a4,10 +40000250: 7ce78263 beq a5,a4,40000a14 <_vfprintf_r+0x884> +40000254: 4000c7b7 lui a5,0x4000c +40000258: c387a703 lw a4,-968(a5) # 4000bc38 <__clz_tab+0x104> +4000025c: c3c7a783 lw a5,-964(a5) +40000260: 0d010c13 addi s8,sp,208 +40000264: 04e12823 sw a4,80(sp) +40000268: 00078693 mv a3,a5 +4000026c: 04f12a23 sw a5,84(sp) +40000270: 4000b7b7 lui a5,0x4000b +40000274: 61c78793 addi a5,a5,1564 # 4000b61c <__clzsi2+0x7c> +40000278: 09812e23 sw s8,156(sp) +4000027c: 0a012223 sw zero,164(sp) +40000280: 0a012023 sw zero,160(sp) +40000284: 02012a23 sw zero,52(sp) +40000288: 02012c23 sw zero,56(sp) +4000028c: 02012e23 sw zero,60(sp) +40000290: 000c0313 mv t1,s8 +40000294: 04012223 sw zero,68(sp) +40000298: 04012623 sw zero,76(sp) +4000029c: 00012c23 sw zero,24(sp) +400002a0: 02f12223 sw a5,36(sp) +400002a4: 04e12c23 sw a4,88(sp) +400002a8: 04d12e23 sw a3,92(sp) +400002ac: 00044783 lbu a5,0(s0) +400002b0: 4e078e63 beqz a5,400007ac <_vfprintf_r+0x61c> +400002b4: 02500713 li a4,37 +400002b8: 00040493 mv s1,s0 +400002bc: 00e79663 bne a5,a4,400002c8 <_vfprintf_r+0x138> +400002c0: 0540006f j 40000314 <_vfprintf_r+0x184> +400002c4: 00e78863 beq a5,a4,400002d4 <_vfprintf_r+0x144> +400002c8: 00148493 addi s1,s1,1 +400002cc: 0004c783 lbu a5,0(s1) +400002d0: fe079ae3 bnez a5,400002c4 <_vfprintf_r+0x134> +400002d4: 40848933 sub s2,s1,s0 +400002d8: 02090e63 beqz s2,40000314 <_vfprintf_r+0x184> +400002dc: 0a412703 lw a4,164(sp) +400002e0: 0a012783 lw a5,160(sp) +400002e4: 00832023 sw s0,0(t1) +400002e8: 01270733 add a4,a4,s2 +400002ec: 00178793 addi a5,a5,1 +400002f0: 01232223 sw s2,4(t1) +400002f4: 0ae12223 sw a4,164(sp) +400002f8: 0af12023 sw a5,160(sp) +400002fc: 00700713 li a4,7 +40000300: 00830313 addi t1,t1,8 +40000304: 06f744e3 blt a4,a5,40000b6c <_vfprintf_r+0x9dc> +40000308: 01812783 lw a5,24(sp) +4000030c: 012787b3 add a5,a5,s2 +40000310: 00f12c23 sw a5,24(sp) +40000314: 0004c783 lbu a5,0(s1) +40000318: 52078663 beqz a5,40000844 <_vfprintf_r+0x6b4> +4000031c: fff00c93 li s9,-1 +40000320: 00148413 addi s0,s1,1 +40000324: 06010fa3 sb zero,127(sp) +40000328: 00000613 li a2,0 +4000032c: 00000593 li a1,0 +40000330: 00000493 li s1,0 +40000334: 00000d93 li s11,0 +40000338: 05800713 li a4,88 +4000033c: 00900693 li a3,9 +40000340: 02a00893 li a7,42 +40000344: 000c8f13 mv t5,s9 +40000348: 00100513 li a0,1 +4000034c: 02000e93 li t4,32 +40000350: 02b00813 li a6,43 +40000354: 00044983 lbu s3,0(s0) +40000358: 00140413 addi s0,s0,1 +4000035c: fe098793 addi a5,s3,-32 +40000360: 56f768e3 bltu a4,a5,400010d0 <_vfprintf_r+0xf40> +40000364: 02412e03 lw t3,36(sp) +40000368: 00279793 slli a5,a5,0x2 +4000036c: 01c787b3 add a5,a5,t3 +40000370: 0007a783 lw a5,0(a5) +40000374: 00078067 jr a5 +40000378: 010ded93 ori s11,s11,16 +4000037c: fd9ff06f j 40000354 <_vfprintf_r+0x1c4> +40000380: 010ded93 ori s11,s11,16 +40000384: 010df793 andi a5,s11,16 +40000388: 00078463 beqz a5,40000390 <_vfprintf_r+0x200> +4000038c: 0980106f j 40001424 <_vfprintf_r+0x1294> +40000390: 040df793 andi a5,s11,64 +40000394: 02012683 lw a3,32(sp) +40000398: 520792e3 bnez a5,400010bc <_vfprintf_r+0xf2c> +4000039c: 0006a783 lw a5,0(a3) +400003a0: 00468693 addi a3,a3,4 +400003a4: 00000713 li a4,0 +400003a8: 02d12023 sw a3,32(sp) +400003ac: 06010fa3 sb zero,127(sp) +400003b0: 00000613 li a2,0 +400003b4: fff00693 li a3,-1 +400003b8: 08dc8e63 beq s9,a3,40000454 <_vfprintf_r+0x2c4> +400003bc: f7fdf693 andi a3,s11,-129 +400003c0: 00d12823 sw a3,16(sp) +400003c4: 08079c63 bnez a5,4000045c <_vfprintf_r+0x2cc> +400003c8: 780c9263 bnez s9,40000b4c <_vfprintf_r+0x9bc> +400003cc: 120710e3 bnez a4,40000cec <_vfprintf_r+0xb5c> +400003d0: 001df793 andi a5,s11,1 +400003d4: 00f12e23 sw a5,28(sp) +400003d8: 000c0913 mv s2,s8 +400003dc: 0a078e63 beqz a5,40000498 <_vfprintf_r+0x308> +400003e0: 03000793 li a5,48 +400003e4: 0cf107a3 sb a5,207(sp) +400003e8: 0cf10913 addi s2,sp,207 +400003ec: 0ac0006f j 40000498 <_vfprintf_r+0x308> +400003f0: 010ded93 ori s11,s11,16 +400003f4: 010df793 andi a5,s11,16 +400003f8: 04079263 bnez a5,4000043c <_vfprintf_r+0x2ac> +400003fc: 040df793 andi a5,s11,64 +40000400: 02012683 lw a3,32(sp) +40000404: 02078e63 beqz a5,40000440 <_vfprintf_r+0x2b0> +40000408: 0006d783 lhu a5,0(a3) +4000040c: 00468693 addi a3,a3,4 +40000410: 00100713 li a4,1 +40000414: 02d12023 sw a3,32(sp) +40000418: f95ff06f j 400003ac <_vfprintf_r+0x21c> +4000041c: 02012783 lw a5,32(sp) +40000420: 0007a483 lw s1,0(a5) +40000424: 00478793 addi a5,a5,4 +40000428: 02f12023 sw a5,32(sp) +4000042c: f204d4e3 bgez s1,40000354 <_vfprintf_r+0x1c4> +40000430: 409004b3 neg s1,s1 +40000434: 004ded93 ori s11,s11,4 +40000438: f1dff06f j 40000354 <_vfprintf_r+0x1c4> +4000043c: 02012683 lw a3,32(sp) +40000440: 0006a783 lw a5,0(a3) +40000444: 00468693 addi a3,a3,4 +40000448: 00100713 li a4,1 +4000044c: 02d12023 sw a3,32(sp) +40000450: f5dff06f j 400003ac <_vfprintf_r+0x21c> +40000454: 6e078e63 beqz a5,40000b50 <_vfprintf_r+0x9c0> +40000458: 01b12823 sw s11,16(sp) +4000045c: 00100693 li a3,1 +40000460: 48d704e3 beq a4,a3,400010e8 <_vfprintf_r+0xf58> +40000464: 00200693 li a3,2 +40000468: 76d71463 bne a4,a3,40000bd0 <_vfprintf_r+0xa40> +4000046c: 04412683 lw a3,68(sp) +40000470: 000c0913 mv s2,s8 +40000474: 00f7f713 andi a4,a5,15 +40000478: 00e68733 add a4,a3,a4 +4000047c: 00074703 lbu a4,0(a4) +40000480: fff90913 addi s2,s2,-1 +40000484: 0047d793 srli a5,a5,0x4 +40000488: 00e90023 sb a4,0(s2) +4000048c: fe0794e3 bnez a5,40000474 <_vfprintf_r+0x2e4> +40000490: 412c07b3 sub a5,s8,s2 +40000494: 00f12e23 sw a5,28(sp) +40000498: 01c12783 lw a5,28(sp) +4000049c: 000c8b93 mv s7,s9 +400004a0: 00fcd463 ble a5,s9,400004a8 <_vfprintf_r+0x318> +400004a4: 00078b93 mv s7,a5 +400004a8: 02012823 sw zero,48(sp) +400004ac: 30061c63 bnez a2,400007c4 <_vfprintf_r+0x634> +400004b0: 01012783 lw a5,16(sp) +400004b4: 0027f793 andi a5,a5,2 +400004b8: 02f12423 sw a5,40(sp) +400004bc: 00078463 beqz a5,400004c4 <_vfprintf_r+0x334> +400004c0: 002b8b93 addi s7,s7,2 +400004c4: 01012783 lw a5,16(sp) +400004c8: 0847f793 andi a5,a5,132 +400004cc: 02f12623 sw a5,44(sp) +400004d0: 2e079e63 bnez a5,400007cc <_vfprintf_r+0x63c> +400004d4: 41748b33 sub s6,s1,s7 +400004d8: 2f605a63 blez s6,400007cc <_vfprintf_r+0x63c> +400004dc: 4000b6b7 lui a3,0x4000b +400004e0: 01000813 li a6,16 +400004e4: 0a412783 lw a5,164(sp) +400004e8: 0a012703 lw a4,160(sp) +400004ec: 78068d13 addi s10,a3,1920 # 4000b780 <blanks.4138> +400004f0: 07685263 ble s6,a6,40000554 <_vfprintf_r+0x3c4> +400004f4: 00700d93 li s11,7 +400004f8: 00c0006f j 40000504 <_vfprintf_r+0x374> +400004fc: ff0b0b13 addi s6,s6,-16 +40000500: 05685a63 ble s6,a6,40000554 <_vfprintf_r+0x3c4> +40000504: 01078793 addi a5,a5,16 +40000508: 00170713 addi a4,a4,1 +4000050c: 01a32023 sw s10,0(t1) +40000510: 01032223 sw a6,4(t1) +40000514: 0af12223 sw a5,164(sp) +40000518: 0ae12023 sw a4,160(sp) +4000051c: 00830313 addi t1,t1,8 +40000520: fceddee3 ble a4,s11,400004fc <_vfprintf_r+0x36c> +40000524: 09c10613 addi a2,sp,156 +40000528: 000a0593 mv a1,s4 +4000052c: 000a8513 mv a0,s5 +40000530: 01012a23 sw a6,20(sp) +40000534: 769050ef jal ra,4000649c <__sprint_r> +40000538: 32051263 bnez a0,4000085c <_vfprintf_r+0x6cc> +4000053c: 01412803 lw a6,20(sp) +40000540: ff0b0b13 addi s6,s6,-16 +40000544: 0a412783 lw a5,164(sp) +40000548: 0a012703 lw a4,160(sp) +4000054c: 000c0313 mv t1,s8 +40000550: fb684ae3 blt a6,s6,40000504 <_vfprintf_r+0x374> +40000554: 00fb07b3 add a5,s6,a5 +40000558: 00170713 addi a4,a4,1 +4000055c: 01a32023 sw s10,0(t1) +40000560: 01632223 sw s6,4(t1) +40000564: 0af12223 sw a5,164(sp) +40000568: 0ae12023 sw a4,160(sp) +4000056c: 00700693 li a3,7 +40000570: 3ae6c2e3 blt a3,a4,40001114 <_vfprintf_r+0xf84> +40000574: 07f14603 lbu a2,127(sp) +40000578: 00830313 addi t1,t1,8 +4000057c: 02060a63 beqz a2,400005b0 <_vfprintf_r+0x420> +40000580: 0a012703 lw a4,160(sp) +40000584: 07f10693 addi a3,sp,127 +40000588: 00d32023 sw a3,0(t1) +4000058c: 00178793 addi a5,a5,1 +40000590: 00100693 li a3,1 +40000594: 00170713 addi a4,a4,1 +40000598: 00d32223 sw a3,4(t1) +4000059c: 0af12223 sw a5,164(sp) +400005a0: 0ae12023 sw a4,160(sp) +400005a4: 00700693 li a3,7 +400005a8: 00830313 addi t1,t1,8 +400005ac: 5ce6ce63 blt a3,a4,40000b88 <_vfprintf_r+0x9f8> +400005b0: 02812703 lw a4,40(sp) +400005b4: 02070a63 beqz a4,400005e8 <_vfprintf_r+0x458> +400005b8: 0a012703 lw a4,160(sp) +400005bc: 08010693 addi a3,sp,128 +400005c0: 00d32023 sw a3,0(t1) +400005c4: 00278793 addi a5,a5,2 +400005c8: 00200693 li a3,2 +400005cc: 00170713 addi a4,a4,1 +400005d0: 00d32223 sw a3,4(t1) +400005d4: 0af12223 sw a5,164(sp) +400005d8: 0ae12023 sw a4,160(sp) +400005dc: 00700693 li a3,7 +400005e0: 00830313 addi t1,t1,8 +400005e4: 5ce6c263 blt a3,a4,40000ba8 <_vfprintf_r+0xa18> +400005e8: 02c12683 lw a3,44(sp) +400005ec: 08000713 li a4,128 +400005f0: 34e68263 beq a3,a4,40000934 <_vfprintf_r+0x7a4> +400005f4: 01c12703 lw a4,28(sp) +400005f8: 40ec8cb3 sub s9,s9,a4 +400005fc: 0b905863 blez s9,400006ac <_vfprintf_r+0x51c> +40000600: 4000b6b7 lui a3,0x4000b +40000604: 01000d93 li s11,16 +40000608: 0a012703 lw a4,160(sp) +4000060c: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +40000610: 059dde63 ble s9,s11,4000066c <_vfprintf_r+0x4dc> +40000614: 00700d13 li s10,7 +40000618: 00c0006f j 40000624 <_vfprintf_r+0x494> +4000061c: ff0c8c93 addi s9,s9,-16 +40000620: 059dd663 ble s9,s11,4000066c <_vfprintf_r+0x4dc> +40000624: 01078793 addi a5,a5,16 +40000628: 00170713 addi a4,a4,1 +4000062c: 01632023 sw s6,0(t1) +40000630: 01b32223 sw s11,4(t1) +40000634: 0af12223 sw a5,164(sp) +40000638: 0ae12023 sw a4,160(sp) +4000063c: 00830313 addi t1,t1,8 +40000640: fced5ee3 ble a4,s10,4000061c <_vfprintf_r+0x48c> +40000644: 09c10613 addi a2,sp,156 +40000648: 000a0593 mv a1,s4 +4000064c: 000a8513 mv a0,s5 +40000650: 64d050ef jal ra,4000649c <__sprint_r> +40000654: 20051463 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000658: ff0c8c93 addi s9,s9,-16 +4000065c: 0a412783 lw a5,164(sp) +40000660: 0a012703 lw a4,160(sp) +40000664: 000c0313 mv t1,s8 +40000668: fb9dcee3 blt s11,s9,40000624 <_vfprintf_r+0x494> +4000066c: 019787b3 add a5,a5,s9 +40000670: 00170713 addi a4,a4,1 +40000674: 01632023 sw s6,0(t1) +40000678: 01932223 sw s9,4(t1) +4000067c: 0af12223 sw a5,164(sp) +40000680: 0ae12023 sw a4,160(sp) +40000684: 00700693 li a3,7 +40000688: 00830313 addi t1,t1,8 +4000068c: 02e6d063 ble a4,a3,400006ac <_vfprintf_r+0x51c> +40000690: 09c10613 addi a2,sp,156 +40000694: 000a0593 mv a1,s4 +40000698: 000a8513 mv a0,s5 +4000069c: 601050ef jal ra,4000649c <__sprint_r> +400006a0: 1a051e63 bnez a0,4000085c <_vfprintf_r+0x6cc> +400006a4: 0a412783 lw a5,164(sp) +400006a8: 000c0313 mv t1,s8 +400006ac: 01012703 lw a4,16(sp) +400006b0: 10077713 andi a4,a4,256 +400006b4: 1e071a63 bnez a4,400008a8 <_vfprintf_r+0x718> +400006b8: 01c12683 lw a3,28(sp) +400006bc: 0a012703 lw a4,160(sp) +400006c0: 01232023 sw s2,0(t1) +400006c4: 00d787b3 add a5,a5,a3 +400006c8: 00170713 addi a4,a4,1 +400006cc: 00d32223 sw a3,4(t1) +400006d0: 0af12223 sw a5,164(sp) +400006d4: 0ae12023 sw a4,160(sp) +400006d8: 00700693 li a3,7 +400006dc: 14e6c463 blt a3,a4,40000824 <_vfprintf_r+0x694> +400006e0: 00830313 addi t1,t1,8 +400006e4: 01012703 lw a4,16(sp) +400006e8: 00477b13 andi s6,a4,4 +400006ec: 080b0c63 beqz s6,40000784 <_vfprintf_r+0x5f4> +400006f0: 41748933 sub s2,s1,s7 +400006f4: 09205863 blez s2,40000784 <_vfprintf_r+0x5f4> +400006f8: 4000b6b7 lui a3,0x4000b +400006fc: 01000993 li s3,16 +40000700: 0a012703 lw a4,160(sp) +40000704: 78068d13 addi s10,a3,1920 # 4000b780 <blanks.4138> +40000708: 0529de63 ble s2,s3,40000764 <_vfprintf_r+0x5d4> +4000070c: 00700b13 li s6,7 +40000710: 00c0006f j 4000071c <_vfprintf_r+0x58c> +40000714: ff090913 addi s2,s2,-16 +40000718: 0529d663 ble s2,s3,40000764 <_vfprintf_r+0x5d4> +4000071c: 01078793 addi a5,a5,16 +40000720: 00170713 addi a4,a4,1 +40000724: 01a32023 sw s10,0(t1) +40000728: 01332223 sw s3,4(t1) +4000072c: 0af12223 sw a5,164(sp) +40000730: 0ae12023 sw a4,160(sp) +40000734: 00830313 addi t1,t1,8 +40000738: fceb5ee3 ble a4,s6,40000714 <_vfprintf_r+0x584> +4000073c: 09c10613 addi a2,sp,156 +40000740: 000a0593 mv a1,s4 +40000744: 000a8513 mv a0,s5 +40000748: 555050ef jal ra,4000649c <__sprint_r> +4000074c: 10051863 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000750: ff090913 addi s2,s2,-16 +40000754: 0a412783 lw a5,164(sp) +40000758: 0a012703 lw a4,160(sp) +4000075c: 000c0313 mv t1,s8 +40000760: fb29cee3 blt s3,s2,4000071c <_vfprintf_r+0x58c> +40000764: 012787b3 add a5,a5,s2 +40000768: 00170713 addi a4,a4,1 +4000076c: 01a32023 sw s10,0(t1) +40000770: 01232223 sw s2,4(t1) +40000774: 0af12223 sw a5,164(sp) +40000778: 0ae12023 sw a4,160(sp) +4000077c: 00700693 li a3,7 +40000780: 12e6c0e3 blt a3,a4,400010a0 <_vfprintf_r+0xf10> +40000784: 0174d463 ble s7,s1,4000078c <_vfprintf_r+0x5fc> +40000788: 000b8493 mv s1,s7 +4000078c: 01812703 lw a4,24(sp) +40000790: 00970733 add a4,a4,s1 +40000794: 00e12c23 sw a4,24(sp) +40000798: 38079e63 bnez a5,40000b34 <_vfprintf_r+0x9a4> +4000079c: 00044783 lbu a5,0(s0) +400007a0: 0a012023 sw zero,160(sp) +400007a4: 000c0313 mv t1,s8 +400007a8: b00796e3 bnez a5,400002b4 <_vfprintf_r+0x124> +400007ac: 00040493 mv s1,s0 +400007b0: b65ff06f j 40000314 <_vfprintf_r+0x184> +400007b4: 02d00793 li a5,45 +400007b8: 06f10fa3 sb a5,127(sp) +400007bc: 02d00613 li a2,45 +400007c0: 00000c93 li s9,0 +400007c4: 001b8b93 addi s7,s7,1 +400007c8: ce9ff06f j 400004b0 <_vfprintf_r+0x320> +400007cc: 0a412783 lw a5,164(sp) +400007d0: dadff06f j 4000057c <_vfprintf_r+0x3ec> +400007d4: 012787b3 add a5,a5,s2 +400007d8: 00198993 addi s3,s3,1 +400007dc: 016ca023 sw s6,0(s9) +400007e0: 012ca223 sw s2,4(s9) +400007e4: 0af12223 sw a5,164(sp) +400007e8: 0b312023 sw s3,160(sp) +400007ec: 00700713 li a4,7 +400007f0: 53374863 blt a4,s3,40000d20 <_vfprintf_r+0xb90> +400007f4: 008c8c93 addi s9,s9,8 +400007f8: 04c12683 lw a3,76(sp) +400007fc: 08c10713 addi a4,sp,140 +40000800: 00198993 addi s3,s3,1 +40000804: 00f687b3 add a5,a3,a5 +40000808: 00eca023 sw a4,0(s9) +4000080c: 00dca223 sw a3,4(s9) +40000810: 0af12223 sw a5,164(sp) +40000814: 0b312023 sw s3,160(sp) +40000818: 00700713 li a4,7 +4000081c: 008c8313 addi t1,s9,8 +40000820: ed3752e3 ble s3,a4,400006e4 <_vfprintf_r+0x554> +40000824: 09c10613 addi a2,sp,156 +40000828: 000a0593 mv a1,s4 +4000082c: 000a8513 mv a0,s5 +40000830: 46d050ef jal ra,4000649c <__sprint_r> +40000834: 02051463 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000838: 0a412783 lw a5,164(sp) +4000083c: 000c0313 mv t1,s8 +40000840: ea5ff06f j 400006e4 <_vfprintf_r+0x554> +40000844: 0a412783 lw a5,164(sp) +40000848: 00078a63 beqz a5,4000085c <_vfprintf_r+0x6cc> +4000084c: 09c10613 addi a2,sp,156 +40000850: 000a0593 mv a1,s4 +40000854: 000a8513 mv a0,s5 +40000858: 445050ef jal ra,4000649c <__sprint_r> +4000085c: 00ca5783 lhu a5,12(s4) +40000860: 0407f793 andi a5,a5,64 +40000864: 680794e3 bnez a5,400016ec <_vfprintf_r+0x155c> +40000868: 14c12083 lw ra,332(sp) +4000086c: 01812503 lw a0,24(sp) +40000870: 14812403 lw s0,328(sp) +40000874: 14412483 lw s1,324(sp) +40000878: 14012903 lw s2,320(sp) +4000087c: 13c12983 lw s3,316(sp) +40000880: 13812a03 lw s4,312(sp) +40000884: 13412a83 lw s5,308(sp) +40000888: 13012b03 lw s6,304(sp) +4000088c: 12c12b83 lw s7,300(sp) +40000890: 12812c03 lw s8,296(sp) +40000894: 12412c83 lw s9,292(sp) +40000898: 12012d03 lw s10,288(sp) +4000089c: 11c12d83 lw s11,284(sp) +400008a0: 15010113 addi sp,sp,336 +400008a4: 00008067 ret +400008a8: 06500713 li a4,101 +400008ac: 19375663 ble s3,a4,40000a38 <_vfprintf_r+0x8a8> +400008b0: 03812683 lw a3,56(sp) +400008b4: 03c12703 lw a4,60(sp) +400008b8: 00000613 li a2,0 +400008bc: 00068513 mv a0,a3 +400008c0: 00070593 mv a1,a4 +400008c4: 00000693 li a3,0 +400008c8: 00612e23 sw t1,28(sp) +400008cc: 00f12a23 sw a5,20(sp) +400008d0: 354090ef jal ra,40009c24 <__eqdf2> +400008d4: 01412783 lw a5,20(sp) +400008d8: 01c12303 lw t1,28(sp) +400008dc: 34051863 bnez a0,40000c2c <_vfprintf_r+0xa9c> +400008e0: 0a012703 lw a4,160(sp) +400008e4: 4000b6b7 lui a3,0x4000b +400008e8: 7e068693 addi a3,a3,2016 # 4000b7e0 <zeroes.4139+0x50> +400008ec: 00178793 addi a5,a5,1 +400008f0: 00d32023 sw a3,0(t1) +400008f4: 00170713 addi a4,a4,1 +400008f8: 00100693 li a3,1 +400008fc: 00d32223 sw a3,4(t1) +40000900: 0af12223 sw a5,164(sp) +40000904: 0ae12023 sw a4,160(sp) +40000908: 00700793 li a5,7 +4000090c: 00830313 addi t1,t1,8 +40000910: 52e7c4e3 blt a5,a4,40001638 <_vfprintf_r+0x14a8> +40000914: 08412783 lw a5,132(sp) +40000918: 03412703 lw a4,52(sp) +4000091c: 00e7cee3 blt a5,a4,40001138 <_vfprintf_r+0xfa8> +40000920: 01012783 lw a5,16(sp) +40000924: 0017f793 andi a5,a5,1 +40000928: 000798e3 bnez a5,40001138 <_vfprintf_r+0xfa8> +4000092c: 0a412783 lw a5,164(sp) +40000930: db5ff06f j 400006e4 <_vfprintf_r+0x554> +40000934: 41748d33 sub s10,s1,s7 +40000938: cba05ee3 blez s10,400005f4 <_vfprintf_r+0x464> +4000093c: 4000b6b7 lui a3,0x4000b +40000940: 01000d93 li s11,16 +40000944: 0a012703 lw a4,160(sp) +40000948: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +4000094c: 07add263 ble s10,s11,400009b0 <_vfprintf_r+0x820> +40000950: 00700813 li a6,7 +40000954: 00c0006f j 40000960 <_vfprintf_r+0x7d0> +40000958: ff0d0d13 addi s10,s10,-16 +4000095c: 05adda63 ble s10,s11,400009b0 <_vfprintf_r+0x820> +40000960: 01078793 addi a5,a5,16 +40000964: 00170713 addi a4,a4,1 +40000968: 01632023 sw s6,0(t1) +4000096c: 01b32223 sw s11,4(t1) +40000970: 0af12223 sw a5,164(sp) +40000974: 0ae12023 sw a4,160(sp) +40000978: 00830313 addi t1,t1,8 +4000097c: fce85ee3 ble a4,a6,40000958 <_vfprintf_r+0x7c8> +40000980: 09c10613 addi a2,sp,156 +40000984: 000a0593 mv a1,s4 +40000988: 000a8513 mv a0,s5 +4000098c: 01012a23 sw a6,20(sp) +40000990: 30d050ef jal ra,4000649c <__sprint_r> +40000994: ec0514e3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000998: ff0d0d13 addi s10,s10,-16 +4000099c: 0a412783 lw a5,164(sp) +400009a0: 0a012703 lw a4,160(sp) +400009a4: 000c0313 mv t1,s8 +400009a8: 01412803 lw a6,20(sp) +400009ac: fbadcae3 blt s11,s10,40000960 <_vfprintf_r+0x7d0> +400009b0: 01a787b3 add a5,a5,s10 +400009b4: 00170713 addi a4,a4,1 +400009b8: 01632023 sw s6,0(t1) +400009bc: 01a32223 sw s10,4(t1) +400009c0: 0af12223 sw a5,164(sp) +400009c4: 0ae12023 sw a4,160(sp) +400009c8: 00700693 li a3,7 +400009cc: 00830313 addi t1,t1,8 +400009d0: c2e6d2e3 ble a4,a3,400005f4 <_vfprintf_r+0x464> +400009d4: 09c10613 addi a2,sp,156 +400009d8: 000a0593 mv a1,s4 +400009dc: 000a8513 mv a0,s5 +400009e0: 2bd050ef jal ra,4000649c <__sprint_r> +400009e4: e6051ce3 bnez a0,4000085c <_vfprintf_r+0x6cc> +400009e8: 0a412783 lw a5,164(sp) +400009ec: 000c0313 mv t1,s8 +400009f0: c05ff06f j 400005f4 <_vfprintf_r+0x464> +400009f4: 000a0593 mv a1,s4 +400009f8: 000a8513 mv a0,s5 +400009fc: 404010ef jal ra,40001e00 <__swsetup_r> +40000a00: 4e0516e3 bnez a0,400016ec <_vfprintf_r+0x155c> +40000a04: 00ca5783 lhu a5,12(s4) +40000a08: 00a00713 li a4,10 +40000a0c: 01a7f793 andi a5,a5,26 +40000a10: 84e792e3 bne a5,a4,40000254 <_vfprintf_r+0xc4> +40000a14: 00ea1783 lh a5,14(s4) +40000a18: 8207cee3 bltz a5,40000254 <_vfprintf_r+0xc4> +40000a1c: 02012683 lw a3,32(sp) +40000a20: 00040613 mv a2,s0 +40000a24: 000a0593 mv a1,s4 +40000a28: 000a8513 mv a0,s5 +40000a2c: 314010ef jal ra,40001d40 <__sbprintf> +40000a30: 00a12c23 sw a0,24(sp) +40000a34: e35ff06f j 40000868 <_vfprintf_r+0x6d8> +40000a38: 03412683 lw a3,52(sp) +40000a3c: 00100713 li a4,1 +40000a40: 00178793 addi a5,a5,1 +40000a44: 18d754e3 ble a3,a4,400013cc <_vfprintf_r+0x123c> +40000a48: 0a012983 lw s3,160(sp) +40000a4c: 00100713 li a4,1 +40000a50: 00e32223 sw a4,4(t1) +40000a54: 00198993 addi s3,s3,1 +40000a58: 01232023 sw s2,0(t1) +40000a5c: 0af12223 sw a5,164(sp) +40000a60: 0b312023 sw s3,160(sp) +40000a64: 00700713 li a4,7 +40000a68: 00830313 addi t1,t1,8 +40000a6c: 19374ae3 blt a4,s3,40001400 <_vfprintf_r+0x1270> +40000a70: 04012703 lw a4,64(sp) +40000a74: 04812683 lw a3,72(sp) +40000a78: 00198993 addi s3,s3,1 +40000a7c: 00f707b3 add a5,a4,a5 +40000a80: 00e32223 sw a4,4(t1) +40000a84: 00d32023 sw a3,0(t1) +40000a88: 0af12223 sw a5,164(sp) +40000a8c: 0b312023 sw s3,160(sp) +40000a90: 00700713 li a4,7 +40000a94: 00830c93 addi s9,t1,8 +40000a98: 19374ae3 blt a4,s3,4000142c <_vfprintf_r+0x129c> +40000a9c: 03c12703 lw a4,60(sp) +40000aa0: 03812683 lw a3,56(sp) +40000aa4: 00000613 li a2,0 +40000aa8: 00070593 mv a1,a4 +40000aac: 00068513 mv a0,a3 +40000ab0: 00000693 li a3,0 +40000ab4: 00f12a23 sw a5,20(sp) +40000ab8: 16c090ef jal ra,40009c24 <__eqdf2> +40000abc: 01412783 lw a5,20(sp) +40000ac0: 03412703 lw a4,52(sp) +40000ac4: 22051a63 bnez a0,40000cf8 <_vfprintf_r+0xb68> +40000ac8: fff70913 addi s2,a4,-1 +40000acc: d32056e3 blez s2,400007f8 <_vfprintf_r+0x668> +40000ad0: 4000b6b7 lui a3,0x4000b +40000ad4: 01000d13 li s10,16 +40000ad8: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +40000adc: cf2d5ce3 ble s2,s10,400007d4 <_vfprintf_r+0x644> +40000ae0: 00700d93 li s11,7 +40000ae4: 00c0006f j 40000af0 <_vfprintf_r+0x960> +40000ae8: ff090913 addi s2,s2,-16 +40000aec: cf2d54e3 ble s2,s10,400007d4 <_vfprintf_r+0x644> +40000af0: 01078793 addi a5,a5,16 +40000af4: 00198993 addi s3,s3,1 +40000af8: 016ca023 sw s6,0(s9) +40000afc: 01aca223 sw s10,4(s9) +40000b00: 0af12223 sw a5,164(sp) +40000b04: 0b312023 sw s3,160(sp) +40000b08: 008c8c93 addi s9,s9,8 +40000b0c: fd3ddee3 ble s3,s11,40000ae8 <_vfprintf_r+0x958> +40000b10: 09c10613 addi a2,sp,156 +40000b14: 000a0593 mv a1,s4 +40000b18: 000a8513 mv a0,s5 +40000b1c: 181050ef jal ra,4000649c <__sprint_r> +40000b20: d2051ee3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000b24: 0a412783 lw a5,164(sp) +40000b28: 0a012983 lw s3,160(sp) +40000b2c: 000c0c93 mv s9,s8 +40000b30: fb9ff06f j 40000ae8 <_vfprintf_r+0x958> +40000b34: 09c10613 addi a2,sp,156 +40000b38: 000a0593 mv a1,s4 +40000b3c: 000a8513 mv a0,s5 +40000b40: 15d050ef jal ra,4000649c <__sprint_r> +40000b44: c4050ce3 beqz a0,4000079c <_vfprintf_r+0x60c> +40000b48: d15ff06f j 4000085c <_vfprintf_r+0x6cc> +40000b4c: 01012d83 lw s11,16(sp) +40000b50: 00100693 li a3,1 +40000b54: 6ad70a63 beq a4,a3,40001208 <_vfprintf_r+0x1078> +40000b58: 00200793 li a5,2 +40000b5c: 06f71663 bne a4,a5,40000bc8 <_vfprintf_r+0xa38> +40000b60: 01b12823 sw s11,16(sp) +40000b64: 00000793 li a5,0 +40000b68: 905ff06f j 4000046c <_vfprintf_r+0x2dc> +40000b6c: 09c10613 addi a2,sp,156 +40000b70: 000a0593 mv a1,s4 +40000b74: 000a8513 mv a0,s5 +40000b78: 125050ef jal ra,4000649c <__sprint_r> +40000b7c: ce0510e3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000b80: 000c0313 mv t1,s8 +40000b84: f84ff06f j 40000308 <_vfprintf_r+0x178> +40000b88: 09c10613 addi a2,sp,156 +40000b8c: 000a0593 mv a1,s4 +40000b90: 000a8513 mv a0,s5 +40000b94: 109050ef jal ra,4000649c <__sprint_r> +40000b98: cc0512e3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000b9c: 0a412783 lw a5,164(sp) +40000ba0: 000c0313 mv t1,s8 +40000ba4: a0dff06f j 400005b0 <_vfprintf_r+0x420> +40000ba8: 09c10613 addi a2,sp,156 +40000bac: 000a0593 mv a1,s4 +40000bb0: 000a8513 mv a0,s5 +40000bb4: 0e9050ef jal ra,4000649c <__sprint_r> +40000bb8: ca0512e3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000bbc: 0a412783 lw a5,164(sp) +40000bc0: 000c0313 mv t1,s8 +40000bc4: a25ff06f j 400005e8 <_vfprintf_r+0x458> +40000bc8: 01b12823 sw s11,16(sp) +40000bcc: 00000793 li a5,0 +40000bd0: 000c0693 mv a3,s8 +40000bd4: 0080006f j 40000bdc <_vfprintf_r+0xa4c> +40000bd8: 00090693 mv a3,s2 +40000bdc: 0077f713 andi a4,a5,7 +40000be0: 03070713 addi a4,a4,48 +40000be4: fee68fa3 sb a4,-1(a3) +40000be8: 0037d793 srli a5,a5,0x3 +40000bec: fff68913 addi s2,a3,-1 +40000bf0: fe0794e3 bnez a5,40000bd8 <_vfprintf_r+0xa48> +40000bf4: 01012783 lw a5,16(sp) +40000bf8: 0017f793 andi a5,a5,1 +40000bfc: 88078ae3 beqz a5,40000490 <_vfprintf_r+0x300> +40000c00: 03000793 li a5,48 +40000c04: 88f706e3 beq a4,a5,40000490 <_vfprintf_r+0x300> +40000c08: ffe68693 addi a3,a3,-2 +40000c0c: fef90fa3 sb a5,-1(s2) +40000c10: 40dc07b3 sub a5,s8,a3 +40000c14: 00f12e23 sw a5,28(sp) +40000c18: 00068913 mv s2,a3 +40000c1c: 87dff06f j 40000498 <_vfprintf_r+0x308> +40000c20: 000a8513 mv a0,s5 +40000c24: 0dc030ef jal ra,40003d00 <__sinit> +40000c28: dd4ff06f j 400001fc <_vfprintf_r+0x6c> +40000c2c: 08412683 lw a3,132(sp) +40000c30: 22d052e3 blez a3,40001654 <_vfprintf_r+0x14c4> +40000c34: 03012703 lw a4,48(sp) +40000c38: 03412683 lw a3,52(sp) +40000c3c: 00070993 mv s3,a4 +40000c40: 00e6d463 ble a4,a3,40000c48 <_vfprintf_r+0xab8> +40000c44: 00068993 mv s3,a3 +40000c48: 03305663 blez s3,40000c74 <_vfprintf_r+0xae4> +40000c4c: 0a012703 lw a4,160(sp) +40000c50: 013787b3 add a5,a5,s3 +40000c54: 01232023 sw s2,0(t1) +40000c58: 00170713 addi a4,a4,1 +40000c5c: 01332223 sw s3,4(t1) +40000c60: 0af12223 sw a5,164(sp) +40000c64: 0ae12023 sw a4,160(sp) +40000c68: 00700693 li a3,7 +40000c6c: 00830313 addi t1,t1,8 +40000c70: 28e6cae3 blt a3,a4,40001704 <_vfprintf_r+0x1574> +40000c74: 5009cee3 bltz s3,40001990 <_vfprintf_r+0x1800> +40000c78: 03012703 lw a4,48(sp) +40000c7c: 413709b3 sub s3,a4,s3 +40000c80: 5f305263 blez s3,40001264 <_vfprintf_r+0x10d4> +40000c84: 4000b6b7 lui a3,0x4000b +40000c88: 01000c93 li s9,16 +40000c8c: 0a012703 lw a4,160(sp) +40000c90: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +40000c94: 593cd863 ble s3,s9,40001224 <_vfprintf_r+0x1094> +40000c98: 00700d13 li s10,7 +40000c9c: 00c0006f j 40000ca8 <_vfprintf_r+0xb18> +40000ca0: ff098993 addi s3,s3,-16 +40000ca4: 593cd063 ble s3,s9,40001224 <_vfprintf_r+0x1094> +40000ca8: 01078793 addi a5,a5,16 +40000cac: 00170713 addi a4,a4,1 +40000cb0: 01632023 sw s6,0(t1) +40000cb4: 01932223 sw s9,4(t1) +40000cb8: 0af12223 sw a5,164(sp) +40000cbc: 0ae12023 sw a4,160(sp) +40000cc0: 00830313 addi t1,t1,8 +40000cc4: fced5ee3 ble a4,s10,40000ca0 <_vfprintf_r+0xb10> +40000cc8: 09c10613 addi a2,sp,156 +40000ccc: 000a0593 mv a1,s4 +40000cd0: 000a8513 mv a0,s5 +40000cd4: 7c8050ef jal ra,4000649c <__sprint_r> +40000cd8: b80512e3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000cdc: 0a412783 lw a5,164(sp) +40000ce0: 0a012703 lw a4,160(sp) +40000ce4: 000c0313 mv t1,s8 +40000ce8: fb9ff06f j 40000ca0 <_vfprintf_r+0xb10> +40000cec: 00012e23 sw zero,28(sp) +40000cf0: 000c0913 mv s2,s8 +40000cf4: fa4ff06f j 40000498 <_vfprintf_r+0x308> +40000cf8: fff70713 addi a4,a4,-1 +40000cfc: 00e787b3 add a5,a5,a4 +40000d00: 00190913 addi s2,s2,1 +40000d04: 00198993 addi s3,s3,1 +40000d08: 00eca223 sw a4,4(s9) +40000d0c: 012ca023 sw s2,0(s9) +40000d10: 0af12223 sw a5,164(sp) +40000d14: 0b312023 sw s3,160(sp) +40000d18: 00700713 li a4,7 +40000d1c: ad375ce3 ble s3,a4,400007f4 <_vfprintf_r+0x664> +40000d20: 09c10613 addi a2,sp,156 +40000d24: 000a0593 mv a1,s4 +40000d28: 000a8513 mv a0,s5 +40000d2c: 770050ef jal ra,4000649c <__sprint_r> +40000d30: b20516e3 bnez a0,4000085c <_vfprintf_r+0x6cc> +40000d34: 0a412783 lw a5,164(sp) +40000d38: 0a012983 lw s3,160(sp) +40000d3c: 000c0c93 mv s9,s8 +40000d40: ab9ff06f j 400007f8 <_vfprintf_r+0x668> +40000d44: 00050613 mv a2,a0 +40000d48: 00080593 mv a1,a6 +40000d4c: e08ff06f j 40000354 <_vfprintf_r+0x1c4> +40000d50: 00060463 beqz a2,40000d58 <_vfprintf_r+0xbc8> +40000d54: 7a50006f j 40001cf8 <_vfprintf_r+0x1b68> +40000d58: 010df793 andi a5,s11,16 +40000d5c: 64079a63 bnez a5,400013b0 <_vfprintf_r+0x1220> +40000d60: 040dfd93 andi s11,s11,64 +40000d64: 640d8663 beqz s11,400013b0 <_vfprintf_r+0x1220> +40000d68: 02012703 lw a4,32(sp) +40000d6c: 00072783 lw a5,0(a4) +40000d70: 00470713 addi a4,a4,4 +40000d74: 02e12023 sw a4,32(sp) +40000d78: 01815703 lhu a4,24(sp) +40000d7c: 00e79023 sh a4,0(a5) +40000d80: d2cff06f j 400002ac <_vfprintf_r+0x11c> +40000d84: 02012783 lw a5,32(sp) +40000d88: 06010fa3 sb zero,127(sp) +40000d8c: 0007a903 lw s2,0(a5) +40000d90: 00478b13 addi s6,a5,4 +40000d94: 400902e3 beqz s2,40001998 <_vfprintf_r+0x1808> +40000d98: fff00793 li a5,-1 +40000d9c: 00612823 sw t1,16(sp) +40000da0: 2cfc8ae3 beq s9,a5,40001874 <_vfprintf_r+0x16e4> +40000da4: 000c8613 mv a2,s9 +40000da8: 00000593 li a1,0 +40000dac: 00090513 mv a0,s2 +40000db0: 735030ef jal ra,40004ce4 <memchr> +40000db4: 01012303 lw t1,16(sp) +40000db8: 52050ae3 beqz a0,40001aec <_vfprintf_r+0x195c> +40000dbc: 412507b3 sub a5,a0,s2 +40000dc0: 00f12e23 sw a5,28(sp) +40000dc4: 00078b93 mv s7,a5 +40000dc8: 2c07c2e3 bltz a5,4000188c <_vfprintf_r+0x16fc> +40000dcc: 07f14603 lbu a2,127(sp) +40000dd0: 03612023 sw s6,32(sp) +40000dd4: 01b12823 sw s11,16(sp) +40000dd8: 02012823 sw zero,48(sp) +40000ddc: 00000c93 li s9,0 +40000de0: ec060863 beqz a2,400004b0 <_vfprintf_r+0x320> +40000de4: 9e1ff06f j 400007c4 <_vfprintf_r+0x634> +40000de8: 720610e3 bnez a2,40001d08 <_vfprintf_r+0x1b78> +40000dec: 010ded93 ori s11,s11,16 +40000df0: 010df793 andi a5,s11,16 +40000df4: 64079e63 bnez a5,40001450 <_vfprintf_r+0x12c0> +40000df8: 040df793 andi a5,s11,64 +40000dfc: 02012703 lw a4,32(sp) +40000e00: 58078863 beqz a5,40001390 <_vfprintf_r+0x1200> +40000e04: 00071783 lh a5,0(a4) +40000e08: 00470713 addi a4,a4,4 +40000e0c: 02e12023 sw a4,32(sp) +40000e10: 6607c463 bltz a5,40001478 <_vfprintf_r+0x12e8> +40000e14: 07f14603 lbu a2,127(sp) +40000e18: 00100713 li a4,1 +40000e1c: d98ff06f j 400003b4 <_vfprintf_r+0x224> +40000e20: 6e0610e3 bnez a2,40001d00 <_vfprintf_r+0x1b70> +40000e24: 008df793 andi a5,s11,8 +40000e28: 7e078463 beqz a5,40001610 <_vfprintf_r+0x1480> +40000e2c: 02012703 lw a4,32(sp) +40000e30: 06010513 addi a0,sp,96 +40000e34: 00612823 sw t1,16(sp) +40000e38: 00072783 lw a5,0(a4) +40000e3c: 00470693 addi a3,a4,4 +40000e40: 02d12023 sw a3,32(sp) +40000e44: 0007a703 lw a4,0(a5) +40000e48: 06e12023 sw a4,96(sp) +40000e4c: 0047a703 lw a4,4(a5) +40000e50: 06e12223 sw a4,100(sp) +40000e54: 0087a703 lw a4,8(a5) +40000e58: 06e12423 sw a4,104(sp) +40000e5c: 00c7a783 lw a5,12(a5) +40000e60: 06f12623 sw a5,108(sp) +40000e64: 33c0a0ef jal ra,4000b1a0 <__trunctfdf2> +40000e68: 01012303 lw t1,16(sp) +40000e6c: 02a12c23 sw a0,56(sp) +40000e70: 02b12e23 sw a1,60(sp) +40000e74: 03c12783 lw a5,60(sp) +40000e78: 80000937 lui s2,0x80000 +40000e7c: 03812b03 lw s6,56(sp) +40000e80: fff94913 not s2,s2 +40000e84: 05012603 lw a2,80(sp) +40000e88: 05412683 lw a3,84(sp) +40000e8c: 0127f933 and s2,a5,s2 +40000e90: 000b0513 mv a0,s6 +40000e94: 00090593 mv a1,s2 +40000e98: 00612823 sw t1,16(sp) +40000e9c: 06c0a0ef jal ra,4000af08 <__unorddf2> +40000ea0: 01012303 lw t1,16(sp) +40000ea4: 5e051663 bnez a0,40001490 <_vfprintf_r+0x1300> +40000ea8: 05812603 lw a2,88(sp) +40000eac: 05c12683 lw a3,92(sp) +40000eb0: 000b0513 mv a0,s6 +40000eb4: 00090593 mv a1,s2 +40000eb8: 6fd080ef jal ra,40009db4 <__ledf2> +40000ebc: 01012303 lw t1,16(sp) +40000ec0: 5ca05863 blez a0,40001490 <_vfprintf_r+0x1300> +40000ec4: 03812703 lw a4,56(sp) +40000ec8: 03c12783 lw a5,60(sp) +40000ecc: 00000613 li a2,0 +40000ed0: 00070513 mv a0,a4 +40000ed4: 00078593 mv a1,a5 +40000ed8: 00000693 li a3,0 +40000edc: 00612823 sw t1,16(sp) +40000ee0: 6d5080ef jal ra,40009db4 <__ledf2> +40000ee4: 01012303 lw t1,16(sp) +40000ee8: 2e0546e3 bltz a0,400019d4 <_vfprintf_r+0x1844> +40000eec: 07f14603 lbu a2,127(sp) +40000ef0: 04700793 li a5,71 +40000ef4: 0137d2e3 ble s3,a5,400016f8 <_vfprintf_r+0x1568> +40000ef8: 4000b937 lui s2,0x4000b +40000efc: 7a490913 addi s2,s2,1956 # 4000b7a4 <zeroes.4139+0x14> +40000f00: 00300b93 li s7,3 +40000f04: f7fdf793 andi a5,s11,-129 +40000f08: 00f12823 sw a5,16(sp) +40000f0c: 01712e23 sw s7,28(sp) +40000f10: 02012823 sw zero,48(sp) +40000f14: 00000c93 li s9,0 +40000f18: d8060c63 beqz a2,400004b0 <_vfprintf_r+0x320> +40000f1c: 8a9ff06f j 400007c4 <_vfprintf_r+0x634> +40000f20: 008ded93 ori s11,s11,8 +40000f24: c30ff06f j 40000354 <_vfprintf_r+0x1c4> +40000f28: 00044983 lbu s3,0(s0) +40000f2c: 00140413 addi s0,s0,1 +40000f30: 59198ae3 beq s3,a7,40001cc4 <_vfprintf_r+0x1b34> +40000f34: fd098e13 addi t3,s3,-48 +40000f38: 00000c93 li s9,0 +40000f3c: c3c6e063 bltu a3,t3,4000035c <_vfprintf_r+0x1cc> +40000f40: 00140413 addi s0,s0,1 +40000f44: 002c9793 slli a5,s9,0x2 +40000f48: fff44983 lbu s3,-1(s0) +40000f4c: 019787b3 add a5,a5,s9 +40000f50: 00179793 slli a5,a5,0x1 +40000f54: 01c78cb3 add s9,a5,t3 +40000f58: fd098e13 addi t3,s3,-48 +40000f5c: ffc6f2e3 bleu t3,a3,40000f40 <_vfprintf_r+0xdb0> +40000f60: bfcff06f j 4000035c <_vfprintf_r+0x1cc> +40000f64: 080ded93 ori s11,s11,128 +40000f68: becff06f j 40000354 <_vfprintf_r+0x1c4> +40000f6c: 02012683 lw a3,32(sp) +40000f70: 03000713 li a4,48 +40000f74: 08e10023 sb a4,128(sp) +40000f78: 07800713 li a4,120 +40000f7c: 08e100a3 sb a4,129(sp) +40000f80: 00468713 addi a4,a3,4 +40000f84: 02e12023 sw a4,32(sp) +40000f88: 4000b737 lui a4,0x4000b +40000f8c: 7c470713 addi a4,a4,1988 # 4000b7c4 <zeroes.4139+0x34> +40000f90: 04e12223 sw a4,68(sp) +40000f94: 0006a783 lw a5,0(a3) +40000f98: 002ded93 ori s11,s11,2 +40000f9c: 00200713 li a4,2 +40000fa0: 07800993 li s3,120 +40000fa4: c08ff06f j 400003ac <_vfprintf_r+0x21c> +40000fa8: 00000493 li s1,0 +40000fac: fd098e13 addi t3,s3,-48 +40000fb0: 00140413 addi s0,s0,1 +40000fb4: 00249793 slli a5,s1,0x2 +40000fb8: fff44983 lbu s3,-1(s0) +40000fbc: 009787b3 add a5,a5,s1 +40000fc0: 00179793 slli a5,a5,0x1 +40000fc4: 00fe04b3 add s1,t3,a5 +40000fc8: fd098e13 addi t3,s3,-48 +40000fcc: ffc6f2e3 bleu t3,a3,40000fb0 <_vfprintf_r+0xe20> +40000fd0: b8cff06f j 4000035c <_vfprintf_r+0x1cc> +40000fd4: 001ded93 ori s11,s11,1 +40000fd8: b7cff06f j 40000354 <_vfprintf_r+0x1c4> +40000fdc: b6059c63 bnez a1,40000354 <_vfprintf_r+0x1c4> +40000fe0: 00050613 mv a2,a0 +40000fe4: 000e8593 mv a1,t4 +40000fe8: b6cff06f j 40000354 <_vfprintf_r+0x1c4> +40000fec: 040ded93 ori s11,s11,64 +40000ff0: b64ff06f j 40000354 <_vfprintf_r+0x1c4> +40000ff4: 520616e3 bnez a2,40001d20 <_vfprintf_r+0x1b90> +40000ff8: 4000b7b7 lui a5,0x4000b +40000ffc: 7c478793 addi a5,a5,1988 # 4000b7c4 <zeroes.4139+0x34> +40001000: 04f12223 sw a5,68(sp) +40001004: 010df793 andi a5,s11,16 +40001008: 44079e63 bnez a5,40001464 <_vfprintf_r+0x12d4> +4000100c: 040df793 andi a5,s11,64 +40001010: 02012703 lw a4,32(sp) +40001014: 38078663 beqz a5,400013a0 <_vfprintf_r+0x1210> +40001018: 00075783 lhu a5,0(a4) +4000101c: 00470713 addi a4,a4,4 +40001020: 02e12023 sw a4,32(sp) +40001024: 001df693 andi a3,s11,1 +40001028: 00200713 li a4,2 +4000102c: b8068063 beqz a3,400003ac <_vfprintf_r+0x21c> +40001030: b6078e63 beqz a5,400003ac <_vfprintf_r+0x21c> +40001034: 03000693 li a3,48 +40001038: 08d10023 sb a3,128(sp) +4000103c: 093100a3 sb s3,129(sp) +40001040: 00ededb3 or s11,s11,a4 +40001044: b68ff06f j 400003ac <_vfprintf_r+0x21c> +40001048: 4c0618e3 bnez a2,40001d18 <_vfprintf_r+0x1b88> +4000104c: 4000b7b7 lui a5,0x4000b +40001050: 7b078793 addi a5,a5,1968 # 4000b7b0 <zeroes.4139+0x20> +40001054: 04f12223 sw a5,68(sp) +40001058: fadff06f j 40001004 <_vfprintf_r+0xe74> +4000105c: 02012703 lw a4,32(sp) +40001060: 00100b93 li s7,1 +40001064: 06010fa3 sb zero,127(sp) +40001068: 00072783 lw a5,0(a4) +4000106c: 0af10423 sb a5,168(sp) +40001070: 00470793 addi a5,a4,4 +40001074: 02f12023 sw a5,32(sp) +40001078: 01b12823 sw s11,16(sp) +4000107c: 00000613 li a2,0 +40001080: 01712e23 sw s7,28(sp) +40001084: 00000c93 li s9,0 +40001088: 02012823 sw zero,48(sp) +4000108c: 0a810913 addi s2,sp,168 +40001090: c20ff06f j 400004b0 <_vfprintf_r+0x320> +40001094: d4060ee3 beqz a2,40000df0 <_vfprintf_r+0xc60> +40001098: 06b10fa3 sb a1,127(sp) +4000109c: d55ff06f j 40000df0 <_vfprintf_r+0xc60> +400010a0: 09c10613 addi a2,sp,156 +400010a4: 000a0593 mv a1,s4 +400010a8: 000a8513 mv a0,s5 +400010ac: 3f0050ef jal ra,4000649c <__sprint_r> +400010b0: fa051663 bnez a0,4000085c <_vfprintf_r+0x6cc> +400010b4: 0a412783 lw a5,164(sp) +400010b8: eccff06f j 40000784 <_vfprintf_r+0x5f4> +400010bc: 0006d783 lhu a5,0(a3) +400010c0: 00468693 addi a3,a3,4 +400010c4: 00000713 li a4,0 +400010c8: 02d12023 sw a3,32(sp) +400010cc: ae0ff06f j 400003ac <_vfprintf_r+0x21c> +400010d0: 440610e3 bnez a2,40001d10 <_vfprintf_r+0x1b80> +400010d4: f6098863 beqz s3,40000844 <_vfprintf_r+0x6b4> +400010d8: 00100b93 li s7,1 +400010dc: 0b310423 sb s3,168(sp) +400010e0: 06010fa3 sb zero,127(sp) +400010e4: f95ff06f j 40001078 <_vfprintf_r+0xee8> +400010e8: 00900713 li a4,9 +400010ec: 000c0913 mv s2,s8 +400010f0: 00a00693 li a3,10 +400010f4: 10f77863 bleu a5,a4,40001204 <_vfprintf_r+0x1074> +400010f8: 02d7f733 remu a4,a5,a3 +400010fc: fff90913 addi s2,s2,-1 +40001100: 02d7d7b3 divu a5,a5,a3 +40001104: 03070713 addi a4,a4,48 +40001108: 00e90023 sb a4,0(s2) +4000110c: fe0796e3 bnez a5,400010f8 <_vfprintf_r+0xf68> +40001110: b80ff06f j 40000490 <_vfprintf_r+0x300> +40001114: 09c10613 addi a2,sp,156 +40001118: 000a0593 mv a1,s4 +4000111c: 000a8513 mv a0,s5 +40001120: 37c050ef jal ra,4000649c <__sprint_r> +40001124: f2051c63 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001128: 07f14603 lbu a2,127(sp) +4000112c: 0a412783 lw a5,164(sp) +40001130: 000c0313 mv t1,s8 +40001134: c48ff06f j 4000057c <_vfprintf_r+0x3ec> +40001138: 04812783 lw a5,72(sp) +4000113c: 04012683 lw a3,64(sp) +40001140: 0a012703 lw a4,160(sp) +40001144: 00f32023 sw a5,0(t1) +40001148: 0a412783 lw a5,164(sp) +4000114c: 00170713 addi a4,a4,1 +40001150: 00d32223 sw a3,4(t1) +40001154: 00f687b3 add a5,a3,a5 +40001158: 0af12223 sw a5,164(sp) +4000115c: 0ae12023 sw a4,160(sp) +40001160: 00700693 li a3,7 +40001164: 00830313 addi t1,t1,8 +40001168: 6ee6c463 blt a3,a4,40001850 <_vfprintf_r+0x16c0> +4000116c: 03412703 lw a4,52(sp) +40001170: fff70913 addi s2,a4,-1 +40001174: d7205863 blez s2,400006e4 <_vfprintf_r+0x554> +40001178: 4000b6b7 lui a3,0x4000b +4000117c: 01000993 li s3,16 +40001180: 0a012703 lw a4,160(sp) +40001184: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +40001188: 0529dc63 ble s2,s3,400011e0 <_vfprintf_r+0x1050> +4000118c: 00700c93 li s9,7 +40001190: 00c0006f j 4000119c <_vfprintf_r+0x100c> +40001194: ff090913 addi s2,s2,-16 +40001198: 0529d463 ble s2,s3,400011e0 <_vfprintf_r+0x1050> +4000119c: 01078793 addi a5,a5,16 +400011a0: 00170713 addi a4,a4,1 +400011a4: 01632023 sw s6,0(t1) +400011a8: 01332223 sw s3,4(t1) +400011ac: 0af12223 sw a5,164(sp) +400011b0: 0ae12023 sw a4,160(sp) +400011b4: 00830313 addi t1,t1,8 +400011b8: fcecdee3 ble a4,s9,40001194 <_vfprintf_r+0x1004> +400011bc: 09c10613 addi a2,sp,156 +400011c0: 000a0593 mv a1,s4 +400011c4: 000a8513 mv a0,s5 +400011c8: 2d4050ef jal ra,4000649c <__sprint_r> +400011cc: e8051863 bnez a0,4000085c <_vfprintf_r+0x6cc> +400011d0: 0a412783 lw a5,164(sp) +400011d4: 0a012703 lw a4,160(sp) +400011d8: 000c0313 mv t1,s8 +400011dc: fb9ff06f j 40001194 <_vfprintf_r+0x1004> +400011e0: 01632023 sw s6,0(t1) +400011e4: 01232223 sw s2,4(t1) +400011e8: 012787b3 add a5,a5,s2 +400011ec: 00170713 addi a4,a4,1 +400011f0: 0af12223 sw a5,164(sp) +400011f4: 0ae12023 sw a4,160(sp) +400011f8: 00700693 li a3,7 +400011fc: cee6d263 ble a4,a3,400006e0 <_vfprintf_r+0x550> +40001200: e24ff06f j 40000824 <_vfprintf_r+0x694> +40001204: 01012d83 lw s11,16(sp) +40001208: 03078793 addi a5,a5,48 +4000120c: 0cf107a3 sb a5,207(sp) +40001210: 00100793 li a5,1 +40001214: 01b12823 sw s11,16(sp) +40001218: 00f12e23 sw a5,28(sp) +4000121c: 0cf10913 addi s2,sp,207 +40001220: a78ff06f j 40000498 <_vfprintf_r+0x308> +40001224: 013787b3 add a5,a5,s3 +40001228: 00170713 addi a4,a4,1 +4000122c: 01632023 sw s6,0(t1) +40001230: 01332223 sw s3,4(t1) +40001234: 0af12223 sw a5,164(sp) +40001238: 0ae12023 sw a4,160(sp) +4000123c: 00700693 li a3,7 +40001240: 00830313 addi t1,t1,8 +40001244: 02e6d063 ble a4,a3,40001264 <_vfprintf_r+0x10d4> +40001248: 09c10613 addi a2,sp,156 +4000124c: 000a0593 mv a1,s4 +40001250: 000a8513 mv a0,s5 +40001254: 248050ef jal ra,4000649c <__sprint_r> +40001258: e0051263 bnez a0,4000085c <_vfprintf_r+0x6cc> +4000125c: 0a412783 lw a5,164(sp) +40001260: 000c0313 mv t1,s8 +40001264: 08412703 lw a4,132(sp) +40001268: 03412683 lw a3,52(sp) +4000126c: 0cd74863 blt a4,a3,4000133c <_vfprintf_r+0x11ac> +40001270: 01012683 lw a3,16(sp) +40001274: 0016f693 andi a3,a3,1 +40001278: 0c069263 bnez a3,4000133c <_vfprintf_r+0x11ac> +4000127c: 03412683 lw a3,52(sp) +40001280: 03012603 lw a2,48(sp) +40001284: 40e68733 sub a4,a3,a4 +40001288: 40c689b3 sub s3,a3,a2 +4000128c: 01375463 ble s3,a4,40001294 <_vfprintf_r+0x1104> +40001290: 00070993 mv s3,a4 +40001294: 03305a63 blez s3,400012c8 <_vfprintf_r+0x1138> +40001298: 0a012603 lw a2,160(sp) +4000129c: 03012683 lw a3,48(sp) +400012a0: 013787b3 add a5,a5,s3 +400012a4: 00160613 addi a2,a2,1 +400012a8: 00d906b3 add a3,s2,a3 +400012ac: 00d32023 sw a3,0(t1) +400012b0: 01332223 sw s3,4(t1) +400012b4: 0af12223 sw a5,164(sp) +400012b8: 0ac12023 sw a2,160(sp) +400012bc: 00700693 li a3,7 +400012c0: 00830313 addi t1,t1,8 +400012c4: 46c6c063 blt a3,a2,40001724 <_vfprintf_r+0x1594> +400012c8: 7009c263 bltz s3,400019cc <_vfprintf_r+0x183c> +400012cc: 41370933 sub s2,a4,s3 +400012d0: c1205a63 blez s2,400006e4 <_vfprintf_r+0x554> +400012d4: 4000b6b7 lui a3,0x4000b +400012d8: 01000993 li s3,16 +400012dc: 0a012703 lw a4,160(sp) +400012e0: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +400012e4: ef29dee3 ble s2,s3,400011e0 <_vfprintf_r+0x1050> +400012e8: 00700c93 li s9,7 +400012ec: 00c0006f j 400012f8 <_vfprintf_r+0x1168> +400012f0: ff090913 addi s2,s2,-16 +400012f4: ef29d6e3 ble s2,s3,400011e0 <_vfprintf_r+0x1050> +400012f8: 01078793 addi a5,a5,16 +400012fc: 00170713 addi a4,a4,1 +40001300: 01632023 sw s6,0(t1) +40001304: 01332223 sw s3,4(t1) +40001308: 0af12223 sw a5,164(sp) +4000130c: 0ae12023 sw a4,160(sp) +40001310: 00830313 addi t1,t1,8 +40001314: fcecdee3 ble a4,s9,400012f0 <_vfprintf_r+0x1160> +40001318: 09c10613 addi a2,sp,156 +4000131c: 000a0593 mv a1,s4 +40001320: 000a8513 mv a0,s5 +40001324: 178050ef jal ra,4000649c <__sprint_r> +40001328: d2051a63 bnez a0,4000085c <_vfprintf_r+0x6cc> +4000132c: 0a412783 lw a5,164(sp) +40001330: 0a012703 lw a4,160(sp) +40001334: 000c0313 mv t1,s8 +40001338: fb9ff06f j 400012f0 <_vfprintf_r+0x1160> +4000133c: 04812683 lw a3,72(sp) +40001340: 04012603 lw a2,64(sp) +40001344: 00830313 addi t1,t1,8 +40001348: fed32c23 sw a3,-8(t1) +4000134c: 0a012683 lw a3,160(sp) +40001350: 00c787b3 add a5,a5,a2 +40001354: fec32e23 sw a2,-4(t1) +40001358: 00168693 addi a3,a3,1 +4000135c: 0af12223 sw a5,164(sp) +40001360: 0ad12023 sw a3,160(sp) +40001364: 00700613 li a2,7 +40001368: f0d65ae3 ble a3,a2,4000127c <_vfprintf_r+0x10ec> +4000136c: 09c10613 addi a2,sp,156 +40001370: 000a0593 mv a1,s4 +40001374: 000a8513 mv a0,s5 +40001378: 124050ef jal ra,4000649c <__sprint_r> +4000137c: ce051063 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001380: 08412703 lw a4,132(sp) +40001384: 0a412783 lw a5,164(sp) +40001388: 000c0313 mv t1,s8 +4000138c: ef1ff06f j 4000127c <_vfprintf_r+0x10ec> +40001390: 00072783 lw a5,0(a4) +40001394: 00470713 addi a4,a4,4 +40001398: 02e12023 sw a4,32(sp) +4000139c: a75ff06f j 40000e10 <_vfprintf_r+0xc80> +400013a0: 00072783 lw a5,0(a4) +400013a4: 00470713 addi a4,a4,4 +400013a8: 02e12023 sw a4,32(sp) +400013ac: c79ff06f j 40001024 <_vfprintf_r+0xe94> +400013b0: 02012703 lw a4,32(sp) +400013b4: 00072783 lw a5,0(a4) +400013b8: 00470713 addi a4,a4,4 +400013bc: 02e12023 sw a4,32(sp) +400013c0: 01812703 lw a4,24(sp) +400013c4: 00e7a023 sw a4,0(a5) +400013c8: ee5fe06f j 400002ac <_vfprintf_r+0x11c> +400013cc: 01012683 lw a3,16(sp) +400013d0: 00e6f6b3 and a3,a3,a4 +400013d4: e6069a63 bnez a3,40000a48 <_vfprintf_r+0x8b8> +400013d8: 0a012983 lw s3,160(sp) +400013dc: 00e32223 sw a4,4(t1) +400013e0: 01232023 sw s2,0(t1) +400013e4: 00198993 addi s3,s3,1 +400013e8: 0af12223 sw a5,164(sp) +400013ec: 0b312023 sw s3,160(sp) +400013f0: 00700713 li a4,7 +400013f4: 00830c93 addi s9,t1,8 +400013f8: c1375063 ble s3,a4,400007f8 <_vfprintf_r+0x668> +400013fc: 925ff06f j 40000d20 <_vfprintf_r+0xb90> +40001400: 09c10613 addi a2,sp,156 +40001404: 000a0593 mv a1,s4 +40001408: 000a8513 mv a0,s5 +4000140c: 090050ef jal ra,4000649c <__sprint_r> +40001410: c4051663 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001414: 0a412783 lw a5,164(sp) +40001418: 0a012983 lw s3,160(sp) +4000141c: 000c0313 mv t1,s8 +40001420: e50ff06f j 40000a70 <_vfprintf_r+0x8e0> +40001424: 02012683 lw a3,32(sp) +40001428: f75fe06f j 4000039c <_vfprintf_r+0x20c> +4000142c: 09c10613 addi a2,sp,156 +40001430: 000a0593 mv a1,s4 +40001434: 000a8513 mv a0,s5 +40001438: 064050ef jal ra,4000649c <__sprint_r> +4000143c: c2051063 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001440: 0a412783 lw a5,164(sp) +40001444: 0a012983 lw s3,160(sp) +40001448: 000c0c93 mv s9,s8 +4000144c: e50ff06f j 40000a9c <_vfprintf_r+0x90c> +40001450: 02012703 lw a4,32(sp) +40001454: 00072783 lw a5,0(a4) +40001458: 00470713 addi a4,a4,4 +4000145c: 02e12023 sw a4,32(sp) +40001460: 9b1ff06f j 40000e10 <_vfprintf_r+0xc80> +40001464: 02012703 lw a4,32(sp) +40001468: 00072783 lw a5,0(a4) +4000146c: 00470713 addi a4,a4,4 +40001470: 02e12023 sw a4,32(sp) +40001474: bb1ff06f j 40001024 <_vfprintf_r+0xe94> +40001478: 02d00713 li a4,45 +4000147c: 06e10fa3 sb a4,127(sp) +40001480: 40f007b3 neg a5,a5 +40001484: 02d00613 li a2,45 +40001488: 00100713 li a4,1 +4000148c: f29fe06f j 400003b4 <_vfprintf_r+0x224> +40001490: 03812803 lw a6,56(sp) +40001494: 03c12583 lw a1,60(sp) +40001498: 00612823 sw t1,16(sp) +4000149c: 00080613 mv a2,a6 +400014a0: 00080513 mv a0,a6 +400014a4: 00058693 mv a3,a1 +400014a8: 261090ef jal ra,4000af08 <__unorddf2> +400014ac: 01012303 lw t1,16(sp) +400014b0: 72051663 bnez a0,40001bdc <_vfprintf_r+0x1a4c> +400014b4: fff00793 li a5,-1 +400014b8: 52fc8663 beq s9,a5,400019e4 <_vfprintf_r+0x1854> +400014bc: fdf9f793 andi a5,s3,-33 +400014c0: 00078713 mv a4,a5 +400014c4: 00f12a23 sw a5,20(sp) +400014c8: 04700793 li a5,71 +400014cc: 32f70c63 beq a4,a5,40001804 <_vfprintf_r+0x1674> +400014d0: 100de793 ori a5,s11,256 +400014d4: 00f12823 sw a5,16(sp) +400014d8: 03c12783 lw a5,60(sp) +400014dc: 00000b13 li s6,0 +400014e0: 00078b93 mv s7,a5 +400014e4: 5407ca63 bltz a5,40001a38 <_vfprintf_r+0x18a8> +400014e8: 06600793 li a5,102 +400014ec: 50f98463 beq s3,a5,400019f4 <_vfprintf_r+0x1864> +400014f0: 04600793 li a5,70 +400014f4: 28f98263 beq s3,a5,40001778 <_vfprintf_r+0x15e8> +400014f8: 01412783 lw a5,20(sp) +400014fc: 03812703 lw a4,56(sp) +40001500: 000b8693 mv a3,s7 +40001504: fbb78f13 addi t5,a5,-69 +40001508: 001f3f13 seqz t5,t5 +4000150c: 01ec8f33 add t5,s9,t5 +40001510: 09410793 addi a5,sp,148 +40001514: 00070613 mv a2,a4 +40001518: 00f12023 sw a5,0(sp) +4000151c: 08810893 addi a7,sp,136 +40001520: 000f0793 mv a5,t5 +40001524: 08410813 addi a6,sp,132 +40001528: 00200713 li a4,2 +4000152c: 000a8513 mv a0,s5 +40001530: 02612423 sw t1,40(sp) +40001534: 01e12e23 sw t5,28(sp) +40001538: 409000ef jal ra,40002140 <_dtoa_r> +4000153c: 06700793 li a5,103 +40001540: 00050913 mv s2,a0 +40001544: 01c12f03 lw t5,28(sp) +40001548: 02812303 lw t1,40(sp) +4000154c: 56f99663 bne s3,a5,40001ab8 <_vfprintf_r+0x1928> +40001550: 001df793 andi a5,s11,1 +40001554: 01e50d33 add s10,a0,t5 +40001558: 66078263 beqz a5,40001bbc <_vfprintf_r+0x1a2c> +4000155c: 03812783 lw a5,56(sp) +40001560: 000b8593 mv a1,s7 +40001564: 00000613 li a2,0 +40001568: 00078513 mv a0,a5 +4000156c: 00000693 li a3,0 +40001570: 00612e23 sw t1,28(sp) +40001574: 6b0080ef jal ra,40009c24 <__eqdf2> +40001578: 000d0793 mv a5,s10 +4000157c: 01c12303 lw t1,28(sp) +40001580: 02050263 beqz a0,400015a4 <_vfprintf_r+0x1414> +40001584: 09412783 lw a5,148(sp) +40001588: 01a7fe63 bleu s10,a5,400015a4 <_vfprintf_r+0x1414> +4000158c: 03000693 li a3,48 +40001590: 00178713 addi a4,a5,1 +40001594: 08e12a23 sw a4,148(sp) +40001598: 00d78023 sb a3,0(a5) +4000159c: 09412783 lw a5,148(sp) +400015a0: ffa7e8e3 bltu a5,s10,40001590 <_vfprintf_r+0x1400> +400015a4: 412787b3 sub a5,a5,s2 +400015a8: 02f12a23 sw a5,52(sp) +400015ac: 01412783 lw a5,20(sp) +400015b0: 04700713 li a4,71 +400015b4: 2ee78063 beq a5,a4,40001894 <_vfprintf_r+0x1704> +400015b8: 06500793 li a5,101 +400015bc: 5337d263 ble s3,a5,40001ae0 <_vfprintf_r+0x1950> +400015c0: 06600793 li a5,102 +400015c4: 4cf98863 beq s3,a5,40001a94 <_vfprintf_r+0x1904> +400015c8: 08412783 lw a5,132(sp) +400015cc: 02f12823 sw a5,48(sp) +400015d0: 03412703 lw a4,52(sp) +400015d4: 03012783 lw a5,48(sp) +400015d8: 46e7c863 blt a5,a4,40001a48 <_vfprintf_r+0x18b8> +400015dc: 001dfd93 andi s11,s11,1 +400015e0: 480d9863 bnez s11,40001a70 <_vfprintf_r+0x18e0> +400015e4: 00078b93 mv s7,a5 +400015e8: 6e07ca63 bltz a5,40001cdc <_vfprintf_r+0x1b4c> +400015ec: 03012783 lw a5,48(sp) +400015f0: 06700993 li s3,103 +400015f4: 00f12e23 sw a5,28(sp) +400015f8: 9a0b1e63 bnez s6,400007b4 <_vfprintf_r+0x624> +400015fc: 07f14603 lbu a2,127(sp) +40001600: 00000c93 li s9,0 +40001604: 00061463 bnez a2,4000160c <_vfprintf_r+0x147c> +40001608: ea9fe06f j 400004b0 <_vfprintf_r+0x320> +4000160c: 9b8ff06f j 400007c4 <_vfprintf_r+0x634> +40001610: 02012783 lw a5,32(sp) +40001614: 00778793 addi a5,a5,7 +40001618: ff87f793 andi a5,a5,-8 +4000161c: 0007a703 lw a4,0(a5) +40001620: 00878793 addi a5,a5,8 +40001624: 02e12c23 sw a4,56(sp) +40001628: ffc7a703 lw a4,-4(a5) +4000162c: 02f12023 sw a5,32(sp) +40001630: 02e12e23 sw a4,60(sp) +40001634: 841ff06f j 40000e74 <_vfprintf_r+0xce4> +40001638: 09c10613 addi a2,sp,156 +4000163c: 000a0593 mv a1,s4 +40001640: 000a8513 mv a0,s5 +40001644: 659040ef jal ra,4000649c <__sprint_r> +40001648: a0051a63 bnez a0,4000085c <_vfprintf_r+0x6cc> +4000164c: 000c0313 mv t1,s8 +40001650: ac4ff06f j 40000914 <_vfprintf_r+0x784> +40001654: 0a012703 lw a4,160(sp) +40001658: 4000b637 lui a2,0x4000b +4000165c: 7e060613 addi a2,a2,2016 # 4000b7e0 <zeroes.4139+0x50> +40001660: 00c32023 sw a2,0(t1) +40001664: 00178793 addi a5,a5,1 +40001668: 00100613 li a2,1 +4000166c: 00170713 addi a4,a4,1 +40001670: 00c32223 sw a2,4(t1) +40001674: 0af12223 sw a5,164(sp) +40001678: 0ae12023 sw a4,160(sp) +4000167c: 00700613 li a2,7 +40001680: 00830313 addi t1,t1,8 +40001684: 0ce64663 blt a2,a4,40001750 <_vfprintf_r+0x15c0> +40001688: 00069e63 bnez a3,400016a4 <_vfprintf_r+0x1514> +4000168c: 03412703 lw a4,52(sp) +40001690: 00071a63 bnez a4,400016a4 <_vfprintf_r+0x1514> +40001694: 01012703 lw a4,16(sp) +40001698: 00177713 andi a4,a4,1 +4000169c: 00071463 bnez a4,400016a4 <_vfprintf_r+0x1514> +400016a0: 844ff06f j 400006e4 <_vfprintf_r+0x554> +400016a4: 04812703 lw a4,72(sp) +400016a8: 04012603 lw a2,64(sp) +400016ac: 00830313 addi t1,t1,8 +400016b0: fee32c23 sw a4,-8(t1) +400016b4: 0a012703 lw a4,160(sp) +400016b8: 00f607b3 add a5,a2,a5 +400016bc: fec32e23 sw a2,-4(t1) +400016c0: 00170713 addi a4,a4,1 +400016c4: 0af12223 sw a5,164(sp) +400016c8: 0ae12023 sw a4,160(sp) +400016cc: 00700613 li a2,7 +400016d0: 10e64463 blt a2,a4,400017d8 <_vfprintf_r+0x1648> +400016d4: 4206c263 bltz a3,40001af8 <_vfprintf_r+0x1968> +400016d8: 03412683 lw a3,52(sp) +400016dc: 00170713 addi a4,a4,1 +400016e0: 01232023 sw s2,0(t1) +400016e4: 00f687b3 add a5,a3,a5 +400016e8: fe5fe06f j 400006cc <_vfprintf_r+0x53c> +400016ec: fff00793 li a5,-1 +400016f0: 00f12c23 sw a5,24(sp) +400016f4: 974ff06f j 40000868 <_vfprintf_r+0x6d8> +400016f8: 4000b937 lui s2,0x4000b +400016fc: 7a090913 addi s2,s2,1952 # 4000b7a0 <zeroes.4139+0x10> +40001700: 801ff06f j 40000f00 <_vfprintf_r+0xd70> +40001704: 09c10613 addi a2,sp,156 +40001708: 000a0593 mv a1,s4 +4000170c: 000a8513 mv a0,s5 +40001710: 58d040ef jal ra,4000649c <__sprint_r> +40001714: 94051463 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001718: 0a412783 lw a5,164(sp) +4000171c: 000c0313 mv t1,s8 +40001720: d54ff06f j 40000c74 <_vfprintf_r+0xae4> +40001724: 09c10613 addi a2,sp,156 +40001728: 000a0593 mv a1,s4 +4000172c: 000a8513 mv a0,s5 +40001730: 56d040ef jal ra,4000649c <__sprint_r> +40001734: 92051463 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001738: 08412703 lw a4,132(sp) +4000173c: 03412683 lw a3,52(sp) +40001740: 0a412783 lw a5,164(sp) +40001744: 000c0313 mv t1,s8 +40001748: 40e68733 sub a4,a3,a4 +4000174c: b7dff06f j 400012c8 <_vfprintf_r+0x1138> +40001750: 09c10613 addi a2,sp,156 +40001754: 000a0593 mv a1,s4 +40001758: 000a8513 mv a0,s5 +4000175c: 541040ef jal ra,4000649c <__sprint_r> +40001760: 8e051e63 bnez a0,4000085c <_vfprintf_r+0x6cc> +40001764: 08412683 lw a3,132(sp) +40001768: 0a412783 lw a5,164(sp) +4000176c: 000c0313 mv t1,s8 +40001770: f2069ae3 bnez a3,400016a4 <_vfprintf_r+0x1514> +40001774: f19ff06f j 4000168c <_vfprintf_r+0x14fc> +40001778: 03812703 lw a4,56(sp) +4000177c: 09410793 addi a5,sp,148 +40001780: 00f12023 sw a5,0(sp) +40001784: 00070613 mv a2,a4 +40001788: 000b8693 mv a3,s7 +4000178c: 08810893 addi a7,sp,136 +40001790: 08410813 addi a6,sp,132 +40001794: 000c8793 mv a5,s9 +40001798: 00300713 li a4,3 +4000179c: 000a8513 mv a0,s5 +400017a0: 00612e23 sw t1,28(sp) +400017a4: 19d000ef jal ra,40002140 <_dtoa_r> +400017a8: 01c12303 lw t1,28(sp) +400017ac: 00050913 mv s2,a0 +400017b0: 000c8f13 mv t5,s9 +400017b4: 04600793 li a5,70 +400017b8: 01e90d33 add s10,s2,t5 +400017bc: daf990e3 bne s3,a5,4000155c <_vfprintf_r+0x13cc> +400017c0: 00094703 lbu a4,0(s2) +400017c4: 03000793 li a5,48 +400017c8: 04f70463 beq a4,a5,40001810 <_vfprintf_r+0x1680> +400017cc: 08412f03 lw t5,132(sp) +400017d0: 01ed0d33 add s10,s10,t5 +400017d4: d89ff06f j 4000155c <_vfprintf_r+0x13cc> +400017d8: 09c10613 addi a2,sp,156 +400017dc: 000a0593 mv a1,s4 +400017e0: 000a8513 mv a0,s5 +400017e4: 4b9040ef jal ra,4000649c <__sprint_r> +400017e8: 00050463 beqz a0,400017f0 <_vfprintf_r+0x1660> +400017ec: 870ff06f j 4000085c <_vfprintf_r+0x6cc> +400017f0: 08412683 lw a3,132(sp) +400017f4: 0a412783 lw a5,164(sp) +400017f8: 0a012703 lw a4,160(sp) +400017fc: 000c0313 mv t1,s8 +40001800: ed5ff06f j 400016d4 <_vfprintf_r+0x1544> +40001804: cc0c96e3 bnez s9,400014d0 <_vfprintf_r+0x1340> +40001808: 00100c93 li s9,1 +4000180c: cc5ff06f j 400014d0 <_vfprintf_r+0x1340> +40001810: 03812703 lw a4,56(sp) +40001814: 000b8593 mv a1,s7 +40001818: 00000613 li a2,0 +4000181c: 00070513 mv a0,a4 +40001820: 00000693 li a3,0 +40001824: 02612423 sw t1,40(sp) +40001828: 01e12e23 sw t5,28(sp) +4000182c: 3f8080ef jal ra,40009c24 <__eqdf2> +40001830: 02812303 lw t1,40(sp) +40001834: f8050ce3 beqz a0,400017cc <_vfprintf_r+0x163c> +40001838: 01c12f03 lw t5,28(sp) +4000183c: 00100793 li a5,1 +40001840: 41e78f33 sub t5,a5,t5 +40001844: 09e12223 sw t5,132(sp) +40001848: 01ed0d33 add s10,s10,t5 +4000184c: d11ff06f j 4000155c <_vfprintf_r+0x13cc> +40001850: 09c10613 addi a2,sp,156 +40001854: 000a0593 mv a1,s4 +40001858: 000a8513 mv a0,s5 +4000185c: 441040ef jal ra,4000649c <__sprint_r> +40001860: 00050463 beqz a0,40001868 <_vfprintf_r+0x16d8> +40001864: ff9fe06f j 4000085c <_vfprintf_r+0x6cc> +40001868: 0a412783 lw a5,164(sp) +4000186c: 000c0313 mv t1,s8 +40001870: 8fdff06f j 4000116c <_vfprintf_r+0xfdc> +40001874: 00090513 mv a0,s2 +40001878: 29d040ef jal ra,40006314 <strlen> +4000187c: 00a12e23 sw a0,28(sp) +40001880: 00050b93 mv s7,a0 +40001884: 01012303 lw t1,16(sp) +40001888: d4055263 bgez a0,40000dcc <_vfprintf_r+0xc3c> +4000188c: 00000b93 li s7,0 +40001890: d3cff06f j 40000dcc <_vfprintf_r+0xc3c> +40001894: 08412783 lw a5,132(sp) +40001898: 00078713 mv a4,a5 +4000189c: 02f12823 sw a5,48(sp) +400018a0: ffd00793 li a5,-3 +400018a4: 00f74463 blt a4,a5,400018ac <_vfprintf_r+0x171c> +400018a8: d2ecd4e3 ble a4,s9,400015d0 <_vfprintf_r+0x1440> +400018ac: ffe98993 addi s3,s3,-2 +400018b0: 03012783 lw a5,48(sp) +400018b4: 09310623 sb s3,140(sp) +400018b8: fff78793 addi a5,a5,-1 +400018bc: 08f12223 sw a5,132(sp) +400018c0: 3a07c663 bltz a5,40001c6c <_vfprintf_r+0x1adc> +400018c4: 02b00713 li a4,43 +400018c8: 08e106a3 sb a4,141(sp) +400018cc: 00900513 li a0,9 +400018d0: 2ef55a63 ble a5,a0,40001bc4 <_vfprintf_r+0x1a34> +400018d4: 09b10813 addi a6,sp,155 +400018d8: 00080713 mv a4,a6 +400018dc: 00a00593 li a1,10 +400018e0: 0080006f j 400018e8 <_vfprintf_r+0x1758> +400018e4: 00060713 mv a4,a2 +400018e8: 02b7e6b3 rem a3,a5,a1 +400018ec: fff70613 addi a2,a4,-1 +400018f0: 02b7c7b3 div a5,a5,a1 +400018f4: 03068693 addi a3,a3,48 +400018f8: fed70fa3 sb a3,-1(a4) +400018fc: fef544e3 blt a0,a5,400018e4 <_vfprintf_r+0x1754> +40001900: 03078793 addi a5,a5,48 +40001904: 0ff7f793 andi a5,a5,255 +40001908: ffe70713 addi a4,a4,-2 +4000190c: fef60fa3 sb a5,-1(a2) +40001910: 3d077a63 bleu a6,a4,40001ce4 <_vfprintf_r+0x1b54> +40001914: 08e10693 addi a3,sp,142 +40001918: 0080006f j 40001920 <_vfprintf_r+0x1790> +4000191c: 00074783 lbu a5,0(a4) +40001920: 00168693 addi a3,a3,1 +40001924: 00170713 addi a4,a4,1 +40001928: fef68fa3 sb a5,-1(a3) +4000192c: ff0718e3 bne a4,a6,4000191c <_vfprintf_r+0x178c> +40001930: 09c10793 addi a5,sp,156 +40001934: 40c787b3 sub a5,a5,a2 +40001938: 08e10713 addi a4,sp,142 +4000193c: 00f707b3 add a5,a4,a5 +40001940: 08c10713 addi a4,sp,140 +40001944: 03412683 lw a3,52(sp) +40001948: 40e787b3 sub a5,a5,a4 +4000194c: 00078713 mv a4,a5 +40001950: 00e68733 add a4,a3,a4 +40001954: 04f12623 sw a5,76(sp) +40001958: 00e12e23 sw a4,28(sp) +4000195c: 00100793 li a5,1 +40001960: 2ed7d863 ble a3,a5,40001c50 <_vfprintf_r+0x1ac0> +40001964: 01c12783 lw a5,28(sp) +40001968: 04012703 lw a4,64(sp) +4000196c: 00e787b3 add a5,a5,a4 +40001970: 00f12e23 sw a5,28(sp) +40001974: 00078b93 mv s7,a5 +40001978: 0007c663 bltz a5,40001984 <_vfprintf_r+0x17f4> +4000197c: 02012823 sw zero,48(sp) +40001980: c79ff06f j 400015f8 <_vfprintf_r+0x1468> +40001984: 00000b93 li s7,0 +40001988: 02012823 sw zero,48(sp) +4000198c: c6dff06f j 400015f8 <_vfprintf_r+0x1468> +40001990: 00000993 li s3,0 +40001994: ae4ff06f j 40000c78 <_vfprintf_r+0xae8> +40001998: 00600793 li a5,6 +4000199c: 000c8b93 mv s7,s9 +400019a0: 0197f463 bleu s9,a5,400019a8 <_vfprintf_r+0x1818> +400019a4: 00078b93 mv s7,a5 +400019a8: 4000b937 lui s2,0x4000b +400019ac: 03612023 sw s6,32(sp) +400019b0: 01712e23 sw s7,28(sp) +400019b4: 01b12823 sw s11,16(sp) +400019b8: 00000613 li a2,0 +400019bc: 00000c93 li s9,0 +400019c0: 02012823 sw zero,48(sp) +400019c4: 7d890913 addi s2,s2,2008 # 4000b7d8 <zeroes.4139+0x48> +400019c8: ae9fe06f j 400004b0 <_vfprintf_r+0x320> +400019cc: 00000993 li s3,0 +400019d0: 8fdff06f j 400012cc <_vfprintf_r+0x113c> +400019d4: 02d00793 li a5,45 +400019d8: 06f10fa3 sb a5,127(sp) +400019dc: 02d00613 li a2,45 +400019e0: d10ff06f j 40000ef0 <_vfprintf_r+0xd60> +400019e4: fdf9f793 andi a5,s3,-33 +400019e8: 00f12a23 sw a5,20(sp) +400019ec: 00600c93 li s9,6 +400019f0: ae1ff06f j 400014d0 <_vfprintf_r+0x1340> +400019f4: 03812703 lw a4,56(sp) +400019f8: 09410793 addi a5,sp,148 +400019fc: 00f12023 sw a5,0(sp) +40001a00: 00070613 mv a2,a4 +40001a04: 000b8693 mv a3,s7 +40001a08: 08810893 addi a7,sp,136 +40001a0c: 08410813 addi a6,sp,132 +40001a10: 000c8793 mv a5,s9 +40001a14: 00300713 li a4,3 +40001a18: 000a8513 mv a0,s5 +40001a1c: 00612e23 sw t1,28(sp) +40001a20: 720000ef jal ra,40002140 <_dtoa_r> +40001a24: 00050913 mv s2,a0 +40001a28: 01950d33 add s10,a0,s9 +40001a2c: 000c8f13 mv t5,s9 +40001a30: 01c12303 lw t1,28(sp) +40001a34: d8dff06f j 400017c0 <_vfprintf_r+0x1630> +40001a38: 80000eb7 lui t4,0x80000 +40001a3c: 01d7cbb3 xor s7,a5,t4 +40001a40: 02d00b13 li s6,45 +40001a44: aa5ff06f j 400014e8 <_vfprintf_r+0x1358> +40001a48: 04012703 lw a4,64(sp) +40001a4c: 03412783 lw a5,52(sp) +40001a50: 00e787b3 add a5,a5,a4 +40001a54: 03012703 lw a4,48(sp) +40001a58: 00f12e23 sw a5,28(sp) +40001a5c: 1ce05e63 blez a4,40001c38 <_vfprintf_r+0x1aa8> +40001a60: 00078b93 mv s7,a5 +40001a64: 0207c263 bltz a5,40001a88 <_vfprintf_r+0x18f8> +40001a68: 06700993 li s3,103 +40001a6c: b8dff06f j 400015f8 <_vfprintf_r+0x1468> +40001a70: 03012783 lw a5,48(sp) +40001a74: 04012703 lw a4,64(sp) +40001a78: 00e787b3 add a5,a5,a4 +40001a7c: 00f12e23 sw a5,28(sp) +40001a80: 00078b93 mv s7,a5 +40001a84: fe07d2e3 bgez a5,40001a68 <_vfprintf_r+0x18d8> +40001a88: 00000b93 li s7,0 +40001a8c: 06700993 li s3,103 +40001a90: b69ff06f j 400015f8 <_vfprintf_r+0x1468> +40001a94: 08412783 lw a5,132(sp) +40001a98: 02f12823 sw a5,48(sp) +40001a9c: 1ef05a63 blez a5,40001c90 <_vfprintf_r+0x1b00> +40001aa0: 160c9a63 bnez s9,40001c14 <_vfprintf_r+0x1a84> +40001aa4: 001dfd93 andi s11,s11,1 +40001aa8: 160d9663 bnez s11,40001c14 <_vfprintf_r+0x1a84> +40001aac: 00078b93 mv s7,a5 +40001ab0: 00f12e23 sw a5,28(sp) +40001ab4: b45ff06f j 400015f8 <_vfprintf_r+0x1468> +40001ab8: 04700793 li a5,71 +40001abc: 01e50d33 add s10,a0,t5 +40001ac0: a8f99ee3 bne s3,a5,4000155c <_vfprintf_r+0x13cc> +40001ac4: 001df793 andi a5,s11,1 +40001ac8: ce0796e3 bnez a5,400017b4 <_vfprintf_r+0x1624> +40001acc: 09412783 lw a5,148(sp) +40001ad0: 412787b3 sub a5,a5,s2 +40001ad4: 02f12a23 sw a5,52(sp) +40001ad8: 01412783 lw a5,20(sp) +40001adc: db378ce3 beq a5,s3,40001894 <_vfprintf_r+0x1704> +40001ae0: 08412783 lw a5,132(sp) +40001ae4: 02f12823 sw a5,48(sp) +40001ae8: dc9ff06f j 400018b0 <_vfprintf_r+0x1720> +40001aec: 000c8b93 mv s7,s9 +40001af0: 01912e23 sw s9,28(sp) +40001af4: ad8ff06f j 40000dcc <_vfprintf_r+0xc3c> +40001af8: ff000613 li a2,-16 +40001afc: 40d009b3 neg s3,a3 +40001b00: 06c6d463 ble a2,a3,40001b68 <_vfprintf_r+0x19d8> +40001b04: 4000b6b7 lui a3,0x4000b +40001b08: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +40001b0c: 01000c93 li s9,16 +40001b10: 00700d13 li s10,7 +40001b14: 00c0006f j 40001b20 <_vfprintf_r+0x1990> +40001b18: ff098993 addi s3,s3,-16 +40001b1c: 053cda63 ble s3,s9,40001b70 <_vfprintf_r+0x19e0> +40001b20: 01078793 addi a5,a5,16 +40001b24: 00170713 addi a4,a4,1 +40001b28: 01632023 sw s6,0(t1) +40001b2c: 01932223 sw s9,4(t1) +40001b30: 0af12223 sw a5,164(sp) +40001b34: 0ae12023 sw a4,160(sp) +40001b38: 00830313 addi t1,t1,8 +40001b3c: fced5ee3 ble a4,s10,40001b18 <_vfprintf_r+0x1988> +40001b40: 09c10613 addi a2,sp,156 +40001b44: 000a0593 mv a1,s4 +40001b48: 000a8513 mv a0,s5 +40001b4c: 151040ef jal ra,4000649c <__sprint_r> +40001b50: 00050463 beqz a0,40001b58 <_vfprintf_r+0x19c8> +40001b54: d09fe06f j 4000085c <_vfprintf_r+0x6cc> +40001b58: 0a412783 lw a5,164(sp) +40001b5c: 0a012703 lw a4,160(sp) +40001b60: 000c0313 mv t1,s8 +40001b64: fb5ff06f j 40001b18 <_vfprintf_r+0x1988> +40001b68: 4000b6b7 lui a3,0x4000b +40001b6c: 79068b13 addi s6,a3,1936 # 4000b790 <zeroes.4139> +40001b70: 013787b3 add a5,a5,s3 +40001b74: 00170713 addi a4,a4,1 +40001b78: 01632023 sw s6,0(t1) +40001b7c: 01332223 sw s3,4(t1) +40001b80: 0af12223 sw a5,164(sp) +40001b84: 0ae12023 sw a4,160(sp) +40001b88: 00700693 li a3,7 +40001b8c: 00830313 addi t1,t1,8 +40001b90: b4e6d4e3 ble a4,a3,400016d8 <_vfprintf_r+0x1548> +40001b94: 09c10613 addi a2,sp,156 +40001b98: 000a0593 mv a1,s4 +40001b9c: 000a8513 mv a0,s5 +40001ba0: 0fd040ef jal ra,4000649c <__sprint_r> +40001ba4: 00050463 beqz a0,40001bac <_vfprintf_r+0x1a1c> +40001ba8: cb5fe06f j 4000085c <_vfprintf_r+0x6cc> +40001bac: 0a412783 lw a5,164(sp) +40001bb0: 0a012703 lw a4,160(sp) +40001bb4: 000c0313 mv t1,s8 +40001bb8: b21ff06f j 400016d8 <_vfprintf_r+0x1548> +40001bbc: 09412783 lw a5,148(sp) +40001bc0: 9e5ff06f j 400015a4 <_vfprintf_r+0x1414> +40001bc4: 03078793 addi a5,a5,48 +40001bc8: 03000713 li a4,48 +40001bcc: 08f107a3 sb a5,143(sp) +40001bd0: 08e10723 sb a4,142(sp) +40001bd4: 09010793 addi a5,sp,144 +40001bd8: d69ff06f j 40001940 <_vfprintf_r+0x17b0> +40001bdc: 04700793 li a5,71 +40001be0: 0b37c263 blt a5,s3,40001c84 <_vfprintf_r+0x1af4> +40001be4: 4000b937 lui s2,0x4000b +40001be8: 7a890913 addi s2,s2,1960 # 4000b7a8 <zeroes.4139+0x18> +40001bec: 07f14603 lbu a2,127(sp) +40001bf0: 00300b93 li s7,3 +40001bf4: f7fdf793 andi a5,s11,-129 +40001bf8: 00f12823 sw a5,16(sp) +40001bfc: 01712e23 sw s7,28(sp) +40001c00: 02012823 sw zero,48(sp) +40001c04: 00000c93 li s9,0 +40001c08: 00061463 bnez a2,40001c10 <_vfprintf_r+0x1a80> +40001c0c: 8a5fe06f j 400004b0 <_vfprintf_r+0x320> +40001c10: bb5fe06f j 400007c4 <_vfprintf_r+0x634> +40001c14: 03012783 lw a5,48(sp) +40001c18: 04012703 lw a4,64(sp) +40001c1c: 00e787b3 add a5,a5,a4 +40001c20: 019787b3 add a5,a5,s9 +40001c24: 00f12e23 sw a5,28(sp) +40001c28: 00078b93 mv s7,a5 +40001c2c: 9c07d6e3 bgez a5,400015f8 <_vfprintf_r+0x1468> +40001c30: 00000b93 li s7,0 +40001c34: 9c5ff06f j 400015f8 <_vfprintf_r+0x1468> +40001c38: 01c12783 lw a5,28(sp) +40001c3c: 03012703 lw a4,48(sp) +40001c40: 40e78cb3 sub s9,a5,a4 +40001c44: 001c8793 addi a5,s9,1 +40001c48: 00f12e23 sw a5,28(sp) +40001c4c: e15ff06f j 40001a60 <_vfprintf_r+0x18d0> +40001c50: 00fdf7b3 and a5,s11,a5 +40001c54: 02f12823 sw a5,48(sp) +40001c58: d00796e3 bnez a5,40001964 <_vfprintf_r+0x17d4> +40001c5c: 00070b93 mv s7,a4 +40001c60: 98075ce3 bgez a4,400015f8 <_vfprintf_r+0x1468> +40001c64: 00000b93 li s7,0 +40001c68: 991ff06f j 400015f8 <_vfprintf_r+0x1468> +40001c6c: 03012703 lw a4,48(sp) +40001c70: 00100793 li a5,1 +40001c74: 40e787b3 sub a5,a5,a4 +40001c78: 02d00713 li a4,45 +40001c7c: 08e106a3 sb a4,141(sp) +40001c80: c4dff06f j 400018cc <_vfprintf_r+0x173c> +40001c84: 4000b937 lui s2,0x4000b +40001c88: 7ac90913 addi s2,s2,1964 # 4000b7ac <zeroes.4139+0x1c> +40001c8c: f61ff06f j 40001bec <_vfprintf_r+0x1a5c> +40001c90: 000c9a63 bnez s9,40001ca4 <_vfprintf_r+0x1b14> +40001c94: 00100b93 li s7,1 +40001c98: 017dfdb3 and s11,s11,s7 +40001c9c: 01712e23 sw s7,28(sp) +40001ca0: 940d8ce3 beqz s11,400015f8 <_vfprintf_r+0x1468> +40001ca4: 04012783 lw a5,64(sp) +40001ca8: 00178793 addi a5,a5,1 +40001cac: 019787b3 add a5,a5,s9 +40001cb0: 00f12e23 sw a5,28(sp) +40001cb4: 00078b93 mv s7,a5 +40001cb8: 9407d0e3 bgez a5,400015f8 <_vfprintf_r+0x1468> +40001cbc: 00000b93 li s7,0 +40001cc0: 939ff06f j 400015f8 <_vfprintf_r+0x1468> +40001cc4: 02012783 lw a5,32(sp) +40001cc8: 0007ac83 lw s9,0(a5) +40001ccc: 00478793 addi a5,a5,4 +40001cd0: 000cce63 bltz s9,40001cec <_vfprintf_r+0x1b5c> +40001cd4: 02f12023 sw a5,32(sp) +40001cd8: e7cfe06f j 40000354 <_vfprintf_r+0x1c4> +40001cdc: 00000b93 li s7,0 +40001ce0: 90dff06f j 400015ec <_vfprintf_r+0x145c> +40001ce4: 08e10793 addi a5,sp,142 +40001ce8: c59ff06f j 40001940 <_vfprintf_r+0x17b0> +40001cec: 000f0c93 mv s9,t5 +40001cf0: 02f12023 sw a5,32(sp) +40001cf4: e60fe06f j 40000354 <_vfprintf_r+0x1c4> +40001cf8: 06b10fa3 sb a1,127(sp) +40001cfc: 85cff06f j 40000d58 <_vfprintf_r+0xbc8> +40001d00: 06b10fa3 sb a1,127(sp) +40001d04: 920ff06f j 40000e24 <_vfprintf_r+0xc94> +40001d08: 06b10fa3 sb a1,127(sp) +40001d0c: 8e0ff06f j 40000dec <_vfprintf_r+0xc5c> +40001d10: 06b10fa3 sb a1,127(sp) +40001d14: bc0ff06f j 400010d4 <_vfprintf_r+0xf44> +40001d18: 06b10fa3 sb a1,127(sp) +40001d1c: b30ff06f j 4000104c <_vfprintf_r+0xebc> +40001d20: 06b10fa3 sb a1,127(sp) +40001d24: ad4ff06f j 40000ff8 <_vfprintf_r+0xe68> + +40001d28 <vfprintf>: +40001d28: 4000c7b7 lui a5,0x4000c +40001d2c: 00060693 mv a3,a2 +40001d30: 00058613 mv a2,a1 +40001d34: 00050593 mv a1,a0 +40001d38: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +40001d3c: c54fe06f j 40000190 <_vfprintf_r> + +40001d40 <__sbprintf>: +40001d40: 00c5d783 lhu a5,12(a1) +40001d44: 0645ae03 lw t3,100(a1) +40001d48: 00e5d303 lhu t1,14(a1) +40001d4c: 01c5a883 lw a7,28(a1) +40001d50: 0245a803 lw a6,36(a1) +40001d54: b8010113 addi sp,sp,-1152 +40001d58: ffd7f793 andi a5,a5,-3 +40001d5c: 40000713 li a4,1024 +40001d60: 46812c23 sw s0,1144(sp) +40001d64: 00f11a23 sh a5,20(sp) +40001d68: 00058413 mv s0,a1 +40001d6c: 07010793 addi a5,sp,112 +40001d70: 00810593 addi a1,sp,8 +40001d74: 46912a23 sw s1,1140(sp) +40001d78: 47212823 sw s2,1136(sp) +40001d7c: 46112e23 sw ra,1148(sp) +40001d80: 00050913 mv s2,a0 +40001d84: 07c12623 sw t3,108(sp) +40001d88: 00611b23 sh t1,22(sp) +40001d8c: 03112223 sw a7,36(sp) +40001d90: 03012623 sw a6,44(sp) +40001d94: 00f12423 sw a5,8(sp) +40001d98: 00f12c23 sw a5,24(sp) +40001d9c: 00e12823 sw a4,16(sp) +40001da0: 00e12e23 sw a4,28(sp) +40001da4: 02012023 sw zero,32(sp) +40001da8: be8fe0ef jal ra,40000190 <_vfprintf_r> +40001dac: 00050493 mv s1,a0 +40001db0: 00054a63 bltz a0,40001dc4 <__sbprintf+0x84> +40001db4: 00810593 addi a1,sp,8 +40001db8: 00090513 mv a0,s2 +40001dbc: 381010ef jal ra,4000393c <_fflush_r> +40001dc0: 02051c63 bnez a0,40001df8 <__sbprintf+0xb8> +40001dc4: 01415783 lhu a5,20(sp) +40001dc8: 0407f793 andi a5,a5,64 +40001dcc: 00078863 beqz a5,40001ddc <__sbprintf+0x9c> +40001dd0: 00c45783 lhu a5,12(s0) +40001dd4: 0407e793 ori a5,a5,64 +40001dd8: 00f41623 sh a5,12(s0) +40001ddc: 47c12083 lw ra,1148(sp) +40001de0: 00048513 mv a0,s1 +40001de4: 47812403 lw s0,1144(sp) +40001de8: 47412483 lw s1,1140(sp) +40001dec: 47012903 lw s2,1136(sp) +40001df0: 48010113 addi sp,sp,1152 +40001df4: 00008067 ret +40001df8: fff00493 li s1,-1 +40001dfc: fc9ff06f j 40001dc4 <__sbprintf+0x84> + +40001e00 <__swsetup_r>: +40001e00: 4000c7b7 lui a5,0x4000c +40001e04: 62c7a783 lw a5,1580(a5) # 4000c62c <_impure_ptr> +40001e08: ff010113 addi sp,sp,-16 +40001e0c: 00812423 sw s0,8(sp) +40001e10: 00912223 sw s1,4(sp) +40001e14: 00112623 sw ra,12(sp) +40001e18: 00050493 mv s1,a0 +40001e1c: 00058413 mv s0,a1 +40001e20: 00078663 beqz a5,40001e2c <__swsetup_r+0x2c> +40001e24: 0387a703 lw a4,56(a5) +40001e28: 0c070c63 beqz a4,40001f00 <__swsetup_r+0x100> +40001e2c: 00c41703 lh a4,12(s0) +40001e30: 01071793 slli a5,a4,0x10 +40001e34: 0107d793 srli a5,a5,0x10 +40001e38: 0087f693 andi a3,a5,8 +40001e3c: 04068063 beqz a3,40001e7c <__swsetup_r+0x7c> +40001e40: 01042683 lw a3,16(s0) +40001e44: 06068063 beqz a3,40001ea4 <__swsetup_r+0xa4> +40001e48: 0017f713 andi a4,a5,1 +40001e4c: 06070e63 beqz a4,40001ec8 <__swsetup_r+0xc8> +40001e50: 01442783 lw a5,20(s0) +40001e54: 00042423 sw zero,8(s0) +40001e58: 00000513 li a0,0 +40001e5c: 40f007b3 neg a5,a5 +40001e60: 00f42c23 sw a5,24(s0) +40001e64: 08068063 beqz a3,40001ee4 <__swsetup_r+0xe4> +40001e68: 00c12083 lw ra,12(sp) +40001e6c: 00812403 lw s0,8(sp) +40001e70: 00412483 lw s1,4(sp) +40001e74: 01010113 addi sp,sp,16 +40001e78: 00008067 ret +40001e7c: 0107f693 andi a3,a5,16 +40001e80: 0c068063 beqz a3,40001f40 <__swsetup_r+0x140> +40001e84: 0047f793 andi a5,a5,4 +40001e88: 08079263 bnez a5,40001f0c <__swsetup_r+0x10c> +40001e8c: 01042683 lw a3,16(s0) +40001e90: 00876793 ori a5,a4,8 +40001e94: 00f41623 sh a5,12(s0) +40001e98: 01079793 slli a5,a5,0x10 +40001e9c: 0107d793 srli a5,a5,0x10 +40001ea0: fa0694e3 bnez a3,40001e48 <__swsetup_r+0x48> +40001ea4: 2807f713 andi a4,a5,640 +40001ea8: 20000613 li a2,512 +40001eac: f8c70ee3 beq a4,a2,40001e48 <__swsetup_r+0x48> +40001eb0: 00040593 mv a1,s0 +40001eb4: 00048513 mv a0,s1 +40001eb8: 5d8020ef jal ra,40004490 <__smakebuf_r> +40001ebc: 00c45783 lhu a5,12(s0) +40001ec0: 01042683 lw a3,16(s0) +40001ec4: f85ff06f j 40001e48 <__swsetup_r+0x48> +40001ec8: 0027f793 andi a5,a5,2 +40001ecc: 00000713 li a4,0 +40001ed0: 00079463 bnez a5,40001ed8 <__swsetup_r+0xd8> +40001ed4: 01442703 lw a4,20(s0) +40001ed8: 00e42423 sw a4,8(s0) +40001edc: 00000513 li a0,0 +40001ee0: f80694e3 bnez a3,40001e68 <__swsetup_r+0x68> +40001ee4: 00c41783 lh a5,12(s0) +40001ee8: 0807f713 andi a4,a5,128 +40001eec: f6070ee3 beqz a4,40001e68 <__swsetup_r+0x68> +40001ef0: 0407e793 ori a5,a5,64 +40001ef4: 00f41623 sh a5,12(s0) +40001ef8: fff00513 li a0,-1 +40001efc: f6dff06f j 40001e68 <__swsetup_r+0x68> +40001f00: 00078513 mv a0,a5 +40001f04: 5fd010ef jal ra,40003d00 <__sinit> +40001f08: f25ff06f j 40001e2c <__swsetup_r+0x2c> +40001f0c: 03042583 lw a1,48(s0) +40001f10: 00058e63 beqz a1,40001f2c <__swsetup_r+0x12c> +40001f14: 04040793 addi a5,s0,64 +40001f18: 00f58863 beq a1,a5,40001f28 <__swsetup_r+0x128> +40001f1c: 00048513 mv a0,s1 +40001f20: 765010ef jal ra,40003e84 <_free_r> +40001f24: 00c41703 lh a4,12(s0) +40001f28: 02042823 sw zero,48(s0) +40001f2c: 01042683 lw a3,16(s0) +40001f30: fdb77713 andi a4,a4,-37 +40001f34: 00042223 sw zero,4(s0) +40001f38: 00d42023 sw a3,0(s0) +40001f3c: f55ff06f j 40001e90 <__swsetup_r+0x90> +40001f40: 00900793 li a5,9 +40001f44: 00f4a023 sw a5,0(s1) +40001f48: 04076713 ori a4,a4,64 +40001f4c: 00e41623 sh a4,12(s0) +40001f50: fff00513 li a0,-1 +40001f54: f15ff06f j 40001e68 <__swsetup_r+0x68> + +40001f58 <quorem>: +40001f58: fe010113 addi sp,sp,-32 +40001f5c: 01212823 sw s2,16(sp) +40001f60: 01052783 lw a5,16(a0) +40001f64: 0105a903 lw s2,16(a1) +40001f68: 00112e23 sw ra,28(sp) +40001f6c: 00812c23 sw s0,24(sp) +40001f70: 00912a23 sw s1,20(sp) +40001f74: 01312623 sw s3,12(sp) +40001f78: 01412423 sw s4,8(sp) +40001f7c: 01512223 sw s5,4(sp) +40001f80: 1b27cc63 blt a5,s2,40002138 <quorem+0x1e0> +40001f84: fff90913 addi s2,s2,-1 +40001f88: 00291e93 slli t4,s2,0x2 +40001f8c: 01458413 addi s0,a1,20 +40001f90: 01d409b3 add s3,s0,t4 +40001f94: 01450a13 addi s4,a0,20 +40001f98: 01da0eb3 add t4,s4,t4 +40001f9c: 0009a783 lw a5,0(s3) +40001fa0: 000ea483 lw s1,0(t4) # 80000000 <_bss_end+0x3fff3978> +40001fa4: 00178793 addi a5,a5,1 +40001fa8: 02f4d4b3 divu s1,s1,a5 +40001fac: 0a048e63 beqz s1,40002068 <quorem+0x110> +40001fb0: 000108b7 lui a7,0x10 +40001fb4: 00040e13 mv t3,s0 +40001fb8: 000a0313 mv t1,s4 +40001fbc: 00000f13 li t5,0 +40001fc0: 00000793 li a5,0 +40001fc4: fff88893 addi a7,a7,-1 # ffff <_heap_size+0xdfff> +40001fc8: 004e0e13 addi t3,t3,4 +40001fcc: ffce2603 lw a2,-4(t3) +40001fd0: 00032703 lw a4,0(t1) +40001fd4: 00430313 addi t1,t1,4 +40001fd8: 01167833 and a6,a2,a7 +40001fdc: 02980833 mul a6,a6,s1 +40001fe0: 01065693 srli a3,a2,0x10 +40001fe4: 01177fb3 and t6,a4,a7 +40001fe8: 01075713 srli a4,a4,0x10 +40001fec: 029686b3 mul a3,a3,s1 +40001ff0: 01e80833 add a6,a6,t5 +40001ff4: 01085f13 srli t5,a6,0x10 +40001ff8: 01187633 and a2,a6,a7 +40001ffc: 40c787b3 sub a5,a5,a2 +40002000: 01f78633 add a2,a5,t6 +40002004: 41065813 srai a6,a2,0x10 +40002008: 01167633 and a2,a2,a7 +4000200c: 01e686b3 add a3,a3,t5 +40002010: 0116f7b3 and a5,a3,a7 +40002014: 40f707b3 sub a5,a4,a5 +40002018: 010787b3 add a5,a5,a6 +4000201c: 01079713 slli a4,a5,0x10 +40002020: 00c76633 or a2,a4,a2 +40002024: fec32e23 sw a2,-4(t1) +40002028: 0106df13 srli t5,a3,0x10 +4000202c: 4107d793 srai a5,a5,0x10 +40002030: f9c9fce3 bleu t3,s3,40001fc8 <quorem+0x70> +40002034: 000ea783 lw a5,0(t4) +40002038: 02079863 bnez a5,40002068 <quorem+0x110> +4000203c: ffce8793 addi a5,t4,-4 +40002040: 02fa7263 bleu a5,s4,40002064 <quorem+0x10c> +40002044: ffcea703 lw a4,-4(t4) +40002048: 00070863 beqz a4,40002058 <quorem+0x100> +4000204c: 0180006f j 40002064 <quorem+0x10c> +40002050: 0007a703 lw a4,0(a5) +40002054: 00071863 bnez a4,40002064 <quorem+0x10c> +40002058: ffc78793 addi a5,a5,-4 +4000205c: fff90913 addi s2,s2,-1 +40002060: fefa68e3 bltu s4,a5,40002050 <quorem+0xf8> +40002064: 01252823 sw s2,16(a0) +40002068: 00050a93 mv s5,a0 +4000206c: 015030ef jal ra,40005880 <__mcmp> +40002070: 0a054063 bltz a0,40002110 <quorem+0x1b8> +40002074: 00010837 lui a6,0x10 +40002078: 00148493 addi s1,s1,1 +4000207c: 000a0593 mv a1,s4 +40002080: 00000793 li a5,0 +40002084: fff80813 addi a6,a6,-1 # ffff <_heap_size+0xdfff> +40002088: 00440413 addi s0,s0,4 +4000208c: ffc42603 lw a2,-4(s0) +40002090: 0005a703 lw a4,0(a1) +40002094: 00458593 addi a1,a1,4 +40002098: 010676b3 and a3,a2,a6 +4000209c: 40d787b3 sub a5,a5,a3 +400020a0: 010776b3 and a3,a4,a6 +400020a4: 00d786b3 add a3,a5,a3 +400020a8: 01065613 srli a2,a2,0x10 +400020ac: 01075793 srli a5,a4,0x10 +400020b0: 40c787b3 sub a5,a5,a2 +400020b4: 4106d713 srai a4,a3,0x10 +400020b8: 00e787b3 add a5,a5,a4 +400020bc: 01079713 slli a4,a5,0x10 +400020c0: 0106f6b3 and a3,a3,a6 +400020c4: 00d766b3 or a3,a4,a3 +400020c8: fed5ae23 sw a3,-4(a1) +400020cc: 4107d793 srai a5,a5,0x10 +400020d0: fa89fce3 bleu s0,s3,40002088 <quorem+0x130> +400020d4: 00291713 slli a4,s2,0x2 +400020d8: 00ea0733 add a4,s4,a4 +400020dc: 00072783 lw a5,0(a4) +400020e0: 02079863 bnez a5,40002110 <quorem+0x1b8> +400020e4: ffc70793 addi a5,a4,-4 +400020e8: 02fa7263 bleu a5,s4,4000210c <quorem+0x1b4> +400020ec: ffc72703 lw a4,-4(a4) +400020f0: 00070863 beqz a4,40002100 <quorem+0x1a8> +400020f4: 0180006f j 4000210c <quorem+0x1b4> +400020f8: 0007a703 lw a4,0(a5) +400020fc: 00071863 bnez a4,4000210c <quorem+0x1b4> +40002100: ffc78793 addi a5,a5,-4 +40002104: fff90913 addi s2,s2,-1 +40002108: fefa68e3 bltu s4,a5,400020f8 <quorem+0x1a0> +4000210c: 012aa823 sw s2,16(s5) +40002110: 00048513 mv a0,s1 +40002114: 01c12083 lw ra,28(sp) +40002118: 01812403 lw s0,24(sp) +4000211c: 01412483 lw s1,20(sp) +40002120: 01012903 lw s2,16(sp) +40002124: 00c12983 lw s3,12(sp) +40002128: 00812a03 lw s4,8(sp) +4000212c: 00412a83 lw s5,4(sp) +40002130: 02010113 addi sp,sp,32 +40002134: 00008067 ret +40002138: 00000513 li a0,0 +4000213c: fd9ff06f j 40002114 <quorem+0x1bc> + +40002140 <_dtoa_r>: +40002140: 04052303 lw t1,64(a0) +40002144: f4010113 addi sp,sp,-192 +40002148: 0a812c23 sw s0,184(sp) +4000214c: 0a912a23 sw s1,180(sp) +40002150: 0b212823 sw s2,176(sp) +40002154: 0b312623 sw s3,172(sp) +40002158: 0b412423 sw s4,168(sp) +4000215c: 0b612023 sw s6,160(sp) +40002160: 09912a23 sw s9,148(sp) +40002164: 09b12623 sw s11,140(sp) +40002168: 0a112e23 sw ra,188(sp) +4000216c: 0b512223 sw s5,164(sp) +40002170: 09712e23 sw s7,156(sp) +40002174: 09812c23 sw s8,152(sp) +40002178: 09a12823 sw s10,144(sp) +4000217c: 01012623 sw a6,12(sp) +40002180: 00050d93 mv s11,a0 +40002184: 00060493 mv s1,a2 +40002188: 00068913 mv s2,a3 +4000218c: 00070c93 mv s9,a4 +40002190: 00078b13 mv s6,a5 +40002194: 00088993 mv s3,a7 +40002198: 00060a13 mv s4,a2 +4000219c: 00068413 mv s0,a3 +400021a0: 02030263 beqz t1,400021c4 <_dtoa_r+0x84> +400021a4: 04452703 lw a4,68(a0) +400021a8: 00100793 li a5,1 +400021ac: 00030593 mv a1,t1 +400021b0: 00e797b3 sll a5,a5,a4 +400021b4: 00e32223 sw a4,4(t1) +400021b8: 00f32423 sw a5,8(t1) +400021bc: 6a9020ef jal ra,40005064 <_Bfree> +400021c0: 040da023 sw zero,64(s11) +400021c4: 00090a93 mv s5,s2 +400021c8: 0e044863 bltz s0,400022b8 <_dtoa_r+0x178> +400021cc: 0009a023 sw zero,0(s3) +400021d0: 7ff007b7 lui a5,0x7ff00 +400021d4: 00faf733 and a4,s5,a5 +400021d8: 08f70263 beq a4,a5,4000225c <_dtoa_r+0x11c> +400021dc: 00048513 mv a0,s1 +400021e0: 00040593 mv a1,s0 +400021e4: 00000613 li a2,0 +400021e8: 00000693 li a3,0 +400021ec: 239070ef jal ra,40009c24 <__eqdf2> +400021f0: 0e051263 bnez a0,400022d4 <_dtoa_r+0x194> +400021f4: 00c12703 lw a4,12(sp) +400021f8: 00100793 li a5,1 +400021fc: 00f72023 sw a5,0(a4) +40002200: 0c012783 lw a5,192(sp) +40002204: 6a078263 beqz a5,400028a8 <_dtoa_r+0x768> +40002208: 0c012703 lw a4,192(sp) +4000220c: 4000b7b7 lui a5,0x4000b +40002210: 7e178793 addi a5,a5,2017 # 4000b7e1 <zeroes.4139+0x51> +40002214: 4000b537 lui a0,0x4000b +40002218: 00f72023 sw a5,0(a4) +4000221c: 7e050513 addi a0,a0,2016 # 4000b7e0 <zeroes.4139+0x50> +40002220: 0bc12083 lw ra,188(sp) +40002224: 0b812403 lw s0,184(sp) +40002228: 0b412483 lw s1,180(sp) +4000222c: 0b012903 lw s2,176(sp) +40002230: 0ac12983 lw s3,172(sp) +40002234: 0a812a03 lw s4,168(sp) +40002238: 0a412a83 lw s5,164(sp) +4000223c: 0a012b03 lw s6,160(sp) +40002240: 09c12b83 lw s7,156(sp) +40002244: 09812c03 lw s8,152(sp) +40002248: 09412c83 lw s9,148(sp) +4000224c: 09012d03 lw s10,144(sp) +40002250: 08c12d83 lw s11,140(sp) +40002254: 0c010113 addi sp,sp,192 +40002258: 00008067 ret +4000225c: 00c12703 lw a4,12(sp) +40002260: 000027b7 lui a5,0x2 +40002264: 70f78793 addi a5,a5,1807 # 270f <_heap_size+0x70f> +40002268: 00f72023 sw a5,0(a4) +4000226c: 020a1863 bnez s4,4000229c <_dtoa_r+0x15c> +40002270: 00ca9793 slli a5,s5,0xc +40002274: 02079463 bnez a5,4000229c <_dtoa_r+0x15c> +40002278: 0c012783 lw a5,192(sp) +4000227c: 4000b537 lui a0,0x4000b +40002280: 7e450513 addi a0,a0,2020 # 4000b7e4 <zeroes.4139+0x54> +40002284: f8078ee3 beqz a5,40002220 <_dtoa_r+0xe0> +40002288: 4000b7b7 lui a5,0x4000b +4000228c: 7ec78793 addi a5,a5,2028 # 4000b7ec <zeroes.4139+0x5c> +40002290: 0c012703 lw a4,192(sp) +40002294: 00f72023 sw a5,0(a4) +40002298: f89ff06f j 40002220 <_dtoa_r+0xe0> +4000229c: 0c012783 lw a5,192(sp) +400022a0: 4000b537 lui a0,0x4000b +400022a4: 7f050513 addi a0,a0,2032 # 4000b7f0 <zeroes.4139+0x60> +400022a8: f6078ce3 beqz a5,40002220 <_dtoa_r+0xe0> +400022ac: 4000b7b7 lui a5,0x4000b +400022b0: 7f378793 addi a5,a5,2035 # 4000b7f3 <zeroes.4139+0x63> +400022b4: fddff06f j 40002290 <_dtoa_r+0x150> +400022b8: 80000437 lui s0,0x80000 +400022bc: fff44413 not s0,s0 +400022c0: 01247433 and s0,s0,s2 +400022c4: 00100793 li a5,1 +400022c8: 00f9a023 sw a5,0(s3) +400022cc: 00040a93 mv s5,s0 +400022d0: f01ff06f j 400021d0 <_dtoa_r+0x90> +400022d4: 00048613 mv a2,s1 +400022d8: 00040693 mv a3,s0 +400022dc: 07810793 addi a5,sp,120 +400022e0: 07c10713 addi a4,sp,124 +400022e4: 000d8513 mv a0,s11 +400022e8: 185030ef jal ra,40005c6c <__d2b> +400022ec: 014ad913 srli s2,s5,0x14 +400022f0: 00050d13 mv s10,a0 +400022f4: 56090463 beqz s2,4000285c <_dtoa_r+0x71c> +400022f8: 001005b7 lui a1,0x100 +400022fc: fff58593 addi a1,a1,-1 # fffff <_heap_size+0xfdfff> +40002300: 07812983 lw s3,120(sp) +40002304: 0085f5b3 and a1,a1,s0 +40002308: 3ff00bb7 lui s7,0x3ff00 +4000230c: 00048793 mv a5,s1 +40002310: 0175e5b3 or a1,a1,s7 +40002314: c0190913 addi s2,s2,-1023 +40002318: 00000a93 li s5,0 +4000231c: 4000c737 lui a4,0x4000c +40002320: c4072603 lw a2,-960(a4) # 4000bc40 <__clz_tab+0x10c> +40002324: c4472683 lw a3,-956(a4) +40002328: 00078513 mv a0,a5 +4000232c: 25c080ef jal ra,4000a588 <__subdf3> +40002330: 4000c7b7 lui a5,0x4000c +40002334: c487a603 lw a2,-952(a5) # 4000bc48 <__clz_tab+0x114> +40002338: c4c7a683 lw a3,-948(a5) +4000233c: 37d070ef jal ra,40009eb8 <__muldf3> +40002340: 4000c7b7 lui a5,0x4000c +40002344: c507a603 lw a2,-944(a5) # 4000bc50 <__clz_tab+0x11c> +40002348: c547a683 lw a3,-940(a5) +4000234c: 750060ef jal ra,40008a9c <__adddf3> +40002350: 00a12823 sw a0,16(sp) +40002354: 00090513 mv a0,s2 +40002358: 00b12a23 sw a1,20(sp) +4000235c: 485080ef jal ra,4000afe0 <__floatsidf> +40002360: 4000c7b7 lui a5,0x4000c +40002364: c587a603 lw a2,-936(a5) # 4000bc58 <__clz_tab+0x124> +40002368: c5c7a683 lw a3,-932(a5) +4000236c: 34d070ef jal ra,40009eb8 <__muldf3> +40002370: 01012803 lw a6,16(sp) +40002374: 01412883 lw a7,20(sp) +40002378: 00050613 mv a2,a0 +4000237c: 00058693 mv a3,a1 +40002380: 00080513 mv a0,a6 +40002384: 00088593 mv a1,a7 +40002388: 714060ef jal ra,40008a9c <__adddf3> +4000238c: 00b12e23 sw a1,28(sp) +40002390: 00a12c23 sw a0,24(sp) +40002394: 3c9080ef jal ra,4000af5c <__fixdfsi> +40002398: 00a12823 sw a0,16(sp) +4000239c: 01c12583 lw a1,28(sp) +400023a0: 01812503 lw a0,24(sp) +400023a4: 00000613 li a2,0 +400023a8: 00000693 li a3,0 +400023ac: 209070ef jal ra,40009db4 <__ledf2> +400023b0: 02054ee3 bltz a0,40002bec <_dtoa_r+0xaac> +400023b4: 01012b83 lw s7,16(sp) +400023b8: 00100713 li a4,1 +400023bc: 01600793 li a5,22 +400023c0: 02e12423 sw a4,40(sp) +400023c4: 0377ec63 bltu a5,s7,400023fc <_dtoa_r+0x2bc> +400023c8: 4000c737 lui a4,0x4000c +400023cc: 003b9793 slli a5,s7,0x3 +400023d0: 81870713 addi a4,a4,-2024 # 4000b818 <__mprec_tens> +400023d4: 00e787b3 add a5,a5,a4 +400023d8: 0007a503 lw a0,0(a5) +400023dc: 0047a583 lw a1,4(a5) +400023e0: 00048613 mv a2,s1 +400023e4: 00040693 mv a3,s0 +400023e8: 0c9070ef jal ra,40009cb0 <__gedf2> +400023ec: 04a05ee3 blez a0,40002c48 <_dtoa_r+0xb08> +400023f0: fffb8793 addi a5,s7,-1 # 3fefffff <_heap_size+0x3fefdfff> +400023f4: 00f12823 sw a5,16(sp) +400023f8: 02012423 sw zero,40(sp) +400023fc: 41298933 sub s2,s3,s2 +40002400: fff90b93 addi s7,s2,-1 +40002404: 00000c13 li s8,0 +40002408: 000bcae3 bltz s7,40002c1c <_dtoa_r+0xadc> +4000240c: 01012783 lw a5,16(sp) +40002410: 7c07c463 bltz a5,40002bd8 <_dtoa_r+0xa98> +40002414: 00fb8bb3 add s7,s7,a5 +40002418: 02f12623 sw a5,44(sp) +4000241c: 00000993 li s3,0 +40002420: 00900793 li a5,9 +40002424: 4997e863 bltu a5,s9,400028b4 <_dtoa_r+0x774> +40002428: 00500793 li a5,5 +4000242c: 00100913 li s2,1 +40002430: 0197d663 ble s9,a5,4000243c <_dtoa_r+0x2fc> +40002434: ffcc8c93 addi s9,s9,-4 +40002438: 00000913 li s2,0 +4000243c: 00300793 li a5,3 +40002440: 56fc8ae3 beq s9,a5,400031b4 <_dtoa_r+0x1074> +40002444: 4b97dee3 ble s9,a5,40003100 <_dtoa_r+0xfc0> +40002448: 00400793 li a5,4 +4000244c: 34fc86e3 beq s9,a5,40002f98 <_dtoa_r+0xe58> +40002450: 00100713 li a4,1 +40002454: 00500793 li a5,5 +40002458: 02e12223 sw a4,36(sp) +4000245c: 4afc98e3 bne s9,a5,4000310c <_dtoa_r+0xfcc> +40002460: 01012783 lw a5,16(sp) +40002464: 016787b3 add a5,a5,s6 +40002468: 02f12c23 sw a5,56(sp) +4000246c: 00178793 addi a5,a5,1 +40002470: 00f12c23 sw a5,24(sp) +40002474: 00078613 mv a2,a5 +40002478: 3ef058e3 blez a5,40003068 <_dtoa_r+0xf28> +4000247c: 01812803 lw a6,24(sp) +40002480: 040da223 sw zero,68(s11) +40002484: 01700793 li a5,23 +40002488: 00000593 li a1,0 +4000248c: 02c7f263 bleu a2,a5,400024b0 <_dtoa_r+0x370> +40002490: 00100713 li a4,1 +40002494: 00400793 li a5,4 +40002498: 00179793 slli a5,a5,0x1 +4000249c: 01478693 addi a3,a5,20 +400024a0: 00070593 mv a1,a4 +400024a4: 00170713 addi a4,a4,1 +400024a8: fed678e3 bleu a3,a2,40002498 <_dtoa_r+0x358> +400024ac: 04bda223 sw a1,68(s11) +400024b0: 000d8513 mv a0,s11 +400024b4: 03012823 sw a6,48(sp) +400024b8: 309020ef jal ra,40004fc0 <_Balloc> +400024bc: 03012803 lw a6,48(sp) +400024c0: 02a12023 sw a0,32(sp) +400024c4: 04ada023 sw a0,64(s11) +400024c8: 00e00793 li a5,14 +400024cc: 4107ee63 bltu a5,a6,400028e8 <_dtoa_r+0x7a8> +400024d0: 40090c63 beqz s2,400028e8 <_dtoa_r+0x7a8> +400024d4: 01012703 lw a4,16(sp) +400024d8: 02912e23 sw s1,60(sp) +400024dc: 04812423 sw s0,72(sp) +400024e0: 5ee050e3 blez a4,400032c0 <_dtoa_r+0x1180> +400024e4: 00f77793 andi a5,a4,15 +400024e8: 40475a13 srai s4,a4,0x4 +400024ec: 4000c737 lui a4,0x4000c +400024f0: 81870713 addi a4,a4,-2024 # 4000b818 <__mprec_tens> +400024f4: 00379793 slli a5,a5,0x3 +400024f8: 00e787b3 add a5,a5,a4 +400024fc: 02912823 sw s1,48(sp) +40002500: 010a7713 andi a4,s4,16 +40002504: 02812a23 sw s0,52(sp) +40002508: 0007a803 lw a6,0(a5) +4000250c: 0047a883 lw a7,4(a5) +40002510: 00200913 li s2,2 +40002514: 02070e63 beqz a4,40002550 <_dtoa_r+0x410> +40002518: 4000c7b7 lui a5,0x4000c +4000251c: 9287a603 lw a2,-1752(a5) # 4000b928 <__mprec_bigtens+0x20> +40002520: 92c7a683 lw a3,-1748(a5) +40002524: 00048513 mv a0,s1 +40002528: 00040593 mv a1,s0 +4000252c: 05012023 sw a6,64(sp) +40002530: 05112223 sw a7,68(sp) +40002534: 6b5060ef jal ra,400093e8 <__divdf3> +40002538: 04012803 lw a6,64(sp) +4000253c: 04412883 lw a7,68(sp) +40002540: 02a12823 sw a0,48(sp) +40002544: 02b12a23 sw a1,52(sp) +40002548: 00fa7a13 andi s4,s4,15 +4000254c: 00300913 li s2,3 +40002550: 040a0063 beqz s4,40002590 <_dtoa_r+0x450> +40002554: 4000c437 lui s0,0x4000c +40002558: 90840413 addi s0,s0,-1784 # 4000b908 <__mprec_bigtens> +4000255c: 001a7793 andi a5,s4,1 +40002560: 00080513 mv a0,a6 +40002564: 401a5a13 srai s4,s4,0x1 +40002568: 00088593 mv a1,a7 +4000256c: 00078e63 beqz a5,40002588 <_dtoa_r+0x448> +40002570: 00042603 lw a2,0(s0) +40002574: 00442683 lw a3,4(s0) +40002578: 00190913 addi s2,s2,1 +4000257c: 13d070ef jal ra,40009eb8 <__muldf3> +40002580: 00050813 mv a6,a0 +40002584: 00058893 mv a7,a1 +40002588: 00840413 addi s0,s0,8 +4000258c: fc0a18e3 bnez s4,4000255c <_dtoa_r+0x41c> +40002590: 03012503 lw a0,48(sp) +40002594: 03412583 lw a1,52(sp) +40002598: 00080613 mv a2,a6 +4000259c: 00088693 mv a3,a7 +400025a0: 649060ef jal ra,400093e8 <__divdf3> +400025a4: 02a12823 sw a0,48(sp) +400025a8: 02b12a23 sw a1,52(sp) +400025ac: 02812783 lw a5,40(sp) +400025b0: 02078263 beqz a5,400025d4 <_dtoa_r+0x494> +400025b4: 4000c7b7 lui a5,0x4000c +400025b8: c607a603 lw a2,-928(a5) # 4000bc60 <__clz_tab+0x12c> +400025bc: c647a683 lw a3,-924(a5) +400025c0: 03012503 lw a0,48(sp) +400025c4: 03412583 lw a1,52(sp) +400025c8: 7ec070ef jal ra,40009db4 <__ledf2> +400025cc: 00055463 bgez a0,400025d4 <_dtoa_r+0x494> +400025d0: 7910006f j 40003560 <_dtoa_r+0x1420> +400025d4: 00090513 mv a0,s2 +400025d8: 209080ef jal ra,4000afe0 <__floatsidf> +400025dc: 03012603 lw a2,48(sp) +400025e0: 03412683 lw a3,52(sp) +400025e4: fcc004b7 lui s1,0xfcc00 +400025e8: 0d1070ef jal ra,40009eb8 <__muldf3> +400025ec: 4000c7b7 lui a5,0x4000c +400025f0: c707a603 lw a2,-912(a5) # 4000bc70 <__clz_tab+0x13c> +400025f4: c747a683 lw a3,-908(a5) +400025f8: 4a4060ef jal ra,40008a9c <__adddf3> +400025fc: 01812783 lw a5,24(sp) +40002600: 00050413 mv s0,a0 +40002604: 00b484b3 add s1,s1,a1 +40002608: 3e0782e3 beqz a5,400031ec <_dtoa_r+0x10ac> +4000260c: 01012783 lw a5,16(sp) +40002610: 01812903 lw s2,24(sp) +40002614: 04f12623 sw a5,76(sp) +40002618: 02412783 lw a5,36(sp) +4000261c: 5a0782e3 beqz a5,400033c0 <_dtoa_r+0x1280> +40002620: fff90793 addi a5,s2,-1 +40002624: 4000c737 lui a4,0x4000c +40002628: 81870713 addi a4,a4,-2024 # 4000b818 <__mprec_tens> +4000262c: 00379793 slli a5,a5,0x3 +40002630: 00e787b3 add a5,a5,a4 +40002634: 0007a603 lw a2,0(a5) +40002638: 0047a683 lw a3,4(a5) +4000263c: 4000c7b7 lui a5,0x4000c +40002640: c807a503 lw a0,-896(a5) # 4000bc80 <__clz_tab+0x14c> +40002644: c847a583 lw a1,-892(a5) +40002648: 02012783 lw a5,32(sp) +4000264c: 00178a13 addi s4,a5,1 +40002650: 599060ef jal ra,400093e8 <__divdf3> +40002654: 00040613 mv a2,s0 +40002658: 00048693 mv a3,s1 +4000265c: 72d070ef jal ra,4000a588 <__subdf3> +40002660: 04a12023 sw a0,64(sp) +40002664: 04b12223 sw a1,68(sp) +40002668: 03012503 lw a0,48(sp) +4000266c: 03412583 lw a1,52(sp) +40002670: 0ed080ef jal ra,4000af5c <__fixdfsi> +40002674: 00050413 mv s0,a0 +40002678: 169080ef jal ra,4000afe0 <__floatsidf> +4000267c: 00050613 mv a2,a0 +40002680: 00058693 mv a3,a1 +40002684: 03012503 lw a0,48(sp) +40002688: 03412583 lw a1,52(sp) +4000268c: 6fd070ef jal ra,4000a588 <__subdf3> +40002690: 02012783 lw a5,32(sp) +40002694: 00050613 mv a2,a0 +40002698: 00058693 mv a3,a1 +4000269c: 03040713 addi a4,s0,48 +400026a0: 04a12823 sw a0,80(sp) +400026a4: 04b12a23 sw a1,84(sp) +400026a8: 04012503 lw a0,64(sp) +400026ac: 04412583 lw a1,68(sp) +400026b0: 0ff77413 andi s0,a4,255 +400026b4: 00878023 sb s0,0(a5) +400026b8: 5f8070ef jal ra,40009cb0 <__gedf2> +400026bc: 16a04263 bgtz a0,40002820 <_dtoa_r+0x6e0> +400026c0: 4000c7b7 lui a5,0x4000c +400026c4: 05012603 lw a2,80(sp) +400026c8: 05412683 lw a3,84(sp) +400026cc: c607a503 lw a0,-928(a5) # 4000bc60 <__clz_tab+0x12c> +400026d0: c647a583 lw a1,-924(a5) +400026d4: 02f12823 sw a5,48(sp) +400026d8: 6b1070ef jal ra,4000a588 <__subdf3> +400026dc: 04012603 lw a2,64(sp) +400026e0: 04412683 lw a3,68(sp) +400026e4: 6d0070ef jal ra,40009db4 <__ledf2> +400026e8: 00055463 bgez a0,400026f0 <_dtoa_r+0x5b0> +400026ec: 7490006f j 40003634 <_dtoa_r+0x14f4> +400026f0: 00100713 li a4,1 +400026f4: 03012783 lw a5,48(sp) +400026f8: 3ae90ee3 beq s2,a4,400032b4 <_dtoa_r+0x1174> +400026fc: 4000c4b7 lui s1,0x4000c +40002700: c684a703 lw a4,-920(s1) # 4000bc68 <__clz_tab+0x134> +40002704: c6c4a483 lw s1,-916(s1) +40002708: 05812e23 sw s8,92(sp) +4000270c: 00070693 mv a3,a4 +40002710: c607a703 lw a4,-928(a5) +40002714: c647a783 lw a5,-924(a5) +40002718: 07312023 sw s3,96(sp) +4000271c: 02e12823 sw a4,48(sp) +40002720: 02f12a23 sw a5,52(sp) +40002724: 02012783 lw a5,32(sp) +40002728: 00068713 mv a4,a3 +4000272c: 07712223 sw s7,100(sp) +40002730: 012787b3 add a5,a5,s2 +40002734: 07512423 sw s5,104(sp) +40002738: 05a12c23 sw s10,88(sp) +4000273c: 07912623 sw s9,108(sp) +40002740: 04012c03 lw s8,64(sp) +40002744: 00068913 mv s2,a3 +40002748: 05612023 sw s6,64(sp) +4000274c: 00078a93 mv s5,a5 +40002750: 000d8b13 mv s6,s11 +40002754: 04412c83 lw s9,68(sp) +40002758: 05012d03 lw s10,80(sp) +4000275c: 05412d83 lw s11,84(sp) +40002760: 00070993 mv s3,a4 +40002764: 00048b93 mv s7,s1 +40002768: 0280006f j 40002790 <_dtoa_r+0x650> +4000276c: 03012503 lw a0,48(sp) +40002770: 03412583 lw a1,52(sp) +40002774: 615070ef jal ra,4000a588 <__subdf3> +40002778: 000c0613 mv a2,s8 +4000277c: 000c8693 mv a3,s9 +40002780: 634070ef jal ra,40009db4 <__ledf2> +40002784: 00055463 bgez a0,4000278c <_dtoa_r+0x64c> +40002788: 6a50006f j 4000362c <_dtoa_r+0x14ec> +4000278c: 315a04e3 beq s4,s5,40003294 <_dtoa_r+0x1154> +40002790: 00098613 mv a2,s3 +40002794: 00048693 mv a3,s1 +40002798: 000c0513 mv a0,s8 +4000279c: 000c8593 mv a1,s9 +400027a0: 718070ef jal ra,40009eb8 <__muldf3> +400027a4: 00090613 mv a2,s2 +400027a8: 000b8693 mv a3,s7 +400027ac: 00050c13 mv s8,a0 +400027b0: 00058c93 mv s9,a1 +400027b4: 000d0513 mv a0,s10 +400027b8: 000d8593 mv a1,s11 +400027bc: 6fc070ef jal ra,40009eb8 <__muldf3> +400027c0: 00058d93 mv s11,a1 +400027c4: 00050d13 mv s10,a0 +400027c8: 794080ef jal ra,4000af5c <__fixdfsi> +400027cc: 00050413 mv s0,a0 +400027d0: 011080ef jal ra,4000afe0 <__floatsidf> +400027d4: 00050613 mv a2,a0 +400027d8: 00058693 mv a3,a1 +400027dc: 000d0513 mv a0,s10 +400027e0: 000d8593 mv a1,s11 +400027e4: 03040413 addi s0,s0,48 +400027e8: 5a1070ef jal ra,4000a588 <__subdf3> +400027ec: 001a0a13 addi s4,s4,1 +400027f0: 0ff47413 andi s0,s0,255 +400027f4: 000c0613 mv a2,s8 +400027f8: 000c8693 mv a3,s9 +400027fc: fe8a0fa3 sb s0,-1(s4) +40002800: 00050d13 mv s10,a0 +40002804: 00058d93 mv s11,a1 +40002808: 5ac070ef jal ra,40009db4 <__ledf2> +4000280c: 000d0613 mv a2,s10 +40002810: 000d8693 mv a3,s11 +40002814: f4055ce3 bgez a0,4000276c <_dtoa_r+0x62c> +40002818: 05812d03 lw s10,88(sp) +4000281c: 000b0d93 mv s11,s6 +40002820: 04c12783 lw a5,76(sp) +40002824: 00f12823 sw a5,16(sp) +40002828: 000d0593 mv a1,s10 +4000282c: 000d8513 mv a0,s11 +40002830: 035020ef jal ra,40005064 <_Bfree> +40002834: 01012783 lw a5,16(sp) +40002838: 000a0023 sb zero,0(s4) +4000283c: 00178713 addi a4,a5,1 +40002840: 00c12783 lw a5,12(sp) +40002844: 00e7a023 sw a4,0(a5) +40002848: 0c012783 lw a5,192(sp) +4000284c: 1e078ee3 beqz a5,40003248 <_dtoa_r+0x1108> +40002850: 0147a023 sw s4,0(a5) +40002854: 02012503 lw a0,32(sp) +40002858: 9c9ff06f j 40002220 <_dtoa_r+0xe0> +4000285c: 07812983 lw s3,120(sp) +40002860: 07c12903 lw s2,124(sp) +40002864: 02000793 li a5,32 +40002868: 01298933 add s2,s3,s2 +4000286c: 43290713 addi a4,s2,1074 +40002870: 3ce7d663 ble a4,a5,40002c3c <_dtoa_r+0xafc> +40002874: 04000793 li a5,64 +40002878: 41290513 addi a0,s2,1042 +4000287c: 40e787b3 sub a5,a5,a4 +40002880: 00a4d533 srl a0,s1,a0 +40002884: 00fa9ab3 sll s5,s5,a5 +40002888: 01556533 or a0,a0,s5 +4000288c: 04d080ef jal ra,4000b0d8 <__floatunsidf> +40002890: fe100bb7 lui s7,0xfe100 +40002894: 00050793 mv a5,a0 +40002898: 00bb85b3 add a1,s7,a1 +4000289c: fff90913 addi s2,s2,-1 +400028a0: 00100a93 li s5,1 +400028a4: a79ff06f j 4000231c <_dtoa_r+0x1dc> +400028a8: 4000b537 lui a0,0x4000b +400028ac: 7e050513 addi a0,a0,2016 # 4000b7e0 <zeroes.4139+0x50> +400028b0: 971ff06f j 40002220 <_dtoa_r+0xe0> +400028b4: 040da223 sw zero,68(s11) +400028b8: 00000593 li a1,0 +400028bc: 000d8513 mv a0,s11 +400028c0: 700020ef jal ra,40004fc0 <_Balloc> +400028c4: fff00793 li a5,-1 +400028c8: 02f12c23 sw a5,56(sp) +400028cc: 00f12c23 sw a5,24(sp) +400028d0: 00100793 li a5,1 +400028d4: 02a12023 sw a0,32(sp) +400028d8: 04ada023 sw a0,64(s11) +400028dc: 00000c93 li s9,0 +400028e0: 00000b13 li s6,0 +400028e4: 02f12223 sw a5,36(sp) +400028e8: 07c12783 lw a5,124(sp) +400028ec: 1c07cc63 bltz a5,40002ac4 <_dtoa_r+0x984> +400028f0: 01012683 lw a3,16(sp) +400028f4: 00e00713 li a4,14 +400028f8: 1cd74663 blt a4,a3,40002ac4 <_dtoa_r+0x984> +400028fc: 4000c737 lui a4,0x4000c +40002900: 00369793 slli a5,a3,0x3 +40002904: 81870713 addi a4,a4,-2024 # 4000b818 <__mprec_tens> +40002908: 00e787b3 add a5,a5,a4 +4000290c: 0007ac03 lw s8,0(a5) +40002910: 0047ac83 lw s9,4(a5) +40002914: 6a0b4263 bltz s6,40002fb8 <_dtoa_r+0xe78> +40002918: 000c0613 mv a2,s8 +4000291c: 000c8693 mv a3,s9 +40002920: 000a0513 mv a0,s4 +40002924: 00040593 mv a1,s0 +40002928: 2c1060ef jal ra,400093e8 <__divdf3> +4000292c: 630080ef jal ra,4000af5c <__fixdfsi> +40002930: 00050493 mv s1,a0 +40002934: 6ac080ef jal ra,4000afe0 <__floatsidf> +40002938: 000c0613 mv a2,s8 +4000293c: 000c8693 mv a3,s9 +40002940: 578070ef jal ra,40009eb8 <__muldf3> +40002944: 00058693 mv a3,a1 +40002948: 00050613 mv a2,a0 +4000294c: 00040593 mv a1,s0 +40002950: 000a0513 mv a0,s4 +40002954: 435070ef jal ra,4000a588 <__subdf3> +40002958: 02012683 lw a3,32(sp) +4000295c: 03048793 addi a5,s1,48 +40002960: 00100713 li a4,1 +40002964: 00f68023 sb a5,0(a3) +40002968: 01812783 lw a5,24(sp) +4000296c: 00050813 mv a6,a0 +40002970: 00058893 mv a7,a1 +40002974: 00e68a33 add s4,a3,a4 +40002978: 0ce78463 beq a5,a4,40002a40 <_dtoa_r+0x900> +4000297c: 4000c4b7 lui s1,0x4000c +40002980: c684a603 lw a2,-920(s1) # 4000bc68 <__clz_tab+0x134> +40002984: c6c4a683 lw a3,-916(s1) +40002988: 530070ef jal ra,40009eb8 <__muldf3> +4000298c: 00000613 li a2,0 +40002990: 00000693 li a3,0 +40002994: 00050913 mv s2,a0 +40002998: 00058993 mv s3,a1 +4000299c: 288070ef jal ra,40009c24 <__eqdf2> +400029a0: e80504e3 beqz a0,40002828 <_dtoa_r+0x6e8> +400029a4: 02012783 lw a5,32(sp) +400029a8: 01812703 lw a4,24(sp) +400029ac: c684ab03 lw s6,-920(s1) +400029b0: c6c4ab83 lw s7,-916(s1) +400029b4: 00278413 addi s0,a5,2 +400029b8: 00e78ab3 add s5,a5,a4 +400029bc: 0240006f j 400029e0 <_dtoa_r+0x8a0> +400029c0: 4f8070ef jal ra,40009eb8 <__muldf3> +400029c4: 00000613 li a2,0 +400029c8: 00000693 li a3,0 +400029cc: 00050913 mv s2,a0 +400029d0: 00058993 mv s3,a1 +400029d4: 00140413 addi s0,s0,1 +400029d8: 24c070ef jal ra,40009c24 <__eqdf2> +400029dc: e40506e3 beqz a0,40002828 <_dtoa_r+0x6e8> +400029e0: 000c0613 mv a2,s8 +400029e4: 000c8693 mv a3,s9 +400029e8: 00090513 mv a0,s2 +400029ec: 00098593 mv a1,s3 +400029f0: 1f9060ef jal ra,400093e8 <__divdf3> +400029f4: 568080ef jal ra,4000af5c <__fixdfsi> +400029f8: 00050493 mv s1,a0 +400029fc: 5e4080ef jal ra,4000afe0 <__floatsidf> +40002a00: 000c0613 mv a2,s8 +40002a04: 000c8693 mv a3,s9 +40002a08: 4b0070ef jal ra,40009eb8 <__muldf3> +40002a0c: 00050613 mv a2,a0 +40002a10: 00058693 mv a3,a1 +40002a14: 00090513 mv a0,s2 +40002a18: 00098593 mv a1,s3 +40002a1c: 36d070ef jal ra,4000a588 <__subdf3> +40002a20: 03048793 addi a5,s1,48 +40002a24: fef40fa3 sb a5,-1(s0) +40002a28: 00050813 mv a6,a0 +40002a2c: 00058893 mv a7,a1 +40002a30: 000b0613 mv a2,s6 +40002a34: 000b8693 mv a3,s7 +40002a38: 00040a13 mv s4,s0 +40002a3c: f88a92e3 bne s5,s0,400029c0 <_dtoa_r+0x880> +40002a40: 00080613 mv a2,a6 +40002a44: 00088693 mv a3,a7 +40002a48: 00080513 mv a0,a6 +40002a4c: 00088593 mv a1,a7 +40002a50: 04c060ef jal ra,40008a9c <__adddf3> +40002a54: 00050913 mv s2,a0 +40002a58: 00058993 mv s3,a1 +40002a5c: 00050613 mv a2,a0 +40002a60: 00058693 mv a3,a1 +40002a64: 000c0513 mv a0,s8 +40002a68: 000c8593 mv a1,s9 +40002a6c: 348070ef jal ra,40009db4 <__ledf2> +40002a70: 02054263 bltz a0,40002a94 <_dtoa_r+0x954> +40002a74: 00090613 mv a2,s2 +40002a78: 00098693 mv a3,s3 +40002a7c: 000c0513 mv a0,s8 +40002a80: 000c8593 mv a1,s9 +40002a84: 1a0070ef jal ra,40009c24 <__eqdf2> +40002a88: da0510e3 bnez a0,40002828 <_dtoa_r+0x6e8> +40002a8c: 0014f493 andi s1,s1,1 +40002a90: d8048ce3 beqz s1,40002828 <_dtoa_r+0x6e8> +40002a94: fffa4403 lbu s0,-1(s4) +40002a98: 03900613 li a2,57 +40002a9c: 02012783 lw a5,32(sp) +40002aa0: 0100006f j 40002ab0 <_dtoa_r+0x970> +40002aa4: 0af68ee3 beq a3,a5,40003360 <_dtoa_r+0x1220> +40002aa8: fff6c403 lbu s0,-1(a3) +40002aac: 00068a13 mv s4,a3 +40002ab0: fffa0693 addi a3,s4,-1 +40002ab4: fec408e3 beq s0,a2,40002aa4 <_dtoa_r+0x964> +40002ab8: 00140713 addi a4,s0,1 +40002abc: 00e68023 sb a4,0(a3) +40002ac0: d69ff06f j 40002828 <_dtoa_r+0x6e8> +40002ac4: 02412703 lw a4,36(sp) +40002ac8: 16070263 beqz a4,40002c2c <_dtoa_r+0xaec> +40002acc: 00100713 li a4,1 +40002ad0: 59975263 ble s9,a4,40003054 <_dtoa_r+0xf14> +40002ad4: 01812783 lw a5,24(sp) +40002ad8: fff78913 addi s2,a5,-1 +40002adc: 7729ca63 blt s3,s2,40003250 <_dtoa_r+0x1110> +40002ae0: 41298933 sub s2,s3,s2 +40002ae4: 01812703 lw a4,24(sp) +40002ae8: 000c0a93 mv s5,s8 +40002aec: 00070793 mv a5,a4 +40002af0: 240742e3 bltz a4,40003534 <_dtoa_r+0x13f4> +40002af4: 00100593 li a1,1 +40002af8: 000d8513 mv a0,s11 +40002afc: 00fc0c33 add s8,s8,a5 +40002b00: 00fb8bb3 add s7,s7,a5 +40002b04: 0d9020ef jal ra,400053dc <__i2b> +40002b08: 00050493 mv s1,a0 +40002b0c: 01505e63 blez s5,40002b28 <_dtoa_r+0x9e8> +40002b10: 01705c63 blez s7,40002b28 <_dtoa_r+0x9e8> +40002b14: 000a8793 mv a5,s5 +40002b18: 455bc663 blt s7,s5,40002f64 <_dtoa_r+0xe24> +40002b1c: 40fc0c33 sub s8,s8,a5 +40002b20: 40fa8ab3 sub s5,s5,a5 +40002b24: 40fb8bb3 sub s7,s7,a5 +40002b28: 04098a63 beqz s3,40002b7c <_dtoa_r+0xa3c> +40002b2c: 02412783 lw a5,36(sp) +40002b30: 4e078263 beqz a5,40003014 <_dtoa_r+0xed4> +40002b34: 05205063 blez s2,40002b74 <_dtoa_r+0xa34> +40002b38: 00048593 mv a1,s1 +40002b3c: 00090613 mv a2,s2 +40002b40: 000d8513 mv a0,s11 +40002b44: 2ad020ef jal ra,400055f0 <__pow5mult> +40002b48: 000d0613 mv a2,s10 +40002b4c: 00050593 mv a1,a0 +40002b50: 00050493 mv s1,a0 +40002b54: 000d8513 mv a0,s11 +40002b58: 0b9020ef jal ra,40005410 <__multiply> +40002b5c: 02a12823 sw a0,48(sp) +40002b60: 000d0593 mv a1,s10 +40002b64: 000d8513 mv a0,s11 +40002b68: 4fc020ef jal ra,40005064 <_Bfree> +40002b6c: 03012783 lw a5,48(sp) +40002b70: 00078d13 mv s10,a5 +40002b74: 41298633 sub a2,s3,s2 +40002b78: 4a061063 bnez a2,40003018 <_dtoa_r+0xed8> +40002b7c: 00100593 li a1,1 +40002b80: 000d8513 mv a0,s11 +40002b84: 059020ef jal ra,400053dc <__i2b> +40002b88: 02c12783 lw a5,44(sp) +40002b8c: 00050993 mv s3,a0 +40002b90: 0cf05063 blez a5,40002c50 <_dtoa_r+0xb10> +40002b94: 00078613 mv a2,a5 +40002b98: 00050593 mv a1,a0 +40002b9c: 000d8513 mv a0,s11 +40002ba0: 251020ef jal ra,400055f0 <__pow5mult> +40002ba4: 00100793 li a5,1 +40002ba8: 00050993 mv s3,a0 +40002bac: 3d97d063 ble s9,a5,40002f6c <_dtoa_r+0xe2c> +40002bb0: 00000913 li s2,0 +40002bb4: 0109a783 lw a5,16(s3) +40002bb8: 00378793 addi a5,a5,3 +40002bbc: 00279793 slli a5,a5,0x2 +40002bc0: 00f987b3 add a5,s3,a5 +40002bc4: 0047a503 lw a0,4(a5) +40002bc8: 6e4020ef jal ra,400052ac <__hi0bits> +40002bcc: 02000793 li a5,32 +40002bd0: 40a787b3 sub a5,a5,a0 +40002bd4: 0940006f j 40002c68 <_dtoa_r+0xb28> +40002bd8: 01012783 lw a5,16(sp) +40002bdc: 02012623 sw zero,44(sp) +40002be0: 40fc0c33 sub s8,s8,a5 +40002be4: 40f009b3 neg s3,a5 +40002be8: 839ff06f j 40002420 <_dtoa_r+0x2e0> +40002bec: 01012b83 lw s7,16(sp) +40002bf0: 000b8513 mv a0,s7 +40002bf4: 3ec080ef jal ra,4000afe0 <__floatsidf> +40002bf8: 00050613 mv a2,a0 +40002bfc: 00058693 mv a3,a1 +40002c00: 01812503 lw a0,24(sp) +40002c04: 01c12583 lw a1,28(sp) +40002c08: 01c070ef jal ra,40009c24 <__eqdf2> +40002c0c: 00a03533 snez a0,a0 +40002c10: 40ab87b3 sub a5,s7,a0 +40002c14: 00f12823 sw a5,16(sp) +40002c18: f9cff06f j 400023b4 <_dtoa_r+0x274> +40002c1c: 00100c13 li s8,1 +40002c20: 412c0c33 sub s8,s8,s2 +40002c24: 00000b93 li s7,0 +40002c28: fe4ff06f j 4000240c <_dtoa_r+0x2cc> +40002c2c: 00098913 mv s2,s3 +40002c30: 000c0a93 mv s5,s8 +40002c34: 00000493 li s1,0 +40002c38: ed5ff06f j 40002b0c <_dtoa_r+0x9cc> +40002c3c: 40e787b3 sub a5,a5,a4 +40002c40: 00f49533 sll a0,s1,a5 +40002c44: c49ff06f j 4000288c <_dtoa_r+0x74c> +40002c48: 02012423 sw zero,40(sp) +40002c4c: fb0ff06f j 400023fc <_dtoa_r+0x2bc> +40002c50: 00100793 li a5,1 +40002c54: 00000913 li s2,0 +40002c58: 4997d663 ble s9,a5,400030e4 <_dtoa_r+0xfa4> +40002c5c: 02c12703 lw a4,44(sp) +40002c60: 00100793 li a5,1 +40002c64: f40718e3 bnez a4,40002bb4 <_dtoa_r+0xa74> +40002c68: 017787b3 add a5,a5,s7 +40002c6c: 01f7f793 andi a5,a5,31 +40002c70: 1a078663 beqz a5,40002e1c <_dtoa_r+0xcdc> +40002c74: 02000713 li a4,32 +40002c78: 40f70733 sub a4,a4,a5 +40002c7c: 00400693 li a3,4 +40002c80: 20e6dce3 ble a4,a3,40003698 <_dtoa_r+0x1558> +40002c84: 01c00713 li a4,28 +40002c88: 40f707b3 sub a5,a4,a5 +40002c8c: 00fc0c33 add s8,s8,a5 +40002c90: 00fa8ab3 add s5,s5,a5 +40002c94: 00fb8bb3 add s7,s7,a5 +40002c98: 01805c63 blez s8,40002cb0 <_dtoa_r+0xb70> +40002c9c: 000d0593 mv a1,s10 +40002ca0: 000c0613 mv a2,s8 +40002ca4: 000d8513 mv a0,s11 +40002ca8: 291020ef jal ra,40005738 <__lshift> +40002cac: 00050d13 mv s10,a0 +40002cb0: 01705c63 blez s7,40002cc8 <_dtoa_r+0xb88> +40002cb4: 00098593 mv a1,s3 +40002cb8: 000b8613 mv a2,s7 +40002cbc: 000d8513 mv a0,s11 +40002cc0: 279020ef jal ra,40005738 <__lshift> +40002cc4: 00050993 mv s3,a0 +40002cc8: 02812783 lw a5,40(sp) +40002ccc: 16079263 bnez a5,40002e30 <_dtoa_r+0xcf0> +40002cd0: 01812783 lw a5,24(sp) +40002cd4: 46f05663 blez a5,40003140 <_dtoa_r+0x1000> +40002cd8: 02412783 lw a5,36(sp) +40002cdc: 1a078463 beqz a5,40002e84 <_dtoa_r+0xd44> +40002ce0: 01505c63 blez s5,40002cf8 <_dtoa_r+0xbb8> +40002ce4: 00048593 mv a1,s1 +40002ce8: 000a8613 mv a2,s5 +40002cec: 000d8513 mv a0,s11 +40002cf0: 249020ef jal ra,40005738 <__lshift> +40002cf4: 00050493 mv s1,a0 +40002cf8: 00048b13 mv s6,s1 +40002cfc: 68091263 bnez s2,40003380 <_dtoa_r+0x1240> +40002d00: 02012783 lw a5,32(sp) +40002d04: 01812703 lw a4,24(sp) +40002d08: 00a00b93 li s7,10 +40002d0c: 00178413 addi s0,a5,1 +40002d10: 00e787b3 add a5,a5,a4 +40002d14: 02f12623 sw a5,44(sp) +40002d18: 001a7793 andi a5,s4,1 +40002d1c: 02f12223 sw a5,36(sp) +40002d20: 00098593 mv a1,s3 +40002d24: 000d0513 mv a0,s10 +40002d28: a30ff0ef jal ra,40001f58 <quorem> +40002d2c: 00050c13 mv s8,a0 +40002d30: 00048593 mv a1,s1 +40002d34: 000d0513 mv a0,s10 +40002d38: 349020ef jal ra,40005880 <__mcmp> +40002d3c: 00050913 mv s2,a0 +40002d40: 000b0613 mv a2,s6 +40002d44: 00098593 mv a1,s3 +40002d48: 000d8513 mv a0,s11 +40002d4c: 38d020ef jal ra,400058d8 <__mdiff> +40002d50: 00c52683 lw a3,12(a0) +40002d54: fff40713 addi a4,s0,-1 +40002d58: 02e12423 sw a4,40(sp) +40002d5c: 00050793 mv a5,a0 +40002d60: 030c0a93 addi s5,s8,48 +40002d64: 00100a13 li s4,1 +40002d68: 00069e63 bnez a3,40002d84 <_dtoa_r+0xc44> +40002d6c: 00050593 mv a1,a0 +40002d70: 00a12c23 sw a0,24(sp) +40002d74: 000d0513 mv a0,s10 +40002d78: 309020ef jal ra,40005880 <__mcmp> +40002d7c: 01812783 lw a5,24(sp) +40002d80: 00050a13 mv s4,a0 +40002d84: 00078593 mv a1,a5 +40002d88: 000d8513 mv a0,s11 +40002d8c: 2d8020ef jal ra,40005064 <_Bfree> +40002d90: 019a67b3 or a5,s4,s9 +40002d94: 00079663 bnez a5,40002da0 <_dtoa_r+0xc60> +40002d98: 02412783 lw a5,36(sp) +40002d9c: 2c078a63 beqz a5,40003070 <_dtoa_r+0xf30> +40002da0: 2e094c63 bltz s2,40003098 <_dtoa_r+0xf58> +40002da4: 01996933 or s2,s2,s9 +40002da8: 00091663 bnez s2,40002db4 <_dtoa_r+0xc74> +40002dac: 02412783 lw a5,36(sp) +40002db0: 2e078463 beqz a5,40003098 <_dtoa_r+0xf58> +40002db4: 77404263 bgtz s4,40003518 <_dtoa_r+0x13d8> +40002db8: 02c12783 lw a5,44(sp) +40002dbc: ff540fa3 sb s5,-1(s0) +40002dc0: 00040a13 mv s4,s0 +40002dc4: 76878263 beq a5,s0,40003528 <_dtoa_r+0x13e8> +40002dc8: 000d0593 mv a1,s10 +40002dcc: 00000693 li a3,0 +40002dd0: 000b8613 mv a2,s7 +40002dd4: 000d8513 mv a0,s11 +40002dd8: 2b0020ef jal ra,40005088 <__multadd> +40002ddc: 00050d13 mv s10,a0 +40002de0: 00000693 li a3,0 +40002de4: 000b8613 mv a2,s7 +40002de8: 00048593 mv a1,s1 +40002dec: 000d8513 mv a0,s11 +40002df0: 2f648e63 beq s1,s6,400030ec <_dtoa_r+0xfac> +40002df4: 294020ef jal ra,40005088 <__multadd> +40002df8: 000b0593 mv a1,s6 +40002dfc: 00050493 mv s1,a0 +40002e00: 00000693 li a3,0 +40002e04: 000b8613 mv a2,s7 +40002e08: 000d8513 mv a0,s11 +40002e0c: 27c020ef jal ra,40005088 <__multadd> +40002e10: 00050b13 mv s6,a0 +40002e14: 00140413 addi s0,s0,1 +40002e18: f09ff06f j 40002d20 <_dtoa_r+0xbe0> +40002e1c: 01c00793 li a5,28 +40002e20: 00fc0c33 add s8,s8,a5 +40002e24: 00fa8ab3 add s5,s5,a5 +40002e28: 00fb8bb3 add s7,s7,a5 +40002e2c: e6dff06f j 40002c98 <_dtoa_r+0xb58> +40002e30: 00098593 mv a1,s3 +40002e34: 000d0513 mv a0,s10 +40002e38: 249020ef jal ra,40005880 <__mcmp> +40002e3c: e8055ae3 bgez a0,40002cd0 <_dtoa_r+0xb90> +40002e40: 000d0593 mv a1,s10 +40002e44: 00000693 li a3,0 +40002e48: 00a00613 li a2,10 +40002e4c: 000d8513 mv a0,s11 +40002e50: 238020ef jal ra,40005088 <__multadd> +40002e54: 01012783 lw a5,16(sp) +40002e58: 00050d13 mv s10,a0 +40002e5c: fff78793 addi a5,a5,-1 +40002e60: 00f12823 sw a5,16(sp) +40002e64: 02412783 lw a5,36(sp) +40002e68: 7e079463 bnez a5,40003650 <_dtoa_r+0x1510> +40002e6c: 03812783 lw a5,56(sp) +40002e70: 00f04863 bgtz a5,40002e80 <_dtoa_r+0xd40> +40002e74: 00200793 li a5,2 +40002e78: 0197cae3 blt a5,s9,4000368c <_dtoa_r+0x154c> +40002e7c: 03812783 lw a5,56(sp) +40002e80: 00f12c23 sw a5,24(sp) +40002e84: 02012b03 lw s6,32(sp) +40002e88: 00a00913 li s2,10 +40002e8c: 01812a03 lw s4,24(sp) +40002e90: 000b0413 mv s0,s6 +40002e94: 00c0006f j 40002ea0 <_dtoa_r+0xd60> +40002e98: 1f0020ef jal ra,40005088 <__multadd> +40002e9c: 00050d13 mv s10,a0 +40002ea0: 00098593 mv a1,s3 +40002ea4: 000d0513 mv a0,s10 +40002ea8: 8b0ff0ef jal ra,40001f58 <quorem> +40002eac: 00140413 addi s0,s0,1 +40002eb0: 03050a93 addi s5,a0,48 +40002eb4: ff540fa3 sb s5,-1(s0) +40002eb8: 416407b3 sub a5,s0,s6 +40002ebc: 00000693 li a3,0 +40002ec0: 00090613 mv a2,s2 +40002ec4: 000d0593 mv a1,s10 +40002ec8: 000d8513 mv a0,s11 +40002ecc: fd47c6e3 blt a5,s4,40002e98 <_dtoa_r+0xd58> +40002ed0: 01812783 lw a5,24(sp) +40002ed4: 66f05663 blez a5,40003540 <_dtoa_r+0x1400> +40002ed8: 02012703 lw a4,32(sp) +40002edc: 00000413 li s0,0 +40002ee0: 00f70a33 add s4,a4,a5 +40002ee4: 000d0593 mv a1,s10 +40002ee8: 00100613 li a2,1 +40002eec: 000d8513 mv a0,s11 +40002ef0: 049020ef jal ra,40005738 <__lshift> +40002ef4: 00098593 mv a1,s3 +40002ef8: 00050d13 mv s10,a0 +40002efc: 185020ef jal ra,40005880 <__mcmp> +40002f00: 12a05663 blez a0,4000302c <_dtoa_r+0xeec> +40002f04: fffa4683 lbu a3,-1(s4) +40002f08: 03900613 li a2,57 +40002f0c: 02012783 lw a5,32(sp) +40002f10: 0100006f j 40002f20 <_dtoa_r+0xde0> +40002f14: 28f70263 beq a4,a5,40003198 <_dtoa_r+0x1058> +40002f18: fff74683 lbu a3,-1(a4) +40002f1c: 00070a13 mv s4,a4 +40002f20: fffa0713 addi a4,s4,-1 +40002f24: fec688e3 beq a3,a2,40002f14 <_dtoa_r+0xdd4> +40002f28: 00168693 addi a3,a3,1 +40002f2c: 00d70023 sb a3,0(a4) +40002f30: 00098593 mv a1,s3 +40002f34: 000d8513 mv a0,s11 +40002f38: 12c020ef jal ra,40005064 <_Bfree> +40002f3c: 8e0486e3 beqz s1,40002828 <_dtoa_r+0x6e8> +40002f40: 00040a63 beqz s0,40002f54 <_dtoa_r+0xe14> +40002f44: 00940863 beq s0,s1,40002f54 <_dtoa_r+0xe14> +40002f48: 00040593 mv a1,s0 +40002f4c: 000d8513 mv a0,s11 +40002f50: 114020ef jal ra,40005064 <_Bfree> +40002f54: 00048593 mv a1,s1 +40002f58: 000d8513 mv a0,s11 +40002f5c: 108020ef jal ra,40005064 <_Bfree> +40002f60: 8c9ff06f j 40002828 <_dtoa_r+0x6e8> +40002f64: 000b8793 mv a5,s7 +40002f68: bb5ff06f j 40002b1c <_dtoa_r+0x9dc> +40002f6c: c40a12e3 bnez s4,40002bb0 <_dtoa_r+0xa70> +40002f70: 00c41793 slli a5,s0,0xc +40002f74: 00000913 li s2,0 +40002f78: ce0792e3 bnez a5,40002c5c <_dtoa_r+0xb1c> +40002f7c: 7ff007b7 lui a5,0x7ff00 +40002f80: 00f47433 and s0,s0,a5 +40002f84: cc040ce3 beqz s0,40002c5c <_dtoa_r+0xb1c> +40002f88: 001c0c13 addi s8,s8,1 +40002f8c: 001b8b93 addi s7,s7,1 # fe100001 <_bss_end+0xbe0f3979> +40002f90: 00100913 li s2,1 +40002f94: cc9ff06f j 40002c5c <_dtoa_r+0xb1c> +40002f98: 00100793 li a5,1 +40002f9c: 02f12223 sw a5,36(sp) +40002fa0: 2d605663 blez s6,4000326c <_dtoa_r+0x112c> +40002fa4: 000b0613 mv a2,s6 +40002fa8: 000b0813 mv a6,s6 +40002fac: 03612c23 sw s6,56(sp) +40002fb0: 01612c23 sw s6,24(sp) +40002fb4: cccff06f j 40002480 <_dtoa_r+0x340> +40002fb8: 01812783 lw a5,24(sp) +40002fbc: 94f04ee3 bgtz a5,40002918 <_dtoa_r+0x7d8> +40002fc0: 26079e63 bnez a5,4000323c <_dtoa_r+0x10fc> +40002fc4: 4000c7b7 lui a5,0x4000c +40002fc8: c787a603 lw a2,-904(a5) # 4000bc78 <__clz_tab+0x144> +40002fcc: c7c7a683 lw a3,-900(a5) +40002fd0: 000c0513 mv a0,s8 +40002fd4: 000c8593 mv a1,s9 +40002fd8: 6e1060ef jal ra,40009eb8 <__muldf3> +40002fdc: 000a0613 mv a2,s4 +40002fe0: 00040693 mv a3,s0 +40002fe4: 4cd060ef jal ra,40009cb0 <__gedf2> +40002fe8: 00000993 li s3,0 +40002fec: 00000493 li s1,0 +40002ff0: 18054463 bltz a0,40003178 <_dtoa_r+0x1038> +40002ff4: 02012a03 lw s4,32(sp) +40002ff8: fffb4793 not a5,s6 +40002ffc: 00f12823 sw a5,16(sp) +40003000: 00098593 mv a1,s3 +40003004: 000d8513 mv a0,s11 +40003008: 05c020ef jal ra,40005064 <_Bfree> +4000300c: 80048ee3 beqz s1,40002828 <_dtoa_r+0x6e8> +40003010: f45ff06f j 40002f54 <_dtoa_r+0xe14> +40003014: 00098613 mv a2,s3 +40003018: 000d0593 mv a1,s10 +4000301c: 000d8513 mv a0,s11 +40003020: 5d0020ef jal ra,400055f0 <__pow5mult> +40003024: 00050d13 mv s10,a0 +40003028: b55ff06f j 40002b7c <_dtoa_r+0xa3c> +4000302c: 00051663 bnez a0,40003038 <_dtoa_r+0xef8> +40003030: 001afa93 andi s5,s5,1 +40003034: ec0a98e3 bnez s5,40002f04 <_dtoa_r+0xdc4> +40003038: 03000613 li a2,48 +4000303c: 0080006f j 40003044 <_dtoa_r+0xf04> +40003040: 00070a13 mv s4,a4 +40003044: fffa4783 lbu a5,-1(s4) +40003048: fffa0713 addi a4,s4,-1 +4000304c: fec78ae3 beq a5,a2,40003040 <_dtoa_r+0xf00> +40003050: ee1ff06f j 40002f30 <_dtoa_r+0xdf0> +40003054: 4e0a8a63 beqz s5,40003548 <_dtoa_r+0x1408> +40003058: 43378793 addi a5,a5,1075 +4000305c: 00098913 mv s2,s3 +40003060: 000c0a93 mv s5,s8 +40003064: a91ff06f j 40002af4 <_dtoa_r+0x9b4> +40003068: 00100613 li a2,1 +4000306c: c10ff06f j 4000247c <_dtoa_r+0x33c> +40003070: 03900793 li a5,57 +40003074: 04fa8863 beq s5,a5,400030c4 <_dtoa_r+0xf84> +40003078: 01205463 blez s2,40003080 <_dtoa_r+0xf40> +4000307c: 031c0a93 addi s5,s8,49 +40003080: 02812783 lw a5,40(sp) +40003084: 00048413 mv s0,s1 +40003088: 000b0493 mv s1,s6 +4000308c: 00178a13 addi s4,a5,1 +40003090: 01578023 sb s5,0(a5) +40003094: e9dff06f j 40002f30 <_dtoa_r+0xdf0> +40003098: ff4054e3 blez s4,40003080 <_dtoa_r+0xf40> +4000309c: 000d0593 mv a1,s10 +400030a0: 00100613 li a2,1 +400030a4: 000d8513 mv a0,s11 +400030a8: 690020ef jal ra,40005738 <__lshift> +400030ac: 00098593 mv a1,s3 +400030b0: 00050d13 mv s10,a0 +400030b4: 7cc020ef jal ra,40005880 <__mcmp> +400030b8: 58a05463 blez a0,40003640 <_dtoa_r+0x1500> +400030bc: 03900793 li a5,57 +400030c0: fafa9ee3 bne s5,a5,4000307c <_dtoa_r+0xf3c> +400030c4: 02812783 lw a5,40(sp) +400030c8: 03900713 li a4,57 +400030cc: 00048413 mv s0,s1 +400030d0: 00178a13 addi s4,a5,1 +400030d4: 00e78023 sb a4,0(a5) +400030d8: 000b0493 mv s1,s6 +400030dc: 03900693 li a3,57 +400030e0: e29ff06f j 40002f08 <_dtoa_r+0xdc8> +400030e4: b60a1ce3 bnez s4,40002c5c <_dtoa_r+0xb1c> +400030e8: e89ff06f j 40002f70 <_dtoa_r+0xe30> +400030ec: 79d010ef jal ra,40005088 <__multadd> +400030f0: 00050493 mv s1,a0 +400030f4: 00050b13 mv s6,a0 +400030f8: 00140413 addi s0,s0,1 +400030fc: c25ff06f j 40002d20 <_dtoa_r+0xbe0> +40003100: 00200793 li a5,2 +40003104: 02012223 sw zero,36(sp) +40003108: e8fc8ce3 beq s9,a5,40002fa0 <_dtoa_r+0xe60> +4000310c: 040da223 sw zero,68(s11) +40003110: 00000593 li a1,0 +40003114: 000d8513 mv a0,s11 +40003118: 6a9010ef jal ra,40004fc0 <_Balloc> +4000311c: fff00793 li a5,-1 +40003120: 02f12c23 sw a5,56(sp) +40003124: 00f12c23 sw a5,24(sp) +40003128: 00100793 li a5,1 +4000312c: 02a12023 sw a0,32(sp) +40003130: 04ada023 sw a0,64(s11) +40003134: 00000b13 li s6,0 +40003138: 02f12223 sw a5,36(sp) +4000313c: facff06f j 400028e8 <_dtoa_r+0x7a8> +40003140: 00200793 li a5,2 +40003144: b997dae3 ble s9,a5,40002cd8 <_dtoa_r+0xb98> +40003148: 01812783 lw a5,24(sp) +4000314c: ea0794e3 bnez a5,40002ff4 <_dtoa_r+0xeb4> +40003150: 00098593 mv a1,s3 +40003154: 00000693 li a3,0 +40003158: 00500613 li a2,5 +4000315c: 000d8513 mv a0,s11 +40003160: 729010ef jal ra,40005088 <__multadd> +40003164: 00050993 mv s3,a0 +40003168: 00050593 mv a1,a0 +4000316c: 000d0513 mv a0,s10 +40003170: 710020ef jal ra,40005880 <__mcmp> +40003174: e8a050e3 blez a0,40002ff4 <_dtoa_r+0xeb4> +40003178: 02012783 lw a5,32(sp) +4000317c: 03100713 li a4,49 +40003180: 00178a13 addi s4,a5,1 +40003184: 00e78023 sb a4,0(a5) +40003188: 01012783 lw a5,16(sp) +4000318c: 00178793 addi a5,a5,1 +40003190: 00f12823 sw a5,16(sp) +40003194: e6dff06f j 40003000 <_dtoa_r+0xec0> +40003198: 01012783 lw a5,16(sp) +4000319c: 03100713 li a4,49 +400031a0: 00178793 addi a5,a5,1 +400031a4: 00f12823 sw a5,16(sp) +400031a8: 02012783 lw a5,32(sp) +400031ac: 00e78023 sb a4,0(a5) +400031b0: d81ff06f j 40002f30 <_dtoa_r+0xdf0> +400031b4: 02012223 sw zero,36(sp) +400031b8: aa8ff06f j 40002460 <_dtoa_r+0x320> +400031bc: 00090513 mv a0,s2 +400031c0: 621070ef jal ra,4000afe0 <__floatsidf> +400031c4: 03012603 lw a2,48(sp) +400031c8: 03412683 lw a3,52(sp) +400031cc: fcc004b7 lui s1,0xfcc00 +400031d0: 4e9060ef jal ra,40009eb8 <__muldf3> +400031d4: 4000c7b7 lui a5,0x4000c +400031d8: c707a603 lw a2,-912(a5) # 4000bc70 <__clz_tab+0x13c> +400031dc: c747a683 lw a3,-908(a5) +400031e0: 0bd050ef jal ra,40008a9c <__adddf3> +400031e4: 00050413 mv s0,a0 +400031e8: 00b484b3 add s1,s1,a1 +400031ec: 4000c7b7 lui a5,0x4000c +400031f0: c787a603 lw a2,-904(a5) # 4000bc78 <__clz_tab+0x144> +400031f4: c7c7a683 lw a3,-900(a5) +400031f8: 03012503 lw a0,48(sp) +400031fc: 03412583 lw a1,52(sp) +40003200: 388070ef jal ra,4000a588 <__subdf3> +40003204: 00040613 mv a2,s0 +40003208: 00048693 mv a3,s1 +4000320c: 02a12823 sw a0,48(sp) +40003210: 02b12a23 sw a1,52(sp) +40003214: 29d060ef jal ra,40009cb0 <__gedf2> +40003218: 2ea04a63 bgtz a0,4000350c <_dtoa_r+0x13cc> +4000321c: 800007b7 lui a5,0x80000 +40003220: 03012503 lw a0,48(sp) +40003224: 03412583 lw a1,52(sp) +40003228: 00f4c4b3 xor s1,s1,a5 +4000322c: 00040613 mv a2,s0 +40003230: 00048693 mv a3,s1 +40003234: 381060ef jal ra,40009db4 <__ledf2> +40003238: 06055e63 bgez a0,400032b4 <_dtoa_r+0x1174> +4000323c: 00000993 li s3,0 +40003240: 00000493 li s1,0 +40003244: db1ff06f j 40002ff4 <_dtoa_r+0xeb4> +40003248: 02012503 lw a0,32(sp) +4000324c: fd5fe06f j 40002220 <_dtoa_r+0xe0> +40003250: 02c12783 lw a5,44(sp) +40003254: 413909b3 sub s3,s2,s3 +40003258: 013787b3 add a5,a5,s3 +4000325c: 02f12623 sw a5,44(sp) +40003260: 00090993 mv s3,s2 +40003264: 00000913 li s2,0 +40003268: 87dff06f j 40002ae4 <_dtoa_r+0x9a4> +4000326c: 040da223 sw zero,68(s11) +40003270: 00000593 li a1,0 +40003274: 000d8513 mv a0,s11 +40003278: 549010ef jal ra,40004fc0 <_Balloc> +4000327c: 00100b13 li s6,1 +40003280: 02a12023 sw a0,32(sp) +40003284: 04ada023 sw a0,64(s11) +40003288: 03612c23 sw s6,56(sp) +4000328c: 01612c23 sw s6,24(sp) +40003290: a40ff06f j 400024d0 <_dtoa_r+0x390> +40003294: 000b0d93 mv s11,s6 +40003298: 05c12c03 lw s8,92(sp) +4000329c: 06012983 lw s3,96(sp) +400032a0: 06412b83 lw s7,100(sp) +400032a4: 06812a83 lw s5,104(sp) +400032a8: 05812d03 lw s10,88(sp) +400032ac: 06c12c83 lw s9,108(sp) +400032b0: 04012b03 lw s6,64(sp) +400032b4: 03c12a03 lw s4,60(sp) +400032b8: 04812403 lw s0,72(sp) +400032bc: e2cff06f j 400028e8 <_dtoa_r+0x7a8> +400032c0: 01012783 lw a5,16(sp) +400032c4: 02912823 sw s1,48(sp) +400032c8: 02812a23 sw s0,52(sp) +400032cc: 00200913 li s2,2 +400032d0: ac078e63 beqz a5,400025ac <_dtoa_r+0x46c> +400032d4: 40f007b3 neg a5,a5 +400032d8: 00f7f713 andi a4,a5,15 +400032dc: 4000c6b7 lui a3,0x4000c +400032e0: 81868693 addi a3,a3,-2024 # 4000b818 <__mprec_tens> +400032e4: 00371713 slli a4,a4,0x3 +400032e8: 00d70733 add a4,a4,a3 +400032ec: 00072603 lw a2,0(a4) +400032f0: 00472683 lw a3,4(a4) +400032f4: 00040593 mv a1,s0 +400032f8: 00048513 mv a0,s1 +400032fc: 4047d413 srai s0,a5,0x4 +40003300: 3b9060ef jal ra,40009eb8 <__muldf3> +40003304: 02a12823 sw a0,48(sp) +40003308: 02b12a23 sw a1,52(sp) +4000330c: aa040063 beqz s0,400025ac <_dtoa_r+0x46c> +40003310: 4000c4b7 lui s1,0x4000c +40003314: 90848493 addi s1,s1,-1784 # 4000b908 <__mprec_bigtens> +40003318: 00050613 mv a2,a0 +4000331c: 00058693 mv a3,a1 +40003320: 00147793 andi a5,s0,1 +40003324: 00060513 mv a0,a2 +40003328: 40145413 srai s0,s0,0x1 +4000332c: 00068593 mv a1,a3 +40003330: 00078e63 beqz a5,4000334c <_dtoa_r+0x120c> +40003334: 0004a603 lw a2,0(s1) +40003338: 0044a683 lw a3,4(s1) +4000333c: 00190913 addi s2,s2,1 +40003340: 379060ef jal ra,40009eb8 <__muldf3> +40003344: 00050613 mv a2,a0 +40003348: 00058693 mv a3,a1 +4000334c: 00848493 addi s1,s1,8 +40003350: fc0418e3 bnez s0,40003320 <_dtoa_r+0x11e0> +40003354: 02c12823 sw a2,48(sp) +40003358: 02d12a23 sw a3,52(sp) +4000335c: a50ff06f j 400025ac <_dtoa_r+0x46c> +40003360: 02012783 lw a5,32(sp) +40003364: 03000713 li a4,48 +40003368: 00e78023 sb a4,0(a5) # 80000000 <_bss_end+0x3fff3978> +4000336c: 01012783 lw a5,16(sp) +40003370: fffa4403 lbu s0,-1(s4) +40003374: 00178793 addi a5,a5,1 +40003378: 00f12823 sw a5,16(sp) +4000337c: f3cff06f j 40002ab8 <_dtoa_r+0x978> +40003380: 0044a583 lw a1,4(s1) +40003384: 000d8513 mv a0,s11 +40003388: 439010ef jal ra,40004fc0 <_Balloc> +4000338c: 0104a603 lw a2,16(s1) +40003390: 00050413 mv s0,a0 +40003394: 00c48593 addi a1,s1,12 +40003398: 00260613 addi a2,a2,2 +4000339c: 00261613 slli a2,a2,0x2 +400033a0: 00c50513 addi a0,a0,12 +400033a4: 21d010ef jal ra,40004dc0 <memcpy> +400033a8: 00100613 li a2,1 +400033ac: 00040593 mv a1,s0 +400033b0: 000d8513 mv a0,s11 +400033b4: 384020ef jal ra,40005738 <__lshift> +400033b8: 00050b13 mv s6,a0 +400033bc: 945ff06f j 40002d00 <_dtoa_r+0xbc0> +400033c0: fff90793 addi a5,s2,-1 +400033c4: 4000c737 lui a4,0x4000c +400033c8: 81870713 addi a4,a4,-2024 # 4000b818 <__mprec_tens> +400033cc: 00379793 slli a5,a5,0x3 +400033d0: 00e787b3 add a5,a5,a4 +400033d4: 0007a503 lw a0,0(a5) +400033d8: 0047a583 lw a1,4(a5) +400033dc: 00040613 mv a2,s0 +400033e0: 00048693 mv a3,s1 +400033e4: 2d5060ef jal ra,40009eb8 <__muldf3> +400033e8: 04a12023 sw a0,64(sp) +400033ec: 04b12223 sw a1,68(sp) +400033f0: 03012503 lw a0,48(sp) +400033f4: 03412583 lw a1,52(sp) +400033f8: 4000c4b7 lui s1,0x4000c +400033fc: 361070ef jal ra,4000af5c <__fixdfsi> +40003400: 00050413 mv s0,a0 +40003404: 3dd070ef jal ra,4000afe0 <__floatsidf> +40003408: 00050613 mv a2,a0 +4000340c: 00058693 mv a3,a1 +40003410: 03012503 lw a0,48(sp) +40003414: 03412583 lw a1,52(sp) +40003418: 03040413 addi s0,s0,48 +4000341c: 16c070ef jal ra,4000a588 <__subdf3> +40003420: 02012783 lw a5,32(sp) +40003424: 00100713 li a4,1 +40003428: 00050813 mv a6,a0 +4000342c: 00878023 sb s0,0(a5) +40003430: 00058893 mv a7,a1 +40003434: 00e78a33 add s4,a5,a4 +40003438: 01278433 add s0,a5,s2 +4000343c: 08e90063 beq s2,a4,400034bc <_dtoa_r+0x137c> +40003440: c684a703 lw a4,-920(s1) # 4000bc68 <__clz_tab+0x134> +40003444: c6c4a783 lw a5,-916(s1) +40003448: 05612823 sw s6,80(sp) +4000344c: 02e12823 sw a4,48(sp) +40003450: 000a8b13 mv s6,s5 +40003454: 02f12a23 sw a5,52(sp) +40003458: 00098a93 mv s5,s3 +4000345c: 03012603 lw a2,48(sp) +40003460: 03412683 lw a3,52(sp) +40003464: 00080513 mv a0,a6 +40003468: 00088593 mv a1,a7 +4000346c: 24d060ef jal ra,40009eb8 <__muldf3> +40003470: 00058993 mv s3,a1 +40003474: 00050913 mv s2,a0 +40003478: 2e5070ef jal ra,4000af5c <__fixdfsi> +4000347c: 00050493 mv s1,a0 +40003480: 361070ef jal ra,4000afe0 <__floatsidf> +40003484: 00050613 mv a2,a0 +40003488: 00058693 mv a3,a1 +4000348c: 00090513 mv a0,s2 +40003490: 00098593 mv a1,s3 +40003494: 001a0a13 addi s4,s4,1 +40003498: 03048493 addi s1,s1,48 +4000349c: 0ec070ef jal ra,4000a588 <__subdf3> +400034a0: fe9a0fa3 sb s1,-1(s4) +400034a4: 00050813 mv a6,a0 +400034a8: 00058893 mv a7,a1 +400034ac: fa8a18e3 bne s4,s0,4000345c <_dtoa_r+0x131c> +400034b0: 000a8993 mv s3,s5 +400034b4: 000b0a93 mv s5,s6 +400034b8: 05012b03 lw s6,80(sp) +400034bc: 4000c437 lui s0,0x4000c +400034c0: c8042603 lw a2,-896(s0) # 4000bc80 <__clz_tab+0x14c> +400034c4: c8442683 lw a3,-892(s0) +400034c8: 04012503 lw a0,64(sp) +400034cc: 04412583 lw a1,68(sp) +400034d0: 03012823 sw a6,48(sp) +400034d4: 03112a23 sw a7,52(sp) +400034d8: 5c4050ef jal ra,40008a9c <__adddf3> +400034dc: 03012803 lw a6,48(sp) +400034e0: 03412883 lw a7,52(sp) +400034e4: 00080613 mv a2,a6 +400034e8: 00088693 mv a3,a7 +400034ec: 0c9060ef jal ra,40009db4 <__ledf2> +400034f0: 03012803 lw a6,48(sp) +400034f4: 03412883 lw a7,52(sp) +400034f8: 0e055263 bgez a0,400035dc <_dtoa_r+0x149c> +400034fc: 04c12783 lw a5,76(sp) +40003500: fffa4403 lbu s0,-1(s4) +40003504: 00f12823 sw a5,16(sp) +40003508: d90ff06f j 40002a98 <_dtoa_r+0x958> +4000350c: 00000993 li s3,0 +40003510: 00000493 li s1,0 +40003514: c65ff06f j 40003178 <_dtoa_r+0x1038> +40003518: 03900793 li a5,57 +4000351c: bafa84e3 beq s5,a5,400030c4 <_dtoa_r+0xf84> +40003520: 001a8a93 addi s5,s5,1 +40003524: b5dff06f j 40003080 <_dtoa_r+0xf40> +40003528: 00048413 mv s0,s1 +4000352c: 000b0493 mv s1,s6 +40003530: 9b5ff06f j 40002ee4 <_dtoa_r+0xda4> +40003534: 40ec0ab3 sub s5,s8,a4 +40003538: 00000793 li a5,0 +4000353c: db8ff06f j 40002af4 <_dtoa_r+0x9b4> +40003540: 00100793 li a5,1 +40003544: 995ff06f j 40002ed8 <_dtoa_r+0xd98> +40003548: 07812703 lw a4,120(sp) +4000354c: 03600793 li a5,54 +40003550: 00098913 mv s2,s3 +40003554: 40e787b3 sub a5,a5,a4 +40003558: 000c0a93 mv s5,s8 +4000355c: d98ff06f j 40002af4 <_dtoa_r+0x9b4> +40003560: 01812783 lw a5,24(sp) +40003564: c4078ce3 beqz a5,400031bc <_dtoa_r+0x107c> +40003568: 03812a03 lw s4,56(sp) +4000356c: d54054e3 blez s4,400032b4 <_dtoa_r+0x1174> +40003570: 4000c4b7 lui s1,0x4000c +40003574: 01012783 lw a5,16(sp) +40003578: c684a603 lw a2,-920(s1) # 4000bc68 <__clz_tab+0x134> +4000357c: c6c4a683 lw a3,-916(s1) +40003580: 03012503 lw a0,48(sp) +40003584: 03412583 lw a1,52(sp) +40003588: fff78793 addi a5,a5,-1 +4000358c: 04f12623 sw a5,76(sp) +40003590: 129060ef jal ra,40009eb8 <__muldf3> +40003594: 00050413 mv s0,a0 +40003598: 02a12823 sw a0,48(sp) +4000359c: 00190513 addi a0,s2,1 +400035a0: 00058493 mv s1,a1 +400035a4: 02b12a23 sw a1,52(sp) +400035a8: 239070ef jal ra,4000afe0 <__floatsidf> +400035ac: 00040613 mv a2,s0 +400035b0: 00048693 mv a3,s1 +400035b4: 105060ef jal ra,40009eb8 <__muldf3> +400035b8: 4000c7b7 lui a5,0x4000c +400035bc: c707a603 lw a2,-912(a5) # 4000bc70 <__clz_tab+0x13c> +400035c0: c747a683 lw a3,-908(a5) +400035c4: fcc004b7 lui s1,0xfcc00 +400035c8: 000a0913 mv s2,s4 +400035cc: 4d0050ef jal ra,40008a9c <__adddf3> +400035d0: 00050413 mv s0,a0 +400035d4: 00b484b3 add s1,s1,a1 +400035d8: 840ff06f j 40002618 <_dtoa_r+0x4d8> +400035dc: 04012603 lw a2,64(sp) +400035e0: 04412683 lw a3,68(sp) +400035e4: c8042503 lw a0,-896(s0) +400035e8: c8442583 lw a1,-892(s0) +400035ec: 03012823 sw a6,48(sp) +400035f0: 03112a23 sw a7,52(sp) +400035f4: 795060ef jal ra,4000a588 <__subdf3> +400035f8: 03012803 lw a6,48(sp) +400035fc: 03412883 lw a7,52(sp) +40003600: 00080613 mv a2,a6 +40003604: 00088693 mv a3,a7 +40003608: 6a8060ef jal ra,40009cb0 <__gedf2> +4000360c: 03000613 li a2,48 +40003610: 00a04663 bgtz a0,4000361c <_dtoa_r+0x14dc> +40003614: ca1ff06f j 400032b4 <_dtoa_r+0x1174> +40003618: 00070a13 mv s4,a4 +4000361c: fffa4783 lbu a5,-1(s4) +40003620: fffa0713 addi a4,s4,-1 +40003624: fec78ae3 beq a5,a2,40003618 <_dtoa_r+0x14d8> +40003628: 9f8ff06f j 40002820 <_dtoa_r+0x6e0> +4000362c: 05812d03 lw s10,88(sp) +40003630: 000b0d93 mv s11,s6 +40003634: 04c12783 lw a5,76(sp) +40003638: 00f12823 sw a5,16(sp) +4000363c: c5cff06f j 40002a98 <_dtoa_r+0x958> +40003640: a40510e3 bnez a0,40003080 <_dtoa_r+0xf40> +40003644: 001af793 andi a5,s5,1 +40003648: a2078ce3 beqz a5,40003080 <_dtoa_r+0xf40> +4000364c: a71ff06f j 400030bc <_dtoa_r+0xf7c> +40003650: 00048593 mv a1,s1 +40003654: 00000693 li a3,0 +40003658: 00a00613 li a2,10 +4000365c: 000d8513 mv a0,s11 +40003660: 229010ef jal ra,40005088 <__multadd> +40003664: 03812783 lw a5,56(sp) +40003668: 00050493 mv s1,a0 +4000366c: 00f05663 blez a5,40003678 <_dtoa_r+0x1538> +40003670: 00f12c23 sw a5,24(sp) +40003674: e6cff06f j 40002ce0 <_dtoa_r+0xba0> +40003678: 00200793 li a5,2 +4000367c: 0197c863 blt a5,s9,4000368c <_dtoa_r+0x154c> +40003680: 03812783 lw a5,56(sp) +40003684: 00f12c23 sw a5,24(sp) +40003688: e58ff06f j 40002ce0 <_dtoa_r+0xba0> +4000368c: 03812783 lw a5,56(sp) +40003690: 00f12c23 sw a5,24(sp) +40003694: ab5ff06f j 40003148 <_dtoa_r+0x1008> +40003698: e0d70063 beq a4,a3,40002c98 <_dtoa_r+0xb58> +4000369c: 03c00713 li a4,60 +400036a0: 40f707b3 sub a5,a4,a5 +400036a4: f7cff06f j 40002e20 <_dtoa_r+0xce0> + +400036a8 <__sflush_r>: +400036a8: 00c59783 lh a5,12(a1) +400036ac: fe010113 addi sp,sp,-32 +400036b0: 00912a23 sw s1,20(sp) +400036b4: 01079713 slli a4,a5,0x10 +400036b8: 01075713 srli a4,a4,0x10 +400036bc: 01312623 sw s3,12(sp) +400036c0: 00112e23 sw ra,28(sp) +400036c4: 00812c23 sw s0,24(sp) +400036c8: 01212823 sw s2,16(sp) +400036cc: 00877693 andi a3,a4,8 +400036d0: 00058493 mv s1,a1 +400036d4: 00050993 mv s3,a0 +400036d8: 10069a63 bnez a3,400037ec <__sflush_r+0x144> +400036dc: 00001737 lui a4,0x1 +400036e0: 80070713 addi a4,a4,-2048 # 800 <_stack_size> +400036e4: 0045a683 lw a3,4(a1) +400036e8: 00e7e7b3 or a5,a5,a4 +400036ec: 00f59623 sh a5,12(a1) +400036f0: 1ed05263 blez a3,400038d4 <__sflush_r+0x22c> +400036f4: 0284a803 lw a6,40(s1) # fcc00028 <_bss_end+0xbcbf39a0> +400036f8: 0c080a63 beqz a6,400037cc <__sflush_r+0x124> +400036fc: 01079793 slli a5,a5,0x10 +40003700: 0107d793 srli a5,a5,0x10 +40003704: 0009a403 lw s0,0(s3) +40003708: 01379713 slli a4,a5,0x13 +4000370c: 0009a023 sw zero,0(s3) +40003710: 1c075863 bgez a4,400038e0 <__sflush_r+0x238> +40003714: 0504a603 lw a2,80(s1) +40003718: 41f65693 srai a3,a2,0x1f +4000371c: 0047f793 andi a5,a5,4 +40003720: 04078263 beqz a5,40003764 <__sflush_r+0xbc> +40003724: 0044a783 lw a5,4(s1) +40003728: 0304a583 lw a1,48(s1) +4000372c: 40f60733 sub a4,a2,a5 +40003730: 41f7d793 srai a5,a5,0x1f +40003734: 00e63533 sltu a0,a2,a4 +40003738: 40f686b3 sub a3,a3,a5 +4000373c: 00070613 mv a2,a4 +40003740: 40a686b3 sub a3,a3,a0 +40003744: 02058063 beqz a1,40003764 <__sflush_r+0xbc> +40003748: 03c4a783 lw a5,60(s1) +4000374c: 40f70733 sub a4,a4,a5 +40003750: 41f7d793 srai a5,a5,0x1f +40003754: 00e635b3 sltu a1,a2,a4 +40003758: 40f686b3 sub a3,a3,a5 +4000375c: 00070613 mv a2,a4 +40003760: 40b686b3 sub a3,a3,a1 +40003764: 01c4a583 lw a1,28(s1) +40003768: 00000713 li a4,0 +4000376c: 00098513 mv a0,s3 +40003770: 000800e7 jalr a6 +40003774: fff00793 li a5,-1 +40003778: 0ef50c63 beq a0,a5,40003870 <__sflush_r+0x1c8> +4000377c: 00c4d783 lhu a5,12(s1) +40003780: fffff737 lui a4,0xfffff +40003784: 7ff70713 addi a4,a4,2047 # fffff7ff <_bss_end+0xbfff3177> +40003788: 00e7f7b3 and a5,a5,a4 +4000378c: 0104a683 lw a3,16(s1) +40003790: 01079793 slli a5,a5,0x10 +40003794: 4107d793 srai a5,a5,0x10 +40003798: 00f49623 sh a5,12(s1) +4000379c: 0004a223 sw zero,4(s1) +400037a0: 00d4a023 sw a3,0(s1) +400037a4: 01379713 slli a4,a5,0x13 +400037a8: 12074263 bltz a4,400038cc <__sflush_r+0x224> +400037ac: 0304a583 lw a1,48(s1) +400037b0: 0089a023 sw s0,0(s3) +400037b4: 00058c63 beqz a1,400037cc <__sflush_r+0x124> +400037b8: 04048793 addi a5,s1,64 +400037bc: 00f58663 beq a1,a5,400037c8 <__sflush_r+0x120> +400037c0: 00098513 mv a0,s3 +400037c4: 6c0000ef jal ra,40003e84 <_free_r> +400037c8: 0204a823 sw zero,48(s1) +400037cc: 00000513 li a0,0 +400037d0: 01c12083 lw ra,28(sp) +400037d4: 01812403 lw s0,24(sp) +400037d8: 01412483 lw s1,20(sp) +400037dc: 01012903 lw s2,16(sp) +400037e0: 00c12983 lw s3,12(sp) +400037e4: 02010113 addi sp,sp,32 +400037e8: 00008067 ret +400037ec: 0105a903 lw s2,16(a1) +400037f0: fc090ee3 beqz s2,400037cc <__sflush_r+0x124> +400037f4: 0005a403 lw s0,0(a1) +400037f8: 00377713 andi a4,a4,3 +400037fc: 0125a023 sw s2,0(a1) +40003800: 41240433 sub s0,s0,s2 +40003804: 00000793 li a5,0 +40003808: 00071463 bnez a4,40003810 <__sflush_r+0x168> +4000380c: 0145a783 lw a5,20(a1) +40003810: 00f4a423 sw a5,8(s1) +40003814: 00804863 bgtz s0,40003824 <__sflush_r+0x17c> +40003818: fb5ff06f j 400037cc <__sflush_r+0x124> +4000381c: 00a90933 add s2,s2,a0 +40003820: fa8056e3 blez s0,400037cc <__sflush_r+0x124> +40003824: 0244a783 lw a5,36(s1) +40003828: 01c4a583 lw a1,28(s1) +4000382c: 00040693 mv a3,s0 +40003830: 00090613 mv a2,s2 +40003834: 00098513 mv a0,s3 +40003838: 000780e7 jalr a5 +4000383c: 40a40433 sub s0,s0,a0 +40003840: fca04ee3 bgtz a0,4000381c <__sflush_r+0x174> +40003844: 00c4d783 lhu a5,12(s1) +40003848: 01c12083 lw ra,28(sp) +4000384c: fff00513 li a0,-1 +40003850: 0407e793 ori a5,a5,64 +40003854: 00f49623 sh a5,12(s1) +40003858: 01812403 lw s0,24(sp) +4000385c: 01412483 lw s1,20(sp) +40003860: 01012903 lw s2,16(sp) +40003864: 00c12983 lw s3,12(sp) +40003868: 02010113 addi sp,sp,32 +4000386c: 00008067 ret +40003870: f0a596e3 bne a1,a0,4000377c <__sflush_r+0xd4> +40003874: 0009a683 lw a3,0(s3) +40003878: 01d00793 li a5,29 +4000387c: fcd7e4e3 bltu a5,a3,40003844 <__sflush_r+0x19c> +40003880: 204007b7 lui a5,0x20400 +40003884: 00178793 addi a5,a5,1 # 20400001 <_heap_size+0x203fe001> +40003888: 00d7d7b3 srl a5,a5,a3 +4000388c: fff7c793 not a5,a5 +40003890: 0017f793 andi a5,a5,1 +40003894: fa0798e3 bnez a5,40003844 <__sflush_r+0x19c> +40003898: 00c4d783 lhu a5,12(s1) +4000389c: fffff737 lui a4,0xfffff +400038a0: 7ff70713 addi a4,a4,2047 # fffff7ff <_bss_end+0xbfff3177> +400038a4: 00e7f7b3 and a5,a5,a4 +400038a8: 0104a603 lw a2,16(s1) +400038ac: 01079793 slli a5,a5,0x10 +400038b0: 4107d793 srai a5,a5,0x10 +400038b4: 00f49623 sh a5,12(s1) +400038b8: 0004a223 sw zero,4(s1) +400038bc: 00c4a023 sw a2,0(s1) +400038c0: 01379713 slli a4,a5,0x13 +400038c4: ee0754e3 bgez a4,400037ac <__sflush_r+0x104> +400038c8: ee0692e3 bnez a3,400037ac <__sflush_r+0x104> +400038cc: 04a4a823 sw a0,80(s1) +400038d0: eddff06f j 400037ac <__sflush_r+0x104> +400038d4: 03c5a703 lw a4,60(a1) +400038d8: e0e04ee3 bgtz a4,400036f4 <__sflush_r+0x4c> +400038dc: ef1ff06f j 400037cc <__sflush_r+0x124> +400038e0: 01c4a583 lw a1,28(s1) +400038e4: 00000613 li a2,0 +400038e8: 00000693 li a3,0 +400038ec: 00100713 li a4,1 +400038f0: 00098513 mv a0,s3 +400038f4: 000800e7 jalr a6 +400038f8: fff00793 li a5,-1 +400038fc: 00050613 mv a2,a0 +40003900: 00058693 mv a3,a1 +40003904: 00f50863 beq a0,a5,40003914 <__sflush_r+0x26c> +40003908: 00c4d783 lhu a5,12(s1) +4000390c: 0284a803 lw a6,40(s1) +40003910: e0dff06f j 4000371c <__sflush_r+0x74> +40003914: fea59ae3 bne a1,a0,40003908 <__sflush_r+0x260> +40003918: 0009a783 lw a5,0(s3) +4000391c: fe0786e3 beqz a5,40003908 <__sflush_r+0x260> +40003920: 01d00713 li a4,29 +40003924: 00e78663 beq a5,a4,40003930 <__sflush_r+0x288> +40003928: 01600713 li a4,22 +4000392c: f0e79ce3 bne a5,a4,40003844 <__sflush_r+0x19c> +40003930: 0089a023 sw s0,0(s3) +40003934: 00000513 li a0,0 +40003938: e99ff06f j 400037d0 <__sflush_r+0x128> + +4000393c <_fflush_r>: +4000393c: fe010113 addi sp,sp,-32 +40003940: 00812c23 sw s0,24(sp) +40003944: 00112e23 sw ra,28(sp) +40003948: 00050413 mv s0,a0 +4000394c: 00050663 beqz a0,40003958 <_fflush_r+0x1c> +40003950: 03852783 lw a5,56(a0) +40003954: 02078a63 beqz a5,40003988 <_fflush_r+0x4c> +40003958: 00c59783 lh a5,12(a1) +4000395c: 00079c63 bnez a5,40003974 <_fflush_r+0x38> +40003960: 01c12083 lw ra,28(sp) +40003964: 00000513 li a0,0 +40003968: 01812403 lw s0,24(sp) +4000396c: 02010113 addi sp,sp,32 +40003970: 00008067 ret +40003974: 00040513 mv a0,s0 +40003978: 01c12083 lw ra,28(sp) +4000397c: 01812403 lw s0,24(sp) +40003980: 02010113 addi sp,sp,32 +40003984: d25ff06f j 400036a8 <__sflush_r> +40003988: 00b12623 sw a1,12(sp) +4000398c: 374000ef jal ra,40003d00 <__sinit> +40003990: 00c12583 lw a1,12(sp) +40003994: fc5ff06f j 40003958 <_fflush_r+0x1c> + +40003998 <fflush>: +40003998: 00050593 mv a1,a0 +4000399c: 00050863 beqz a0,400039ac <fflush+0x14> +400039a0: 4000c7b7 lui a5,0x4000c +400039a4: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +400039a8: f95ff06f j 4000393c <_fflush_r> +400039ac: 4000c7b7 lui a5,0x4000c +400039b0: 6287a503 lw a0,1576(a5) # 4000c628 <_global_impure_ptr> +400039b4: 400045b7 lui a1,0x40004 +400039b8: 93c58593 addi a1,a1,-1732 # 4000393c <_fflush_r> +400039bc: 0750006f j 40004230 <_fwalk_reent> + +400039c0 <__fp_unlock>: +400039c0: 00000513 li a0,0 +400039c4: 00008067 ret + +400039c8 <_cleanup_r>: +400039c8: 400075b7 lui a1,0x40007 +400039cc: 5fc58593 addi a1,a1,1532 # 400075fc <_fclose_r> +400039d0: 0610006f j 40004230 <_fwalk_reent> + +400039d4 <__sinit.part.1>: +400039d4: fe010113 addi sp,sp,-32 +400039d8: 400047b7 lui a5,0x40004 +400039dc: 00112e23 sw ra,28(sp) +400039e0: 00812c23 sw s0,24(sp) +400039e4: 00912a23 sw s1,20(sp) +400039e8: 00452403 lw s0,4(a0) +400039ec: 01212823 sw s2,16(sp) +400039f0: 01312623 sw s3,12(sp) +400039f4: 01412423 sw s4,8(sp) +400039f8: 01512223 sw s5,4(sp) +400039fc: 01612023 sw s6,0(sp) +40003a00: 9c878793 addi a5,a5,-1592 # 400039c8 <_cleanup_r> +40003a04: 02f52e23 sw a5,60(a0) +40003a08: 2ec50713 addi a4,a0,748 +40003a0c: 00300793 li a5,3 +40003a10: 2ee52423 sw a4,744(a0) +40003a14: 2ef52223 sw a5,740(a0) +40003a18: 2e052023 sw zero,736(a0) +40003a1c: 00400793 li a5,4 +40003a20: 00050913 mv s2,a0 +40003a24: 00f41623 sh a5,12(s0) +40003a28: 00800613 li a2,8 +40003a2c: 00000593 li a1,0 +40003a30: 00042023 sw zero,0(s0) +40003a34: 00042223 sw zero,4(s0) +40003a38: 00042423 sw zero,8(s0) +40003a3c: 06042223 sw zero,100(s0) +40003a40: 00041723 sh zero,14(s0) +40003a44: 00042823 sw zero,16(s0) +40003a48: 00042a23 sw zero,20(s0) +40003a4c: 00042c23 sw zero,24(s0) +40003a50: 05c40513 addi a0,s0,92 +40003a54: 488010ef jal ra,40004edc <memset> +40003a58: 40006b37 lui s6,0x40006 +40003a5c: 00892483 lw s1,8(s2) +40003a60: 40006ab7 lui s5,0x40006 +40003a64: 40006a37 lui s4,0x40006 +40003a68: 400069b7 lui s3,0x40006 +40003a6c: 034b0b13 addi s6,s6,52 # 40006034 <__sread> +40003a70: 098a8a93 addi s5,s5,152 # 40006098 <__swrite> +40003a74: 11ca0a13 addi s4,s4,284 # 4000611c <__sseek> +40003a78: 19098993 addi s3,s3,400 # 40006190 <__sclose> +40003a7c: 03642023 sw s6,32(s0) +40003a80: 03542223 sw s5,36(s0) +40003a84: 03442423 sw s4,40(s0) +40003a88: 03342623 sw s3,44(s0) +40003a8c: 00842e23 sw s0,28(s0) +40003a90: 00900793 li a5,9 +40003a94: 00f49623 sh a5,12(s1) +40003a98: 00100793 li a5,1 +40003a9c: 00f49723 sh a5,14(s1) +40003aa0: 00800613 li a2,8 +40003aa4: 00000593 li a1,0 +40003aa8: 0004a023 sw zero,0(s1) +40003aac: 0004a223 sw zero,4(s1) +40003ab0: 0004a423 sw zero,8(s1) +40003ab4: 0604a223 sw zero,100(s1) +40003ab8: 0004a823 sw zero,16(s1) +40003abc: 0004aa23 sw zero,20(s1) +40003ac0: 0004ac23 sw zero,24(s1) +40003ac4: 05c48513 addi a0,s1,92 +40003ac8: 414010ef jal ra,40004edc <memset> +40003acc: 00c92403 lw s0,12(s2) +40003ad0: 01200793 li a5,18 +40003ad4: 0364a023 sw s6,32(s1) +40003ad8: 0354a223 sw s5,36(s1) +40003adc: 0344a423 sw s4,40(s1) +40003ae0: 0334a623 sw s3,44(s1) +40003ae4: 0094ae23 sw s1,28(s1) +40003ae8: 00f41623 sh a5,12(s0) +40003aec: 00200793 li a5,2 +40003af0: 00f41723 sh a5,14(s0) +40003af4: 00042023 sw zero,0(s0) +40003af8: 00042223 sw zero,4(s0) +40003afc: 00042423 sw zero,8(s0) +40003b00: 06042223 sw zero,100(s0) +40003b04: 00042823 sw zero,16(s0) +40003b08: 00042a23 sw zero,20(s0) +40003b0c: 00042c23 sw zero,24(s0) +40003b10: 05c40513 addi a0,s0,92 +40003b14: 00800613 li a2,8 +40003b18: 00000593 li a1,0 +40003b1c: 3c0010ef jal ra,40004edc <memset> +40003b20: 01c12083 lw ra,28(sp) +40003b24: 03642023 sw s6,32(s0) +40003b28: 03542223 sw s5,36(s0) +40003b2c: 03442423 sw s4,40(s0) +40003b30: 03342623 sw s3,44(s0) +40003b34: 00842e23 sw s0,28(s0) +40003b38: 00100793 li a5,1 +40003b3c: 02f92c23 sw a5,56(s2) +40003b40: 01812403 lw s0,24(sp) +40003b44: 01412483 lw s1,20(sp) +40003b48: 01012903 lw s2,16(sp) +40003b4c: 00c12983 lw s3,12(sp) +40003b50: 00812a03 lw s4,8(sp) +40003b54: 00412a83 lw s5,4(sp) +40003b58: 00012b03 lw s6,0(sp) +40003b5c: 02010113 addi sp,sp,32 +40003b60: 00008067 ret + +40003b64 <__fp_lock>: +40003b64: 00000513 li a0,0 +40003b68: 00008067 ret + +40003b6c <__sfmoreglue>: +40003b6c: ff010113 addi sp,sp,-16 +40003b70: 00912223 sw s1,4(sp) +40003b74: 06800613 li a2,104 +40003b78: fff58493 addi s1,a1,-1 +40003b7c: 02c484b3 mul s1,s1,a2 +40003b80: 01212023 sw s2,0(sp) +40003b84: 00058913 mv s2,a1 +40003b88: 00812423 sw s0,8(sp) +40003b8c: 00112623 sw ra,12(sp) +40003b90: 07448593 addi a1,s1,116 +40003b94: 205000ef jal ra,40004598 <_malloc_r> +40003b98: 00050413 mv s0,a0 +40003b9c: 02050063 beqz a0,40003bbc <__sfmoreglue+0x50> +40003ba0: 00c50513 addi a0,a0,12 +40003ba4: 00042023 sw zero,0(s0) +40003ba8: 01242223 sw s2,4(s0) +40003bac: 00a42423 sw a0,8(s0) +40003bb0: 06848613 addi a2,s1,104 +40003bb4: 00000593 li a1,0 +40003bb8: 324010ef jal ra,40004edc <memset> +40003bbc: 00c12083 lw ra,12(sp) +40003bc0: 00040513 mv a0,s0 +40003bc4: 00412483 lw s1,4(sp) +40003bc8: 00812403 lw s0,8(sp) +40003bcc: 00012903 lw s2,0(sp) +40003bd0: 01010113 addi sp,sp,16 +40003bd4: 00008067 ret + +40003bd8 <__sfp>: +40003bd8: fe010113 addi sp,sp,-32 +40003bdc: 4000c7b7 lui a5,0x4000c +40003be0: 01212823 sw s2,16(sp) +40003be4: 6287a903 lw s2,1576(a5) # 4000c628 <_global_impure_ptr> +40003be8: 01312623 sw s3,12(sp) +40003bec: 00112e23 sw ra,28(sp) +40003bf0: 03892783 lw a5,56(s2) +40003bf4: 00812c23 sw s0,24(sp) +40003bf8: 00912a23 sw s1,20(sp) +40003bfc: 01412423 sw s4,8(sp) +40003c00: 00050993 mv s3,a0 +40003c04: 0a078c63 beqz a5,40003cbc <__sfp+0xe4> +40003c08: 2e090913 addi s2,s2,736 +40003c0c: fff00493 li s1,-1 +40003c10: 00400a13 li s4,4 +40003c14: 00492783 lw a5,4(s2) +40003c18: 00892403 lw s0,8(s2) +40003c1c: fff78793 addi a5,a5,-1 +40003c20: 0007da63 bgez a5,40003c34 <__sfp+0x5c> +40003c24: 0880006f j 40003cac <__sfp+0xd4> +40003c28: fff78793 addi a5,a5,-1 +40003c2c: 06840413 addi s0,s0,104 +40003c30: 06978e63 beq a5,s1,40003cac <__sfp+0xd4> +40003c34: 00c41703 lh a4,12(s0) +40003c38: fe0718e3 bnez a4,40003c28 <__sfp+0x50> +40003c3c: fff00793 li a5,-1 +40003c40: 00f41723 sh a5,14(s0) +40003c44: 00100793 li a5,1 +40003c48: 00f41623 sh a5,12(s0) +40003c4c: 06042223 sw zero,100(s0) +40003c50: 00042023 sw zero,0(s0) +40003c54: 00042423 sw zero,8(s0) +40003c58: 00042223 sw zero,4(s0) +40003c5c: 00042823 sw zero,16(s0) +40003c60: 00042a23 sw zero,20(s0) +40003c64: 00042c23 sw zero,24(s0) +40003c68: 00800613 li a2,8 +40003c6c: 00000593 li a1,0 +40003c70: 05c40513 addi a0,s0,92 +40003c74: 268010ef jal ra,40004edc <memset> +40003c78: 02042823 sw zero,48(s0) +40003c7c: 02042a23 sw zero,52(s0) +40003c80: 04042223 sw zero,68(s0) +40003c84: 04042423 sw zero,72(s0) +40003c88: 01c12083 lw ra,28(sp) +40003c8c: 00040513 mv a0,s0 +40003c90: 01412483 lw s1,20(sp) +40003c94: 01812403 lw s0,24(sp) +40003c98: 01012903 lw s2,16(sp) +40003c9c: 00c12983 lw s3,12(sp) +40003ca0: 00812a03 lw s4,8(sp) +40003ca4: 02010113 addi sp,sp,32 +40003ca8: 00008067 ret +40003cac: 00092503 lw a0,0(s2) +40003cb0: 00050c63 beqz a0,40003cc8 <__sfp+0xf0> +40003cb4: 00050913 mv s2,a0 +40003cb8: f5dff06f j 40003c14 <__sfp+0x3c> +40003cbc: 00090513 mv a0,s2 +40003cc0: d15ff0ef jal ra,400039d4 <__sinit.part.1> +40003cc4: f45ff06f j 40003c08 <__sfp+0x30> +40003cc8: 000a0593 mv a1,s4 +40003ccc: 00098513 mv a0,s3 +40003cd0: e9dff0ef jal ra,40003b6c <__sfmoreglue> +40003cd4: 00a92023 sw a0,0(s2) +40003cd8: fc051ee3 bnez a0,40003cb4 <__sfp+0xdc> +40003cdc: 00c00793 li a5,12 +40003ce0: 00f9a023 sw a5,0(s3) +40003ce4: 00000413 li s0,0 +40003ce8: fa1ff06f j 40003c88 <__sfp+0xb0> + +40003cec <_cleanup>: +40003cec: 4000c7b7 lui a5,0x4000c +40003cf0: 6287a503 lw a0,1576(a5) # 4000c628 <_global_impure_ptr> +40003cf4: 400075b7 lui a1,0x40007 +40003cf8: 5fc58593 addi a1,a1,1532 # 400075fc <_fclose_r> +40003cfc: 5340006f j 40004230 <_fwalk_reent> + +40003d00 <__sinit>: +40003d00: 03852783 lw a5,56(a0) +40003d04: 00078463 beqz a5,40003d0c <__sinit+0xc> +40003d08: 00008067 ret +40003d0c: cc9ff06f j 400039d4 <__sinit.part.1> + +40003d10 <__sfp_lock_acquire>: +40003d10: 00008067 ret + +40003d14 <__sfp_lock_release>: +40003d14: 00008067 ret + +40003d18 <__sinit_lock_acquire>: +40003d18: 00008067 ret + +40003d1c <__sinit_lock_release>: +40003d1c: 00008067 ret + +40003d20 <__fp_lock_all>: +40003d20: 4000c7b7 lui a5,0x4000c +40003d24: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +40003d28: 400045b7 lui a1,0x40004 +40003d2c: b6458593 addi a1,a1,-1180 # 40003b64 <__fp_lock> +40003d30: 4500006f j 40004180 <_fwalk> + +40003d34 <__fp_unlock_all>: +40003d34: 4000c7b7 lui a5,0x4000c +40003d38: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +40003d3c: 400045b7 lui a1,0x40004 +40003d40: 9c058593 addi a1,a1,-1600 # 400039c0 <__fp_unlock> +40003d44: 43c0006f j 40004180 <_fwalk> + +40003d48 <_malloc_trim_r>: +40003d48: fe010113 addi sp,sp,-32 +40003d4c: 01212823 sw s2,16(sp) +40003d50: 4000c937 lui s2,0x4000c +40003d54: 00812c23 sw s0,24(sp) +40003d58: 00912a23 sw s1,20(sp) +40003d5c: 01312623 sw s3,12(sp) +40003d60: 01412423 sw s4,8(sp) +40003d64: 00112e23 sw ra,28(sp) +40003d68: 00058a13 mv s4,a1 +40003d6c: 00050993 mv s3,a0 +40003d70: 22090913 addi s2,s2,544 # 4000c220 <__malloc_av_> +40003d74: 244010ef jal ra,40004fb8 <__malloc_lock> +40003d78: 00892703 lw a4,8(s2) +40003d7c: 000017b7 lui a5,0x1 +40003d80: fef78413 addi s0,a5,-17 # fef <_stack_size+0x7ef> +40003d84: 00472483 lw s1,4(a4) +40003d88: 41440433 sub s0,s0,s4 +40003d8c: ffc4f493 andi s1,s1,-4 +40003d90: 00940433 add s0,s0,s1 +40003d94: 00c45413 srli s0,s0,0xc +40003d98: fff40413 addi s0,s0,-1 +40003d9c: 00c41413 slli s0,s0,0xc +40003da0: 00f44e63 blt s0,a5,40003dbc <_malloc_trim_r+0x74> +40003da4: 00000593 li a1,0 +40003da8: 00098513 mv a0,s3 +40003dac: 228020ef jal ra,40005fd4 <_sbrk_r> +40003db0: 00892783 lw a5,8(s2) +40003db4: 009787b3 add a5,a5,s1 +40003db8: 02f50863 beq a0,a5,40003de8 <_malloc_trim_r+0xa0> +40003dbc: 00098513 mv a0,s3 +40003dc0: 1fc010ef jal ra,40004fbc <__malloc_unlock> +40003dc4: 01c12083 lw ra,28(sp) +40003dc8: 00000513 li a0,0 +40003dcc: 01812403 lw s0,24(sp) +40003dd0: 01412483 lw s1,20(sp) +40003dd4: 01012903 lw s2,16(sp) +40003dd8: 00c12983 lw s3,12(sp) +40003ddc: 00812a03 lw s4,8(sp) +40003de0: 02010113 addi sp,sp,32 +40003de4: 00008067 ret +40003de8: 408005b3 neg a1,s0 +40003dec: 00098513 mv a0,s3 +40003df0: 1e4020ef jal ra,40005fd4 <_sbrk_r> +40003df4: fff00793 li a5,-1 +40003df8: 04f50863 beq a0,a5,40003e48 <_malloc_trim_r+0x100> +40003dfc: 4000c737 lui a4,0x4000c +40003e00: 65c72783 lw a5,1628(a4) # 4000c65c <__malloc_current_mallinfo> +40003e04: 00892683 lw a3,8(s2) +40003e08: 408484b3 sub s1,s1,s0 +40003e0c: 0014e493 ori s1,s1,1 +40003e10: 40878433 sub s0,a5,s0 +40003e14: 00098513 mv a0,s3 +40003e18: 0096a223 sw s1,4(a3) +40003e1c: 64872e23 sw s0,1628(a4) +40003e20: 19c010ef jal ra,40004fbc <__malloc_unlock> +40003e24: 01c12083 lw ra,28(sp) +40003e28: 00100513 li a0,1 +40003e2c: 01812403 lw s0,24(sp) +40003e30: 01412483 lw s1,20(sp) +40003e34: 01012903 lw s2,16(sp) +40003e38: 00c12983 lw s3,12(sp) +40003e3c: 00812a03 lw s4,8(sp) +40003e40: 02010113 addi sp,sp,32 +40003e44: 00008067 ret +40003e48: 00000593 li a1,0 +40003e4c: 00098513 mv a0,s3 +40003e50: 184020ef jal ra,40005fd4 <_sbrk_r> +40003e54: 00892703 lw a4,8(s2) +40003e58: 00f00693 li a3,15 +40003e5c: 40e507b3 sub a5,a0,a4 +40003e60: f4f6dee3 ble a5,a3,40003dbc <_malloc_trim_r+0x74> +40003e64: 4000c6b7 lui a3,0x4000c +40003e68: 6346a683 lw a3,1588(a3) # 4000c634 <__malloc_sbrk_base> +40003e6c: 0017e793 ori a5,a5,1 +40003e70: 00f72223 sw a5,4(a4) +40003e74: 40d50533 sub a0,a0,a3 +40003e78: 4000c6b7 lui a3,0x4000c +40003e7c: 64a6ae23 sw a0,1628(a3) # 4000c65c <__malloc_current_mallinfo> +40003e80: f3dff06f j 40003dbc <_malloc_trim_r+0x74> + +40003e84 <_free_r>: +40003e84: 0e058e63 beqz a1,40003f80 <_free_r+0xfc> +40003e88: ff010113 addi sp,sp,-16 +40003e8c: 00812423 sw s0,8(sp) +40003e90: 00912223 sw s1,4(sp) +40003e94: 00058413 mv s0,a1 +40003e98: 00050493 mv s1,a0 +40003e9c: 00112623 sw ra,12(sp) +40003ea0: 118010ef jal ra,40004fb8 <__malloc_lock> +40003ea4: ffc42503 lw a0,-4(s0) +40003ea8: ff840693 addi a3,s0,-8 +40003eac: 4000c5b7 lui a1,0x4000c +40003eb0: ffe57793 andi a5,a0,-2 +40003eb4: 00f68633 add a2,a3,a5 +40003eb8: 22058593 addi a1,a1,544 # 4000c220 <__malloc_av_> +40003ebc: 00462703 lw a4,4(a2) +40003ec0: 0085a803 lw a6,8(a1) +40003ec4: ffc77713 andi a4,a4,-4 +40003ec8: 15060e63 beq a2,a6,40004024 <_free_r+0x1a0> +40003ecc: 00e62223 sw a4,4(a2) +40003ed0: 00157513 andi a0,a0,1 +40003ed4: 02051663 bnez a0,40003f00 <_free_r+0x7c> +40003ed8: ff842883 lw a7,-8(s0) +40003edc: 4000c537 lui a0,0x4000c +40003ee0: 22850513 addi a0,a0,552 # 4000c228 <__malloc_av_+0x8> +40003ee4: 411686b3 sub a3,a3,a7 +40003ee8: 0086a803 lw a6,8(a3) +40003eec: 011787b3 add a5,a5,a7 +40003ef0: 18a80863 beq a6,a0,40004080 <_free_r+0x1fc> +40003ef4: 00c6a503 lw a0,12(a3) +40003ef8: 00a82623 sw a0,12(a6) +40003efc: 01052423 sw a6,8(a0) +40003f00: 00e60533 add a0,a2,a4 +40003f04: 00452503 lw a0,4(a0) +40003f08: 00157513 andi a0,a0,1 +40003f0c: 0e050263 beqz a0,40003ff0 <_free_r+0x16c> +40003f10: 0017e713 ori a4,a5,1 +40003f14: 00e6a223 sw a4,4(a3) +40003f18: 00f68733 add a4,a3,a5 +40003f1c: 00f72023 sw a5,0(a4) +40003f20: 1ff00713 li a4,511 +40003f24: 06f76063 bltu a4,a5,40003f84 <_free_r+0x100> +40003f28: 0037d793 srli a5,a5,0x3 +40003f2c: 00178713 addi a4,a5,1 +40003f30: 00371713 slli a4,a4,0x3 +40003f34: 0045a803 lw a6,4(a1) +40003f38: 00e58733 add a4,a1,a4 +40003f3c: 00072503 lw a0,0(a4) +40003f40: 4027d613 srai a2,a5,0x2 +40003f44: 00100793 li a5,1 +40003f48: 00c797b3 sll a5,a5,a2 +40003f4c: 0107e7b3 or a5,a5,a6 +40003f50: ff870613 addi a2,a4,-8 +40003f54: 00c6a623 sw a2,12(a3) +40003f58: 00a6a423 sw a0,8(a3) +40003f5c: 00f5a223 sw a5,4(a1) +40003f60: 00d72023 sw a3,0(a4) +40003f64: 00d52623 sw a3,12(a0) +40003f68: 00048513 mv a0,s1 +40003f6c: 00c12083 lw ra,12(sp) +40003f70: 00812403 lw s0,8(sp) +40003f74: 00412483 lw s1,4(sp) +40003f78: 01010113 addi sp,sp,16 +40003f7c: 0400106f j 40004fbc <__malloc_unlock> +40003f80: 00008067 ret +40003f84: 0097d713 srli a4,a5,0x9 +40003f88: 00400613 li a2,4 +40003f8c: 12e66663 bltu a2,a4,400040b8 <_free_r+0x234> +40003f90: 0067d713 srli a4,a5,0x6 +40003f94: 03970513 addi a0,a4,57 +40003f98: 03870613 addi a2,a4,56 +40003f9c: 00351513 slli a0,a0,0x3 +40003fa0: 00a58533 add a0,a1,a0 +40003fa4: 00052703 lw a4,0(a0) +40003fa8: ff850513 addi a0,a0,-8 +40003fac: 12e50263 beq a0,a4,400040d0 <_free_r+0x24c> +40003fb0: 00472603 lw a2,4(a4) +40003fb4: ffc67613 andi a2,a2,-4 +40003fb8: 0cc7f063 bleu a2,a5,40004078 <_free_r+0x1f4> +40003fbc: 00872703 lw a4,8(a4) +40003fc0: fee518e3 bne a0,a4,40003fb0 <_free_r+0x12c> +40003fc4: 00c52783 lw a5,12(a0) +40003fc8: 00a6a423 sw a0,8(a3) +40003fcc: 00f6a623 sw a5,12(a3) +40003fd0: 00d7a423 sw a3,8(a5) +40003fd4: 00d52623 sw a3,12(a0) +40003fd8: 00c12083 lw ra,12(sp) +40003fdc: 00048513 mv a0,s1 +40003fe0: 00812403 lw s0,8(sp) +40003fe4: 00412483 lw s1,4(sp) +40003fe8: 01010113 addi sp,sp,16 +40003fec: 7d10006f j 40004fbc <__malloc_unlock> +40003ff0: 00862503 lw a0,8(a2) +40003ff4: 4000c837 lui a6,0x4000c +40003ff8: 22880813 addi a6,a6,552 # 4000c228 <__malloc_av_+0x8> +40003ffc: 00e787b3 add a5,a5,a4 +40004000: 0f050863 beq a0,a6,400040f0 <_free_r+0x26c> +40004004: 00c62803 lw a6,12(a2) +40004008: 0017e613 ori a2,a5,1 +4000400c: 00f68733 add a4,a3,a5 +40004010: 01052623 sw a6,12(a0) +40004014: 00a82423 sw a0,8(a6) +40004018: 00c6a223 sw a2,4(a3) +4000401c: 00f72023 sw a5,0(a4) +40004020: f01ff06f j 40003f20 <_free_r+0x9c> +40004024: 00157513 andi a0,a0,1 +40004028: 00e787b3 add a5,a5,a4 +4000402c: 02051063 bnez a0,4000404c <_free_r+0x1c8> +40004030: ff842503 lw a0,-8(s0) +40004034: 40a686b3 sub a3,a3,a0 +40004038: 00c6a703 lw a4,12(a3) +4000403c: 0086a603 lw a2,8(a3) +40004040: 00a787b3 add a5,a5,a0 +40004044: 00e62623 sw a4,12(a2) +40004048: 00c72423 sw a2,8(a4) +4000404c: 4000c737 lui a4,0x4000c +40004050: 0017e613 ori a2,a5,1 +40004054: 63872703 lw a4,1592(a4) # 4000c638 <__malloc_trim_threshold> +40004058: 00c6a223 sw a2,4(a3) +4000405c: 00d5a423 sw a3,8(a1) +40004060: f0e7e4e3 bltu a5,a4,40003f68 <_free_r+0xe4> +40004064: 4000c7b7 lui a5,0x4000c +40004068: 6547a583 lw a1,1620(a5) # 4000c654 <__malloc_top_pad> +4000406c: 00048513 mv a0,s1 +40004070: cd9ff0ef jal ra,40003d48 <_malloc_trim_r> +40004074: ef5ff06f j 40003f68 <_free_r+0xe4> +40004078: 00070513 mv a0,a4 +4000407c: f49ff06f j 40003fc4 <_free_r+0x140> +40004080: 00e605b3 add a1,a2,a4 +40004084: 0045a583 lw a1,4(a1) +40004088: 0015f593 andi a1,a1,1 +4000408c: 0e059263 bnez a1,40004170 <_free_r+0x2ec> +40004090: 00862583 lw a1,8(a2) +40004094: 00c62603 lw a2,12(a2) +40004098: 00f707b3 add a5,a4,a5 +4000409c: 0017e713 ori a4,a5,1 +400040a0: 00c5a623 sw a2,12(a1) +400040a4: 00b62423 sw a1,8(a2) +400040a8: 00e6a223 sw a4,4(a3) +400040ac: 00f686b3 add a3,a3,a5 +400040b0: 00f6a023 sw a5,0(a3) +400040b4: eb5ff06f j 40003f68 <_free_r+0xe4> +400040b8: 01400613 li a2,20 +400040bc: 04e66c63 bltu a2,a4,40004114 <_free_r+0x290> +400040c0: 05c70513 addi a0,a4,92 +400040c4: 05b70613 addi a2,a4,91 +400040c8: 00351513 slli a0,a0,0x3 +400040cc: ed5ff06f j 40003fa0 <_free_r+0x11c> +400040d0: 0045a803 lw a6,4(a1) +400040d4: 40265713 srai a4,a2,0x2 +400040d8: 00100793 li a5,1 +400040dc: 00e797b3 sll a5,a5,a4 +400040e0: 0107e7b3 or a5,a5,a6 +400040e4: 00f5a223 sw a5,4(a1) +400040e8: 00050793 mv a5,a0 +400040ec: eddff06f j 40003fc8 <_free_r+0x144> +400040f0: 00d5aa23 sw a3,20(a1) +400040f4: 00d5a823 sw a3,16(a1) +400040f8: 0017e713 ori a4,a5,1 +400040fc: 00a6a623 sw a0,12(a3) +40004100: 00a6a423 sw a0,8(a3) +40004104: 00e6a223 sw a4,4(a3) +40004108: 00f686b3 add a3,a3,a5 +4000410c: 00f6a023 sw a5,0(a3) +40004110: e59ff06f j 40003f68 <_free_r+0xe4> +40004114: 05400613 li a2,84 +40004118: 00e66c63 bltu a2,a4,40004130 <_free_r+0x2ac> +4000411c: 00c7d713 srli a4,a5,0xc +40004120: 06f70513 addi a0,a4,111 +40004124: 06e70613 addi a2,a4,110 +40004128: 00351513 slli a0,a0,0x3 +4000412c: e75ff06f j 40003fa0 <_free_r+0x11c> +40004130: 15400613 li a2,340 +40004134: 00e66c63 bltu a2,a4,4000414c <_free_r+0x2c8> +40004138: 00f7d713 srli a4,a5,0xf +4000413c: 07870513 addi a0,a4,120 +40004140: 07770613 addi a2,a4,119 +40004144: 00351513 slli a0,a0,0x3 +40004148: e59ff06f j 40003fa0 <_free_r+0x11c> +4000414c: 55400813 li a6,1364 +40004150: 3f800513 li a0,1016 +40004154: 07e00613 li a2,126 +40004158: e4e864e3 bltu a6,a4,40003fa0 <_free_r+0x11c> +4000415c: 0127d713 srli a4,a5,0x12 +40004160: 07d70513 addi a0,a4,125 +40004164: 07c70613 addi a2,a4,124 +40004168: 00351513 slli a0,a0,0x3 +4000416c: e35ff06f j 40003fa0 <_free_r+0x11c> +40004170: 0017e713 ori a4,a5,1 +40004174: 00e6a223 sw a4,4(a3) +40004178: 00f62023 sw a5,0(a2) +4000417c: dedff06f j 40003f68 <_free_r+0xe4> + +40004180 <_fwalk>: +40004180: fe010113 addi sp,sp,-32 +40004184: 01512223 sw s5,4(sp) +40004188: 00112e23 sw ra,28(sp) +4000418c: 00812c23 sw s0,24(sp) +40004190: 00912a23 sw s1,20(sp) +40004194: 01212823 sw s2,16(sp) +40004198: 01312623 sw s3,12(sp) +4000419c: 01412423 sw s4,8(sp) +400041a0: 01612023 sw s6,0(sp) +400041a4: 2e050a93 addi s5,a0,736 +400041a8: 080a8063 beqz s5,40004228 <_fwalk+0xa8> +400041ac: 00058b13 mv s6,a1 +400041b0: 00000a13 li s4,0 +400041b4: 00100993 li s3,1 +400041b8: fff00913 li s2,-1 +400041bc: 004aa483 lw s1,4(s5) +400041c0: 008aa403 lw s0,8(s5) +400041c4: fff48493 addi s1,s1,-1 +400041c8: 0204c663 bltz s1,400041f4 <_fwalk+0x74> +400041cc: 00c45783 lhu a5,12(s0) +400041d0: fff48493 addi s1,s1,-1 +400041d4: 00f9fc63 bleu a5,s3,400041ec <_fwalk+0x6c> +400041d8: 00e41783 lh a5,14(s0) +400041dc: 00040513 mv a0,s0 +400041e0: 01278663 beq a5,s2,400041ec <_fwalk+0x6c> +400041e4: 000b00e7 jalr s6 +400041e8: 00aa6a33 or s4,s4,a0 +400041ec: 06840413 addi s0,s0,104 +400041f0: fd249ee3 bne s1,s2,400041cc <_fwalk+0x4c> +400041f4: 000aaa83 lw s5,0(s5) +400041f8: fc0a92e3 bnez s5,400041bc <_fwalk+0x3c> +400041fc: 01c12083 lw ra,28(sp) +40004200: 000a0513 mv a0,s4 +40004204: 01812403 lw s0,24(sp) +40004208: 01412483 lw s1,20(sp) +4000420c: 01012903 lw s2,16(sp) +40004210: 00c12983 lw s3,12(sp) +40004214: 00812a03 lw s4,8(sp) +40004218: 00412a83 lw s5,4(sp) +4000421c: 00012b03 lw s6,0(sp) +40004220: 02010113 addi sp,sp,32 +40004224: 00008067 ret +40004228: 00000a13 li s4,0 +4000422c: fd1ff06f j 400041fc <_fwalk+0x7c> + +40004230 <_fwalk_reent>: +40004230: fd010113 addi sp,sp,-48 +40004234: 01612823 sw s6,16(sp) +40004238: 02112623 sw ra,44(sp) +4000423c: 02812423 sw s0,40(sp) +40004240: 02912223 sw s1,36(sp) +40004244: 03212023 sw s2,32(sp) +40004248: 01312e23 sw s3,28(sp) +4000424c: 01412c23 sw s4,24(sp) +40004250: 01512a23 sw s5,20(sp) +40004254: 01712623 sw s7,12(sp) +40004258: 2e050b13 addi s6,a0,736 +4000425c: 080b0663 beqz s6,400042e8 <_fwalk_reent+0xb8> +40004260: 00058b93 mv s7,a1 +40004264: 00050a93 mv s5,a0 +40004268: 00000a13 li s4,0 +4000426c: 00100993 li s3,1 +40004270: fff00913 li s2,-1 +40004274: 004b2483 lw s1,4(s6) +40004278: 008b2403 lw s0,8(s6) +4000427c: fff48493 addi s1,s1,-1 +40004280: 0204c863 bltz s1,400042b0 <_fwalk_reent+0x80> +40004284: 00c45783 lhu a5,12(s0) +40004288: fff48493 addi s1,s1,-1 +4000428c: 00f9fe63 bleu a5,s3,400042a8 <_fwalk_reent+0x78> +40004290: 00e41783 lh a5,14(s0) +40004294: 00040593 mv a1,s0 +40004298: 000a8513 mv a0,s5 +4000429c: 01278663 beq a5,s2,400042a8 <_fwalk_reent+0x78> +400042a0: 000b80e7 jalr s7 +400042a4: 00aa6a33 or s4,s4,a0 +400042a8: 06840413 addi s0,s0,104 +400042ac: fd249ce3 bne s1,s2,40004284 <_fwalk_reent+0x54> +400042b0: 000b2b03 lw s6,0(s6) +400042b4: fc0b10e3 bnez s6,40004274 <_fwalk_reent+0x44> +400042b8: 02c12083 lw ra,44(sp) +400042bc: 000a0513 mv a0,s4 +400042c0: 02812403 lw s0,40(sp) +400042c4: 02412483 lw s1,36(sp) +400042c8: 02012903 lw s2,32(sp) +400042cc: 01c12983 lw s3,28(sp) +400042d0: 01812a03 lw s4,24(sp) +400042d4: 01412a83 lw s5,20(sp) +400042d8: 01012b03 lw s6,16(sp) +400042dc: 00c12b83 lw s7,12(sp) +400042e0: 03010113 addi sp,sp,48 +400042e4: 00008067 ret +400042e8: 00000a13 li s4,0 +400042ec: fcdff06f j 400042b8 <_fwalk_reent+0x88> + +400042f0 <_setlocale_r>: +400042f0: ff010113 addi sp,sp,-16 +400042f4: 00912223 sw s1,4(sp) +400042f8: 00112623 sw ra,12(sp) +400042fc: 00812423 sw s0,8(sp) +40004300: 4000b4b7 lui s1,0x4000b +40004304: 02060063 beqz a2,40004324 <_setlocale_r+0x34> +40004308: 4000b5b7 lui a1,0x4000b +4000430c: 7f858593 addi a1,a1,2040 # 4000b7f8 <zeroes.4139+0x68> +40004310: 00060513 mv a0,a2 +40004314: 00060413 mv s0,a2 +40004318: 681010ef jal ra,40006198 <strcmp> +4000431c: 4000b4b7 lui s1,0x4000b +40004320: 00051e63 bnez a0,4000433c <_setlocale_r+0x4c> +40004324: 7f448513 addi a0,s1,2036 # 4000b7f4 <zeroes.4139+0x64> +40004328: 00c12083 lw ra,12(sp) +4000432c: 00812403 lw s0,8(sp) +40004330: 00412483 lw s1,4(sp) +40004334: 01010113 addi sp,sp,16 +40004338: 00008067 ret +4000433c: 7f448593 addi a1,s1,2036 +40004340: 00040513 mv a0,s0 +40004344: 655010ef jal ra,40006198 <strcmp> +40004348: fc050ee3 beqz a0,40004324 <_setlocale_r+0x34> +4000434c: 4000b5b7 lui a1,0x4000b +40004350: 61858593 addi a1,a1,1560 # 4000b618 <__clzsi2+0x78> +40004354: 00040513 mv a0,s0 +40004358: 641010ef jal ra,40006198 <strcmp> +4000435c: fc0504e3 beqz a0,40004324 <_setlocale_r+0x34> +40004360: 00000513 li a0,0 +40004364: fc5ff06f j 40004328 <_setlocale_r+0x38> + +40004368 <__locale_charset>: +40004368: 4000c537 lui a0,0x4000c +4000436c: 1a850513 addi a0,a0,424 # 4000c1a8 <lc_ctype_charset> +40004370: 00008067 ret + +40004374 <__locale_mb_cur_max>: +40004374: 4000c7b7 lui a5,0x4000c +40004378: 6307a503 lw a0,1584(a5) # 4000c630 <__mb_cur_max> +4000437c: 00008067 ret + +40004380 <__locale_msgcharset>: +40004380: 4000c537 lui a0,0x4000c +40004384: 1c850513 addi a0,a0,456 # 4000c1c8 <lc_message_charset> +40004388: 00008067 ret + +4000438c <__locale_cjk_lang>: +4000438c: 00000513 li a0,0 +40004390: 00008067 ret + +40004394 <_localeconv_r>: +40004394: 4000c537 lui a0,0x4000c +40004398: 1e850513 addi a0,a0,488 # 4000c1e8 <lconv> +4000439c: 00008067 ret + +400043a0 <setlocale>: +400043a0: 4000c7b7 lui a5,0x4000c +400043a4: 00058613 mv a2,a1 +400043a8: 00050593 mv a1,a0 +400043ac: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +400043b0: f41ff06f j 400042f0 <_setlocale_r> + +400043b4 <localeconv>: +400043b4: 4000c537 lui a0,0x4000c +400043b8: 1e850513 addi a0,a0,488 # 4000c1e8 <lconv> +400043bc: 00008067 ret + +400043c0 <__swhatbuf_r>: +400043c0: f8010113 addi sp,sp,-128 +400043c4: 06812c23 sw s0,120(sp) +400043c8: 00058413 mv s0,a1 +400043cc: 00e59583 lh a1,14(a1) +400043d0: 06912a23 sw s1,116(sp) +400043d4: 07212823 sw s2,112(sp) +400043d8: 06112e23 sw ra,124(sp) +400043dc: 00060493 mv s1,a2 +400043e0: 00068913 mv s2,a3 +400043e4: 0405ca63 bltz a1,40004438 <__swhatbuf_r+0x78> +400043e8: 00810613 addi a2,sp,8 +400043ec: 500030ef jal ra,400078ec <_fstat_r> +400043f0: 04054463 bltz a0,40004438 <__swhatbuf_r+0x78> +400043f4: 01812783 lw a5,24(sp) +400043f8: 0000f737 lui a4,0xf +400043fc: 07c12083 lw ra,124(sp) +40004400: 00e7f7b3 and a5,a5,a4 +40004404: ffffe737 lui a4,0xffffe +40004408: 00e787b3 add a5,a5,a4 +4000440c: 0017b793 seqz a5,a5 +40004410: 00f92023 sw a5,0(s2) +40004414: 00001537 lui a0,0x1 +40004418: 40000793 li a5,1024 +4000441c: 00f4a023 sw a5,0(s1) +40004420: 80050513 addi a0,a0,-2048 # 800 <_stack_size> +40004424: 07812403 lw s0,120(sp) +40004428: 07412483 lw s1,116(sp) +4000442c: 07012903 lw s2,112(sp) +40004430: 08010113 addi sp,sp,128 +40004434: 00008067 ret +40004438: 00c45783 lhu a5,12(s0) +4000443c: 00092023 sw zero,0(s2) +40004440: 0807f793 andi a5,a5,128 +40004444: 02078463 beqz a5,4000446c <__swhatbuf_r+0xac> +40004448: 07c12083 lw ra,124(sp) +4000444c: 04000793 li a5,64 +40004450: 00f4a023 sw a5,0(s1) +40004454: 00000513 li a0,0 +40004458: 07812403 lw s0,120(sp) +4000445c: 07412483 lw s1,116(sp) +40004460: 07012903 lw s2,112(sp) +40004464: 08010113 addi sp,sp,128 +40004468: 00008067 ret +4000446c: 07c12083 lw ra,124(sp) +40004470: 40000793 li a5,1024 +40004474: 00f4a023 sw a5,0(s1) +40004478: 00000513 li a0,0 +4000447c: 07812403 lw s0,120(sp) +40004480: 07412483 lw s1,116(sp) +40004484: 07012903 lw s2,112(sp) +40004488: 08010113 addi sp,sp,128 +4000448c: 00008067 ret + +40004490 <__smakebuf_r>: +40004490: 00c5d703 lhu a4,12(a1) +40004494: fe010113 addi sp,sp,-32 +40004498: 00812c23 sw s0,24(sp) +4000449c: 00112e23 sw ra,28(sp) +400044a0: 00912a23 sw s1,20(sp) +400044a4: 01212823 sw s2,16(sp) +400044a8: 00277713 andi a4,a4,2 +400044ac: 00058413 mv s0,a1 +400044b0: 02070863 beqz a4,400044e0 <__smakebuf_r+0x50> +400044b4: 04358713 addi a4,a1,67 +400044b8: 00e5a023 sw a4,0(a1) +400044bc: 00e5a823 sw a4,16(a1) +400044c0: 00100713 li a4,1 +400044c4: 00e5aa23 sw a4,20(a1) +400044c8: 01c12083 lw ra,28(sp) +400044cc: 01812403 lw s0,24(sp) +400044d0: 01412483 lw s1,20(sp) +400044d4: 01012903 lw s2,16(sp) +400044d8: 02010113 addi sp,sp,32 +400044dc: 00008067 ret +400044e0: 00c10693 addi a3,sp,12 +400044e4: 00810613 addi a2,sp,8 +400044e8: 00050493 mv s1,a0 +400044ec: ed5ff0ef jal ra,400043c0 <__swhatbuf_r> +400044f0: 00812583 lw a1,8(sp) +400044f4: 00050913 mv s2,a0 +400044f8: 00048513 mv a0,s1 +400044fc: 09c000ef jal ra,40004598 <_malloc_r> +40004500: 00c41783 lh a5,12(s0) +40004504: 06050663 beqz a0,40004570 <__smakebuf_r+0xe0> +40004508: 40004737 lui a4,0x40004 +4000450c: 9c870713 addi a4,a4,-1592 # 400039c8 <_cleanup_r> +40004510: 02e4ae23 sw a4,60(s1) +40004514: 00812703 lw a4,8(sp) +40004518: 00c12683 lw a3,12(sp) +4000451c: 0807e793 ori a5,a5,128 +40004520: 00f41623 sh a5,12(s0) +40004524: 00a42023 sw a0,0(s0) +40004528: 00a42823 sw a0,16(s0) +4000452c: 00e42a23 sw a4,20(s0) +40004530: 02069263 bnez a3,40004554 <__smakebuf_r+0xc4> +40004534: 01c12083 lw ra,28(sp) +40004538: 0127e7b3 or a5,a5,s2 +4000453c: 00f41623 sh a5,12(s0) +40004540: 01412483 lw s1,20(sp) +40004544: 01812403 lw s0,24(sp) +40004548: 01012903 lw s2,16(sp) +4000454c: 02010113 addi sp,sp,32 +40004550: 00008067 ret +40004554: 00e41583 lh a1,14(s0) +40004558: 00048513 mv a0,s1 +4000455c: 09d030ef jal ra,40007df8 <_isatty_r> +40004560: 00c41783 lh a5,12(s0) +40004564: fc0508e3 beqz a0,40004534 <__smakebuf_r+0xa4> +40004568: 0017e793 ori a5,a5,1 +4000456c: fc9ff06f j 40004534 <__smakebuf_r+0xa4> +40004570: 2007f713 andi a4,a5,512 +40004574: f4071ae3 bnez a4,400044c8 <__smakebuf_r+0x38> +40004578: 0027e793 ori a5,a5,2 +4000457c: 04340713 addi a4,s0,67 +40004580: 00f41623 sh a5,12(s0) +40004584: 00100793 li a5,1 +40004588: 00e42023 sw a4,0(s0) +4000458c: 00e42823 sw a4,16(s0) +40004590: 00f42a23 sw a5,20(s0) +40004594: f35ff06f j 400044c8 <__smakebuf_r+0x38> + +40004598 <_malloc_r>: +40004598: fd010113 addi sp,sp,-48 +4000459c: 02912223 sw s1,36(sp) +400045a0: 01312e23 sw s3,28(sp) +400045a4: 02112623 sw ra,44(sp) +400045a8: 02812423 sw s0,40(sp) +400045ac: 03212023 sw s2,32(sp) +400045b0: 01412c23 sw s4,24(sp) +400045b4: 01512a23 sw s5,20(sp) +400045b8: 01612823 sw s6,16(sp) +400045bc: 01712623 sw s7,12(sp) +400045c0: 01812423 sw s8,8(sp) +400045c4: 01912223 sw s9,4(sp) +400045c8: 00b58493 addi s1,a1,11 +400045cc: 01600793 li a5,22 +400045d0: 00050993 mv s3,a0 +400045d4: 1a97fa63 bleu s1,a5,40004788 <_malloc_r+0x1f0> +400045d8: ff84f493 andi s1,s1,-8 +400045dc: 2404c063 bltz s1,4000481c <_malloc_r+0x284> +400045e0: 22b4ee63 bltu s1,a1,4000481c <_malloc_r+0x284> +400045e4: 1d5000ef jal ra,40004fb8 <__malloc_lock> +400045e8: 1f700793 li a5,503 +400045ec: 6e97f663 bleu s1,a5,40004cd8 <_malloc_r+0x740> +400045f0: 0094d793 srli a5,s1,0x9 +400045f4: 04000593 li a1,64 +400045f8: 20000693 li a3,512 +400045fc: 03f00513 li a0,63 +40004600: 22079663 bnez a5,4000482c <_malloc_r+0x294> +40004604: 4000c937 lui s2,0x4000c +40004608: 22090913 addi s2,s2,544 # 4000c220 <__malloc_av_> +4000460c: 00d906b3 add a3,s2,a3 +40004610: 0046a403 lw s0,4(a3) +40004614: ff868693 addi a3,a3,-8 +40004618: 02868c63 beq a3,s0,40004650 <_malloc_r+0xb8> +4000461c: 00442783 lw a5,4(s0) +40004620: 00f00613 li a2,15 +40004624: ffc7f793 andi a5,a5,-4 +40004628: 40978733 sub a4,a5,s1 +4000462c: 02e64063 blt a2,a4,4000464c <_malloc_r+0xb4> +40004630: 22075c63 bgez a4,40004868 <_malloc_r+0x2d0> +40004634: 00c42403 lw s0,12(s0) +40004638: 00868c63 beq a3,s0,40004650 <_malloc_r+0xb8> +4000463c: 00442783 lw a5,4(s0) +40004640: ffc7f793 andi a5,a5,-4 +40004644: 40978733 sub a4,a5,s1 +40004648: fee654e3 ble a4,a2,40004630 <_malloc_r+0x98> +4000464c: 00050593 mv a1,a0 +40004650: 01092403 lw s0,16(s2) +40004654: 00890813 addi a6,s2,8 +40004658: 45040c63 beq s0,a6,40004ab0 <_malloc_r+0x518> +4000465c: 00442783 lw a5,4(s0) +40004660: 00f00693 li a3,15 +40004664: ffc7f793 andi a5,a5,-4 +40004668: 40978733 sub a4,a5,s1 +4000466c: 42e6cc63 blt a3,a4,40004aa4 <_malloc_r+0x50c> +40004670: 01092a23 sw a6,20(s2) +40004674: 01092823 sw a6,16(s2) +40004678: 1c075863 bgez a4,40004848 <_malloc_r+0x2b0> +4000467c: 1ff00713 li a4,511 +40004680: 3cf76263 bltu a4,a5,40004a44 <_malloc_r+0x4ac> +40004684: 0037d793 srli a5,a5,0x3 +40004688: 00178713 addi a4,a5,1 +4000468c: 00371713 slli a4,a4,0x3 +40004690: 00492503 lw a0,4(s2) +40004694: 00e90733 add a4,s2,a4 +40004698: 00072603 lw a2,0(a4) +4000469c: 4027d693 srai a3,a5,0x2 +400046a0: 00100793 li a5,1 +400046a4: 00d797b3 sll a5,a5,a3 +400046a8: 00a7e7b3 or a5,a5,a0 +400046ac: ff870693 addi a3,a4,-8 +400046b0: 00d42623 sw a3,12(s0) +400046b4: 00c42423 sw a2,8(s0) +400046b8: 00f92223 sw a5,4(s2) +400046bc: 00872023 sw s0,0(a4) +400046c0: 00862623 sw s0,12(a2) +400046c4: 4025d713 srai a4,a1,0x2 +400046c8: 00100693 li a3,1 +400046cc: 00e696b3 sll a3,a3,a4 +400046d0: 1ad7e263 bltu a5,a3,40004874 <_malloc_r+0x2dc> +400046d4: 00f6f733 and a4,a3,a5 +400046d8: 02071463 bnez a4,40004700 <_malloc_r+0x168> +400046dc: 00169693 slli a3,a3,0x1 +400046e0: ffc5f593 andi a1,a1,-4 +400046e4: 00f6f733 and a4,a3,a5 +400046e8: 00458593 addi a1,a1,4 +400046ec: 00071a63 bnez a4,40004700 <_malloc_r+0x168> +400046f0: 00169693 slli a3,a3,0x1 +400046f4: 00f6f733 and a4,a3,a5 +400046f8: 00458593 addi a1,a1,4 +400046fc: fe070ae3 beqz a4,400046f0 <_malloc_r+0x158> +40004700: 00f00513 li a0,15 +40004704: 00359893 slli a7,a1,0x3 +40004708: 011908b3 add a7,s2,a7 +4000470c: 00088613 mv a2,a7 +40004710: 00058313 mv t1,a1 +40004714: 00c62403 lw s0,12(a2) +40004718: 00861a63 bne a2,s0,4000472c <_malloc_r+0x194> +4000471c: 39c0006f j 40004ab8 <_malloc_r+0x520> +40004720: 3a075e63 bgez a4,40004adc <_malloc_r+0x544> +40004724: 00c42403 lw s0,12(s0) +40004728: 38860863 beq a2,s0,40004ab8 <_malloc_r+0x520> +4000472c: 00442783 lw a5,4(s0) +40004730: ffc7f793 andi a5,a5,-4 +40004734: 40978733 sub a4,a5,s1 +40004738: fee554e3 ble a4,a0,40004720 <_malloc_r+0x188> +4000473c: 00c42683 lw a3,12(s0) +40004740: 00842603 lw a2,8(s0) +40004744: 0014e593 ori a1,s1,1 +40004748: 00b42223 sw a1,4(s0) +4000474c: 00d62623 sw a3,12(a2) +40004750: 00c6a423 sw a2,8(a3) +40004754: 009404b3 add s1,s0,s1 +40004758: 00992a23 sw s1,20(s2) +4000475c: 00992823 sw s1,16(s2) +40004760: 00176693 ori a3,a4,1 +40004764: 0104a623 sw a6,12(s1) +40004768: 0104a423 sw a6,8(s1) +4000476c: 00d4a223 sw a3,4(s1) +40004770: 00f407b3 add a5,s0,a5 +40004774: 00098513 mv a0,s3 +40004778: 00e7a023 sw a4,0(a5) +4000477c: 041000ef jal ra,40004fbc <__malloc_unlock> +40004780: 00840513 addi a0,s0,8 +40004784: 0640006f j 400047e8 <_malloc_r+0x250> +40004788: 01000493 li s1,16 +4000478c: 08b4e863 bltu s1,a1,4000481c <_malloc_r+0x284> +40004790: 029000ef jal ra,40004fb8 <__malloc_lock> +40004794: 01800793 li a5,24 +40004798: 00200593 li a1,2 +4000479c: 4000c937 lui s2,0x4000c +400047a0: 22090913 addi s2,s2,544 # 4000c220 <__malloc_av_> +400047a4: 00f907b3 add a5,s2,a5 +400047a8: 0047a403 lw s0,4(a5) +400047ac: ff878713 addi a4,a5,-8 +400047b0: 30e40e63 beq s0,a4,40004acc <_malloc_r+0x534> +400047b4: 00442783 lw a5,4(s0) +400047b8: 00c42683 lw a3,12(s0) +400047bc: 00842603 lw a2,8(s0) +400047c0: ffc7f793 andi a5,a5,-4 +400047c4: 00f407b3 add a5,s0,a5 +400047c8: 0047a703 lw a4,4(a5) +400047cc: 00d62623 sw a3,12(a2) +400047d0: 00c6a423 sw a2,8(a3) +400047d4: 00176713 ori a4,a4,1 +400047d8: 00098513 mv a0,s3 +400047dc: 00e7a223 sw a4,4(a5) +400047e0: 7dc000ef jal ra,40004fbc <__malloc_unlock> +400047e4: 00840513 addi a0,s0,8 +400047e8: 02c12083 lw ra,44(sp) +400047ec: 02812403 lw s0,40(sp) +400047f0: 02412483 lw s1,36(sp) +400047f4: 02012903 lw s2,32(sp) +400047f8: 01c12983 lw s3,28(sp) +400047fc: 01812a03 lw s4,24(sp) +40004800: 01412a83 lw s5,20(sp) +40004804: 01012b03 lw s6,16(sp) +40004808: 00c12b83 lw s7,12(sp) +4000480c: 00812c03 lw s8,8(sp) +40004810: 00412c83 lw s9,4(sp) +40004814: 03010113 addi sp,sp,48 +40004818: 00008067 ret +4000481c: 00c00793 li a5,12 +40004820: 00f9a023 sw a5,0(s3) +40004824: 00000513 li a0,0 +40004828: fc1ff06f j 400047e8 <_malloc_r+0x250> +4000482c: 00400713 li a4,4 +40004830: 1ef76863 bltu a4,a5,40004a20 <_malloc_r+0x488> +40004834: 0064d513 srli a0,s1,0x6 +40004838: 03950593 addi a1,a0,57 +4000483c: 00359693 slli a3,a1,0x3 +40004840: 03850513 addi a0,a0,56 +40004844: dc1ff06f j 40004604 <_malloc_r+0x6c> +40004848: 00f407b3 add a5,s0,a5 +4000484c: 0047a703 lw a4,4(a5) +40004850: 00098513 mv a0,s3 +40004854: 00176713 ori a4,a4,1 +40004858: 00e7a223 sw a4,4(a5) +4000485c: 760000ef jal ra,40004fbc <__malloc_unlock> +40004860: 00840513 addi a0,s0,8 +40004864: f85ff06f j 400047e8 <_malloc_r+0x250> +40004868: 00c42683 lw a3,12(s0) +4000486c: 00842603 lw a2,8(s0) +40004870: f55ff06f j 400047c4 <_malloc_r+0x22c> +40004874: 00892403 lw s0,8(s2) +40004878: 00442783 lw a5,4(s0) +4000487c: ffc7fa93 andi s5,a5,-4 +40004880: 009ae863 bltu s5,s1,40004890 <_malloc_r+0x2f8> +40004884: 409a87b3 sub a5,s5,s1 +40004888: 00f00713 li a4,15 +4000488c: 16f74663 blt a4,a5,400049f8 <_malloc_r+0x460> +40004890: 4000c7b7 lui a5,0x4000c +40004894: 4000ccb7 lui s9,0x4000c +40004898: 6547aa03 lw s4,1620(a5) # 4000c654 <__malloc_top_pad> +4000489c: 634ca703 lw a4,1588(s9) # 4000c634 <__malloc_sbrk_base> +400048a0: fff00793 li a5,-1 +400048a4: 01540b33 add s6,s0,s5 +400048a8: 01448a33 add s4,s1,s4 +400048ac: 36f70263 beq a4,a5,40004c10 <_malloc_r+0x678> +400048b0: 000017b7 lui a5,0x1 +400048b4: 00f78793 addi a5,a5,15 # 100f <_stack_size+0x80f> +400048b8: 00fa0a33 add s4,s4,a5 +400048bc: fffff7b7 lui a5,0xfffff +400048c0: 00fa7a33 and s4,s4,a5 +400048c4: 000a0593 mv a1,s4 +400048c8: 00098513 mv a0,s3 +400048cc: 708010ef jal ra,40005fd4 <_sbrk_r> +400048d0: fff00793 li a5,-1 +400048d4: 00050b93 mv s7,a0 +400048d8: 24f50e63 beq a0,a5,40004b34 <_malloc_r+0x59c> +400048dc: 25656a63 bltu a0,s6,40004b30 <_malloc_r+0x598> +400048e0: 4000cc37 lui s8,0x4000c +400048e4: 65cc0c13 addi s8,s8,1628 # 4000c65c <__malloc_current_mallinfo> +400048e8: 000c2703 lw a4,0(s8) +400048ec: 00ea0733 add a4,s4,a4 +400048f0: 00ec2023 sw a4,0(s8) +400048f4: 34ab0c63 beq s6,a0,40004c4c <_malloc_r+0x6b4> +400048f8: 634ca683 lw a3,1588(s9) +400048fc: fff00793 li a5,-1 +40004900: 38f68463 beq a3,a5,40004c88 <_malloc_r+0x6f0> +40004904: 416b8b33 sub s6,s7,s6 +40004908: 00eb0733 add a4,s6,a4 +4000490c: 00ec2023 sw a4,0(s8) +40004910: 007bf793 andi a5,s7,7 +40004914: 00001737 lui a4,0x1 +40004918: 00078a63 beqz a5,4000492c <_malloc_r+0x394> +4000491c: 40fb8bb3 sub s7,s7,a5 +40004920: 00870713 addi a4,a4,8 # 1008 <_stack_size+0x808> +40004924: 008b8b93 addi s7,s7,8 +40004928: 40f70733 sub a4,a4,a5 +4000492c: 000016b7 lui a3,0x1 +40004930: 014b87b3 add a5,s7,s4 +40004934: fff68693 addi a3,a3,-1 # fff <_stack_size+0x7ff> +40004938: 00d7f7b3 and a5,a5,a3 +4000493c: 40f70a33 sub s4,a4,a5 +40004940: 000a0593 mv a1,s4 +40004944: 00098513 mv a0,s3 +40004948: 68c010ef jal ra,40005fd4 <_sbrk_r> +4000494c: fff00793 li a5,-1 +40004950: 32f50663 beq a0,a5,40004c7c <_malloc_r+0x6e4> +40004954: 417507b3 sub a5,a0,s7 +40004958: 014787b3 add a5,a5,s4 +4000495c: 0017e793 ori a5,a5,1 +40004960: 000c2703 lw a4,0(s8) +40004964: 01792423 sw s7,8(s2) +40004968: 00fba223 sw a5,4(s7) +4000496c: 00ea0733 add a4,s4,a4 +40004970: 00ec2023 sw a4,0(s8) +40004974: 03240c63 beq s0,s2,400049ac <_malloc_r+0x414> +40004978: 00f00613 li a2,15 +4000497c: 27567063 bleu s5,a2,40004bdc <_malloc_r+0x644> +40004980: 00442683 lw a3,4(s0) +40004984: ff4a8793 addi a5,s5,-12 +40004988: ff87f793 andi a5,a5,-8 +4000498c: 0016f693 andi a3,a3,1 +40004990: 00f6e6b3 or a3,a3,a5 +40004994: 00d42223 sw a3,4(s0) +40004998: 00500593 li a1,5 +4000499c: 00f406b3 add a3,s0,a5 +400049a0: 00b6a223 sw a1,4(a3) +400049a4: 00b6a423 sw a1,8(a3) +400049a8: 2cf66063 bltu a2,a5,40004c68 <_malloc_r+0x6d0> +400049ac: 4000c7b7 lui a5,0x4000c +400049b0: 6507a683 lw a3,1616(a5) # 4000c650 <__malloc_max_sbrked_mem> +400049b4: 00e6f463 bleu a4,a3,400049bc <_malloc_r+0x424> +400049b8: 64e7a823 sw a4,1616(a5) +400049bc: 4000c7b7 lui a5,0x4000c +400049c0: 64c7a683 lw a3,1612(a5) # 4000c64c <__malloc_max_total_mem> +400049c4: 00892403 lw s0,8(s2) +400049c8: 00e6f463 bleu a4,a3,400049d0 <_malloc_r+0x438> +400049cc: 64e7a623 sw a4,1612(a5) +400049d0: 00442703 lw a4,4(s0) +400049d4: ffc77713 andi a4,a4,-4 +400049d8: 409707b3 sub a5,a4,s1 +400049dc: 00976663 bltu a4,s1,400049e8 <_malloc_r+0x450> +400049e0: 00f00713 li a4,15 +400049e4: 00f74a63 blt a4,a5,400049f8 <_malloc_r+0x460> +400049e8: 00098513 mv a0,s3 +400049ec: 5d0000ef jal ra,40004fbc <__malloc_unlock> +400049f0: 00000513 li a0,0 +400049f4: df5ff06f j 400047e8 <_malloc_r+0x250> +400049f8: 0014e713 ori a4,s1,1 +400049fc: 00e42223 sw a4,4(s0) +40004a00: 009404b3 add s1,s0,s1 +40004a04: 00992423 sw s1,8(s2) +40004a08: 0017e793 ori a5,a5,1 +40004a0c: 00098513 mv a0,s3 +40004a10: 00f4a223 sw a5,4(s1) +40004a14: 5a8000ef jal ra,40004fbc <__malloc_unlock> +40004a18: 00840513 addi a0,s0,8 +40004a1c: dcdff06f j 400047e8 <_malloc_r+0x250> +40004a20: 01400713 li a4,20 +40004a24: 0ef77463 bleu a5,a4,40004b0c <_malloc_r+0x574> +40004a28: 05400713 li a4,84 +40004a2c: 16f76a63 bltu a4,a5,40004ba0 <_malloc_r+0x608> +40004a30: 00c4d513 srli a0,s1,0xc +40004a34: 06f50593 addi a1,a0,111 +40004a38: 00359693 slli a3,a1,0x3 +40004a3c: 06e50513 addi a0,a0,110 +40004a40: bc5ff06f j 40004604 <_malloc_r+0x6c> +40004a44: 0097d713 srli a4,a5,0x9 +40004a48: 00400693 li a3,4 +40004a4c: 0ce6f863 bleu a4,a3,40004b1c <_malloc_r+0x584> +40004a50: 01400693 li a3,20 +40004a54: 1ce6e263 bltu a3,a4,40004c18 <_malloc_r+0x680> +40004a58: 05c70613 addi a2,a4,92 +40004a5c: 05b70693 addi a3,a4,91 +40004a60: 00361613 slli a2,a2,0x3 +40004a64: 00c90633 add a2,s2,a2 +40004a68: 00062703 lw a4,0(a2) +40004a6c: ff860613 addi a2,a2,-8 +40004a70: 14e60663 beq a2,a4,40004bbc <_malloc_r+0x624> +40004a74: 00472683 lw a3,4(a4) +40004a78: ffc6f693 andi a3,a3,-4 +40004a7c: 10d7fe63 bleu a3,a5,40004b98 <_malloc_r+0x600> +40004a80: 00872703 lw a4,8(a4) +40004a84: fee618e3 bne a2,a4,40004a74 <_malloc_r+0x4dc> +40004a88: 00c62703 lw a4,12(a2) +40004a8c: 00492783 lw a5,4(s2) +40004a90: 00e42623 sw a4,12(s0) +40004a94: 00c42423 sw a2,8(s0) +40004a98: 00872423 sw s0,8(a4) +40004a9c: 00862623 sw s0,12(a2) +40004aa0: c25ff06f j 400046c4 <_malloc_r+0x12c> +40004aa4: 0014e693 ori a3,s1,1 +40004aa8: 00d42223 sw a3,4(s0) +40004aac: ca9ff06f j 40004754 <_malloc_r+0x1bc> +40004ab0: 00492783 lw a5,4(s2) +40004ab4: c11ff06f j 400046c4 <_malloc_r+0x12c> +40004ab8: 00130313 addi t1,t1,1 +40004abc: 00337793 andi a5,t1,3 +40004ac0: 00860613 addi a2,a2,8 +40004ac4: c40798e3 bnez a5,40004714 <_malloc_r+0x17c> +40004ac8: 0880006f j 40004b50 <_malloc_r+0x5b8> +40004acc: 00c7a403 lw s0,12(a5) +40004ad0: 00258593 addi a1,a1,2 +40004ad4: b6878ee3 beq a5,s0,40004650 <_malloc_r+0xb8> +40004ad8: cddff06f j 400047b4 <_malloc_r+0x21c> +40004adc: 00f407b3 add a5,s0,a5 +40004ae0: 0047a703 lw a4,4(a5) +40004ae4: 00c42683 lw a3,12(s0) +40004ae8: 00842603 lw a2,8(s0) +40004aec: 00176713 ori a4,a4,1 +40004af0: 00e7a223 sw a4,4(a5) +40004af4: 00d62623 sw a3,12(a2) +40004af8: 00098513 mv a0,s3 +40004afc: 00c6a423 sw a2,8(a3) +40004b00: 4bc000ef jal ra,40004fbc <__malloc_unlock> +40004b04: 00840513 addi a0,s0,8 +40004b08: ce1ff06f j 400047e8 <_malloc_r+0x250> +40004b0c: 05c78593 addi a1,a5,92 +40004b10: 05b78513 addi a0,a5,91 +40004b14: 00359693 slli a3,a1,0x3 +40004b18: aedff06f j 40004604 <_malloc_r+0x6c> +40004b1c: 0067d693 srli a3,a5,0x6 +40004b20: 03968613 addi a2,a3,57 +40004b24: 00361613 slli a2,a2,0x3 +40004b28: 03868693 addi a3,a3,56 +40004b2c: f39ff06f j 40004a64 <_malloc_r+0x4cc> +40004b30: 11240263 beq s0,s2,40004c34 <_malloc_r+0x69c> +40004b34: 00892403 lw s0,8(s2) +40004b38: 00442703 lw a4,4(s0) +40004b3c: ffc77713 andi a4,a4,-4 +40004b40: e99ff06f j 400049d8 <_malloc_r+0x440> +40004b44: 0088a783 lw a5,8(a7) +40004b48: fff58593 addi a1,a1,-1 +40004b4c: 18f89263 bne a7,a5,40004cd0 <_malloc_r+0x738> +40004b50: 0035f793 andi a5,a1,3 +40004b54: ff888893 addi a7,a7,-8 +40004b58: fe0796e3 bnez a5,40004b44 <_malloc_r+0x5ac> +40004b5c: 00492703 lw a4,4(s2) +40004b60: fff6c793 not a5,a3 +40004b64: 00e7f7b3 and a5,a5,a4 +40004b68: 00f92223 sw a5,4(s2) +40004b6c: 00169693 slli a3,a3,0x1 +40004b70: d0d7e2e3 bltu a5,a3,40004874 <_malloc_r+0x2dc> +40004b74: d00680e3 beqz a3,40004874 <_malloc_r+0x2dc> +40004b78: 00f6f733 and a4,a3,a5 +40004b7c: 00030593 mv a1,t1 +40004b80: b80712e3 bnez a4,40004704 <_malloc_r+0x16c> +40004b84: 00169693 slli a3,a3,0x1 +40004b88: 00f6f733 and a4,a3,a5 +40004b8c: 00458593 addi a1,a1,4 +40004b90: fe070ae3 beqz a4,40004b84 <_malloc_r+0x5ec> +40004b94: b71ff06f j 40004704 <_malloc_r+0x16c> +40004b98: 00070613 mv a2,a4 +40004b9c: eedff06f j 40004a88 <_malloc_r+0x4f0> +40004ba0: 15400713 li a4,340 +40004ba4: 04f76263 bltu a4,a5,40004be8 <_malloc_r+0x650> +40004ba8: 00f4d513 srli a0,s1,0xf +40004bac: 07850593 addi a1,a0,120 +40004bb0: 00359693 slli a3,a1,0x3 +40004bb4: 07750513 addi a0,a0,119 +40004bb8: a4dff06f j 40004604 <_malloc_r+0x6c> +40004bbc: 00492703 lw a4,4(s2) +40004bc0: 4026d693 srai a3,a3,0x2 +40004bc4: 00100793 li a5,1 +40004bc8: 00d797b3 sll a5,a5,a3 +40004bcc: 00e7e7b3 or a5,a5,a4 +40004bd0: 00f92223 sw a5,4(s2) +40004bd4: 00060713 mv a4,a2 +40004bd8: eb9ff06f j 40004a90 <_malloc_r+0x4f8> +40004bdc: 00100793 li a5,1 +40004be0: 00fba223 sw a5,4(s7) +40004be4: e05ff06f j 400049e8 <_malloc_r+0x450> +40004be8: 55400713 li a4,1364 +40004bec: 07f00593 li a1,127 +40004bf0: 3f800693 li a3,1016 +40004bf4: 07e00513 li a0,126 +40004bf8: a0f766e3 bltu a4,a5,40004604 <_malloc_r+0x6c> +40004bfc: 0124d513 srli a0,s1,0x12 +40004c00: 07d50593 addi a1,a0,125 +40004c04: 00359693 slli a3,a1,0x3 +40004c08: 07c50513 addi a0,a0,124 +40004c0c: 9f9ff06f j 40004604 <_malloc_r+0x6c> +40004c10: 010a0a13 addi s4,s4,16 +40004c14: cb1ff06f j 400048c4 <_malloc_r+0x32c> +40004c18: 05400693 li a3,84 +40004c1c: 06e6ea63 bltu a3,a4,40004c90 <_malloc_r+0x6f8> +40004c20: 00c7d693 srli a3,a5,0xc +40004c24: 06f68613 addi a2,a3,111 +40004c28: 00361613 slli a2,a2,0x3 +40004c2c: 06e68693 addi a3,a3,110 +40004c30: e35ff06f j 40004a64 <_malloc_r+0x4cc> +40004c34: 4000cc37 lui s8,0x4000c +40004c38: 65cc0c13 addi s8,s8,1628 # 4000c65c <__malloc_current_mallinfo> +40004c3c: 000c2703 lw a4,0(s8) +40004c40: 00ea0733 add a4,s4,a4 +40004c44: 00ec2023 sw a4,0(s8) +40004c48: cb1ff06f j 400048f8 <_malloc_r+0x360> +40004c4c: 014b1793 slli a5,s6,0x14 +40004c50: ca0794e3 bnez a5,400048f8 <_malloc_r+0x360> +40004c54: 00892683 lw a3,8(s2) +40004c58: 014a87b3 add a5,s5,s4 +40004c5c: 0017e793 ori a5,a5,1 +40004c60: 00f6a223 sw a5,4(a3) +40004c64: d49ff06f j 400049ac <_malloc_r+0x414> +40004c68: 00840593 addi a1,s0,8 +40004c6c: 00098513 mv a0,s3 +40004c70: a14ff0ef jal ra,40003e84 <_free_r> +40004c74: 000c2703 lw a4,0(s8) +40004c78: d35ff06f j 400049ac <_malloc_r+0x414> +40004c7c: 00100793 li a5,1 +40004c80: 00000a13 li s4,0 +40004c84: cddff06f j 40004960 <_malloc_r+0x3c8> +40004c88: 637caa23 sw s7,1588(s9) +40004c8c: c85ff06f j 40004910 <_malloc_r+0x378> +40004c90: 15400693 li a3,340 +40004c94: 00e6ec63 bltu a3,a4,40004cac <_malloc_r+0x714> +40004c98: 00f7d693 srli a3,a5,0xf +40004c9c: 07868613 addi a2,a3,120 +40004ca0: 00361613 slli a2,a2,0x3 +40004ca4: 07768693 addi a3,a3,119 +40004ca8: dbdff06f j 40004a64 <_malloc_r+0x4cc> +40004cac: 55400513 li a0,1364 +40004cb0: 3f800613 li a2,1016 +40004cb4: 07e00693 li a3,126 +40004cb8: dae566e3 bltu a0,a4,40004a64 <_malloc_r+0x4cc> +40004cbc: 0127d693 srli a3,a5,0x12 +40004cc0: 07d68613 addi a2,a3,125 +40004cc4: 00361613 slli a2,a2,0x3 +40004cc8: 07c68693 addi a3,a3,124 +40004ccc: d99ff06f j 40004a64 <_malloc_r+0x4cc> +40004cd0: 00492783 lw a5,4(s2) +40004cd4: e99ff06f j 40004b6c <_malloc_r+0x5d4> +40004cd8: 0034d593 srli a1,s1,0x3 +40004cdc: 00848793 addi a5,s1,8 +40004ce0: abdff06f j 4000479c <_malloc_r+0x204> + +40004ce4 <memchr>: +40004ce4: 00357793 andi a5,a0,3 +40004ce8: 0ff5f813 andi a6,a1,255 +40004cec: 0c078663 beqz a5,40004db8 <memchr+0xd4> +40004cf0: fff60793 addi a5,a2,-1 +40004cf4: 04060e63 beqz a2,40004d50 <memchr+0x6c> +40004cf8: 00054703 lbu a4,0(a0) +40004cfc: fff00693 li a3,-1 +40004d00: 01071c63 bne a4,a6,40004d18 <memchr+0x34> +40004d04: 0500006f j 40004d54 <memchr+0x70> +40004d08: fff78793 addi a5,a5,-1 +40004d0c: 04d78263 beq a5,a3,40004d50 <memchr+0x6c> +40004d10: 00054703 lbu a4,0(a0) +40004d14: 05070063 beq a4,a6,40004d54 <memchr+0x70> +40004d18: 00150513 addi a0,a0,1 +40004d1c: 00357713 andi a4,a0,3 +40004d20: fe0714e3 bnez a4,40004d08 <memchr+0x24> +40004d24: 00300713 li a4,3 +40004d28: 02f76863 bltu a4,a5,40004d58 <memchr+0x74> +40004d2c: 02078263 beqz a5,40004d50 <memchr+0x6c> +40004d30: 00054703 lbu a4,0(a0) +40004d34: 03070063 beq a4,a6,40004d54 <memchr+0x70> +40004d38: 00f507b3 add a5,a0,a5 +40004d3c: 00c0006f j 40004d48 <memchr+0x64> +40004d40: 00054703 lbu a4,0(a0) +40004d44: 01070863 beq a4,a6,40004d54 <memchr+0x70> +40004d48: 00150513 addi a0,a0,1 +40004d4c: fea79ae3 bne a5,a0,40004d40 <memchr+0x5c> +40004d50: 00000513 li a0,0 +40004d54: 00008067 ret +40004d58: 000106b7 lui a3,0x10 +40004d5c: 00859613 slli a2,a1,0x8 +40004d60: fff68693 addi a3,a3,-1 # ffff <_heap_size+0xdfff> +40004d64: 00d67633 and a2,a2,a3 +40004d68: 0ff5f593 andi a1,a1,255 +40004d6c: 00b66633 or a2,a2,a1 +40004d70: 01061693 slli a3,a2,0x10 +40004d74: feff0337 lui t1,0xfeff0 +40004d78: 808088b7 lui a7,0x80808 +40004d7c: 00d66633 or a2,a2,a3 +40004d80: eff30313 addi t1,t1,-257 # fefefeff <_bss_end+0xbefe3877> +40004d84: 08088893 addi a7,a7,128 # 80808080 <_bss_end+0x407fb9f8> +40004d88: 00070593 mv a1,a4 +40004d8c: 00052703 lw a4,0(a0) +40004d90: 00e64733 xor a4,a2,a4 +40004d94: 006706b3 add a3,a4,t1 +40004d98: fff74713 not a4,a4 +40004d9c: 00e6f733 and a4,a3,a4 +40004da0: 01177733 and a4,a4,a7 +40004da4: f80716e3 bnez a4,40004d30 <memchr+0x4c> +40004da8: ffc78793 addi a5,a5,-4 +40004dac: 00450513 addi a0,a0,4 +40004db0: fcf5eee3 bltu a1,a5,40004d8c <memchr+0xa8> +40004db4: f79ff06f j 40004d2c <memchr+0x48> +40004db8: 00060793 mv a5,a2 +40004dbc: f69ff06f j 40004d24 <memchr+0x40> + +40004dc0 <memcpy>: +40004dc0: 00a5c7b3 xor a5,a1,a0 +40004dc4: 0037f793 andi a5,a5,3 +40004dc8: 00c508b3 add a7,a0,a2 +40004dcc: 0e079863 bnez a5,40004ebc <memcpy+0xfc> +40004dd0: 00300793 li a5,3 +40004dd4: 0ec7f463 bleu a2,a5,40004ebc <memcpy+0xfc> +40004dd8: 00357793 andi a5,a0,3 +40004ddc: 00050713 mv a4,a0 +40004de0: 04079863 bnez a5,40004e30 <memcpy+0x70> +40004de4: ffc8f813 andi a6,a7,-4 +40004de8: fe080793 addi a5,a6,-32 +40004dec: 06f76c63 bltu a4,a5,40004e64 <memcpy+0xa4> +40004df0: 03077c63 bleu a6,a4,40004e28 <memcpy+0x68> +40004df4: 00058693 mv a3,a1 +40004df8: 00070793 mv a5,a4 +40004dfc: 0006a603 lw a2,0(a3) +40004e00: 00478793 addi a5,a5,4 +40004e04: 00468693 addi a3,a3,4 +40004e08: fec7ae23 sw a2,-4(a5) +40004e0c: ff07e8e3 bltu a5,a6,40004dfc <memcpy+0x3c> +40004e10: fff74793 not a5,a4 +40004e14: 010787b3 add a5,a5,a6 +40004e18: ffc7f793 andi a5,a5,-4 +40004e1c: 00478793 addi a5,a5,4 +40004e20: 00f70733 add a4,a4,a5 +40004e24: 00f585b3 add a1,a1,a5 +40004e28: 09176e63 bltu a4,a7,40004ec4 <memcpy+0x104> +40004e2c: 00008067 ret +40004e30: 0005c683 lbu a3,0(a1) +40004e34: 00170713 addi a4,a4,1 +40004e38: 00377793 andi a5,a4,3 +40004e3c: fed70fa3 sb a3,-1(a4) +40004e40: 00158593 addi a1,a1,1 +40004e44: fa0780e3 beqz a5,40004de4 <memcpy+0x24> +40004e48: 0005c683 lbu a3,0(a1) +40004e4c: 00170713 addi a4,a4,1 +40004e50: 00377793 andi a5,a4,3 +40004e54: fed70fa3 sb a3,-1(a4) +40004e58: 00158593 addi a1,a1,1 +40004e5c: fc079ae3 bnez a5,40004e30 <memcpy+0x70> +40004e60: f85ff06f j 40004de4 <memcpy+0x24> +40004e64: 0005a383 lw t2,0(a1) +40004e68: 0045a283 lw t0,4(a1) +40004e6c: 0085af83 lw t6,8(a1) +40004e70: 00c5af03 lw t5,12(a1) +40004e74: 0105ae83 lw t4,16(a1) +40004e78: 0145ae03 lw t3,20(a1) +40004e7c: 0185a303 lw t1,24(a1) +40004e80: 01c5a603 lw a2,28(a1) +40004e84: 02458593 addi a1,a1,36 +40004e88: 02470713 addi a4,a4,36 +40004e8c: ffc5a683 lw a3,-4(a1) +40004e90: fc772e23 sw t2,-36(a4) +40004e94: fe572023 sw t0,-32(a4) +40004e98: fff72223 sw t6,-28(a4) +40004e9c: ffe72423 sw t5,-24(a4) +40004ea0: ffd72623 sw t4,-20(a4) +40004ea4: ffc72823 sw t3,-16(a4) +40004ea8: fe672a23 sw t1,-12(a4) +40004eac: fec72c23 sw a2,-8(a4) +40004eb0: fed72e23 sw a3,-4(a4) +40004eb4: faf768e3 bltu a4,a5,40004e64 <memcpy+0xa4> +40004eb8: f39ff06f j 40004df0 <memcpy+0x30> +40004ebc: 00050713 mv a4,a0 +40004ec0: f71576e3 bleu a7,a0,40004e2c <memcpy+0x6c> +40004ec4: 0005c783 lbu a5,0(a1) +40004ec8: 00170713 addi a4,a4,1 +40004ecc: 00158593 addi a1,a1,1 +40004ed0: fef70fa3 sb a5,-1(a4) +40004ed4: ff1768e3 bltu a4,a7,40004ec4 <memcpy+0x104> +40004ed8: 00008067 ret + +40004edc <memset>: +40004edc: 00f00813 li a6,15 +40004ee0: 00050713 mv a4,a0 +40004ee4: 02c87e63 bleu a2,a6,40004f20 <memset+0x44> +40004ee8: 00f77793 andi a5,a4,15 +40004eec: 0a079063 bnez a5,40004f8c <memset+0xb0> +40004ef0: 08059263 bnez a1,40004f74 <memset+0x98> +40004ef4: ff067693 andi a3,a2,-16 +40004ef8: 00f67613 andi a2,a2,15 +40004efc: 00e686b3 add a3,a3,a4 +40004f00: 00b72023 sw a1,0(a4) +40004f04: 00b72223 sw a1,4(a4) +40004f08: 00b72423 sw a1,8(a4) +40004f0c: 00b72623 sw a1,12(a4) +40004f10: 01070713 addi a4,a4,16 +40004f14: fed766e3 bltu a4,a3,40004f00 <memset+0x24> +40004f18: 00061463 bnez a2,40004f20 <memset+0x44> +40004f1c: 00008067 ret +40004f20: 40c806b3 sub a3,a6,a2 +40004f24: 00269693 slli a3,a3,0x2 +40004f28: 00000297 auipc t0,0x0 +40004f2c: 005686b3 add a3,a3,t0 +40004f30: 00c68067 jr 12(a3) +40004f34: 00b70723 sb a1,14(a4) +40004f38: 00b706a3 sb a1,13(a4) +40004f3c: 00b70623 sb a1,12(a4) +40004f40: 00b705a3 sb a1,11(a4) +40004f44: 00b70523 sb a1,10(a4) +40004f48: 00b704a3 sb a1,9(a4) +40004f4c: 00b70423 sb a1,8(a4) +40004f50: 00b703a3 sb a1,7(a4) +40004f54: 00b70323 sb a1,6(a4) +40004f58: 00b702a3 sb a1,5(a4) +40004f5c: 00b70223 sb a1,4(a4) +40004f60: 00b701a3 sb a1,3(a4) +40004f64: 00b70123 sb a1,2(a4) +40004f68: 00b700a3 sb a1,1(a4) +40004f6c: 00b70023 sb a1,0(a4) +40004f70: 00008067 ret +40004f74: 0ff5f593 andi a1,a1,255 +40004f78: 00859693 slli a3,a1,0x8 +40004f7c: 00d5e5b3 or a1,a1,a3 +40004f80: 01059693 slli a3,a1,0x10 +40004f84: 00d5e5b3 or a1,a1,a3 +40004f88: f6dff06f j 40004ef4 <memset+0x18> +40004f8c: 00279693 slli a3,a5,0x2 +40004f90: 00000297 auipc t0,0x0 +40004f94: 005686b3 add a3,a3,t0 +40004f98: 00008293 mv t0,ra +40004f9c: fa0680e7 jalr -96(a3) +40004fa0: 00028093 mv ra,t0 +40004fa4: ff078793 addi a5,a5,-16 +40004fa8: 40f70733 sub a4,a4,a5 +40004fac: 00f60633 add a2,a2,a5 +40004fb0: f6c878e3 bleu a2,a6,40004f20 <memset+0x44> +40004fb4: f3dff06f j 40004ef0 <memset+0x14> + +40004fb8 <__malloc_lock>: +40004fb8: 00008067 ret + +40004fbc <__malloc_unlock>: +40004fbc: 00008067 ret + +40004fc0 <_Balloc>: +40004fc0: 04c52783 lw a5,76(a0) +40004fc4: ff010113 addi sp,sp,-16 +40004fc8: 00812423 sw s0,8(sp) +40004fcc: 00912223 sw s1,4(sp) +40004fd0: 00112623 sw ra,12(sp) +40004fd4: 01212023 sw s2,0(sp) +40004fd8: 00050413 mv s0,a0 +40004fdc: 00058493 mv s1,a1 +40004fe0: 02078e63 beqz a5,4000501c <_Balloc+0x5c> +40004fe4: 00249513 slli a0,s1,0x2 +40004fe8: 00a787b3 add a5,a5,a0 +40004fec: 0007a503 lw a0,0(a5) +40004ff0: 04050663 beqz a0,4000503c <_Balloc+0x7c> +40004ff4: 00052703 lw a4,0(a0) +40004ff8: 00e7a023 sw a4,0(a5) +40004ffc: 00052823 sw zero,16(a0) +40005000: 00052623 sw zero,12(a0) +40005004: 00c12083 lw ra,12(sp) +40005008: 00812403 lw s0,8(sp) +4000500c: 00412483 lw s1,4(sp) +40005010: 00012903 lw s2,0(sp) +40005014: 01010113 addi sp,sp,16 +40005018: 00008067 ret +4000501c: 02100613 li a2,33 +40005020: 00400593 li a1,4 +40005024: 4cc020ef jal ra,400074f0 <_calloc_r> +40005028: 04a42623 sw a0,76(s0) +4000502c: 00050793 mv a5,a0 +40005030: fa051ae3 bnez a0,40004fe4 <_Balloc+0x24> +40005034: 00000513 li a0,0 +40005038: fcdff06f j 40005004 <_Balloc+0x44> +4000503c: 00100593 li a1,1 +40005040: 00959933 sll s2,a1,s1 +40005044: 00590613 addi a2,s2,5 +40005048: 00261613 slli a2,a2,0x2 +4000504c: 00040513 mv a0,s0 +40005050: 4a0020ef jal ra,400074f0 <_calloc_r> +40005054: fe0500e3 beqz a0,40005034 <_Balloc+0x74> +40005058: 00952223 sw s1,4(a0) +4000505c: 01252423 sw s2,8(a0) +40005060: f9dff06f j 40004ffc <_Balloc+0x3c> + +40005064 <_Bfree>: +40005064: 02058063 beqz a1,40005084 <_Bfree+0x20> +40005068: 0045a703 lw a4,4(a1) +4000506c: 04c52783 lw a5,76(a0) +40005070: 00271713 slli a4,a4,0x2 +40005074: 00e787b3 add a5,a5,a4 +40005078: 0007a703 lw a4,0(a5) +4000507c: 00e5a023 sw a4,0(a1) +40005080: 00b7a023 sw a1,0(a5) +40005084: 00008067 ret + +40005088 <__multadd>: +40005088: fd010113 addi sp,sp,-48 +4000508c: 00010837 lui a6,0x10 +40005090: 02812423 sw s0,40(sp) +40005094: 02912223 sw s1,36(sp) +40005098: 03212023 sw s2,32(sp) +4000509c: 00058493 mv s1,a1 +400050a0: 0105a403 lw s0,16(a1) +400050a4: 00050913 mv s2,a0 +400050a8: 02112623 sw ra,44(sp) +400050ac: 01312e23 sw s3,28(sp) +400050b0: 01458593 addi a1,a1,20 +400050b4: 00000513 li a0,0 +400050b8: fff80813 addi a6,a6,-1 # ffff <_heap_size+0xdfff> +400050bc: 0005a783 lw a5,0(a1) +400050c0: 00458593 addi a1,a1,4 +400050c4: 00150513 addi a0,a0,1 +400050c8: 0107f733 and a4,a5,a6 +400050cc: 02c70733 mul a4,a4,a2 +400050d0: 0107d793 srli a5,a5,0x10 +400050d4: 02c787b3 mul a5,a5,a2 +400050d8: 00d706b3 add a3,a4,a3 +400050dc: 0106d893 srli a7,a3,0x10 +400050e0: 0106f733 and a4,a3,a6 +400050e4: 011786b3 add a3,a5,a7 +400050e8: 01069793 slli a5,a3,0x10 +400050ec: 00e78733 add a4,a5,a4 +400050f0: fee5ae23 sw a4,-4(a1) +400050f4: 0106d693 srli a3,a3,0x10 +400050f8: fc8542e3 blt a0,s0,400050bc <__multadd+0x34> +400050fc: 02068263 beqz a3,40005120 <__multadd+0x98> +40005100: 0084a783 lw a5,8(s1) +40005104: 02f45e63 ble a5,s0,40005140 <__multadd+0xb8> +40005108: 00440793 addi a5,s0,4 +4000510c: 00279793 slli a5,a5,0x2 +40005110: 00f487b3 add a5,s1,a5 +40005114: 00d7a223 sw a3,4(a5) +40005118: 00140413 addi s0,s0,1 +4000511c: 0084a823 sw s0,16(s1) +40005120: 02c12083 lw ra,44(sp) +40005124: 00048513 mv a0,s1 +40005128: 02812403 lw s0,40(sp) +4000512c: 02412483 lw s1,36(sp) +40005130: 02012903 lw s2,32(sp) +40005134: 01c12983 lw s3,28(sp) +40005138: 03010113 addi sp,sp,48 +4000513c: 00008067 ret +40005140: 0044a583 lw a1,4(s1) +40005144: 00090513 mv a0,s2 +40005148: 00d12623 sw a3,12(sp) +4000514c: 00158593 addi a1,a1,1 +40005150: e71ff0ef jal ra,40004fc0 <_Balloc> +40005154: 0104a603 lw a2,16(s1) +40005158: 00050993 mv s3,a0 +4000515c: 00c48593 addi a1,s1,12 +40005160: 00260613 addi a2,a2,2 +40005164: 00c50513 addi a0,a0,12 +40005168: 00261613 slli a2,a2,0x2 +4000516c: c55ff0ef jal ra,40004dc0 <memcpy> +40005170: 0044a703 lw a4,4(s1) +40005174: 04c92783 lw a5,76(s2) +40005178: 00c12683 lw a3,12(sp) +4000517c: 00271713 slli a4,a4,0x2 +40005180: 00e787b3 add a5,a5,a4 +40005184: 0007a703 lw a4,0(a5) +40005188: 00e4a023 sw a4,0(s1) +4000518c: 0097a023 sw s1,0(a5) +40005190: 00098493 mv s1,s3 +40005194: f75ff06f j 40005108 <__multadd+0x80> + +40005198 <__s2b>: +40005198: fe010113 addi sp,sp,-32 +4000519c: 00900793 li a5,9 +400051a0: 01412423 sw s4,8(sp) +400051a4: 00068a13 mv s4,a3 +400051a8: 00868693 addi a3,a3,8 +400051ac: 02f6c6b3 div a3,a3,a5 +400051b0: 00812c23 sw s0,24(sp) +400051b4: 00912a23 sw s1,20(sp) +400051b8: 01212823 sw s2,16(sp) +400051bc: 01312623 sw s3,12(sp) +400051c0: 00112e23 sw ra,28(sp) +400051c4: 01512223 sw s5,4(sp) +400051c8: 01612023 sw s6,0(sp) +400051cc: 00100793 li a5,1 +400051d0: 00058413 mv s0,a1 +400051d4: 00050913 mv s2,a0 +400051d8: 00060993 mv s3,a2 +400051dc: 00070493 mv s1,a4 +400051e0: 00000593 li a1,0 +400051e4: 00d7d863 ble a3,a5,400051f4 <__s2b+0x5c> +400051e8: 00179793 slli a5,a5,0x1 +400051ec: 00158593 addi a1,a1,1 +400051f0: fed7cce3 blt a5,a3,400051e8 <__s2b+0x50> +400051f4: 00090513 mv a0,s2 +400051f8: dc9ff0ef jal ra,40004fc0 <_Balloc> +400051fc: 00100793 li a5,1 +40005200: 00f52823 sw a5,16(a0) +40005204: 00952a23 sw s1,20(a0) +40005208: 00900793 li a5,9 +4000520c: 0937da63 ble s3,a5,400052a0 <__s2b+0x108> +40005210: 00f40b33 add s6,s0,a5 +40005214: 000b0493 mv s1,s6 +40005218: 01340433 add s0,s0,s3 +4000521c: 00a00a93 li s5,10 +40005220: 00148493 addi s1,s1,1 +40005224: fff4c683 lbu a3,-1(s1) +40005228: 00050593 mv a1,a0 +4000522c: 000a8613 mv a2,s5 +40005230: fd068693 addi a3,a3,-48 +40005234: 00090513 mv a0,s2 +40005238: e51ff0ef jal ra,40005088 <__multadd> +4000523c: fe8492e3 bne s1,s0,40005220 <__s2b+0x88> +40005240: ff898413 addi s0,s3,-8 +40005244: 008b0433 add s0,s6,s0 +40005248: 413a04b3 sub s1,s4,s3 +4000524c: 009404b3 add s1,s0,s1 +40005250: 00a00a93 li s5,10 +40005254: 0349d263 ble s4,s3,40005278 <__s2b+0xe0> +40005258: 00140413 addi s0,s0,1 +4000525c: fff44683 lbu a3,-1(s0) +40005260: 00050593 mv a1,a0 +40005264: 000a8613 mv a2,s5 +40005268: fd068693 addi a3,a3,-48 +4000526c: 00090513 mv a0,s2 +40005270: e19ff0ef jal ra,40005088 <__multadd> +40005274: fe8492e3 bne s1,s0,40005258 <__s2b+0xc0> +40005278: 01c12083 lw ra,28(sp) +4000527c: 01812403 lw s0,24(sp) +40005280: 01412483 lw s1,20(sp) +40005284: 01012903 lw s2,16(sp) +40005288: 00c12983 lw s3,12(sp) +4000528c: 00812a03 lw s4,8(sp) +40005290: 00412a83 lw s5,4(sp) +40005294: 00012b03 lw s6,0(sp) +40005298: 02010113 addi sp,sp,32 +4000529c: 00008067 ret +400052a0: 00a40413 addi s0,s0,10 +400052a4: 00078993 mv s3,a5 +400052a8: fa1ff06f j 40005248 <__s2b+0xb0> + +400052ac <__hi0bits>: +400052ac: ffff0737 lui a4,0xffff0 +400052b0: 00e57733 and a4,a0,a4 +400052b4: 00050793 mv a5,a0 +400052b8: 00000513 li a0,0 +400052bc: 00071663 bnez a4,400052c8 <__hi0bits+0x1c> +400052c0: 01079793 slli a5,a5,0x10 +400052c4: 01000513 li a0,16 +400052c8: ff000737 lui a4,0xff000 +400052cc: 00e7f733 and a4,a5,a4 +400052d0: 00071663 bnez a4,400052dc <__hi0bits+0x30> +400052d4: 00850513 addi a0,a0,8 +400052d8: 00879793 slli a5,a5,0x8 +400052dc: f0000737 lui a4,0xf0000 +400052e0: 00e7f733 and a4,a5,a4 +400052e4: 00071663 bnez a4,400052f0 <__hi0bits+0x44> +400052e8: 00450513 addi a0,a0,4 +400052ec: 00479793 slli a5,a5,0x4 +400052f0: c0000737 lui a4,0xc0000 +400052f4: 00e7f733 and a4,a5,a4 +400052f8: 00071663 bnez a4,40005304 <__hi0bits+0x58> +400052fc: 00250513 addi a0,a0,2 +40005300: 00279793 slli a5,a5,0x2 +40005304: 0007c863 bltz a5,40005314 <__hi0bits+0x68> +40005308: 00179713 slli a4,a5,0x1 +4000530c: 00074663 bltz a4,40005318 <__hi0bits+0x6c> +40005310: 02000513 li a0,32 +40005314: 00008067 ret +40005318: 00150513 addi a0,a0,1 +4000531c: 00008067 ret + +40005320 <__lo0bits>: +40005320: 00052783 lw a5,0(a0) +40005324: 0077f713 andi a4,a5,7 +40005328: 02070663 beqz a4,40005354 <__lo0bits+0x34> +4000532c: 0017f693 andi a3,a5,1 +40005330: 00000713 li a4,0 +40005334: 00069c63 bnez a3,4000534c <__lo0bits+0x2c> +40005338: 0027f713 andi a4,a5,2 +4000533c: 08071663 bnez a4,400053c8 <__lo0bits+0xa8> +40005340: 0027d793 srli a5,a5,0x2 +40005344: 00f52023 sw a5,0(a0) +40005348: 00200713 li a4,2 +4000534c: 00070513 mv a0,a4 +40005350: 00008067 ret +40005354: 01079693 slli a3,a5,0x10 +40005358: 0106d693 srli a3,a3,0x10 +4000535c: 00000713 li a4,0 +40005360: 00069663 bnez a3,4000536c <__lo0bits+0x4c> +40005364: 0107d793 srli a5,a5,0x10 +40005368: 01000713 li a4,16 +4000536c: 0ff7f693 andi a3,a5,255 +40005370: 00069663 bnez a3,4000537c <__lo0bits+0x5c> +40005374: 00870713 addi a4,a4,8 # c0000008 <_bss_end+0x7fff3980> +40005378: 0087d793 srli a5,a5,0x8 +4000537c: 00f7f693 andi a3,a5,15 +40005380: 00069663 bnez a3,4000538c <__lo0bits+0x6c> +40005384: 00470713 addi a4,a4,4 +40005388: 0047d793 srli a5,a5,0x4 +4000538c: 0037f693 andi a3,a5,3 +40005390: 00069663 bnez a3,4000539c <__lo0bits+0x7c> +40005394: 00270713 addi a4,a4,2 +40005398: 0027d793 srli a5,a5,0x2 +4000539c: 0017f693 andi a3,a5,1 +400053a0: 00069e63 bnez a3,400053bc <__lo0bits+0x9c> +400053a4: 0017d793 srli a5,a5,0x1 +400053a8: 00079863 bnez a5,400053b8 <__lo0bits+0x98> +400053ac: 02000713 li a4,32 +400053b0: 00070513 mv a0,a4 +400053b4: 00008067 ret +400053b8: 00170713 addi a4,a4,1 +400053bc: 00f52023 sw a5,0(a0) +400053c0: 00070513 mv a0,a4 +400053c4: 00008067 ret +400053c8: 0017d793 srli a5,a5,0x1 +400053cc: 00100713 li a4,1 +400053d0: 00f52023 sw a5,0(a0) +400053d4: 00070513 mv a0,a4 +400053d8: 00008067 ret + +400053dc <__i2b>: +400053dc: ff010113 addi sp,sp,-16 +400053e0: 00812423 sw s0,8(sp) +400053e4: 00058413 mv s0,a1 +400053e8: 00100593 li a1,1 +400053ec: 00112623 sw ra,12(sp) +400053f0: bd1ff0ef jal ra,40004fc0 <_Balloc> +400053f4: 00c12083 lw ra,12(sp) +400053f8: 00100713 li a4,1 +400053fc: 00852a23 sw s0,20(a0) +40005400: 00e52823 sw a4,16(a0) +40005404: 00812403 lw s0,8(sp) +40005408: 01010113 addi sp,sp,16 +4000540c: 00008067 ret + +40005410 <__multiply>: +40005410: fe010113 addi sp,sp,-32 +40005414: 01312623 sw s3,12(sp) +40005418: 01412423 sw s4,8(sp) +4000541c: 0105a983 lw s3,16(a1) +40005420: 01062a03 lw s4,16(a2) +40005424: 00912a23 sw s1,20(sp) +40005428: 01212823 sw s2,16(sp) +4000542c: 00112e23 sw ra,28(sp) +40005430: 00812c23 sw s0,24(sp) +40005434: 00058913 mv s2,a1 +40005438: 00060493 mv s1,a2 +4000543c: 0149dc63 ble s4,s3,40005454 <__multiply+0x44> +40005440: 00098713 mv a4,s3 +40005444: 00060913 mv s2,a2 +40005448: 000a0993 mv s3,s4 +4000544c: 00058493 mv s1,a1 +40005450: 00070a13 mv s4,a4 +40005454: 00892783 lw a5,8(s2) +40005458: 00492583 lw a1,4(s2) +4000545c: 01498433 add s0,s3,s4 +40005460: 0087a7b3 slt a5,a5,s0 +40005464: 00f585b3 add a1,a1,a5 +40005468: b59ff0ef jal ra,40004fc0 <_Balloc> +4000546c: 01450313 addi t1,a0,20 +40005470: 00241893 slli a7,s0,0x2 +40005474: 011308b3 add a7,t1,a7 +40005478: 00030793 mv a5,t1 +4000547c: 01137863 bleu a7,t1,4000548c <__multiply+0x7c> +40005480: 0007a023 sw zero,0(a5) +40005484: 00478793 addi a5,a5,4 +40005488: ff17ece3 bltu a5,a7,40005480 <__multiply+0x70> +4000548c: 01448813 addi a6,s1,20 +40005490: 002a1e13 slli t3,s4,0x2 +40005494: 01490e93 addi t4,s2,20 +40005498: 00299593 slli a1,s3,0x2 +4000549c: 00010637 lui a2,0x10 +400054a0: 01c80e33 add t3,a6,t3 +400054a4: 00be85b3 add a1,t4,a1 +400054a8: fff60613 addi a2,a2,-1 # ffff <_heap_size+0xdfff> +400054ac: 0fc87c63 bleu t3,a6,400055a4 <__multiply+0x194> +400054b0: 00082383 lw t2,0(a6) +400054b4: 00c3f4b3 and s1,t2,a2 +400054b8: 06048663 beqz s1,40005524 <__multiply+0x114> +400054bc: 00030f93 mv t6,t1 +400054c0: 000e8293 mv t0,t4 +400054c4: 00000393 li t2,0 +400054c8: 0002a703 lw a4,0(t0) # 40004f90 <memset+0xb4> +400054cc: 000faf03 lw t5,0(t6) +400054d0: 004f8f93 addi t6,t6,4 +400054d4: 00c776b3 and a3,a4,a2 +400054d8: 029686b3 mul a3,a3,s1 +400054dc: 01075793 srli a5,a4,0x10 +400054e0: 00cf7733 and a4,t5,a2 +400054e4: 010f5f13 srli t5,t5,0x10 +400054e8: 00428293 addi t0,t0,4 +400054ec: 029787b3 mul a5,a5,s1 +400054f0: 00e686b3 add a3,a3,a4 +400054f4: 007686b3 add a3,a3,t2 +400054f8: 0106d713 srli a4,a3,0x10 +400054fc: 00c6f6b3 and a3,a3,a2 +40005500: 01e787b3 add a5,a5,t5 +40005504: 00e787b3 add a5,a5,a4 +40005508: 01079713 slli a4,a5,0x10 +4000550c: 00d766b3 or a3,a4,a3 +40005510: fedfae23 sw a3,-4(t6) +40005514: 0107d393 srli t2,a5,0x10 +40005518: fab2e8e3 bltu t0,a1,400054c8 <__multiply+0xb8> +4000551c: 007fa023 sw t2,0(t6) +40005520: 00082383 lw t2,0(a6) +40005524: 0103d393 srli t2,t2,0x10 +40005528: 06038863 beqz t2,40005598 <__multiply+0x188> +4000552c: 00032703 lw a4,0(t1) +40005530: 00030f13 mv t5,t1 +40005534: 000e8693 mv a3,t4 +40005538: 00070293 mv t0,a4 +4000553c: 00000f93 li t6,0 +40005540: 0006a783 lw a5,0(a3) +40005544: 0102d913 srli s2,t0,0x10 +40005548: 00c77733 and a4,a4,a2 +4000554c: 00c7f7b3 and a5,a5,a2 +40005550: 027787b3 mul a5,a5,t2 +40005554: 004f0f13 addi t5,t5,4 +40005558: 00468693 addi a3,a3,4 +4000555c: 000f2283 lw t0,0(t5) +40005560: 00c2f4b3 and s1,t0,a2 +40005564: 012787b3 add a5,a5,s2 +40005568: 01f787b3 add a5,a5,t6 +4000556c: 01079f93 slli t6,a5,0x10 +40005570: 00efe733 or a4,t6,a4 +40005574: feef2e23 sw a4,-4(t5) +40005578: ffe6d703 lhu a4,-2(a3) +4000557c: 0107d793 srli a5,a5,0x10 +40005580: 02770733 mul a4,a4,t2 +40005584: 00970733 add a4,a4,s1 +40005588: 00f70733 add a4,a4,a5 +4000558c: 01075f93 srli t6,a4,0x10 +40005590: fab6e8e3 bltu a3,a1,40005540 <__multiply+0x130> +40005594: 00ef2023 sw a4,0(t5) +40005598: 00480813 addi a6,a6,4 +4000559c: 00430313 addi t1,t1,4 +400055a0: f1c868e3 bltu a6,t3,400054b0 <__multiply+0xa0> +400055a4: 02805463 blez s0,400055cc <__multiply+0x1bc> +400055a8: ffc8a783 lw a5,-4(a7) +400055ac: ffc88893 addi a7,a7,-4 +400055b0: 00078863 beqz a5,400055c0 <__multiply+0x1b0> +400055b4: 0180006f j 400055cc <__multiply+0x1bc> +400055b8: 0008a783 lw a5,0(a7) +400055bc: 00079863 bnez a5,400055cc <__multiply+0x1bc> +400055c0: fff40413 addi s0,s0,-1 +400055c4: ffc88893 addi a7,a7,-4 +400055c8: fe0418e3 bnez s0,400055b8 <__multiply+0x1a8> +400055cc: 01c12083 lw ra,28(sp) +400055d0: 00852823 sw s0,16(a0) +400055d4: 01412483 lw s1,20(sp) +400055d8: 01812403 lw s0,24(sp) +400055dc: 01012903 lw s2,16(sp) +400055e0: 00c12983 lw s3,12(sp) +400055e4: 00812a03 lw s4,8(sp) +400055e8: 02010113 addi sp,sp,32 +400055ec: 00008067 ret + +400055f0 <__pow5mult>: +400055f0: fe010113 addi sp,sp,-32 +400055f4: 00812c23 sw s0,24(sp) +400055f8: 01312623 sw s3,12(sp) +400055fc: 01412423 sw s4,8(sp) +40005600: 00112e23 sw ra,28(sp) +40005604: 00912a23 sw s1,20(sp) +40005608: 01212823 sw s2,16(sp) +4000560c: 00367793 andi a5,a2,3 +40005610: 00060413 mv s0,a2 +40005614: 00050993 mv s3,a0 +40005618: 00058a13 mv s4,a1 +4000561c: 0c079463 bnez a5,400056e4 <__pow5mult+0xf4> +40005620: 40245413 srai s0,s0,0x2 +40005624: 000a0913 mv s2,s4 +40005628: 06040863 beqz s0,40005698 <__pow5mult+0xa8> +4000562c: 0489a483 lw s1,72(s3) +40005630: 0c048e63 beqz s1,4000570c <__pow5mult+0x11c> +40005634: 00147793 andi a5,s0,1 +40005638: 000a0913 mv s2,s4 +4000563c: 02079063 bnez a5,4000565c <__pow5mult+0x6c> +40005640: 40145413 srai s0,s0,0x1 +40005644: 04040a63 beqz s0,40005698 <__pow5mult+0xa8> +40005648: 0004a503 lw a0,0(s1) +4000564c: 06050863 beqz a0,400056bc <__pow5mult+0xcc> +40005650: 00050493 mv s1,a0 +40005654: 00147793 andi a5,s0,1 +40005658: fe0784e3 beqz a5,40005640 <__pow5mult+0x50> +4000565c: 00048613 mv a2,s1 +40005660: 00090593 mv a1,s2 +40005664: 00098513 mv a0,s3 +40005668: da9ff0ef jal ra,40005410 <__multiply> +4000566c: 06090863 beqz s2,400056dc <__pow5mult+0xec> +40005670: 00492703 lw a4,4(s2) +40005674: 04c9a783 lw a5,76(s3) +40005678: 40145413 srai s0,s0,0x1 +4000567c: 00271713 slli a4,a4,0x2 +40005680: 00e787b3 add a5,a5,a4 +40005684: 0007a703 lw a4,0(a5) +40005688: 00e92023 sw a4,0(s2) +4000568c: 0127a023 sw s2,0(a5) +40005690: 00050913 mv s2,a0 +40005694: fa041ae3 bnez s0,40005648 <__pow5mult+0x58> +40005698: 01c12083 lw ra,28(sp) +4000569c: 00090513 mv a0,s2 +400056a0: 01812403 lw s0,24(sp) +400056a4: 01412483 lw s1,20(sp) +400056a8: 01012903 lw s2,16(sp) +400056ac: 00c12983 lw s3,12(sp) +400056b0: 00812a03 lw s4,8(sp) +400056b4: 02010113 addi sp,sp,32 +400056b8: 00008067 ret +400056bc: 00048613 mv a2,s1 +400056c0: 00048593 mv a1,s1 +400056c4: 00098513 mv a0,s3 +400056c8: d49ff0ef jal ra,40005410 <__multiply> +400056cc: 00a4a023 sw a0,0(s1) +400056d0: 00052023 sw zero,0(a0) +400056d4: 00050493 mv s1,a0 +400056d8: f7dff06f j 40005654 <__pow5mult+0x64> +400056dc: 00050913 mv s2,a0 +400056e0: f61ff06f j 40005640 <__pow5mult+0x50> +400056e4: fff78793 addi a5,a5,-1 +400056e8: 4000c737 lui a4,0x4000c +400056ec: 80870713 addi a4,a4,-2040 # 4000b808 <p05.2481> +400056f0: 00279793 slli a5,a5,0x2 +400056f4: 00f707b3 add a5,a4,a5 +400056f8: 0007a603 lw a2,0(a5) +400056fc: 00000693 li a3,0 +40005700: 989ff0ef jal ra,40005088 <__multadd> +40005704: 00050a13 mv s4,a0 +40005708: f19ff06f j 40005620 <__pow5mult+0x30> +4000570c: 00100593 li a1,1 +40005710: 00098513 mv a0,s3 +40005714: 8adff0ef jal ra,40004fc0 <_Balloc> +40005718: 27100793 li a5,625 +4000571c: 00f52a23 sw a5,20(a0) +40005720: 00100793 li a5,1 +40005724: 00f52823 sw a5,16(a0) +40005728: 04a9a423 sw a0,72(s3) +4000572c: 00050493 mv s1,a0 +40005730: 00052023 sw zero,0(a0) +40005734: f01ff06f j 40005634 <__pow5mult+0x44> + +40005738 <__lshift>: +40005738: fe010113 addi sp,sp,-32 +4000573c: 01412423 sw s4,8(sp) +40005740: 0105aa03 lw s4,16(a1) +40005744: 00812c23 sw s0,24(sp) +40005748: 0085a783 lw a5,8(a1) +4000574c: 40565413 srai s0,a2,0x5 +40005750: 01440a33 add s4,s0,s4 +40005754: 00912a23 sw s1,20(sp) +40005758: 01212823 sw s2,16(sp) +4000575c: 01312623 sw s3,12(sp) +40005760: 01512223 sw s5,4(sp) +40005764: 00112e23 sw ra,28(sp) +40005768: 001a0493 addi s1,s4,1 +4000576c: 00058993 mv s3,a1 +40005770: 00060913 mv s2,a2 +40005774: 00050a93 mv s5,a0 +40005778: 0045a583 lw a1,4(a1) +4000577c: 0097d863 ble s1,a5,4000578c <__lshift+0x54> +40005780: 00179793 slli a5,a5,0x1 +40005784: 00158593 addi a1,a1,1 +40005788: fe97cce3 blt a5,s1,40005780 <__lshift+0x48> +4000578c: 000a8513 mv a0,s5 +40005790: 831ff0ef jal ra,40004fc0 <_Balloc> +40005794: 01450793 addi a5,a0,20 +40005798: 0e805063 blez s0,40005878 <__lshift+0x140> +4000579c: 00241713 slli a4,s0,0x2 +400057a0: 00e78733 add a4,a5,a4 +400057a4: 00478793 addi a5,a5,4 +400057a8: fe07ae23 sw zero,-4(a5) +400057ac: fee79ce3 bne a5,a4,400057a4 <__lshift+0x6c> +400057b0: 0109a803 lw a6,16(s3) +400057b4: 01498793 addi a5,s3,20 +400057b8: 01f97613 andi a2,s2,31 +400057bc: 00281813 slli a6,a6,0x2 +400057c0: 01078833 add a6,a5,a6 +400057c4: 08060463 beqz a2,4000584c <__lshift+0x114> +400057c8: 02000893 li a7,32 +400057cc: 40c888b3 sub a7,a7,a2 +400057d0: 00000593 li a1,0 +400057d4: 0007a683 lw a3,0(a5) +400057d8: 00470713 addi a4,a4,4 +400057dc: 00478793 addi a5,a5,4 +400057e0: 00c696b3 sll a3,a3,a2 +400057e4: 00b6e6b3 or a3,a3,a1 +400057e8: fed72e23 sw a3,-4(a4) +400057ec: ffc7a683 lw a3,-4(a5) +400057f0: 0116d5b3 srl a1,a3,a7 +400057f4: ff07e0e3 bltu a5,a6,400057d4 <__lshift+0x9c> +400057f8: 00b72023 sw a1,0(a4) +400057fc: 00058463 beqz a1,40005804 <__lshift+0xcc> +40005800: 002a0493 addi s1,s4,2 +40005804: 0049a703 lw a4,4(s3) +40005808: 04caa783 lw a5,76(s5) +4000580c: fff48493 addi s1,s1,-1 +40005810: 00271713 slli a4,a4,0x2 +40005814: 00e787b3 add a5,a5,a4 +40005818: 0007a703 lw a4,0(a5) +4000581c: 01c12083 lw ra,28(sp) +40005820: 00952823 sw s1,16(a0) +40005824: 00e9a023 sw a4,0(s3) +40005828: 0137a023 sw s3,0(a5) +4000582c: 01812403 lw s0,24(sp) +40005830: 01412483 lw s1,20(sp) +40005834: 01012903 lw s2,16(sp) +40005838: 00c12983 lw s3,12(sp) +4000583c: 00812a03 lw s4,8(sp) +40005840: 00412a83 lw s5,4(sp) +40005844: 02010113 addi sp,sp,32 +40005848: 00008067 ret +4000584c: 00478793 addi a5,a5,4 +40005850: ffc7a683 lw a3,-4(a5) +40005854: 00470713 addi a4,a4,4 +40005858: fed72e23 sw a3,-4(a4) +4000585c: fb07f4e3 bleu a6,a5,40005804 <__lshift+0xcc> +40005860: 00478793 addi a5,a5,4 +40005864: ffc7a683 lw a3,-4(a5) +40005868: 00470713 addi a4,a4,4 +4000586c: fed72e23 sw a3,-4(a4) +40005870: fd07eee3 bltu a5,a6,4000584c <__lshift+0x114> +40005874: f91ff06f j 40005804 <__lshift+0xcc> +40005878: 00078713 mv a4,a5 +4000587c: f35ff06f j 400057b0 <__lshift+0x78> + +40005880 <__mcmp>: +40005880: 01052683 lw a3,16(a0) +40005884: 0105a703 lw a4,16(a1) +40005888: 00050813 mv a6,a0 +4000588c: 40e68533 sub a0,a3,a4 +40005890: 04051263 bnez a0,400058d4 <__mcmp+0x54> +40005894: 00271713 slli a4,a4,0x2 +40005898: 01480813 addi a6,a6,20 +4000589c: 01458593 addi a1,a1,20 +400058a0: 00e807b3 add a5,a6,a4 +400058a4: 00e58733 add a4,a1,a4 +400058a8: 0080006f j 400058b0 <__mcmp+0x30> +400058ac: 02f87463 bleu a5,a6,400058d4 <__mcmp+0x54> +400058b0: ffc78793 addi a5,a5,-4 +400058b4: ffc70713 addi a4,a4,-4 +400058b8: 0007a683 lw a3,0(a5) +400058bc: 00072603 lw a2,0(a4) +400058c0: fec686e3 beq a3,a2,400058ac <__mcmp+0x2c> +400058c4: 00c6b6b3 sltu a3,a3,a2 +400058c8: 40d006b3 neg a3,a3 +400058cc: 0016e513 ori a0,a3,1 +400058d0: 00008067 ret +400058d4: 00008067 ret + +400058d8 <__mdiff>: +400058d8: fe010113 addi sp,sp,-32 +400058dc: 01212823 sw s2,16(sp) +400058e0: 01062703 lw a4,16(a2) +400058e4: 0105a903 lw s2,16(a1) +400058e8: 01312623 sw s3,12(sp) +400058ec: 01412423 sw s4,8(sp) +400058f0: 00112e23 sw ra,28(sp) +400058f4: 00812c23 sw s0,24(sp) +400058f8: 00912a23 sw s1,20(sp) +400058fc: 40e90933 sub s2,s2,a4 +40005900: 00058993 mv s3,a1 +40005904: 00060a13 mv s4,a2 +40005908: 04091863 bnez s2,40005958 <__mdiff+0x80> +4000590c: 00271713 slli a4,a4,0x2 +40005910: 01458313 addi t1,a1,20 +40005914: 01460493 addi s1,a2,20 +40005918: 00e307b3 add a5,t1,a4 +4000591c: 00e48733 add a4,s1,a4 +40005920: 0080006f j 40005928 <__mdiff+0x50> +40005924: 16f37863 bleu a5,t1,40005a94 <__mdiff+0x1bc> +40005928: ffc78793 addi a5,a5,-4 +4000592c: ffc70713 addi a4,a4,-4 +40005930: 0007a583 lw a1,0(a5) +40005934: 00072683 lw a3,0(a4) +40005938: fed586e3 beq a1,a3,40005924 <__mdiff+0x4c> +4000593c: 18d5f663 bleu a3,a1,40005ac8 <__mdiff+0x1f0> +40005940: 00098793 mv a5,s3 +40005944: 00030413 mv s0,t1 +40005948: 000a0993 mv s3,s4 +4000594c: 00100913 li s2,1 +40005950: 00078a13 mv s4,a5 +40005954: 0140006f j 40005968 <__mdiff+0x90> +40005958: 16094e63 bltz s2,40005ad4 <__mdiff+0x1fc> +4000595c: 01498493 addi s1,s3,20 +40005960: 014a0413 addi s0,s4,20 +40005964: 00000913 li s2,0 +40005968: 0049a583 lw a1,4(s3) +4000596c: e54ff0ef jal ra,40004fc0 <_Balloc> +40005970: 0109ae03 lw t3,16(s3) +40005974: 010a2f03 lw t5,16(s4) +40005978: 00010637 lui a2,0x10 +4000597c: 002e1e93 slli t4,t3,0x2 +40005980: 002f1f13 slli t5,t5,0x2 +40005984: 01252623 sw s2,12(a0) +40005988: 01d48eb3 add t4,s1,t4 +4000598c: 01e40f33 add t5,s0,t5 +40005990: 01450593 addi a1,a0,20 +40005994: 00040893 mv a7,s0 +40005998: 00048313 mv t1,s1 +4000599c: 00000793 li a5,0 +400059a0: fff60613 addi a2,a2,-1 # ffff <_heap_size+0xdfff> +400059a4: 0080006f j 400059ac <__mdiff+0xd4> +400059a8: 00080313 mv t1,a6 +400059ac: 00032703 lw a4,0(t1) +400059b0: 0008a803 lw a6,0(a7) +400059b4: 00458593 addi a1,a1,4 +400059b8: 00c776b3 and a3,a4,a2 +400059bc: 00f686b3 add a3,a3,a5 +400059c0: 00c877b3 and a5,a6,a2 +400059c4: 40f686b3 sub a3,a3,a5 +400059c8: 01085813 srli a6,a6,0x10 +400059cc: 01075793 srli a5,a4,0x10 +400059d0: 410787b3 sub a5,a5,a6 +400059d4: 4106d713 srai a4,a3,0x10 +400059d8: 00e787b3 add a5,a5,a4 +400059dc: 01079713 slli a4,a5,0x10 +400059e0: 00c6f6b3 and a3,a3,a2 +400059e4: 00d766b3 or a3,a4,a3 +400059e8: 00488893 addi a7,a7,4 +400059ec: fed5ae23 sw a3,-4(a1) +400059f0: 00430813 addi a6,t1,4 +400059f4: 4107d793 srai a5,a5,0x10 +400059f8: fbe8e8e3 bltu a7,t5,400059a8 <__mdiff+0xd0> +400059fc: 05d87e63 bleu t4,a6,40005a58 <__mdiff+0x180> +40005a00: 00010f37 lui t5,0x10 +40005a04: 00058893 mv a7,a1 +40005a08: ffff0f13 addi t5,t5,-1 # ffff <_heap_size+0xdfff> +40005a0c: 00082703 lw a4,0(a6) +40005a10: 00488893 addi a7,a7,4 +40005a14: 00480813 addi a6,a6,4 +40005a18: 01e77633 and a2,a4,t5 +40005a1c: 00f60633 add a2,a2,a5 +40005a20: 41065693 srai a3,a2,0x10 +40005a24: 01075793 srli a5,a4,0x10 +40005a28: 00d787b3 add a5,a5,a3 +40005a2c: 01079693 slli a3,a5,0x10 +40005a30: 01e67633 and a2,a2,t5 +40005a34: 00c6e6b3 or a3,a3,a2 +40005a38: fed8ae23 sw a3,-4(a7) +40005a3c: 4107d793 srai a5,a5,0x10 +40005a40: fdd866e3 bltu a6,t4,40005a0c <__mdiff+0x134> +40005a44: 406e87b3 sub a5,t4,t1 +40005a48: ffb78793 addi a5,a5,-5 +40005a4c: ffc7f793 andi a5,a5,-4 +40005a50: 00478793 addi a5,a5,4 +40005a54: 00f585b3 add a1,a1,a5 +40005a58: ffc58593 addi a1,a1,-4 +40005a5c: 00069a63 bnez a3,40005a70 <__mdiff+0x198> +40005a60: ffc58593 addi a1,a1,-4 +40005a64: 0005a783 lw a5,0(a1) +40005a68: fffe0e13 addi t3,t3,-1 +40005a6c: fe078ae3 beqz a5,40005a60 <__mdiff+0x188> +40005a70: 01c12083 lw ra,28(sp) +40005a74: 01812403 lw s0,24(sp) +40005a78: 01412483 lw s1,20(sp) +40005a7c: 01012903 lw s2,16(sp) +40005a80: 00c12983 lw s3,12(sp) +40005a84: 00812a03 lw s4,8(sp) +40005a88: 01c52823 sw t3,16(a0) +40005a8c: 02010113 addi sp,sp,32 +40005a90: 00008067 ret +40005a94: 00000593 li a1,0 +40005a98: d28ff0ef jal ra,40004fc0 <_Balloc> +40005a9c: 01c12083 lw ra,28(sp) +40005aa0: 00100793 li a5,1 +40005aa4: 01812403 lw s0,24(sp) +40005aa8: 01412483 lw s1,20(sp) +40005aac: 01012903 lw s2,16(sp) +40005ab0: 00c12983 lw s3,12(sp) +40005ab4: 00812a03 lw s4,8(sp) +40005ab8: 00f52823 sw a5,16(a0) +40005abc: 00052a23 sw zero,20(a0) +40005ac0: 02010113 addi sp,sp,32 +40005ac4: 00008067 ret +40005ac8: 00048413 mv s0,s1 +40005acc: 00030493 mv s1,t1 +40005ad0: e99ff06f j 40005968 <__mdiff+0x90> +40005ad4: 01460493 addi s1,a2,20 +40005ad8: 01458413 addi s0,a1,20 +40005adc: 00100913 li s2,1 +40005ae0: 00060993 mv s3,a2 +40005ae4: 00058a13 mv s4,a1 +40005ae8: e81ff06f j 40005968 <__mdiff+0x90> + +40005aec <__ulp>: +40005aec: 7ff007b7 lui a5,0x7ff00 +40005af0: 00b7f5b3 and a1,a5,a1 +40005af4: fcc007b7 lui a5,0xfcc00 +40005af8: 00f585b3 add a1,a1,a5 +40005afc: 00b05863 blez a1,40005b0c <__ulp+0x20> +40005b00: 00000793 li a5,0 +40005b04: 00078513 mv a0,a5 +40005b08: 00008067 ret +40005b0c: 40b005b3 neg a1,a1 +40005b10: 4145d593 srai a1,a1,0x14 +40005b14: 01300793 li a5,19 +40005b18: 02b7d463 ble a1,a5,40005b40 <__ulp+0x54> +40005b1c: fec58713 addi a4,a1,-20 +40005b20: 01e00693 li a3,30 +40005b24: 00000593 li a1,0 +40005b28: 00100793 li a5,1 +40005b2c: fce6cce3 blt a3,a4,40005b04 <__ulp+0x18> +40005b30: fff74713 not a4,a4 +40005b34: 00e797b3 sll a5,a5,a4 +40005b38: 00078513 mv a0,a5 +40005b3c: 00008067 ret +40005b40: 000807b7 lui a5,0x80 +40005b44: 40b7d5b3 sra a1,a5,a1 +40005b48: fb9ff06f j 40005b00 <__ulp+0x14> + +40005b4c <__b2d>: +40005b4c: fe010113 addi sp,sp,-32 +40005b50: 00812c23 sw s0,24(sp) +40005b54: 01052403 lw s0,16(a0) +40005b58: 00912a23 sw s1,20(sp) +40005b5c: 01450493 addi s1,a0,20 +40005b60: 00241413 slli s0,s0,0x2 +40005b64: 00848433 add s0,s1,s0 +40005b68: 01212823 sw s2,16(sp) +40005b6c: ffc42903 lw s2,-4(s0) +40005b70: 01312623 sw s3,12(sp) +40005b74: 01412423 sw s4,8(sp) +40005b78: 00090513 mv a0,s2 +40005b7c: 00058a13 mv s4,a1 +40005b80: 00112e23 sw ra,28(sp) +40005b84: f28ff0ef jal ra,400052ac <__hi0bits> +40005b88: 02000713 li a4,32 +40005b8c: 40a707b3 sub a5,a4,a0 +40005b90: 00fa2023 sw a5,0(s4) +40005b94: 00a00793 li a5,10 +40005b98: ffc40993 addi s3,s0,-4 +40005b9c: 04a7ce63 blt a5,a0,40005bf8 <__b2d+0xac> +40005ba0: 00b00693 li a3,11 +40005ba4: 40a686b3 sub a3,a3,a0 +40005ba8: 3ff007b7 lui a5,0x3ff00 +40005bac: 00d95733 srl a4,s2,a3 +40005bb0: 00f76733 or a4,a4,a5 +40005bb4: 00000793 li a5,0 +40005bb8: 0134f663 bleu s3,s1,40005bc4 <__b2d+0x78> +40005bbc: ff842783 lw a5,-8(s0) +40005bc0: 00d7d7b3 srl a5,a5,a3 +40005bc4: 01550513 addi a0,a0,21 +40005bc8: 00a91533 sll a0,s2,a0 +40005bcc: 00f567b3 or a5,a0,a5 +40005bd0: 01c12083 lw ra,28(sp) +40005bd4: 00078513 mv a0,a5 +40005bd8: 00070593 mv a1,a4 +40005bdc: 01812403 lw s0,24(sp) +40005be0: 01412483 lw s1,20(sp) +40005be4: 01012903 lw s2,16(sp) +40005be8: 00c12983 lw s3,12(sp) +40005bec: 00812a03 lw s4,8(sp) +40005bf0: 02010113 addi sp,sp,32 +40005bf4: 00008067 ret +40005bf8: ff550513 addi a0,a0,-11 +40005bfc: 0534f063 bleu s3,s1,40005c3c <__b2d+0xf0> +40005c00: ff842783 lw a5,-8(s0) +40005c04: 04050063 beqz a0,40005c44 <__b2d+0xf8> +40005c08: 40a706b3 sub a3,a4,a0 +40005c0c: 00a91933 sll s2,s2,a0 +40005c10: 3ff00737 lui a4,0x3ff00 +40005c14: 00e96933 or s2,s2,a4 +40005c18: ff840613 addi a2,s0,-8 +40005c1c: 00d7d733 srl a4,a5,a3 +40005c20: 00e96733 or a4,s2,a4 +40005c24: 04c4f063 bleu a2,s1,40005c64 <__b2d+0x118> +40005c28: ff442603 lw a2,-12(s0) +40005c2c: 00a797b3 sll a5,a5,a0 +40005c30: 00d656b3 srl a3,a2,a3 +40005c34: 00f6e7b3 or a5,a3,a5 +40005c38: f99ff06f j 40005bd0 <__b2d+0x84> +40005c3c: 00000793 li a5,0 +40005c40: 00051863 bnez a0,40005c50 <__b2d+0x104> +40005c44: 3ff00737 lui a4,0x3ff00 +40005c48: 00e96733 or a4,s2,a4 +40005c4c: f85ff06f j 40005bd0 <__b2d+0x84> +40005c50: 00a91533 sll a0,s2,a0 +40005c54: 3ff00737 lui a4,0x3ff00 +40005c58: 00e56733 or a4,a0,a4 +40005c5c: 00000793 li a5,0 +40005c60: f71ff06f j 40005bd0 <__b2d+0x84> +40005c64: 00a797b3 sll a5,a5,a0 +40005c68: f69ff06f j 40005bd0 <__b2d+0x84> + +40005c6c <__d2b>: +40005c6c: fd010113 addi sp,sp,-48 +40005c70: 00100593 li a1,1 +40005c74: 02812423 sw s0,40(sp) +40005c78: 02912223 sw s1,36(sp) +40005c7c: 00068413 mv s0,a3 +40005c80: 03212023 sw s2,32(sp) +40005c84: 01312e23 sw s3,28(sp) +40005c88: 01412c23 sw s4,24(sp) +40005c8c: 01512a23 sw s5,20(sp) +40005c90: 00070a13 mv s4,a4 +40005c94: 00060a93 mv s5,a2 +40005c98: 00078993 mv s3,a5 +40005c9c: 02112623 sw ra,44(sp) +40005ca0: b20ff0ef jal ra,40004fc0 <_Balloc> +40005ca4: 00100737 lui a4,0x100 +40005ca8: 01445493 srli s1,s0,0x14 +40005cac: fff70793 addi a5,a4,-1 # fffff <_heap_size+0xfdfff> +40005cb0: 7ff4f493 andi s1,s1,2047 +40005cb4: 00050913 mv s2,a0 +40005cb8: 000a8613 mv a2,s5 +40005cbc: 0087f6b3 and a3,a5,s0 +40005cc0: 00048463 beqz s1,40005cc8 <__d2b+0x5c> +40005cc4: 00e6e6b3 or a3,a3,a4 +40005cc8: 00d12623 sw a3,12(sp) +40005ccc: 08060263 beqz a2,40005d50 <__d2b+0xe4> +40005cd0: 00810513 addi a0,sp,8 +40005cd4: 01512423 sw s5,8(sp) +40005cd8: e48ff0ef jal ra,40005320 <__lo0bits> +40005cdc: 00050793 mv a5,a0 +40005ce0: 00c12703 lw a4,12(sp) +40005ce4: 0a051463 bnez a0,40005d8c <__d2b+0x120> +40005ce8: 00812683 lw a3,8(sp) +40005cec: 00d92a23 sw a3,20(s2) +40005cf0: 00e03433 snez s0,a4 +40005cf4: 00140413 addi s0,s0,1 +40005cf8: 00e92c23 sw a4,24(s2) +40005cfc: 00892823 sw s0,16(s2) +40005d00: 06049863 bnez s1,40005d70 <__d2b+0x104> +40005d04: 00241713 slli a4,s0,0x2 +40005d08: 00e90733 add a4,s2,a4 +40005d0c: 01072503 lw a0,16(a4) +40005d10: bce78793 addi a5,a5,-1074 # 3feffbce <_heap_size+0x3fefdbce> +40005d14: 00fa2023 sw a5,0(s4) +40005d18: d94ff0ef jal ra,400052ac <__hi0bits> +40005d1c: 00541413 slli s0,s0,0x5 +40005d20: 40a40433 sub s0,s0,a0 +40005d24: 0089a023 sw s0,0(s3) +40005d28: 02c12083 lw ra,44(sp) +40005d2c: 00090513 mv a0,s2 +40005d30: 02812403 lw s0,40(sp) +40005d34: 02412483 lw s1,36(sp) +40005d38: 02012903 lw s2,32(sp) +40005d3c: 01c12983 lw s3,28(sp) +40005d40: 01812a03 lw s4,24(sp) +40005d44: 01412a83 lw s5,20(sp) +40005d48: 03010113 addi sp,sp,48 +40005d4c: 00008067 ret +40005d50: 00c10513 addi a0,sp,12 +40005d54: dccff0ef jal ra,40005320 <__lo0bits> +40005d58: 00c12783 lw a5,12(sp) +40005d5c: 00100413 li s0,1 +40005d60: 00892823 sw s0,16(s2) +40005d64: 00f92a23 sw a5,20(s2) +40005d68: 02050793 addi a5,a0,32 +40005d6c: f8048ce3 beqz s1,40005d04 <__d2b+0x98> +40005d70: bcd48493 addi s1,s1,-1075 +40005d74: 00f484b3 add s1,s1,a5 +40005d78: 03500713 li a4,53 +40005d7c: 009a2023 sw s1,0(s4) +40005d80: 40f707b3 sub a5,a4,a5 +40005d84: 00f9a023 sw a5,0(s3) +40005d88: fa1ff06f j 40005d28 <__d2b+0xbc> +40005d8c: 02000693 li a3,32 +40005d90: 00812603 lw a2,8(sp) +40005d94: 40a686b3 sub a3,a3,a0 +40005d98: 00d716b3 sll a3,a4,a3 +40005d9c: 00c6e6b3 or a3,a3,a2 +40005da0: 00a75733 srl a4,a4,a0 +40005da4: 00d92a23 sw a3,20(s2) +40005da8: 00e12623 sw a4,12(sp) +40005dac: f45ff06f j 40005cf0 <__d2b+0x84> + +40005db0 <__ratio>: +40005db0: fd010113 addi sp,sp,-48 +40005db4: 03212023 sw s2,32(sp) +40005db8: 00058913 mv s2,a1 +40005dbc: 00810593 addi a1,sp,8 +40005dc0: 02112623 sw ra,44(sp) +40005dc4: 02812423 sw s0,40(sp) +40005dc8: 02912223 sw s1,36(sp) +40005dcc: 01312e23 sw s3,28(sp) +40005dd0: 00050993 mv s3,a0 +40005dd4: d79ff0ef jal ra,40005b4c <__b2d> +40005dd8: 00050493 mv s1,a0 +40005ddc: 00058413 mv s0,a1 +40005de0: 00090513 mv a0,s2 +40005de4: 00c10593 addi a1,sp,12 +40005de8: d65ff0ef jal ra,40005b4c <__b2d> +40005dec: 01092783 lw a5,16(s2) +40005df0: 0109a703 lw a4,16(s3) +40005df4: 00812683 lw a3,8(sp) +40005df8: 40f70733 sub a4,a4,a5 +40005dfc: 00c12783 lw a5,12(sp) +40005e00: 00571713 slli a4,a4,0x5 +40005e04: 40f686b3 sub a3,a3,a5 +40005e08: 00d707b3 add a5,a4,a3 +40005e0c: 02f05e63 blez a5,40005e48 <__ratio+0x98> +40005e10: 01479793 slli a5,a5,0x14 +40005e14: 00878433 add s0,a5,s0 +40005e18: 00050613 mv a2,a0 +40005e1c: 00058693 mv a3,a1 +40005e20: 00048513 mv a0,s1 +40005e24: 00040593 mv a1,s0 +40005e28: 5c0030ef jal ra,400093e8 <__divdf3> +40005e2c: 02c12083 lw ra,44(sp) +40005e30: 02812403 lw s0,40(sp) +40005e34: 02412483 lw s1,36(sp) +40005e38: 02012903 lw s2,32(sp) +40005e3c: 01c12983 lw s3,28(sp) +40005e40: 03010113 addi sp,sp,48 +40005e44: 00008067 ret +40005e48: 01479713 slli a4,a5,0x14 +40005e4c: 40e585b3 sub a1,a1,a4 +40005e50: fc9ff06f j 40005e18 <__ratio+0x68> + +40005e54 <_mprec_log10>: +40005e54: ff010113 addi sp,sp,-16 +40005e58: 00812423 sw s0,8(sp) +40005e5c: 00112623 sw ra,12(sp) +40005e60: 01212223 sw s2,4(sp) +40005e64: 01312023 sw s3,0(sp) +40005e68: 01700793 li a5,23 +40005e6c: 00050413 mv s0,a0 +40005e70: 04a7d463 ble a0,a5,40005eb8 <_mprec_log10+0x64> +40005e74: 4000c7b7 lui a5,0x4000c +40005e78: c607a503 lw a0,-928(a5) # 4000bc60 <__clz_tab+0x12c> +40005e7c: c647a583 lw a1,-924(a5) +40005e80: 4000c7b7 lui a5,0x4000c +40005e84: c687a903 lw s2,-920(a5) # 4000bc68 <__clz_tab+0x134> +40005e88: c6c7a983 lw s3,-916(a5) +40005e8c: fff40413 addi s0,s0,-1 +40005e90: 00090613 mv a2,s2 +40005e94: 00098693 mv a3,s3 +40005e98: 020040ef jal ra,40009eb8 <__muldf3> +40005e9c: fe0418e3 bnez s0,40005e8c <_mprec_log10+0x38> +40005ea0: 00c12083 lw ra,12(sp) +40005ea4: 00812403 lw s0,8(sp) +40005ea8: 00412903 lw s2,4(sp) +40005eac: 00012983 lw s3,0(sp) +40005eb0: 01010113 addi sp,sp,16 +40005eb4: 00008067 ret +40005eb8: 4000c7b7 lui a5,0x4000c +40005ebc: 00c12083 lw ra,12(sp) +40005ec0: 00351413 slli s0,a0,0x3 +40005ec4: 80878793 addi a5,a5,-2040 # 4000b808 <p05.2481> +40005ec8: 00878433 add s0,a5,s0 +40005ecc: 01042503 lw a0,16(s0) +40005ed0: 01442583 lw a1,20(s0) +40005ed4: 00412903 lw s2,4(sp) +40005ed8: 00812403 lw s0,8(sp) +40005edc: 00012983 lw s3,0(sp) +40005ee0: 01010113 addi sp,sp,16 +40005ee4: 00008067 ret + +40005ee8 <__copybits>: +40005ee8: 01062683 lw a3,16(a2) +40005eec: fff58813 addi a6,a1,-1 +40005ef0: 40585813 srai a6,a6,0x5 +40005ef4: 00180813 addi a6,a6,1 +40005ef8: 01460793 addi a5,a2,20 +40005efc: 00269693 slli a3,a3,0x2 +40005f00: 00281813 slli a6,a6,0x2 +40005f04: 00d786b3 add a3,a5,a3 +40005f08: 01050833 add a6,a0,a6 +40005f0c: 02d7f863 bleu a3,a5,40005f3c <__copybits+0x54> +40005f10: 00050713 mv a4,a0 +40005f14: 00478793 addi a5,a5,4 +40005f18: ffc7a583 lw a1,-4(a5) +40005f1c: 00470713 addi a4,a4,4 +40005f20: feb72e23 sw a1,-4(a4) +40005f24: fed7e8e3 bltu a5,a3,40005f14 <__copybits+0x2c> +40005f28: 40c687b3 sub a5,a3,a2 +40005f2c: feb78793 addi a5,a5,-21 +40005f30: ffc7f793 andi a5,a5,-4 +40005f34: 00478793 addi a5,a5,4 +40005f38: 00f50533 add a0,a0,a5 +40005f3c: 01057863 bleu a6,a0,40005f4c <__copybits+0x64> +40005f40: 00450513 addi a0,a0,4 +40005f44: fe052e23 sw zero,-4(a0) +40005f48: ff056ce3 bltu a0,a6,40005f40 <__copybits+0x58> +40005f4c: 00008067 ret + +40005f50 <__any_on>: +40005f50: 01052783 lw a5,16(a0) +40005f54: 4055d713 srai a4,a1,0x5 +40005f58: 01450693 addi a3,a0,20 +40005f5c: 02e7da63 ble a4,a5,40005f90 <__any_on+0x40> +40005f60: 00279793 slli a5,a5,0x2 +40005f64: 00f687b3 add a5,a3,a5 +40005f68: 06f6f263 bleu a5,a3,40005fcc <__any_on+0x7c> +40005f6c: ffc7a503 lw a0,-4(a5) +40005f70: ffc78793 addi a5,a5,-4 +40005f74: 00051a63 bnez a0,40005f88 <__any_on+0x38> +40005f78: 04f6f863 bleu a5,a3,40005fc8 <__any_on+0x78> +40005f7c: ffc78793 addi a5,a5,-4 +40005f80: 0007a703 lw a4,0(a5) +40005f84: fe070ae3 beqz a4,40005f78 <__any_on+0x28> +40005f88: 00100513 li a0,1 +40005f8c: 00008067 ret +40005f90: 02f75663 ble a5,a4,40005fbc <__any_on+0x6c> +40005f94: 00271793 slli a5,a4,0x2 +40005f98: 01f5f593 andi a1,a1,31 +40005f9c: 00f687b3 add a5,a3,a5 +40005fa0: fc0584e3 beqz a1,40005f68 <__any_on+0x18> +40005fa4: 0007a603 lw a2,0(a5) +40005fa8: 00100513 li a0,1 +40005fac: 00b65733 srl a4,a2,a1 +40005fb0: 00b715b3 sll a1,a4,a1 +40005fb4: fab60ae3 beq a2,a1,40005f68 <__any_on+0x18> +40005fb8: 00008067 ret +40005fbc: 00271793 slli a5,a4,0x2 +40005fc0: 00f687b3 add a5,a3,a5 +40005fc4: fa5ff06f j 40005f68 <__any_on+0x18> +40005fc8: 00008067 ret +40005fcc: 00000513 li a0,0 +40005fd0: 00008067 ret + +40005fd4 <_sbrk_r>: +40005fd4: ff010113 addi sp,sp,-16 +40005fd8: 00812423 sw s0,8(sp) +40005fdc: 00912223 sw s1,4(sp) +40005fe0: 4000c437 lui s0,0x4000c +40005fe4: 00050493 mv s1,a0 +40005fe8: 00058513 mv a0,a1 +40005fec: 00112623 sw ra,12(sp) +40005ff0: 68042223 sw zero,1668(s0) # 4000c684 <errno> +40005ff4: 275020ef jal ra,40008a68 <sbrk> +40005ff8: fff00793 li a5,-1 +40005ffc: 00f50c63 beq a0,a5,40006014 <_sbrk_r+0x40> +40006000: 00c12083 lw ra,12(sp) +40006004: 00812403 lw s0,8(sp) +40006008: 00412483 lw s1,4(sp) +4000600c: 01010113 addi sp,sp,16 +40006010: 00008067 ret +40006014: 68442783 lw a5,1668(s0) +40006018: fe0784e3 beqz a5,40006000 <_sbrk_r+0x2c> +4000601c: 00c12083 lw ra,12(sp) +40006020: 00f4a023 sw a5,0(s1) +40006024: 00812403 lw s0,8(sp) +40006028: 00412483 lw s1,4(sp) +4000602c: 01010113 addi sp,sp,16 +40006030: 00008067 ret + +40006034 <__sread>: +40006034: ff010113 addi sp,sp,-16 +40006038: 00812423 sw s0,8(sp) +4000603c: 00058413 mv s0,a1 +40006040: 00e59583 lh a1,14(a1) +40006044: 00112623 sw ra,12(sp) +40006048: 799010ef jal ra,40007fe0 <_read_r> +4000604c: 02054063 bltz a0,4000606c <__sread+0x38> +40006050: 05042783 lw a5,80(s0) +40006054: 00c12083 lw ra,12(sp) +40006058: 00a787b3 add a5,a5,a0 +4000605c: 04f42823 sw a5,80(s0) +40006060: 00812403 lw s0,8(sp) +40006064: 01010113 addi sp,sp,16 +40006068: 00008067 ret +4000606c: 00c45783 lhu a5,12(s0) +40006070: fffff737 lui a4,0xfffff +40006074: 00c12083 lw ra,12(sp) +40006078: fff70713 addi a4,a4,-1 # ffffefff <_bss_end+0xbfff2977> +4000607c: 00e7f7b3 and a5,a5,a4 +40006080: 00f41623 sh a5,12(s0) +40006084: 00812403 lw s0,8(sp) +40006088: 01010113 addi sp,sp,16 +4000608c: 00008067 ret + +40006090 <__seofread>: +40006090: 00000513 li a0,0 +40006094: 00008067 ret + +40006098 <__swrite>: +40006098: 00c59783 lh a5,12(a1) +4000609c: fe010113 addi sp,sp,-32 +400060a0: 00812c23 sw s0,24(sp) +400060a4: 00912a23 sw s1,20(sp) +400060a8: 01212823 sw s2,16(sp) +400060ac: 01312623 sw s3,12(sp) +400060b0: 00112e23 sw ra,28(sp) +400060b4: 1007f713 andi a4,a5,256 +400060b8: 00058413 mv s0,a1 +400060bc: 00050493 mv s1,a0 +400060c0: 00060913 mv s2,a2 +400060c4: 00068993 mv s3,a3 +400060c8: 00070c63 beqz a4,400060e0 <__swrite+0x48> +400060cc: 00e59583 lh a1,14(a1) +400060d0: 00200693 li a3,2 +400060d4: 00000613 li a2,0 +400060d8: 581010ef jal ra,40007e58 <_lseek_r> +400060dc: 00c41783 lh a5,12(s0) +400060e0: fffff737 lui a4,0xfffff +400060e4: fff70713 addi a4,a4,-1 # ffffefff <_bss_end+0xbfff2977> +400060e8: 00e7f7b3 and a5,a5,a4 +400060ec: 00e41583 lh a1,14(s0) +400060f0: 00f41623 sh a5,12(s0) +400060f4: 00098693 mv a3,s3 +400060f8: 00090613 mv a2,s2 +400060fc: 00048513 mv a0,s1 +40006100: 01c12083 lw ra,28(sp) +40006104: 01812403 lw s0,24(sp) +40006108: 01412483 lw s1,20(sp) +4000610c: 01012903 lw s2,16(sp) +40006110: 00c12983 lw s3,12(sp) +40006114: 02010113 addi sp,sp,32 +40006118: 36c0106f j 40007484 <_write_r> + +4000611c <__sseek>: +4000611c: ff010113 addi sp,sp,-16 +40006120: 00812423 sw s0,8(sp) +40006124: 00058413 mv s0,a1 +40006128: 00e59583 lh a1,14(a1) +4000612c: 00070693 mv a3,a4 +40006130: 00112623 sw ra,12(sp) +40006134: 525010ef jal ra,40007e58 <_lseek_r> +40006138: fff00793 li a5,-1 +4000613c: 02f50663 beq a0,a5,40006168 <__sseek+0x4c> +40006140: 00c45783 lhu a5,12(s0) +40006144: 00c12083 lw ra,12(sp) +40006148: 00001737 lui a4,0x1 +4000614c: 00e7e7b3 or a5,a5,a4 +40006150: 04a42823 sw a0,80(s0) +40006154: 00f41623 sh a5,12(s0) +40006158: 41f55593 srai a1,a0,0x1f +4000615c: 00812403 lw s0,8(sp) +40006160: 01010113 addi sp,sp,16 +40006164: 00008067 ret +40006168: 00c45783 lhu a5,12(s0) +4000616c: fffff737 lui a4,0xfffff +40006170: 00c12083 lw ra,12(sp) +40006174: fff70713 addi a4,a4,-1 # ffffefff <_bss_end+0xbfff2977> +40006178: 00e7f7b3 and a5,a5,a4 +4000617c: 00f41623 sh a5,12(s0) +40006180: 41f55593 srai a1,a0,0x1f +40006184: 00812403 lw s0,8(sp) +40006188: 01010113 addi sp,sp,16 +4000618c: 00008067 ret + +40006190 <__sclose>: +40006190: 00e59583 lh a1,14(a1) +40006194: 4080106f j 4000759c <_close_r> + +40006198 <strcmp>: +40006198: 00b56733 or a4,a0,a1 +4000619c: fff00393 li t2,-1 +400061a0: 00377713 andi a4,a4,3 +400061a4: 10071063 bnez a4,400062a4 <strcmp+0x10c> +400061a8: 7f7f8e37 lui t3,0x7f7f8 +400061ac: f7fe0e13 addi t3,t3,-129 # 7f7f7f7f <_bss_end+0x3f7eb8f7> +400061b0: 00052603 lw a2,0(a0) +400061b4: 0005a683 lw a3,0(a1) +400061b8: 01c672b3 and t0,a2,t3 +400061bc: 01c66333 or t1,a2,t3 +400061c0: 01c282b3 add t0,t0,t3 +400061c4: 0062e2b3 or t0,t0,t1 +400061c8: 10729263 bne t0,t2,400062cc <strcmp+0x134> +400061cc: 08d61663 bne a2,a3,40006258 <strcmp+0xc0> +400061d0: 00452603 lw a2,4(a0) +400061d4: 0045a683 lw a3,4(a1) +400061d8: 01c672b3 and t0,a2,t3 +400061dc: 01c66333 or t1,a2,t3 +400061e0: 01c282b3 add t0,t0,t3 +400061e4: 0062e2b3 or t0,t0,t1 +400061e8: 0c729e63 bne t0,t2,400062c4 <strcmp+0x12c> +400061ec: 06d61663 bne a2,a3,40006258 <strcmp+0xc0> +400061f0: 00852603 lw a2,8(a0) +400061f4: 0085a683 lw a3,8(a1) +400061f8: 01c672b3 and t0,a2,t3 +400061fc: 01c66333 or t1,a2,t3 +40006200: 01c282b3 add t0,t0,t3 +40006204: 0062e2b3 or t0,t0,t1 +40006208: 0c729863 bne t0,t2,400062d8 <strcmp+0x140> +4000620c: 04d61663 bne a2,a3,40006258 <strcmp+0xc0> +40006210: 00c52603 lw a2,12(a0) +40006214: 00c5a683 lw a3,12(a1) +40006218: 01c672b3 and t0,a2,t3 +4000621c: 01c66333 or t1,a2,t3 +40006220: 01c282b3 add t0,t0,t3 +40006224: 0062e2b3 or t0,t0,t1 +40006228: 0c729263 bne t0,t2,400062ec <strcmp+0x154> +4000622c: 02d61663 bne a2,a3,40006258 <strcmp+0xc0> +40006230: 01052603 lw a2,16(a0) +40006234: 0105a683 lw a3,16(a1) +40006238: 01c672b3 and t0,a2,t3 +4000623c: 01c66333 or t1,a2,t3 +40006240: 01c282b3 add t0,t0,t3 +40006244: 0062e2b3 or t0,t0,t1 +40006248: 0a729c63 bne t0,t2,40006300 <strcmp+0x168> +4000624c: 01450513 addi a0,a0,20 +40006250: 01458593 addi a1,a1,20 +40006254: f4d60ee3 beq a2,a3,400061b0 <strcmp+0x18> +40006258: 01061713 slli a4,a2,0x10 +4000625c: 01069793 slli a5,a3,0x10 +40006260: 00f71e63 bne a4,a5,4000627c <strcmp+0xe4> +40006264: 01065713 srli a4,a2,0x10 +40006268: 0106d793 srli a5,a3,0x10 +4000626c: 40f70533 sub a0,a4,a5 +40006270: 0ff57593 andi a1,a0,255 +40006274: 02059063 bnez a1,40006294 <strcmp+0xfc> +40006278: 00008067 ret +4000627c: 01075713 srli a4,a4,0x10 +40006280: 0107d793 srli a5,a5,0x10 +40006284: 40f70533 sub a0,a4,a5 +40006288: 0ff57593 andi a1,a0,255 +4000628c: 00059463 bnez a1,40006294 <strcmp+0xfc> +40006290: 00008067 ret +40006294: 0ff77713 andi a4,a4,255 +40006298: 0ff7f793 andi a5,a5,255 +4000629c: 40f70533 sub a0,a4,a5 +400062a0: 00008067 ret +400062a4: 00054603 lbu a2,0(a0) +400062a8: 0005c683 lbu a3,0(a1) +400062ac: 00150513 addi a0,a0,1 +400062b0: 00158593 addi a1,a1,1 +400062b4: 00d61463 bne a2,a3,400062bc <strcmp+0x124> +400062b8: fe0616e3 bnez a2,400062a4 <strcmp+0x10c> +400062bc: 40d60533 sub a0,a2,a3 +400062c0: 00008067 ret +400062c4: 00450513 addi a0,a0,4 +400062c8: 00458593 addi a1,a1,4 +400062cc: fcd61ce3 bne a2,a3,400062a4 <strcmp+0x10c> +400062d0: 00000513 li a0,0 +400062d4: 00008067 ret +400062d8: 00850513 addi a0,a0,8 +400062dc: 00858593 addi a1,a1,8 +400062e0: fcd612e3 bne a2,a3,400062a4 <strcmp+0x10c> +400062e4: 00000513 li a0,0 +400062e8: 00008067 ret +400062ec: 00c50513 addi a0,a0,12 +400062f0: 00c58593 addi a1,a1,12 +400062f4: fad618e3 bne a2,a3,400062a4 <strcmp+0x10c> +400062f8: 00000513 li a0,0 +400062fc: 00008067 ret +40006300: 01050513 addi a0,a0,16 +40006304: 01058593 addi a1,a1,16 +40006308: f8d61ee3 bne a2,a3,400062a4 <strcmp+0x10c> +4000630c: 00000513 li a0,0 +40006310: 00008067 ret + +40006314 <strlen>: +40006314: 00357713 andi a4,a0,3 +40006318: 00050793 mv a5,a0 +4000631c: 00050693 mv a3,a0 +40006320: 04071c63 bnez a4,40006378 <strlen+0x64> +40006324: 7f7f8637 lui a2,0x7f7f8 +40006328: f7f60613 addi a2,a2,-129 # 7f7f7f7f <_bss_end+0x3f7eb8f7> +4000632c: fff00593 li a1,-1 +40006330: 00468693 addi a3,a3,4 +40006334: ffc6a703 lw a4,-4(a3) +40006338: 00c777b3 and a5,a4,a2 +4000633c: 00c787b3 add a5,a5,a2 +40006340: 00c76733 or a4,a4,a2 +40006344: 00e7e7b3 or a5,a5,a4 +40006348: feb784e3 beq a5,a1,40006330 <strlen+0x1c> +4000634c: ffc6c703 lbu a4,-4(a3) +40006350: 40a687b3 sub a5,a3,a0 +40006354: ffd6c603 lbu a2,-3(a3) +40006358: ffe6c503 lbu a0,-2(a3) +4000635c: 04070063 beqz a4,4000639c <strlen+0x88> +40006360: 02060a63 beqz a2,40006394 <strlen+0x80> +40006364: 00a03533 snez a0,a0 +40006368: 00f50533 add a0,a0,a5 +4000636c: ffe50513 addi a0,a0,-2 +40006370: 00008067 ret +40006374: 02068863 beqz a3,400063a4 <strlen+0x90> +40006378: 0007c703 lbu a4,0(a5) +4000637c: 00178793 addi a5,a5,1 +40006380: 0037f693 andi a3,a5,3 +40006384: fe0718e3 bnez a4,40006374 <strlen+0x60> +40006388: 40a787b3 sub a5,a5,a0 +4000638c: fff78513 addi a0,a5,-1 +40006390: 00008067 ret +40006394: ffd78513 addi a0,a5,-3 +40006398: 00008067 ret +4000639c: ffc78513 addi a0,a5,-4 +400063a0: 00008067 ret +400063a4: 00078693 mv a3,a5 +400063a8: f7dff06f j 40006324 <strlen+0x10> + +400063ac <__sprint_r.part.0>: +400063ac: 0645a783 lw a5,100(a1) +400063b0: fd010113 addi sp,sp,-48 +400063b4: 01612823 sw s6,16(sp) +400063b8: 02112623 sw ra,44(sp) +400063bc: 02812423 sw s0,40(sp) +400063c0: 02912223 sw s1,36(sp) +400063c4: 03212023 sw s2,32(sp) +400063c8: 01312e23 sw s3,28(sp) +400063cc: 01412c23 sw s4,24(sp) +400063d0: 01512a23 sw s5,20(sp) +400063d4: 01712623 sw s7,12(sp) +400063d8: 01812423 sw s8,8(sp) +400063dc: 01279713 slli a4,a5,0x12 +400063e0: 00060b13 mv s6,a2 +400063e4: 0a075863 bgez a4,40006494 <__sprint_r.part.0+0xe8> +400063e8: 00862783 lw a5,8(a2) +400063ec: 00058a13 mv s4,a1 +400063f0: 00050a93 mv s5,a0 +400063f4: 00062b83 lw s7,0(a2) +400063f8: fff00913 li s2,-1 +400063fc: 08078863 beqz a5,4000648c <__sprint_r.part.0+0xe0> +40006400: 004bac03 lw s8,4(s7) +40006404: 000ba483 lw s1,0(s7) +40006408: 00000413 li s0,0 +4000640c: 002c5993 srli s3,s8,0x2 +40006410: 00099863 bnez s3,40006420 <__sprint_r.part.0+0x74> +40006414: 0640006f j 40006478 <__sprint_r.part.0+0xcc> +40006418: 00448493 addi s1,s1,4 +4000641c: 04898c63 beq s3,s0,40006474 <__sprint_r.part.0+0xc8> +40006420: 0004a583 lw a1,0(s1) +40006424: 000a0613 mv a2,s4 +40006428: 000a8513 mv a0,s5 +4000642c: 414010ef jal ra,40007840 <_fputwc_r> +40006430: 00140413 addi s0,s0,1 +40006434: ff2512e3 bne a0,s2,40006418 <__sprint_r.part.0+0x6c> +40006438: 00090513 mv a0,s2 +4000643c: 02c12083 lw ra,44(sp) +40006440: 000b2423 sw zero,8(s6) +40006444: 000b2223 sw zero,4(s6) +40006448: 02812403 lw s0,40(sp) +4000644c: 02412483 lw s1,36(sp) +40006450: 02012903 lw s2,32(sp) +40006454: 01c12983 lw s3,28(sp) +40006458: 01812a03 lw s4,24(sp) +4000645c: 01412a83 lw s5,20(sp) +40006460: 01012b03 lw s6,16(sp) +40006464: 00c12b83 lw s7,12(sp) +40006468: 00812c03 lw s8,8(sp) +4000646c: 03010113 addi sp,sp,48 +40006470: 00008067 ret +40006474: 008b2783 lw a5,8(s6) +40006478: ffcc7c13 andi s8,s8,-4 +4000647c: 418787b3 sub a5,a5,s8 +40006480: 00fb2423 sw a5,8(s6) +40006484: 008b8b93 addi s7,s7,8 +40006488: f6079ce3 bnez a5,40006400 <__sprint_r.part.0+0x54> +4000648c: 00000513 li a0,0 +40006490: fadff06f j 4000643c <__sprint_r.part.0+0x90> +40006494: 4c0010ef jal ra,40007954 <__sfvwrite_r> +40006498: fa5ff06f j 4000643c <__sprint_r.part.0+0x90> + +4000649c <__sprint_r>: +4000649c: 00862703 lw a4,8(a2) +400064a0: 00070463 beqz a4,400064a8 <__sprint_r+0xc> +400064a4: f09ff06f j 400063ac <__sprint_r.part.0> +400064a8: 00062223 sw zero,4(a2) +400064ac: 00000513 li a0,0 +400064b0: 00008067 ret + +400064b4 <_vfiprintf_r>: +400064b4: f1010113 addi sp,sp,-240 +400064b8: 0d312e23 sw s3,220(sp) +400064bc: 0d512a23 sw s5,212(sp) +400064c0: 0d612823 sw s6,208(sp) +400064c4: 0e112623 sw ra,236(sp) +400064c8: 0e812423 sw s0,232(sp) +400064cc: 0e912223 sw s1,228(sp) +400064d0: 0f212023 sw s2,224(sp) +400064d4: 0d412c23 sw s4,216(sp) +400064d8: 0d712623 sw s7,204(sp) +400064dc: 0d812423 sw s8,200(sp) +400064e0: 0d912223 sw s9,196(sp) +400064e4: 0da12023 sw s10,192(sp) +400064e8: 0bb12e23 sw s11,188(sp) +400064ec: 00d12623 sw a3,12(sp) +400064f0: 00050a93 mv s5,a0 +400064f4: 00058993 mv s3,a1 +400064f8: 00060b13 mv s6,a2 +400064fc: 00050663 beqz a0,40006508 <_vfiprintf_r+0x54> +40006500: 03852783 lw a5,56(a0) +40006504: 24078a63 beqz a5,40006758 <_vfiprintf_r+0x2a4> +40006508: 00c99703 lh a4,12(s3) +4000650c: 01071793 slli a5,a4,0x10 +40006510: 0107d793 srli a5,a5,0x10 +40006514: 01279693 slli a3,a5,0x12 +40006518: 0206c663 bltz a3,40006544 <_vfiprintf_r+0x90> +4000651c: 0649a683 lw a3,100(s3) +40006520: 000027b7 lui a5,0x2 +40006524: 00f767b3 or a5,a4,a5 +40006528: ffffe737 lui a4,0xffffe +4000652c: fff70713 addi a4,a4,-1 # ffffdfff <_bss_end+0xbfff1977> +40006530: 00e6f733 and a4,a3,a4 +40006534: 00f99623 sh a5,12(s3) +40006538: 01079793 slli a5,a5,0x10 +4000653c: 06e9a223 sw a4,100(s3) +40006540: 0107d793 srli a5,a5,0x10 +40006544: 0087f713 andi a4,a5,8 +40006548: 18070863 beqz a4,400066d8 <_vfiprintf_r+0x224> +4000654c: 0109a703 lw a4,16(s3) +40006550: 18070463 beqz a4,400066d8 <_vfiprintf_r+0x224> +40006554: 01a7f793 andi a5,a5,26 +40006558: 00a00713 li a4,10 +4000655c: 18e78e63 beq a5,a4,400066f8 <_vfiprintf_r+0x244> +40006560: 4000cbb7 lui s7,0x4000c +40006564: 07010c13 addi s8,sp,112 +40006568: 930b8793 addi a5,s7,-1744 # 4000b930 <__mprec_bigtens+0x28> +4000656c: 4000ce37 lui t3,0x4000c +40006570: 4000c337 lui t1,0x4000c +40006574: 03812e23 sw s8,60(sp) +40006578: 04012223 sw zero,68(sp) +4000657c: 04012023 sw zero,64(sp) +40006580: 000c0413 mv s0,s8 +40006584: 00012e23 sw zero,28(sp) +40006588: 00012423 sw zero,8(sp) +4000658c: 00f12823 sw a5,16(sp) +40006590: a94e0c93 addi s9,t3,-1388 # 4000ba94 <blanks.4081> +40006594: aa430b93 addi s7,t1,-1372 # 4000baa4 <zeroes.4082> +40006598: 000b4783 lbu a5,0(s6) +4000659c: 460788e3 beqz a5,4000720c <_vfiprintf_r+0xd58> +400065a0: 02500713 li a4,37 +400065a4: 000b0493 mv s1,s6 +400065a8: 00e79663 bne a5,a4,400065b4 <_vfiprintf_r+0x100> +400065ac: 0540006f j 40006600 <_vfiprintf_r+0x14c> +400065b0: 00e78863 beq a5,a4,400065c0 <_vfiprintf_r+0x10c> +400065b4: 00148493 addi s1,s1,1 +400065b8: 0004c783 lbu a5,0(s1) +400065bc: fe079ae3 bnez a5,400065b0 <_vfiprintf_r+0xfc> +400065c0: 41648933 sub s2,s1,s6 +400065c4: 02090e63 beqz s2,40006600 <_vfiprintf_r+0x14c> +400065c8: 04412703 lw a4,68(sp) +400065cc: 04012783 lw a5,64(sp) +400065d0: 01642023 sw s6,0(s0) +400065d4: 00e90733 add a4,s2,a4 +400065d8: 00178793 addi a5,a5,1 # 2001 <_heap_size+0x1> +400065dc: 01242223 sw s2,4(s0) +400065e0: 04e12223 sw a4,68(sp) +400065e4: 04f12023 sw a5,64(sp) +400065e8: 00700693 li a3,7 +400065ec: 00840413 addi s0,s0,8 +400065f0: 06f6ca63 blt a3,a5,40006664 <_vfiprintf_r+0x1b0> +400065f4: 00812783 lw a5,8(sp) +400065f8: 012787b3 add a5,a5,s2 +400065fc: 00f12423 sw a5,8(sp) +40006600: 0004c783 lbu a5,0(s1) +40006604: 120788e3 beqz a5,40006f34 <_vfiprintf_r+0xa80> +40006608: fff00693 li a3,-1 +4000660c: 00148493 addi s1,s1,1 +40006610: 02010ba3 sb zero,55(sp) +40006614: 00000e93 li t4,0 +40006618: 00000f93 li t6,0 +4000661c: 00000913 li s2,0 +40006620: 00000f13 li t5,0 +40006624: 05800593 li a1,88 +40006628: 00900513 li a0,9 +4000662c: 02a00a13 li s4,42 +40006630: 00068d93 mv s11,a3 +40006634: 00100293 li t0,1 +40006638: 02000d13 li s10,32 +4000663c: 02b00393 li t2,43 +40006640: 0004c703 lbu a4,0(s1) +40006644: 00148b13 addi s6,s1,1 +40006648: fe070793 addi a5,a4,-32 +4000664c: 6cf5e463 bltu a1,a5,40006d14 <_vfiprintf_r+0x860> +40006650: 01012603 lw a2,16(sp) +40006654: 00279793 slli a5,a5,0x2 +40006658: 00c787b3 add a5,a5,a2 +4000665c: 0007a783 lw a5,0(a5) +40006660: 00078067 jr a5 +40006664: 2a071ae3 bnez a4,40007118 <_vfiprintf_r+0xc64> +40006668: 04012023 sw zero,64(sp) +4000666c: 000c0413 mv s0,s8 +40006670: f85ff06f j 400065f4 <_vfiprintf_r+0x140> +40006674: 010f6f13 ori t5,t5,16 +40006678: 000b0493 mv s1,s6 +4000667c: fc5ff06f j 40006640 <_vfiprintf_r+0x18c> +40006680: 010f6f13 ori t5,t5,16 +40006684: 010f7793 andi a5,t5,16 +40006688: 64079e63 bnez a5,40006ce4 <_vfiprintf_r+0x830> +4000668c: 040f7793 andi a5,t5,64 +40006690: 00c12703 lw a4,12(sp) +40006694: 64078a63 beqz a5,40006ce8 <_vfiprintf_r+0x834> +40006698: 00075783 lhu a5,0(a4) +4000669c: 00470713 addi a4,a4,4 +400066a0: 00100613 li a2,1 +400066a4: 00e12623 sw a4,12(sp) +400066a8: 5400006f j 40006be8 <_vfiprintf_r+0x734> +400066ac: 010f6f13 ori t5,t5,16 +400066b0: 010f7793 andi a5,t5,16 +400066b4: 64079463 bnez a5,40006cfc <_vfiprintf_r+0x848> +400066b8: 040f7793 andi a5,t5,64 +400066bc: 00c12703 lw a4,12(sp) +400066c0: 64078063 beqz a5,40006d00 <_vfiprintf_r+0x84c> +400066c4: 00075783 lhu a5,0(a4) +400066c8: 00470713 addi a4,a4,4 +400066cc: 00000613 li a2,0 +400066d0: 00e12623 sw a4,12(sp) +400066d4: 5140006f j 40006be8 <_vfiprintf_r+0x734> +400066d8: 00098593 mv a1,s3 +400066dc: 000a8513 mv a0,s5 +400066e0: f20fb0ef jal ra,40001e00 <__swsetup_r> +400066e4: 06051ae3 bnez a0,40006f58 <_vfiprintf_r+0xaa4> +400066e8: 00c9d783 lhu a5,12(s3) +400066ec: 00a00713 li a4,10 +400066f0: 01a7f793 andi a5,a5,26 +400066f4: e6e796e3 bne a5,a4,40006560 <_vfiprintf_r+0xac> +400066f8: 00e99783 lh a5,14(s3) +400066fc: e607c2e3 bltz a5,40006560 <_vfiprintf_r+0xac> +40006700: 00c12683 lw a3,12(sp) +40006704: 000b0613 mv a2,s6 +40006708: 00098593 mv a1,s3 +4000670c: 000a8513 mv a0,s5 +40006710: 4b5000ef jal ra,400073c4 <__sbprintf> +40006714: 00a12423 sw a0,8(sp) +40006718: 0ec12083 lw ra,236(sp) +4000671c: 00812503 lw a0,8(sp) +40006720: 0e812403 lw s0,232(sp) +40006724: 0e412483 lw s1,228(sp) +40006728: 0e012903 lw s2,224(sp) +4000672c: 0dc12983 lw s3,220(sp) +40006730: 0d812a03 lw s4,216(sp) +40006734: 0d412a83 lw s5,212(sp) +40006738: 0d012b03 lw s6,208(sp) +4000673c: 0cc12b83 lw s7,204(sp) +40006740: 0c812c03 lw s8,200(sp) +40006744: 0c412c83 lw s9,196(sp) +40006748: 0c012d03 lw s10,192(sp) +4000674c: 0bc12d83 lw s11,188(sp) +40006750: 0f010113 addi sp,sp,240 +40006754: 00008067 ret +40006758: da8fd0ef jal ra,40003d00 <__sinit> +4000675c: dadff06f j 40006508 <_vfiprintf_r+0x54> +40006760: 00c12783 lw a5,12(sp) +40006764: 0007a903 lw s2,0(a5) +40006768: 00478793 addi a5,a5,4 +4000676c: 00f12623 sw a5,12(sp) +40006770: f00954e3 bgez s2,40006678 <_vfiprintf_r+0x1c4> +40006774: 41200933 neg s2,s2 +40006778: 004f6f13 ori t5,t5,4 +4000677c: 000b0493 mv s1,s6 +40006780: ec1ff06f j 40006640 <_vfiprintf_r+0x18c> +40006784: 00028e93 mv t4,t0 +40006788: 00038f93 mv t6,t2 +4000678c: 000b0493 mv s1,s6 +40006790: eb1ff06f j 40006640 <_vfiprintf_r+0x18c> +40006794: 080f6f13 ori t5,t5,128 +40006798: 000b0493 mv s1,s6 +4000679c: ea5ff06f j 40006640 <_vfiprintf_r+0x18c> +400067a0: 00000913 li s2,0 +400067a4: fd070793 addi a5,a4,-48 +400067a8: 001b0b13 addi s6,s6,1 +400067ac: 00291613 slli a2,s2,0x2 +400067b0: fffb4703 lbu a4,-1(s6) +400067b4: 01260933 add s2,a2,s2 +400067b8: 00191913 slli s2,s2,0x1 +400067bc: 01278933 add s2,a5,s2 +400067c0: fd070793 addi a5,a4,-48 +400067c4: fef572e3 bleu a5,a0,400067a8 <_vfiprintf_r+0x2f4> +400067c8: e81ff06f j 40006648 <_vfiprintf_r+0x194> +400067cc: 000b4703 lbu a4,0(s6) +400067d0: 001b0493 addi s1,s6,1 +400067d4: 394704e3 beq a4,s4,4000735c <_vfiprintf_r+0xea8> +400067d8: fd070793 addi a5,a4,-48 +400067dc: 00048b13 mv s6,s1 +400067e0: 00000693 li a3,0 +400067e4: e6f562e3 bltu a0,a5,40006648 <_vfiprintf_r+0x194> +400067e8: 001b0b13 addi s6,s6,1 +400067ec: 00269493 slli s1,a3,0x2 +400067f0: fffb4703 lbu a4,-1(s6) +400067f4: 00d484b3 add s1,s1,a3 +400067f8: 00149493 slli s1,s1,0x1 +400067fc: 00f486b3 add a3,s1,a5 +40006800: fd070793 addi a5,a4,-48 +40006804: fef572e3 bleu a5,a0,400067e8 <_vfiprintf_r+0x334> +40006808: e41ff06f j 40006648 <_vfiprintf_r+0x194> +4000680c: 360e9ce3 bnez t4,40007384 <_vfiprintf_r+0xed0> +40006810: 010f7793 andi a5,t5,16 +40006814: 1c079ee3 bnez a5,400071f0 <_vfiprintf_r+0xd3c> +40006818: 040f7f13 andi t5,t5,64 +4000681c: 1c0f0ae3 beqz t5,400071f0 <_vfiprintf_r+0xd3c> +40006820: 00c12703 lw a4,12(sp) +40006824: 00072783 lw a5,0(a4) +40006828: 00470713 addi a4,a4,4 +4000682c: 00e12623 sw a4,12(sp) +40006830: 00815703 lhu a4,8(sp) +40006834: 00e79023 sh a4,0(a5) +40006838: d61ff06f j 40006598 <_vfiprintf_r+0xe4> +4000683c: 00c12783 lw a5,12(sp) +40006840: 02010ba3 sb zero,55(sp) +40006844: 0007ad03 lw s10,0(a5) +40006848: 00478493 addi s1,a5,4 +4000684c: 2c0d00e3 beqz s10,4000730c <_vfiprintf_r+0xe58> +40006850: fff00793 li a5,-1 +40006854: 24f68ee3 beq a3,a5,400072b0 <_vfiprintf_r+0xdfc> +40006858: 00068613 mv a2,a3 +4000685c: 00000593 li a1,0 +40006860: 000d0513 mv a0,s10 +40006864: 01e12623 sw t5,12(sp) +40006868: 00d12223 sw a3,4(sp) +4000686c: c78fe0ef jal ra,40004ce4 <memchr> +40006870: 00412683 lw a3,4(sp) +40006874: 00c12f03 lw t5,12(sp) +40006878: 2c0502e3 beqz a0,4000733c <_vfiprintf_r+0xe88> +4000687c: 03714583 lbu a1,55(sp) +40006880: 41a50db3 sub s11,a0,s10 +40006884: 00912623 sw s1,12(sp) +40006888: 01e12223 sw t5,4(sp) +4000688c: 00000693 li a3,0 +40006890: 00068a13 mv s4,a3 +40006894: 01b6d463 ble s11,a3,4000689c <_vfiprintf_r+0x3e8> +40006898: 000d8a13 mv s4,s11 +4000689c: 00b035b3 snez a1,a1 +400068a0: 00ba0a33 add s4,s4,a1 +400068a4: 00412783 lw a5,4(sp) +400068a8: 0027f393 andi t2,a5,2 +400068ac: 00038463 beqz t2,400068b4 <_vfiprintf_r+0x400> +400068b0: 002a0a13 addi s4,s4,2 +400068b4: 00412783 lw a5,4(sp) +400068b8: 0847f293 andi t0,a5,132 +400068bc: 4c029863 bnez t0,40006d8c <_vfiprintf_r+0x8d8> +400068c0: 414904b3 sub s1,s2,s4 +400068c4: 4c905463 blez s1,40006d8c <_vfiprintf_r+0x8d8> +400068c8: 01000f13 li t5,16 +400068cc: 04412603 lw a2,68(sp) +400068d0: 229f58e3 ble s1,t5,40007300 <_vfiprintf_r+0xe4c> +400068d4: 04012503 lw a0,64(sp) +400068d8: 00700f93 li t6,7 +400068dc: 00100793 li a5,1 +400068e0: 0180006f j 400068f8 <_vfiprintf_r+0x444> +400068e4: 00250713 addi a4,a0,2 +400068e8: 00840413 addi s0,s0,8 +400068ec: 00058513 mv a0,a1 +400068f0: ff048493 addi s1,s1,-16 +400068f4: 029f5c63 ble s1,t5,4000692c <_vfiprintf_r+0x478> +400068f8: 01060613 addi a2,a2,16 +400068fc: 00150593 addi a1,a0,1 +40006900: 01942023 sw s9,0(s0) +40006904: 01e42223 sw t5,4(s0) +40006908: 04c12223 sw a2,68(sp) +4000690c: 04b12023 sw a1,64(sp) +40006910: fcbfdae3 ble a1,t6,400068e4 <_vfiprintf_r+0x430> +40006914: 42061063 bnez a2,40006d34 <_vfiprintf_r+0x880> +40006918: ff048493 addi s1,s1,-16 +4000691c: 00000513 li a0,0 +40006920: 00078713 mv a4,a5 +40006924: 000c0413 mv s0,s8 +40006928: fc9f48e3 blt t5,s1,400068f8 <_vfiprintf_r+0x444> +4000692c: 00c487b3 add a5,s1,a2 +40006930: 01942023 sw s9,0(s0) +40006934: 00942223 sw s1,4(s0) +40006938: 04f12223 sw a5,68(sp) +4000693c: 04e12023 sw a4,64(sp) +40006940: 00700613 li a2,7 +40006944: 6ee64063 blt a2,a4,40007024 <_vfiprintf_r+0xb70> +40006948: 03714583 lbu a1,55(sp) +4000694c: 00840413 addi s0,s0,8 +40006950: 00170613 addi a2,a4,1 +40006954: 44059663 bnez a1,40006da0 <_vfiprintf_r+0x8ec> +40006958: 48038063 beqz t2,40006dd8 <_vfiprintf_r+0x924> +4000695c: 03810713 addi a4,sp,56 +40006960: 00278793 addi a5,a5,2 +40006964: 00e42023 sw a4,0(s0) +40006968: 00200713 li a4,2 +4000696c: 00e42223 sw a4,4(s0) +40006970: 04f12223 sw a5,68(sp) +40006974: 04c12023 sw a2,64(sp) +40006978: 00700713 li a4,7 +4000697c: 6ec75a63 ble a2,a4,40007070 <_vfiprintf_r+0xbbc> +40006980: 7c079e63 bnez a5,4000715c <_vfiprintf_r+0xca8> +40006984: 08000593 li a1,128 +40006988: 00100613 li a2,1 +4000698c: 00000713 li a4,0 +40006990: 000c0413 mv s0,s8 +40006994: 44b29663 bne t0,a1,40006de0 <_vfiprintf_r+0x92c> +40006998: 414904b3 sub s1,s2,s4 +4000699c: 44905263 blez s1,40006de0 <_vfiprintf_r+0x92c> +400069a0: 01000f13 li t5,16 +400069a4: 1a9f58e3 ble s1,t5,40007354 <_vfiprintf_r+0xea0> +400069a8: 00700f93 li t6,7 +400069ac: 00100293 li t0,1 +400069b0: 0180006f j 400069c8 <_vfiprintf_r+0x514> +400069b4: 00270593 addi a1,a4,2 +400069b8: 00840413 addi s0,s0,8 +400069bc: 00060713 mv a4,a2 +400069c0: ff048493 addi s1,s1,-16 +400069c4: 029f5c63 ble s1,t5,400069fc <_vfiprintf_r+0x548> +400069c8: 01078793 addi a5,a5,16 +400069cc: 00170613 addi a2,a4,1 +400069d0: 01742023 sw s7,0(s0) +400069d4: 01e42223 sw t5,4(s0) +400069d8: 04f12223 sw a5,68(sp) +400069dc: 04c12023 sw a2,64(sp) +400069e0: fccfdae3 ble a2,t6,400069b4 <_vfiprintf_r+0x500> +400069e4: 5e079c63 bnez a5,40006fdc <_vfiprintf_r+0xb28> +400069e8: ff048493 addi s1,s1,-16 +400069ec: 00028593 mv a1,t0 +400069f0: 00000713 li a4,0 +400069f4: 000c0413 mv s0,s8 +400069f8: fc9f48e3 blt t5,s1,400069c8 <_vfiprintf_r+0x514> +400069fc: 009787b3 add a5,a5,s1 +40006a00: 01742023 sw s7,0(s0) +40006a04: 00942223 sw s1,4(s0) +40006a08: 04f12223 sw a5,68(sp) +40006a0c: 04b12023 sw a1,64(sp) +40006a10: 00700713 li a4,7 +40006a14: 78b74063 blt a4,a1,40007194 <_vfiprintf_r+0xce0> +40006a18: 41b684b3 sub s1,a3,s11 +40006a1c: 00840413 addi s0,s0,8 +40006a20: 00158613 addi a2,a1,1 +40006a24: 00058713 mv a4,a1 +40006a28: 3c904063 bgtz s1,40006de8 <_vfiprintf_r+0x934> +40006a2c: 00fd87b3 add a5,s11,a5 +40006a30: 01a42023 sw s10,0(s0) +40006a34: 01b42223 sw s11,4(s0) +40006a38: 04f12223 sw a5,68(sp) +40006a3c: 04c12023 sw a2,64(sp) +40006a40: 00700713 li a4,7 +40006a44: 42c75e63 ble a2,a4,40006e80 <_vfiprintf_r+0x9cc> +40006a48: 6a079863 bnez a5,400070f8 <_vfiprintf_r+0xc44> +40006a4c: 00412703 lw a4,4(sp) +40006a50: 04012023 sw zero,64(sp) +40006a54: 00477d13 andi s10,a4,4 +40006a58: 080d0863 beqz s10,40006ae8 <_vfiprintf_r+0x634> +40006a5c: 414904b3 sub s1,s2,s4 +40006a60: 000c0413 mv s0,s8 +40006a64: 08905263 blez s1,40006ae8 <_vfiprintf_r+0x634> +40006a68: 01000d13 li s10,16 +40006a6c: 0c9d52e3 ble s1,s10,40007330 <_vfiprintf_r+0xe7c> +40006a70: 04012683 lw a3,64(sp) +40006a74: 00700d93 li s11,7 +40006a78: 00100e93 li t4,1 +40006a7c: 0180006f j 40006a94 <_vfiprintf_r+0x5e0> +40006a80: 00268613 addi a2,a3,2 +40006a84: 00840413 addi s0,s0,8 +40006a88: 00070693 mv a3,a4 +40006a8c: ff048493 addi s1,s1,-16 +40006a90: 029d5c63 ble s1,s10,40006ac8 <_vfiprintf_r+0x614> +40006a94: 01078793 addi a5,a5,16 +40006a98: 00168713 addi a4,a3,1 +40006a9c: 01942023 sw s9,0(s0) +40006aa0: 01a42223 sw s10,4(s0) +40006aa4: 04f12223 sw a5,68(sp) +40006aa8: 04e12023 sw a4,64(sp) +40006aac: fceddae3 ble a4,s11,40006a80 <_vfiprintf_r+0x5cc> +40006ab0: 4a079a63 bnez a5,40006f64 <_vfiprintf_r+0xab0> +40006ab4: ff048493 addi s1,s1,-16 +40006ab8: 000e8613 mv a2,t4 +40006abc: 00000693 li a3,0 +40006ac0: 000c0413 mv s0,s8 +40006ac4: fc9d48e3 blt s10,s1,40006a94 <_vfiprintf_r+0x5e0> +40006ac8: 009787b3 add a5,a5,s1 +40006acc: 01942023 sw s9,0(s0) +40006ad0: 00942223 sw s1,4(s0) +40006ad4: 04f12223 sw a5,68(sp) +40006ad8: 04c12023 sw a2,64(sp) +40006adc: 00700713 li a4,7 +40006ae0: 3ac75c63 ble a2,a4,40006e98 <_vfiprintf_r+0x9e4> +40006ae4: 7a079863 bnez a5,40007294 <_vfiprintf_r+0xde0> +40006ae8: 01495463 ble s4,s2,40006af0 <_vfiprintf_r+0x63c> +40006aec: 000a0913 mv s2,s4 +40006af0: 00812783 lw a5,8(sp) +40006af4: 012787b3 add a5,a5,s2 +40006af8: 00f12423 sw a5,8(sp) +40006afc: 3b40006f j 40006eb0 <_vfiprintf_r+0x9fc> +40006b00: 080e9ae3 bnez t4,40007394 <_vfiprintf_r+0xee0> +40006b04: 010f6f13 ori t5,t5,16 +40006b08: 010f7793 andi a5,t5,16 +40006b0c: 70079463 bnez a5,40007214 <_vfiprintf_r+0xd60> +40006b10: 040f7793 andi a5,t5,64 +40006b14: 00c12703 lw a4,12(sp) +40006b18: 68078863 beqz a5,400071a8 <_vfiprintf_r+0xcf4> +40006b1c: 00071783 lh a5,0(a4) +40006b20: 00470713 addi a4,a4,4 +40006b24: 00e12623 sw a4,12(sp) +40006b28: 7007ca63 bltz a5,4000723c <_vfiprintf_r+0xd88> +40006b2c: fff00713 li a4,-1 +40006b30: 03714583 lbu a1,55(sp) +40006b34: 00100613 li a2,1 +40006b38: 0ce69063 bne a3,a4,40006bf8 <_vfiprintf_r+0x744> +40006b3c: 44078e63 beqz a5,40006f98 <_vfiprintf_r+0xae4> +40006b40: 01e12223 sw t5,4(sp) +40006b44: 00100713 li a4,1 +40006b48: 56e60a63 beq a2,a4,400070bc <_vfiprintf_r+0xc08> +40006b4c: 00200713 li a4,2 +40006b50: 46e60063 beq a2,a4,40006fb0 <_vfiprintf_r+0xafc> +40006b54: 000c0613 mv a2,s8 +40006b58: 0080006f j 40006b60 <_vfiprintf_r+0x6ac> +40006b5c: 000d0613 mv a2,s10 +40006b60: 0077f713 andi a4,a5,7 +40006b64: 03070713 addi a4,a4,48 +40006b68: fee60fa3 sb a4,-1(a2) +40006b6c: 0037d793 srli a5,a5,0x3 +40006b70: fff60d13 addi s10,a2,-1 +40006b74: fe0794e3 bnez a5,40006b5c <_vfiprintf_r+0x6a8> +40006b78: 00412783 lw a5,4(sp) +40006b7c: 0017f793 andi a5,a5,1 +40006b80: 44078a63 beqz a5,40006fd4 <_vfiprintf_r+0xb20> +40006b84: 03000793 li a5,48 +40006b88: 44f70663 beq a4,a5,40006fd4 <_vfiprintf_r+0xb20> +40006b8c: ffe60613 addi a2,a2,-2 +40006b90: fefd0fa3 sb a5,-1(s10) +40006b94: 40cc0db3 sub s11,s8,a2 +40006b98: 00060d13 mv s10,a2 +40006b9c: cf5ff06f j 40006890 <_vfiprintf_r+0x3dc> +40006ba0: ac0f9ce3 bnez t6,40006678 <_vfiprintf_r+0x1c4> +40006ba4: 00028e93 mv t4,t0 +40006ba8: 000d0f93 mv t6,s10 +40006bac: 000b0493 mv s1,s6 +40006bb0: a91ff06f j 40006640 <_vfiprintf_r+0x18c> +40006bb4: 00c12603 lw a2,12(sp) +40006bb8: 03000713 li a4,48 +40006bbc: 02e10c23 sb a4,56(sp) +40006bc0: 07800713 li a4,120 +40006bc4: 02e10ca3 sb a4,57(sp) +40006bc8: 00460713 addi a4,a2,4 +40006bcc: 00e12623 sw a4,12(sp) +40006bd0: 4000b737 lui a4,0x4000b +40006bd4: 7c470713 addi a4,a4,1988 # 4000b7c4 <zeroes.4139+0x34> +40006bd8: 00062783 lw a5,0(a2) +40006bdc: 002f6f13 ori t5,t5,2 +40006be0: 00e12e23 sw a4,28(sp) +40006be4: 00200613 li a2,2 +40006be8: 02010ba3 sb zero,55(sp) +40006bec: 00000593 li a1,0 +40006bf0: fff00713 li a4,-1 +40006bf4: f4e684e3 beq a3,a4,40006b3c <_vfiprintf_r+0x688> +40006bf8: f7ff7713 andi a4,t5,-129 +40006bfc: 00e12223 sw a4,4(sp) +40006c00: f40792e3 bnez a5,40006b44 <_vfiprintf_r+0x690> +40006c04: 38069863 bnez a3,40006f94 <_vfiprintf_r+0xae0> +40006c08: 4e061263 bnez a2,400070ec <_vfiprintf_r+0xc38> +40006c0c: 001f7d93 andi s11,t5,1 +40006c10: 000c0d13 mv s10,s8 +40006c14: c60d8ee3 beqz s11,40006890 <_vfiprintf_r+0x3dc> +40006c18: 03000793 li a5,48 +40006c1c: 06f107a3 sb a5,111(sp) +40006c20: 06f10d13 addi s10,sp,111 +40006c24: c6dff06f j 40006890 <_vfiprintf_r+0x3dc> +40006c28: 00c12703 lw a4,12(sp) +40006c2c: 00100a13 li s4,1 +40006c30: 02010ba3 sb zero,55(sp) +40006c34: 00072783 lw a5,0(a4) +40006c38: 000a0d93 mv s11,s4 +40006c3c: 04810d13 addi s10,sp,72 +40006c40: 04f10423 sb a5,72(sp) +40006c44: 00470793 addi a5,a4,4 +40006c48: 00f12623 sw a5,12(sp) +40006c4c: 01e12223 sw t5,4(sp) +40006c50: 00000693 li a3,0 +40006c54: c51ff06f j 400068a4 <_vfiprintf_r+0x3f0> +40006c58: ea0e88e3 beqz t4,40006b08 <_vfiprintf_r+0x654> +40006c5c: 03f10ba3 sb t6,55(sp) +40006c60: ea9ff06f j 40006b08 <_vfiprintf_r+0x654> +40006c64: 040f6f13 ori t5,t5,64 +40006c68: 000b0493 mv s1,s6 +40006c6c: 9d5ff06f j 40006640 <_vfiprintf_r+0x18c> +40006c70: 720e9a63 bnez t4,400073a4 <_vfiprintf_r+0xef0> +40006c74: 4000b7b7 lui a5,0x4000b +40006c78: 7c478793 addi a5,a5,1988 # 4000b7c4 <zeroes.4139+0x34> +40006c7c: 00f12e23 sw a5,28(sp) +40006c80: 010f7793 andi a5,t5,16 +40006c84: 5a079263 bnez a5,40007228 <_vfiprintf_r+0xd74> +40006c88: 040f7793 andi a5,t5,64 +40006c8c: 00c12603 lw a2,12(sp) +40006c90: 52078463 beqz a5,400071b8 <_vfiprintf_r+0xd04> +40006c94: 00065783 lhu a5,0(a2) +40006c98: 00460613 addi a2,a2,4 +40006c9c: 00c12623 sw a2,12(sp) +40006ca0: 001f7593 andi a1,t5,1 +40006ca4: 00200613 li a2,2 +40006ca8: f40580e3 beqz a1,40006be8 <_vfiprintf_r+0x734> +40006cac: f2078ee3 beqz a5,40006be8 <_vfiprintf_r+0x734> +40006cb0: 03000593 li a1,48 +40006cb4: 02b10c23 sb a1,56(sp) +40006cb8: 02e10ca3 sb a4,57(sp) +40006cbc: 00cf6f33 or t5,t5,a2 +40006cc0: f29ff06f j 40006be8 <_vfiprintf_r+0x734> +40006cc4: 001f6f13 ori t5,t5,1 +40006cc8: 000b0493 mv s1,s6 +40006ccc: 975ff06f j 40006640 <_vfiprintf_r+0x18c> +40006cd0: 6c0e9663 bnez t4,4000739c <_vfiprintf_r+0xee8> +40006cd4: 4000b7b7 lui a5,0x4000b +40006cd8: 7b078793 addi a5,a5,1968 # 4000b7b0 <zeroes.4139+0x20> +40006cdc: 00f12e23 sw a5,28(sp) +40006ce0: fa1ff06f j 40006c80 <_vfiprintf_r+0x7cc> +40006ce4: 00c12703 lw a4,12(sp) +40006ce8: 00072783 lw a5,0(a4) +40006cec: 00470713 addi a4,a4,4 +40006cf0: 00100613 li a2,1 +40006cf4: 00e12623 sw a4,12(sp) +40006cf8: ef1ff06f j 40006be8 <_vfiprintf_r+0x734> +40006cfc: 00c12703 lw a4,12(sp) +40006d00: 00072783 lw a5,0(a4) +40006d04: 00470713 addi a4,a4,4 +40006d08: 00000613 li a2,0 +40006d0c: 00e12623 sw a4,12(sp) +40006d10: ed9ff06f j 40006be8 <_vfiprintf_r+0x734> +40006d14: 660e9463 bnez t4,4000737c <_vfiprintf_r+0xec8> +40006d18: 20070e63 beqz a4,40006f34 <_vfiprintf_r+0xa80> +40006d1c: 00100a13 li s4,1 +40006d20: 04e10423 sb a4,72(sp) +40006d24: 02010ba3 sb zero,55(sp) +40006d28: 000a0d93 mv s11,s4 +40006d2c: 04810d13 addi s10,sp,72 +40006d30: f1dff06f j 40006c4c <_vfiprintf_r+0x798> +40006d34: 03c10613 addi a2,sp,60 +40006d38: 00098593 mv a1,s3 +40006d3c: 000a8513 mv a0,s5 +40006d40: 02f12623 sw a5,44(sp) +40006d44: 03f12423 sw t6,40(sp) +40006d48: 03e12223 sw t5,36(sp) +40006d4c: 02512023 sw t0,32(sp) +40006d50: 00712c23 sw t2,24(sp) +40006d54: 00d12a23 sw a3,20(sp) +40006d58: e54ff0ef jal ra,400063ac <__sprint_r.part.0> +40006d5c: 1e051863 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40006d60: 04012503 lw a0,64(sp) +40006d64: 04412603 lw a2,68(sp) +40006d68: 000c0413 mv s0,s8 +40006d6c: 00150713 addi a4,a0,1 +40006d70: 02c12783 lw a5,44(sp) +40006d74: 02812f83 lw t6,40(sp) +40006d78: 02412f03 lw t5,36(sp) +40006d7c: 02012283 lw t0,32(sp) +40006d80: 01812383 lw t2,24(sp) +40006d84: 01412683 lw a3,20(sp) +40006d88: b69ff06f j 400068f0 <_vfiprintf_r+0x43c> +40006d8c: 04012703 lw a4,64(sp) +40006d90: 04412783 lw a5,68(sp) +40006d94: 00170613 addi a2,a4,1 +40006d98: 03714583 lbu a1,55(sp) +40006d9c: ba058ee3 beqz a1,40006958 <_vfiprintf_r+0x4a4> +40006da0: 00100593 li a1,1 +40006da4: 03710713 addi a4,sp,55 +40006da8: 00b787b3 add a5,a5,a1 +40006dac: 00e42023 sw a4,0(s0) +40006db0: 00b42223 sw a1,4(s0) +40006db4: 04f12223 sw a5,68(sp) +40006db8: 04c12023 sw a2,64(sp) +40006dbc: 00700713 li a4,7 +40006dc0: 28c75463 ble a2,a4,40007048 <_vfiprintf_r+0xb94> +40006dc4: 0e079c63 bnez a5,40006ebc <_vfiprintf_r+0xa08> +40006dc8: 28039863 bnez t2,40007058 <_vfiprintf_r+0xba4> +40006dcc: 00000713 li a4,0 +40006dd0: 00100613 li a2,1 +40006dd4: 000c0413 mv s0,s8 +40006dd8: 08000593 li a1,128 +40006ddc: bab28ee3 beq t0,a1,40006998 <_vfiprintf_r+0x4e4> +40006de0: 41b684b3 sub s1,a3,s11 +40006de4: c49054e3 blez s1,40006a2c <_vfiprintf_r+0x578> +40006de8: 01000f13 li t5,16 +40006dec: 049f5a63 ble s1,t5,40006e40 <_vfiprintf_r+0x98c> +40006df0: 00700f93 li t6,7 +40006df4: 0180006f j 40006e0c <_vfiprintf_r+0x958> +40006df8: 00270613 addi a2,a4,2 +40006dfc: 00840413 addi s0,s0,8 +40006e00: 00068713 mv a4,a3 +40006e04: ff048493 addi s1,s1,-16 +40006e08: 029f5c63 ble s1,t5,40006e40 <_vfiprintf_r+0x98c> +40006e0c: 01078793 addi a5,a5,16 +40006e10: 00170693 addi a3,a4,1 +40006e14: 01742023 sw s7,0(s0) +40006e18: 01e42223 sw t5,4(s0) +40006e1c: 04f12223 sw a5,68(sp) +40006e20: 04d12023 sw a3,64(sp) +40006e24: fcdfdae3 ble a3,t6,40006df8 <_vfiprintf_r+0x944> +40006e28: 0c079a63 bnez a5,40006efc <_vfiprintf_r+0xa48> +40006e2c: ff048493 addi s1,s1,-16 +40006e30: 00100613 li a2,1 +40006e34: 00000713 li a4,0 +40006e38: 000c0413 mv s0,s8 +40006e3c: fc9f48e3 blt t5,s1,40006e0c <_vfiprintf_r+0x958> +40006e40: 009787b3 add a5,a5,s1 +40006e44: 01742023 sw s7,0(s0) +40006e48: 00942223 sw s1,4(s0) +40006e4c: 04f12223 sw a5,68(sp) +40006e50: 04c12023 sw a2,64(sp) +40006e54: 00700713 li a4,7 +40006e58: 22c74463 blt a4,a2,40007080 <_vfiprintf_r+0xbcc> +40006e5c: 00840413 addi s0,s0,8 +40006e60: 00160613 addi a2,a2,1 +40006e64: 00fd87b3 add a5,s11,a5 +40006e68: 01a42023 sw s10,0(s0) +40006e6c: 01b42223 sw s11,4(s0) +40006e70: 04f12223 sw a5,68(sp) +40006e74: 04c12023 sw a2,64(sp) +40006e78: 00700713 li a4,7 +40006e7c: bcc746e3 blt a4,a2,40006a48 <_vfiprintf_r+0x594> +40006e80: 00840413 addi s0,s0,8 +40006e84: 00412703 lw a4,4(sp) +40006e88: 00477d13 andi s10,a4,4 +40006e8c: 000d0663 beqz s10,40006e98 <_vfiprintf_r+0x9e4> +40006e90: 414904b3 sub s1,s2,s4 +40006e94: bc904ae3 bgtz s1,40006a68 <_vfiprintf_r+0x5b4> +40006e98: 01495463 ble s4,s2,40006ea0 <_vfiprintf_r+0x9ec> +40006e9c: 000a0913 mv s2,s4 +40006ea0: 00812703 lw a4,8(sp) +40006ea4: 01270733 add a4,a4,s2 +40006ea8: 00e12423 sw a4,8(sp) +40006eac: 1e079c63 bnez a5,400070a4 <_vfiprintf_r+0xbf0> +40006eb0: 04012023 sw zero,64(sp) +40006eb4: 000c0413 mv s0,s8 +40006eb8: ee0ff06f j 40006598 <_vfiprintf_r+0xe4> +40006ebc: 03c10613 addi a2,sp,60 +40006ec0: 00098593 mv a1,s3 +40006ec4: 000a8513 mv a0,s5 +40006ec8: 02512023 sw t0,32(sp) +40006ecc: 00712c23 sw t2,24(sp) +40006ed0: 00d12a23 sw a3,20(sp) +40006ed4: cd8ff0ef jal ra,400063ac <__sprint_r.part.0> +40006ed8: 06051a63 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40006edc: 04012703 lw a4,64(sp) +40006ee0: 04412783 lw a5,68(sp) +40006ee4: 000c0413 mv s0,s8 +40006ee8: 00170613 addi a2,a4,1 +40006eec: 02012283 lw t0,32(sp) +40006ef0: 01812383 lw t2,24(sp) +40006ef4: 01412683 lw a3,20(sp) +40006ef8: a61ff06f j 40006958 <_vfiprintf_r+0x4a4> +40006efc: 03c10613 addi a2,sp,60 +40006f00: 00098593 mv a1,s3 +40006f04: 000a8513 mv a0,s5 +40006f08: 01f12c23 sw t6,24(sp) +40006f0c: 01e12a23 sw t5,20(sp) +40006f10: c9cff0ef jal ra,400063ac <__sprint_r.part.0> +40006f14: 02051c63 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40006f18: 04012703 lw a4,64(sp) +40006f1c: 04412783 lw a5,68(sp) +40006f20: 000c0413 mv s0,s8 +40006f24: 00170613 addi a2,a4,1 +40006f28: 01812f83 lw t6,24(sp) +40006f2c: 01412f03 lw t5,20(sp) +40006f30: ed5ff06f j 40006e04 <_vfiprintf_r+0x950> +40006f34: 04412783 lw a5,68(sp) +40006f38: 00078a63 beqz a5,40006f4c <_vfiprintf_r+0xa98> +40006f3c: 03c10613 addi a2,sp,60 +40006f40: 00098593 mv a1,s3 +40006f44: 000a8513 mv a0,s5 +40006f48: c64ff0ef jal ra,400063ac <__sprint_r.part.0> +40006f4c: 00c9d783 lhu a5,12(s3) +40006f50: 0407f793 andi a5,a5,64 +40006f54: fc078263 beqz a5,40006718 <_vfiprintf_r+0x264> +40006f58: fff00793 li a5,-1 +40006f5c: 00f12423 sw a5,8(sp) +40006f60: fb8ff06f j 40006718 <_vfiprintf_r+0x264> +40006f64: 03c10613 addi a2,sp,60 +40006f68: 00098593 mv a1,s3 +40006f6c: 000a8513 mv a0,s5 +40006f70: 01d12223 sw t4,4(sp) +40006f74: c38ff0ef jal ra,400063ac <__sprint_r.part.0> +40006f78: fc051ae3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40006f7c: 04012683 lw a3,64(sp) +40006f80: 04412783 lw a5,68(sp) +40006f84: 000c0413 mv s0,s8 +40006f88: 00168613 addi a2,a3,1 +40006f8c: 00412e83 lw t4,4(sp) +40006f90: afdff06f j 40006a8c <_vfiprintf_r+0x5d8> +40006f94: 00412f03 lw t5,4(sp) +40006f98: 00100713 li a4,1 +40006f9c: 1ae60463 beq a2,a4,40007144 <_vfiprintf_r+0xc90> +40006fa0: 00200793 li a5,2 +40006fa4: 18f61863 bne a2,a5,40007134 <_vfiprintf_r+0xc80> +40006fa8: 01e12223 sw t5,4(sp) +40006fac: 00000793 li a5,0 +40006fb0: 000c0d13 mv s10,s8 +40006fb4: 01c12603 lw a2,28(sp) +40006fb8: 00f7f713 andi a4,a5,15 +40006fbc: fffd0d13 addi s10,s10,-1 +40006fc0: 00e60733 add a4,a2,a4 +40006fc4: 00074703 lbu a4,0(a4) +40006fc8: 0047d793 srli a5,a5,0x4 +40006fcc: 00ed0023 sb a4,0(s10) +40006fd0: fe0792e3 bnez a5,40006fb4 <_vfiprintf_r+0xb00> +40006fd4: 41ac0db3 sub s11,s8,s10 +40006fd8: 8b9ff06f j 40006890 <_vfiprintf_r+0x3dc> +40006fdc: 03c10613 addi a2,sp,60 +40006fe0: 00098593 mv a1,s3 +40006fe4: 000a8513 mv a0,s5 +40006fe8: 02512223 sw t0,36(sp) +40006fec: 03f12023 sw t6,32(sp) +40006ff0: 01e12c23 sw t5,24(sp) +40006ff4: 00d12a23 sw a3,20(sp) +40006ff8: bb4ff0ef jal ra,400063ac <__sprint_r.part.0> +40006ffc: f40518e3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40007000: 04012703 lw a4,64(sp) +40007004: 04412783 lw a5,68(sp) +40007008: 000c0413 mv s0,s8 +4000700c: 00170593 addi a1,a4,1 +40007010: 02412283 lw t0,36(sp) +40007014: 02012f83 lw t6,32(sp) +40007018: 01812f03 lw t5,24(sp) +4000701c: 01412683 lw a3,20(sp) +40007020: 9a1ff06f j 400069c0 <_vfiprintf_r+0x50c> +40007024: 22079863 bnez a5,40007254 <_vfiprintf_r+0xda0> +40007028: 03714703 lbu a4,55(sp) +4000702c: d8070ee3 beqz a4,40006dc8 <_vfiprintf_r+0x914> +40007030: 00100793 li a5,1 +40007034: 03710713 addi a4,sp,55 +40007038: 00078613 mv a2,a5 +4000703c: 06e12823 sw a4,112(sp) +40007040: 06f12a23 sw a5,116(sp) +40007044: 000c0413 mv s0,s8 +40007048: 00060713 mv a4,a2 +4000704c: 00840413 addi s0,s0,8 +40007050: 00160613 addi a2,a2,1 +40007054: 905ff06f j 40006958 <_vfiprintf_r+0x4a4> +40007058: 00200793 li a5,2 +4000705c: 03810713 addi a4,sp,56 +40007060: 06e12823 sw a4,112(sp) +40007064: 06f12a23 sw a5,116(sp) +40007068: 00100613 li a2,1 +4000706c: 000c0413 mv s0,s8 +40007070: 00060713 mv a4,a2 +40007074: 00840413 addi s0,s0,8 +40007078: 00160613 addi a2,a2,1 +4000707c: d5dff06f j 40006dd8 <_vfiprintf_r+0x924> +40007080: 14079463 bnez a5,400071c8 <_vfiprintf_r+0xd14> +40007084: 00100713 li a4,1 +40007088: 000d8793 mv a5,s11 +4000708c: 07a12823 sw s10,112(sp) +40007090: 07b12a23 sw s11,116(sp) +40007094: 05b12223 sw s11,68(sp) +40007098: 04e12023 sw a4,64(sp) +4000709c: 000c0413 mv s0,s8 +400070a0: de1ff06f j 40006e80 <_vfiprintf_r+0x9cc> +400070a4: 03c10613 addi a2,sp,60 +400070a8: 00098593 mv a1,s3 +400070ac: 000a8513 mv a0,s5 +400070b0: afcff0ef jal ra,400063ac <__sprint_r.part.0> +400070b4: de050ee3 beqz a0,40006eb0 <_vfiprintf_r+0x9fc> +400070b8: e95ff06f j 40006f4c <_vfiprintf_r+0xa98> +400070bc: 00900713 li a4,9 +400070c0: 000c0d13 mv s10,s8 +400070c4: 00a00613 li a2,10 +400070c8: 06f77c63 bleu a5,a4,40007140 <_vfiprintf_r+0xc8c> +400070cc: 02c7f733 remu a4,a5,a2 +400070d0: fffd0d13 addi s10,s10,-1 +400070d4: 02c7d7b3 divu a5,a5,a2 +400070d8: 03070713 addi a4,a4,48 +400070dc: 00ed0023 sb a4,0(s10) +400070e0: fe0796e3 bnez a5,400070cc <_vfiprintf_r+0xc18> +400070e4: 41ac0db3 sub s11,s8,s10 +400070e8: fa8ff06f j 40006890 <_vfiprintf_r+0x3dc> +400070ec: 00000d93 li s11,0 +400070f0: 000c0d13 mv s10,s8 +400070f4: f9cff06f j 40006890 <_vfiprintf_r+0x3dc> +400070f8: 03c10613 addi a2,sp,60 +400070fc: 00098593 mv a1,s3 +40007100: 000a8513 mv a0,s5 +40007104: aa8ff0ef jal ra,400063ac <__sprint_r.part.0> +40007108: e40512e3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +4000710c: 04412783 lw a5,68(sp) +40007110: 000c0413 mv s0,s8 +40007114: d71ff06f j 40006e84 <_vfiprintf_r+0x9d0> +40007118: 03c10613 addi a2,sp,60 +4000711c: 00098593 mv a1,s3 +40007120: 000a8513 mv a0,s5 +40007124: a88ff0ef jal ra,400063ac <__sprint_r.part.0> +40007128: e20512e3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +4000712c: 000c0413 mv s0,s8 +40007130: cc4ff06f j 400065f4 <_vfiprintf_r+0x140> +40007134: 01e12223 sw t5,4(sp) +40007138: 00000793 li a5,0 +4000713c: a19ff06f j 40006b54 <_vfiprintf_r+0x6a0> +40007140: 00412f03 lw t5,4(sp) +40007144: 03078793 addi a5,a5,48 +40007148: 06f107a3 sb a5,111(sp) +4000714c: 01e12223 sw t5,4(sp) +40007150: 00100d93 li s11,1 +40007154: 06f10d13 addi s10,sp,111 +40007158: f38ff06f j 40006890 <_vfiprintf_r+0x3dc> +4000715c: 03c10613 addi a2,sp,60 +40007160: 00098593 mv a1,s3 +40007164: 000a8513 mv a0,s5 +40007168: 00512c23 sw t0,24(sp) +4000716c: 00d12a23 sw a3,20(sp) +40007170: a3cff0ef jal ra,400063ac <__sprint_r.part.0> +40007174: dc051ce3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40007178: 04012703 lw a4,64(sp) +4000717c: 04412783 lw a5,68(sp) +40007180: 000c0413 mv s0,s8 +40007184: 00170613 addi a2,a4,1 +40007188: 01812283 lw t0,24(sp) +4000718c: 01412683 lw a3,20(sp) +40007190: c49ff06f j 40006dd8 <_vfiprintf_r+0x924> +40007194: 12079e63 bnez a5,400072d0 <_vfiprintf_r+0xe1c> +40007198: 00100613 li a2,1 +4000719c: 00000713 li a4,0 +400071a0: 000c0413 mv s0,s8 +400071a4: c3dff06f j 40006de0 <_vfiprintf_r+0x92c> +400071a8: 00072783 lw a5,0(a4) +400071ac: 00470713 addi a4,a4,4 +400071b0: 00e12623 sw a4,12(sp) +400071b4: 975ff06f j 40006b28 <_vfiprintf_r+0x674> +400071b8: 00062783 lw a5,0(a2) +400071bc: 00460613 addi a2,a2,4 +400071c0: 00c12623 sw a2,12(sp) +400071c4: addff06f j 40006ca0 <_vfiprintf_r+0x7ec> +400071c8: 03c10613 addi a2,sp,60 +400071cc: 00098593 mv a1,s3 +400071d0: 000a8513 mv a0,s5 +400071d4: 9d8ff0ef jal ra,400063ac <__sprint_r.part.0> +400071d8: d6051ae3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +400071dc: 04012603 lw a2,64(sp) +400071e0: 04412783 lw a5,68(sp) +400071e4: 000c0413 mv s0,s8 +400071e8: 00160613 addi a2,a2,1 +400071ec: 841ff06f j 40006a2c <_vfiprintf_r+0x578> +400071f0: 00c12703 lw a4,12(sp) +400071f4: 00072783 lw a5,0(a4) +400071f8: 00470713 addi a4,a4,4 +400071fc: 00e12623 sw a4,12(sp) +40007200: 00812703 lw a4,8(sp) +40007204: 00e7a023 sw a4,0(a5) +40007208: b90ff06f j 40006598 <_vfiprintf_r+0xe4> +4000720c: 000b0493 mv s1,s6 +40007210: bf0ff06f j 40006600 <_vfiprintf_r+0x14c> +40007214: 00c12703 lw a4,12(sp) +40007218: 00072783 lw a5,0(a4) +4000721c: 00470713 addi a4,a4,4 +40007220: 00e12623 sw a4,12(sp) +40007224: 905ff06f j 40006b28 <_vfiprintf_r+0x674> +40007228: 00c12603 lw a2,12(sp) +4000722c: 00062783 lw a5,0(a2) +40007230: 00460613 addi a2,a2,4 +40007234: 00c12623 sw a2,12(sp) +40007238: a69ff06f j 40006ca0 <_vfiprintf_r+0x7ec> +4000723c: 02d00713 li a4,45 +40007240: 40f007b3 neg a5,a5 +40007244: 02e10ba3 sb a4,55(sp) +40007248: 02d00593 li a1,45 +4000724c: 00100613 li a2,1 +40007250: 9a1ff06f j 40006bf0 <_vfiprintf_r+0x73c> +40007254: 03c10613 addi a2,sp,60 +40007258: 00098593 mv a1,s3 +4000725c: 000a8513 mv a0,s5 +40007260: 02512023 sw t0,32(sp) +40007264: 00712c23 sw t2,24(sp) +40007268: 00d12a23 sw a3,20(sp) +4000726c: 940ff0ef jal ra,400063ac <__sprint_r.part.0> +40007270: cc051ee3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +40007274: 04012703 lw a4,64(sp) +40007278: 04412783 lw a5,68(sp) +4000727c: 000c0413 mv s0,s8 +40007280: 00170613 addi a2,a4,1 +40007284: 02012283 lw t0,32(sp) +40007288: 01812383 lw t2,24(sp) +4000728c: 01412683 lw a3,20(sp) +40007290: b09ff06f j 40006d98 <_vfiprintf_r+0x8e4> +40007294: 03c10613 addi a2,sp,60 +40007298: 00098593 mv a1,s3 +4000729c: 000a8513 mv a0,s5 +400072a0: 90cff0ef jal ra,400063ac <__sprint_r.part.0> +400072a4: ca0514e3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +400072a8: 04412783 lw a5,68(sp) +400072ac: bedff06f j 40006e98 <_vfiprintf_r+0x9e4> +400072b0: 000d0513 mv a0,s10 +400072b4: 01e12223 sw t5,4(sp) +400072b8: 85cff0ef jal ra,40006314 <strlen> +400072bc: 00050d93 mv s11,a0 +400072c0: 03714583 lbu a1,55(sp) +400072c4: 00912623 sw s1,12(sp) +400072c8: 00000693 li a3,0 +400072cc: dc4ff06f j 40006890 <_vfiprintf_r+0x3dc> +400072d0: 03c10613 addi a2,sp,60 +400072d4: 00098593 mv a1,s3 +400072d8: 000a8513 mv a0,s5 +400072dc: 00d12a23 sw a3,20(sp) +400072e0: 8ccff0ef jal ra,400063ac <__sprint_r.part.0> +400072e4: c60514e3 bnez a0,40006f4c <_vfiprintf_r+0xa98> +400072e8: 04012703 lw a4,64(sp) +400072ec: 04412783 lw a5,68(sp) +400072f0: 000c0413 mv s0,s8 +400072f4: 00170613 addi a2,a4,1 +400072f8: 01412683 lw a3,20(sp) +400072fc: ae5ff06f j 40006de0 <_vfiprintf_r+0x92c> +40007300: 04012703 lw a4,64(sp) +40007304: 00170713 addi a4,a4,1 +40007308: e24ff06f j 4000692c <_vfiprintf_r+0x478> +4000730c: 00600793 li a5,6 +40007310: 00068d93 mv s11,a3 +40007314: 00d7f463 bleu a3,a5,4000731c <_vfiprintf_r+0xe68> +40007318: 00078d93 mv s11,a5 +4000731c: 4000beb7 lui t4,0x4000b +40007320: 000d8a13 mv s4,s11 +40007324: 00912623 sw s1,12(sp) +40007328: 7d8e8d13 addi s10,t4,2008 # 4000b7d8 <zeroes.4139+0x48> +4000732c: 921ff06f j 40006c4c <_vfiprintf_r+0x798> +40007330: 04012603 lw a2,64(sp) +40007334: 00160613 addi a2,a2,1 +40007338: f90ff06f j 40006ac8 <_vfiprintf_r+0x614> +4000733c: 00068d93 mv s11,a3 +40007340: 03714583 lbu a1,55(sp) +40007344: 00912623 sw s1,12(sp) +40007348: 01e12223 sw t5,4(sp) +4000734c: 00000693 li a3,0 +40007350: d40ff06f j 40006890 <_vfiprintf_r+0x3dc> +40007354: 00060593 mv a1,a2 +40007358: ea4ff06f j 400069fc <_vfiprintf_r+0x548> +4000735c: 00c12783 lw a5,12(sp) +40007360: 0007a683 lw a3,0(a5) +40007364: 00478b13 addi s6,a5,4 +40007368: 0206c263 bltz a3,4000738c <_vfiprintf_r+0xed8> +4000736c: 01612623 sw s6,12(sp) +40007370: 00048b13 mv s6,s1 +40007374: 000b0493 mv s1,s6 +40007378: ac8ff06f j 40006640 <_vfiprintf_r+0x18c> +4000737c: 03f10ba3 sb t6,55(sp) +40007380: 999ff06f j 40006d18 <_vfiprintf_r+0x864> +40007384: 03f10ba3 sb t6,55(sp) +40007388: c88ff06f j 40006810 <_vfiprintf_r+0x35c> +4000738c: 000d8693 mv a3,s11 +40007390: fddff06f j 4000736c <_vfiprintf_r+0xeb8> +40007394: 03f10ba3 sb t6,55(sp) +40007398: f6cff06f j 40006b04 <_vfiprintf_r+0x650> +4000739c: 03f10ba3 sb t6,55(sp) +400073a0: 935ff06f j 40006cd4 <_vfiprintf_r+0x820> +400073a4: 03f10ba3 sb t6,55(sp) +400073a8: 8cdff06f j 40006c74 <_vfiprintf_r+0x7c0> + +400073ac <vfiprintf>: +400073ac: 4000c7b7 lui a5,0x4000c +400073b0: 00060693 mv a3,a2 +400073b4: 00058613 mv a2,a1 +400073b8: 00050593 mv a1,a0 +400073bc: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +400073c0: 8f4ff06f j 400064b4 <_vfiprintf_r> + +400073c4 <__sbprintf>: +400073c4: 00c5d783 lhu a5,12(a1) +400073c8: 0645ae03 lw t3,100(a1) +400073cc: 00e5d303 lhu t1,14(a1) +400073d0: 01c5a883 lw a7,28(a1) +400073d4: 0245a803 lw a6,36(a1) +400073d8: b8010113 addi sp,sp,-1152 +400073dc: ffd7f793 andi a5,a5,-3 +400073e0: 40000713 li a4,1024 +400073e4: 46812c23 sw s0,1144(sp) +400073e8: 00f11a23 sh a5,20(sp) +400073ec: 00058413 mv s0,a1 +400073f0: 07010793 addi a5,sp,112 +400073f4: 00810593 addi a1,sp,8 +400073f8: 46912a23 sw s1,1140(sp) +400073fc: 47212823 sw s2,1136(sp) +40007400: 46112e23 sw ra,1148(sp) +40007404: 00050913 mv s2,a0 +40007408: 07c12623 sw t3,108(sp) +4000740c: 00611b23 sh t1,22(sp) +40007410: 03112223 sw a7,36(sp) +40007414: 03012623 sw a6,44(sp) +40007418: 00f12423 sw a5,8(sp) +4000741c: 00f12c23 sw a5,24(sp) +40007420: 00e12823 sw a4,16(sp) +40007424: 00e12e23 sw a4,28(sp) +40007428: 02012023 sw zero,32(sp) +4000742c: 888ff0ef jal ra,400064b4 <_vfiprintf_r> +40007430: 00050493 mv s1,a0 +40007434: 00054a63 bltz a0,40007448 <__sbprintf+0x84> +40007438: 00810593 addi a1,sp,8 +4000743c: 00090513 mv a0,s2 +40007440: cfcfc0ef jal ra,4000393c <_fflush_r> +40007444: 02051c63 bnez a0,4000747c <__sbprintf+0xb8> +40007448: 01415783 lhu a5,20(sp) +4000744c: 0407f793 andi a5,a5,64 +40007450: 00078863 beqz a5,40007460 <__sbprintf+0x9c> +40007454: 00c45783 lhu a5,12(s0) +40007458: 0407e793 ori a5,a5,64 +4000745c: 00f41623 sh a5,12(s0) +40007460: 47c12083 lw ra,1148(sp) +40007464: 00048513 mv a0,s1 +40007468: 47812403 lw s0,1144(sp) +4000746c: 47412483 lw s1,1140(sp) +40007470: 47012903 lw s2,1136(sp) +40007474: 48010113 addi sp,sp,1152 +40007478: 00008067 ret +4000747c: fff00493 li s1,-1 +40007480: fc9ff06f j 40007448 <__sbprintf+0x84> + +40007484 <_write_r>: +40007484: ff010113 addi sp,sp,-16 +40007488: 00058793 mv a5,a1 +4000748c: 00812423 sw s0,8(sp) +40007490: 00912223 sw s1,4(sp) +40007494: 00060593 mv a1,a2 +40007498: 00050493 mv s1,a0 +4000749c: 4000c437 lui s0,0x4000c +400074a0: 00078513 mv a0,a5 +400074a4: 00068613 mv a2,a3 +400074a8: 00112623 sw ra,12(sp) +400074ac: 68042223 sw zero,1668(s0) # 4000c684 <errno> +400074b0: bc1f80ef jal ra,40000070 <write> +400074b4: fff00793 li a5,-1 +400074b8: 00f50c63 beq a0,a5,400074d0 <_write_r+0x4c> +400074bc: 00c12083 lw ra,12(sp) +400074c0: 00812403 lw s0,8(sp) +400074c4: 00412483 lw s1,4(sp) +400074c8: 01010113 addi sp,sp,16 +400074cc: 00008067 ret +400074d0: 68442783 lw a5,1668(s0) +400074d4: fe0784e3 beqz a5,400074bc <_write_r+0x38> +400074d8: 00c12083 lw ra,12(sp) +400074dc: 00f4a023 sw a5,0(s1) +400074e0: 00812403 lw s0,8(sp) +400074e4: 00412483 lw s1,4(sp) +400074e8: 01010113 addi sp,sp,16 +400074ec: 00008067 ret + +400074f0 <_calloc_r>: +400074f0: 02c585b3 mul a1,a1,a2 +400074f4: ff010113 addi sp,sp,-16 +400074f8: 00812423 sw s0,8(sp) +400074fc: 00112623 sw ra,12(sp) +40007500: 898fd0ef jal ra,40004598 <_malloc_r> +40007504: 00050413 mv s0,a0 +40007508: 04050e63 beqz a0,40007564 <_calloc_r+0x74> +4000750c: ffc52603 lw a2,-4(a0) +40007510: 02400713 li a4,36 +40007514: ffc67613 andi a2,a2,-4 +40007518: ffc60613 addi a2,a2,-4 +4000751c: 04c76e63 bltu a4,a2,40007578 <_calloc_r+0x88> +40007520: 01300693 li a3,19 +40007524: 00050793 mv a5,a0 +40007528: 02c6f863 bleu a2,a3,40007558 <_calloc_r+0x68> +4000752c: 00052023 sw zero,0(a0) +40007530: 00052223 sw zero,4(a0) +40007534: 01b00793 li a5,27 +40007538: 04c7fe63 bleu a2,a5,40007594 <_calloc_r+0xa4> +4000753c: 00052423 sw zero,8(a0) +40007540: 00052623 sw zero,12(a0) +40007544: 01050793 addi a5,a0,16 +40007548: 00e61863 bne a2,a4,40007558 <_calloc_r+0x68> +4000754c: 00052823 sw zero,16(a0) +40007550: 01850793 addi a5,a0,24 +40007554: 00052a23 sw zero,20(a0) +40007558: 0007a023 sw zero,0(a5) +4000755c: 0007a223 sw zero,4(a5) +40007560: 0007a423 sw zero,8(a5) +40007564: 00c12083 lw ra,12(sp) +40007568: 00040513 mv a0,s0 +4000756c: 00812403 lw s0,8(sp) +40007570: 01010113 addi sp,sp,16 +40007574: 00008067 ret +40007578: 00000593 li a1,0 +4000757c: 961fd0ef jal ra,40004edc <memset> +40007580: 00c12083 lw ra,12(sp) +40007584: 00040513 mv a0,s0 +40007588: 00812403 lw s0,8(sp) +4000758c: 01010113 addi sp,sp,16 +40007590: 00008067 ret +40007594: 00850793 addi a5,a0,8 +40007598: fc1ff06f j 40007558 <_calloc_r+0x68> + +4000759c <_close_r>: +4000759c: ff010113 addi sp,sp,-16 +400075a0: 00812423 sw s0,8(sp) +400075a4: 00912223 sw s1,4(sp) +400075a8: 4000c437 lui s0,0x4000c +400075ac: 00050493 mv s1,a0 +400075b0: 00058513 mv a0,a1 +400075b4: 00112623 sw ra,12(sp) +400075b8: 68042223 sw zero,1668(s0) # 4000c684 <errno> +400075bc: a55f80ef jal ra,40000010 <close> +400075c0: fff00793 li a5,-1 +400075c4: 00f50c63 beq a0,a5,400075dc <_close_r+0x40> +400075c8: 00c12083 lw ra,12(sp) +400075cc: 00812403 lw s0,8(sp) +400075d0: 00412483 lw s1,4(sp) +400075d4: 01010113 addi sp,sp,16 +400075d8: 00008067 ret +400075dc: 68442783 lw a5,1668(s0) +400075e0: fe0784e3 beqz a5,400075c8 <_close_r+0x2c> +400075e4: 00c12083 lw ra,12(sp) +400075e8: 00f4a023 sw a5,0(s1) +400075ec: 00812403 lw s0,8(sp) +400075f0: 00412483 lw s1,4(sp) +400075f4: 01010113 addi sp,sp,16 +400075f8: 00008067 ret + +400075fc <_fclose_r>: +400075fc: ff010113 addi sp,sp,-16 +40007600: 00112623 sw ra,12(sp) +40007604: 00812423 sw s0,8(sp) +40007608: 00912223 sw s1,4(sp) +4000760c: 01212023 sw s2,0(sp) +40007610: 02058063 beqz a1,40007630 <_fclose_r+0x34> +40007614: 00050493 mv s1,a0 +40007618: 00058413 mv s0,a1 +4000761c: 00050663 beqz a0,40007628 <_fclose_r+0x2c> +40007620: 03852783 lw a5,56(a0) +40007624: 0a078c63 beqz a5,400076dc <_fclose_r+0xe0> +40007628: 00c41783 lh a5,12(s0) +4000762c: 02079263 bnez a5,40007650 <_fclose_r+0x54> +40007630: 00c12083 lw ra,12(sp) +40007634: 00000913 li s2,0 +40007638: 00090513 mv a0,s2 +4000763c: 00812403 lw s0,8(sp) +40007640: 00412483 lw s1,4(sp) +40007644: 00012903 lw s2,0(sp) +40007648: 01010113 addi sp,sp,16 +4000764c: 00008067 ret +40007650: 00040593 mv a1,s0 +40007654: 00048513 mv a0,s1 +40007658: 850fc0ef jal ra,400036a8 <__sflush_r> +4000765c: 02c42783 lw a5,44(s0) +40007660: 00050913 mv s2,a0 +40007664: 00078a63 beqz a5,40007678 <_fclose_r+0x7c> +40007668: 01c42583 lw a1,28(s0) +4000766c: 00048513 mv a0,s1 +40007670: 000780e7 jalr a5 +40007674: 06054863 bltz a0,400076e4 <_fclose_r+0xe8> +40007678: 00c45783 lhu a5,12(s0) +4000767c: 0807f793 andi a5,a5,128 +40007680: 06079663 bnez a5,400076ec <_fclose_r+0xf0> +40007684: 03042583 lw a1,48(s0) +40007688: 00058c63 beqz a1,400076a0 <_fclose_r+0xa4> +4000768c: 04040793 addi a5,s0,64 +40007690: 00f58663 beq a1,a5,4000769c <_fclose_r+0xa0> +40007694: 00048513 mv a0,s1 +40007698: fecfc0ef jal ra,40003e84 <_free_r> +4000769c: 02042823 sw zero,48(s0) +400076a0: 04442583 lw a1,68(s0) +400076a4: 00058863 beqz a1,400076b4 <_fclose_r+0xb8> +400076a8: 00048513 mv a0,s1 +400076ac: fd8fc0ef jal ra,40003e84 <_free_r> +400076b0: 04042223 sw zero,68(s0) +400076b4: e5cfc0ef jal ra,40003d10 <__sfp_lock_acquire> +400076b8: 00041623 sh zero,12(s0) +400076bc: e58fc0ef jal ra,40003d14 <__sfp_lock_release> +400076c0: 00c12083 lw ra,12(sp) +400076c4: 00090513 mv a0,s2 +400076c8: 00812403 lw s0,8(sp) +400076cc: 00412483 lw s1,4(sp) +400076d0: 00012903 lw s2,0(sp) +400076d4: 01010113 addi sp,sp,16 +400076d8: 00008067 ret +400076dc: e24fc0ef jal ra,40003d00 <__sinit> +400076e0: f49ff06f j 40007628 <_fclose_r+0x2c> +400076e4: fff00913 li s2,-1 +400076e8: f91ff06f j 40007678 <_fclose_r+0x7c> +400076ec: 01042583 lw a1,16(s0) +400076f0: 00048513 mv a0,s1 +400076f4: f90fc0ef jal ra,40003e84 <_free_r> +400076f8: f8dff06f j 40007684 <_fclose_r+0x88> + +400076fc <fclose>: +400076fc: 4000c7b7 lui a5,0x4000c +40007700: 00050593 mv a1,a0 +40007704: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +40007708: ef5ff06f j 400075fc <_fclose_r> + +4000770c <__fputwc>: +4000770c: fc010113 addi sp,sp,-64 +40007710: 02812c23 sw s0,56(sp) +40007714: 03412423 sw s4,40(sp) +40007718: 03512223 sw s5,36(sp) +4000771c: 02112e23 sw ra,60(sp) +40007720: 02912a23 sw s1,52(sp) +40007724: 03212823 sw s2,48(sp) +40007728: 03312623 sw s3,44(sp) +4000772c: 03612023 sw s6,32(sp) +40007730: 01712e23 sw s7,28(sp) +40007734: 00050a13 mv s4,a0 +40007738: 00058a93 mv s5,a1 +4000773c: 00060413 mv s0,a2 +40007740: c35fc0ef jal ra,40004374 <__locale_mb_cur_max> +40007744: 00100793 li a5,1 +40007748: 0cf50863 beq a0,a5,40007818 <__fputwc+0x10c> +4000774c: 00c10493 addi s1,sp,12 +40007750: 05c40693 addi a3,s0,92 +40007754: 000a8613 mv a2,s5 +40007758: 00048593 mv a1,s1 +4000775c: 000a0513 mv a0,s4 +40007760: 104010ef jal ra,40008864 <_wcrtomb_r> +40007764: fff00793 li a5,-1 +40007768: 00050993 mv s3,a0 +4000776c: 08f50e63 beq a0,a5,40007808 <__fputwc+0xfc> +40007770: 0c050463 beqz a0,40007838 <__fputwc+0x12c> +40007774: 00c14703 lbu a4,12(sp) +40007778: 00000913 li s2,0 +4000777c: fff00b93 li s7,-1 +40007780: 00a00b13 li s6,10 +40007784: 0240006f j 400077a8 <__fputwc+0x9c> +_ELIDABLE_INLINE int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { +#ifdef __SCLE + if ((_p->_flags & __SCLE) && _c == '\n') + __sputc_r (_ptr, '\r', _p); +#endif + if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) +40007788: 00042783 lw a5,0(s0) +4000778c: 00178693 addi a3,a5,1 + return (*_p->_p++ = _c); +40007790: 00d42023 sw a3,0(s0) +40007794: 00e78023 sb a4,0(a5) +40007798: 00190913 addi s2,s2,1 +4000779c: 00148493 addi s1,s1,1 +400077a0: 09397c63 bleu s3,s2,40007838 <__fputwc+0x12c> +400077a4: 0004c703 lbu a4,0(s1) +400077a8: 00842783 lw a5,8(s0) +400077ac: fff78793 addi a5,a5,-1 + if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) +400077b0: 00f42423 sw a5,8(s0) +400077b4: fc07dae3 bgez a5,40007788 <__fputwc+0x7c> +400077b8: 01842683 lw a3,24(s0) +400077bc: 00070593 mv a1,a4 +400077c0: 00040613 mv a2,s0 + else + return (__swbuf_r(_ptr, _c, _p)); +400077c4: 000a0513 mv a0,s4 +400077c8: 00d7c463 blt a5,a3,400077d0 <__fputwc+0xc4> +400077cc: fb671ee3 bne a4,s6,40007788 <__fputwc+0x7c> + if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) +400077d0: 709000ef jal ra,400086d8 <__swbuf_r> +400077d4: fd7512e3 bne a0,s7,40007798 <__fputwc+0x8c> + return (__swbuf_r(_ptr, _c, _p)); +400077d8: 000b8513 mv a0,s7 +400077dc: 03c12083 lw ra,60(sp) +400077e0: 03812403 lw s0,56(sp) +400077e4: 03412483 lw s1,52(sp) +400077e8: 03012903 lw s2,48(sp) +400077ec: 02c12983 lw s3,44(sp) +400077f0: 02812a03 lw s4,40(sp) +400077f4: 02412a83 lw s5,36(sp) +400077f8: 02012b03 lw s6,32(sp) +400077fc: 01c12b83 lw s7,28(sp) +40007800: 04010113 addi sp,sp,64 +40007804: 00008067 ret +40007808: 00c45783 lhu a5,12(s0) +4000780c: 0407e793 ori a5,a5,64 +40007810: 00f41623 sh a5,12(s0) +40007814: fc9ff06f j 400077dc <__fputwc+0xd0> +40007818: fffa8793 addi a5,s5,-1 +4000781c: 0fe00713 li a4,254 +40007820: f2f766e3 bltu a4,a5,4000774c <__fputwc+0x40> +40007824: 0ffaf713 andi a4,s5,255 +40007828: 00e10623 sb a4,12(sp) +4000782c: 00050993 mv s3,a0 +40007830: 00c10493 addi s1,sp,12 +40007834: f45ff06f j 40007778 <__fputwc+0x6c> +40007838: 000a8513 mv a0,s5 +4000783c: fa1ff06f j 400077dc <__fputwc+0xd0> + +40007840 <_fputwc_r>: +40007840: 00c61783 lh a5,12(a2) +40007844: 000026b7 lui a3,0x2 +40007848: 01279713 slli a4,a5,0x12 +4000784c: 00074c63 bltz a4,40007864 <_fputwc_r+0x24> +40007850: 06462703 lw a4,100(a2) +40007854: 00d7e7b3 or a5,a5,a3 +40007858: 00f61623 sh a5,12(a2) +4000785c: 00d767b3 or a5,a4,a3 +40007860: 06f62223 sw a5,100(a2) +40007864: ea9ff06f j 4000770c <__fputwc> + +40007868 <fputwc>: +40007868: ff010113 addi sp,sp,-16 +4000786c: 4000c7b7 lui a5,0x4000c +40007870: 00912223 sw s1,4(sp) +40007874: 62c7a483 lw s1,1580(a5) # 4000c62c <_impure_ptr> +40007878: 00812423 sw s0,8(sp) +4000787c: 01212023 sw s2,0(sp) +40007880: 00112623 sw ra,12(sp) +40007884: 00050913 mv s2,a0 +40007888: 00058413 mv s0,a1 +4000788c: 00048663 beqz s1,40007898 <fputwc+0x30> +40007890: 0384a783 lw a5,56(s1) +40007894: 04078663 beqz a5,400078e0 <fputwc+0x78> +40007898: 00c41783 lh a5,12(s0) +4000789c: 000026b7 lui a3,0x2 +400078a0: 01279713 slli a4,a5,0x12 +400078a4: 00074c63 bltz a4,400078bc <fputwc+0x54> +400078a8: 06442703 lw a4,100(s0) +400078ac: 00d7e7b3 or a5,a5,a3 +400078b0: 00f41623 sh a5,12(s0) +400078b4: 00d767b3 or a5,a4,a3 +400078b8: 06f42223 sw a5,100(s0) +400078bc: 00040613 mv a2,s0 +400078c0: 00090593 mv a1,s2 +400078c4: 00048513 mv a0,s1 +400078c8: 00c12083 lw ra,12(sp) +400078cc: 00812403 lw s0,8(sp) +400078d0: 00412483 lw s1,4(sp) +400078d4: 00012903 lw s2,0(sp) +400078d8: 01010113 addi sp,sp,16 +400078dc: e31ff06f j 4000770c <__fputwc> +400078e0: 00048513 mv a0,s1 +400078e4: c1cfc0ef jal ra,40003d00 <__sinit> +400078e8: fb1ff06f j 40007898 <fputwc+0x30> + +400078ec <_fstat_r>: +400078ec: ff010113 addi sp,sp,-16 +400078f0: 00058793 mv a5,a1 +400078f4: 00812423 sw s0,8(sp) +400078f8: 00912223 sw s1,4(sp) +400078fc: 4000c437 lui s0,0x4000c +40007900: 00050493 mv s1,a0 +40007904: 00060593 mv a1,a2 +40007908: 00078513 mv a0,a5 +4000790c: 00112623 sw ra,12(sp) +40007910: 68042223 sw zero,1668(s0) # 4000c684 <errno> +40007914: eecf80ef jal ra,40000000 <fstat> +40007918: fff00793 li a5,-1 +4000791c: 00f50c63 beq a0,a5,40007934 <_fstat_r+0x48> +40007920: 00c12083 lw ra,12(sp) +40007924: 00812403 lw s0,8(sp) +40007928: 00412483 lw s1,4(sp) +4000792c: 01010113 addi sp,sp,16 +40007930: 00008067 ret +40007934: 68442783 lw a5,1668(s0) +40007938: fe0784e3 beqz a5,40007920 <_fstat_r+0x34> +4000793c: 00c12083 lw ra,12(sp) +40007940: 00f4a023 sw a5,0(s1) +40007944: 00812403 lw s0,8(sp) +40007948: 00412483 lw s1,4(sp) +4000794c: 01010113 addi sp,sp,16 +40007950: 00008067 ret + +40007954 <__sfvwrite_r>: +40007954: 00862783 lw a5,8(a2) +40007958: 1c078263 beqz a5,40007b1c <__sfvwrite_r+0x1c8> +4000795c: 00c5d703 lhu a4,12(a1) +40007960: fc010113 addi sp,sp,-64 +40007964: 02812c23 sw s0,56(sp) +40007968: 03412423 sw s4,40(sp) +4000796c: 03612023 sw s6,32(sp) +40007970: 02112e23 sw ra,60(sp) +40007974: 02912a23 sw s1,52(sp) +40007978: 03212823 sw s2,48(sp) +4000797c: 03312623 sw s3,44(sp) +40007980: 03512223 sw s5,36(sp) +40007984: 01712e23 sw s7,28(sp) +40007988: 01812c23 sw s8,24(sp) +4000798c: 01912a23 sw s9,20(sp) +40007990: 01a12823 sw s10,16(sp) +40007994: 01b12623 sw s11,12(sp) +40007998: 00877793 andi a5,a4,8 +4000799c: 00058413 mv s0,a1 +400079a0: 00050b13 mv s6,a0 +400079a4: 00060a13 mv s4,a2 +400079a8: 0a078663 beqz a5,40007a54 <__sfvwrite_r+0x100> +400079ac: 0105a783 lw a5,16(a1) +400079b0: 0a078263 beqz a5,40007a54 <__sfvwrite_r+0x100> +400079b4: 00277793 andi a5,a4,2 +400079b8: 000a2483 lw s1,0(s4) +400079bc: 0a078e63 beqz a5,40007a78 <__sfvwrite_r+0x124> +400079c0: 80000ab7 lui s5,0x80000 +400079c4: 00000993 li s3,0 +400079c8: 00000913 li s2,0 +400079cc: c00aca93 xori s5,s5,-1024 +400079d0: 00098613 mv a2,s3 +400079d4: 000b0513 mv a0,s6 +400079d8: 12090a63 beqz s2,40007b0c <__sfvwrite_r+0x1b8> +400079dc: 00090693 mv a3,s2 +400079e0: 012af463 bleu s2,s5,400079e8 <__sfvwrite_r+0x94> +400079e4: 000a8693 mv a3,s5 +400079e8: 02442783 lw a5,36(s0) +400079ec: 01c42583 lw a1,28(s0) +400079f0: 000780e7 jalr a5 +400079f4: 14a05263 blez a0,40007b38 <__sfvwrite_r+0x1e4> +400079f8: 008a2783 lw a5,8(s4) +400079fc: 00a989b3 add s3,s3,a0 +40007a00: 40a90933 sub s2,s2,a0 +40007a04: 40a78533 sub a0,a5,a0 +40007a08: 00aa2423 sw a0,8(s4) +40007a0c: fc0512e3 bnez a0,400079d0 <__sfvwrite_r+0x7c> +40007a10: 00000793 li a5,0 +40007a14: 03c12083 lw ra,60(sp) +40007a18: 00078513 mv a0,a5 +40007a1c: 03812403 lw s0,56(sp) +40007a20: 03412483 lw s1,52(sp) +40007a24: 03012903 lw s2,48(sp) +40007a28: 02c12983 lw s3,44(sp) +40007a2c: 02812a03 lw s4,40(sp) +40007a30: 02412a83 lw s5,36(sp) +40007a34: 02012b03 lw s6,32(sp) +40007a38: 01c12b83 lw s7,28(sp) +40007a3c: 01812c03 lw s8,24(sp) +40007a40: 01412c83 lw s9,20(sp) +40007a44: 01012d03 lw s10,16(sp) +40007a48: 00c12d83 lw s11,12(sp) +40007a4c: 04010113 addi sp,sp,64 +40007a50: 00008067 ret +40007a54: 00040593 mv a1,s0 +40007a58: 000b0513 mv a0,s6 +40007a5c: ba4fa0ef jal ra,40001e00 <__swsetup_r> +40007a60: fff00793 li a5,-1 +40007a64: fa0518e3 bnez a0,40007a14 <__sfvwrite_r+0xc0> +40007a68: 00c45703 lhu a4,12(s0) +40007a6c: 000a2483 lw s1,0(s4) +40007a70: 00277793 andi a5,a4,2 +40007a74: f40796e3 bnez a5,400079c0 <__sfvwrite_r+0x6c> +40007a78: 00177793 andi a5,a4,1 +40007a7c: 0c079863 bnez a5,40007b4c <__sfvwrite_r+0x1f8> +40007a80: 80000bb7 lui s7,0x80000 +40007a84: 00000c13 li s8,0 +40007a88: 00000913 li s2,0 +40007a8c: fffbcb93 not s7,s7 +40007a90: 06090663 beqz s2,40007afc <__sfvwrite_r+0x1a8> +40007a94: 20077793 andi a5,a4,512 +40007a98: 00842983 lw s3,8(s0) +40007a9c: 1a078263 beqz a5,40007c40 <__sfvwrite_r+0x2ec> +40007aa0: 27396063 bltu s2,s3,40007d00 <__sfvwrite_r+0x3ac> +40007aa4: 48077793 andi a5,a4,1152 +40007aa8: 26079663 bnez a5,40007d14 <__sfvwrite_r+0x3c0> +40007aac: 00042503 lw a0,0(s0) +40007ab0: 00090a93 mv s5,s2 +40007ab4: 00098c93 mv s9,s3 +40007ab8: 000c8613 mv a2,s9 +40007abc: 000c0593 mv a1,s8 +40007ac0: 404000ef jal ra,40007ec4 <memmove> +40007ac4: 00842783 lw a5,8(s0) +40007ac8: 00042603 lw a2,0(s0) +40007acc: 413789b3 sub s3,a5,s3 +40007ad0: 01960633 add a2,a2,s9 +40007ad4: 01342423 sw s3,8(s0) +40007ad8: 00c42023 sw a2,0(s0) +40007adc: 008a2783 lw a5,8(s4) +40007ae0: 015c0c33 add s8,s8,s5 +40007ae4: 41590933 sub s2,s2,s5 +40007ae8: 415789b3 sub s3,a5,s5 +40007aec: 013a2423 sw s3,8(s4) +40007af0: f20980e3 beqz s3,40007a10 <__sfvwrite_r+0xbc> +40007af4: 00c45703 lhu a4,12(s0) +40007af8: f8091ee3 bnez s2,40007a94 <__sfvwrite_r+0x140> +40007afc: 0004ac03 lw s8,0(s1) +40007b00: 0044a903 lw s2,4(s1) +40007b04: 00848493 addi s1,s1,8 +40007b08: f89ff06f j 40007a90 <__sfvwrite_r+0x13c> +40007b0c: 0004a983 lw s3,0(s1) +40007b10: 0044a903 lw s2,4(s1) +40007b14: 00848493 addi s1,s1,8 +40007b18: eb9ff06f j 400079d0 <__sfvwrite_r+0x7c> +40007b1c: 00000793 li a5,0 +40007b20: 00078513 mv a0,a5 +40007b24: 00008067 ret +40007b28: 00040593 mv a1,s0 +40007b2c: 000b0513 mv a0,s6 +40007b30: e0dfb0ef jal ra,4000393c <_fflush_r> +40007b34: 08050863 beqz a0,40007bc4 <__sfvwrite_r+0x270> +40007b38: 00c41783 lh a5,12(s0) +40007b3c: 0407e793 ori a5,a5,64 +40007b40: 00f41623 sh a5,12(s0) +40007b44: fff00793 li a5,-1 +40007b48: ecdff06f j 40007a14 <__sfvwrite_r+0xc0> +40007b4c: 00000913 li s2,0 +40007b50: 00000993 li s3,0 +40007b54: 00000513 li a0,0 +40007b58: 00000d13 li s10,0 +40007b5c: 00a00c93 li s9,10 +40007b60: 00100c13 li s8,1 +40007b64: 06090e63 beqz s2,40007be0 <__sfvwrite_r+0x28c> +40007b68: 08050463 beqz a0,40007bf0 <__sfvwrite_r+0x29c> +40007b6c: 00098b93 mv s7,s3 +40007b70: 01397463 bleu s3,s2,40007b78 <__sfvwrite_r+0x224> +40007b74: 00090b93 mv s7,s2 +40007b78: 00042503 lw a0,0(s0) +40007b7c: 01042783 lw a5,16(s0) +40007b80: 000b8a93 mv s5,s7 +40007b84: 01442683 lw a3,20(s0) +40007b88: 00a7f863 bleu a0,a5,40007b98 <__sfvwrite_r+0x244> +40007b8c: 00842d83 lw s11,8(s0) +40007b90: 01b68db3 add s11,a3,s11 +40007b94: 077dce63 blt s11,s7,40007c10 <__sfvwrite_r+0x2bc> +40007b98: 14dbc063 blt s7,a3,40007cd8 <__sfvwrite_r+0x384> +40007b9c: 02442783 lw a5,36(s0) +40007ba0: 01c42583 lw a1,28(s0) +40007ba4: 000d0613 mv a2,s10 +40007ba8: 000b0513 mv a0,s6 +40007bac: 000780e7 jalr a5 +40007bb0: 00050a93 mv s5,a0 +40007bb4: f8a052e3 blez a0,40007b38 <__sfvwrite_r+0x1e4> +40007bb8: 415989b3 sub s3,s3,s5 +40007bbc: 000c0513 mv a0,s8 +40007bc0: f60984e3 beqz s3,40007b28 <__sfvwrite_r+0x1d4> +40007bc4: 008a2783 lw a5,8(s4) +40007bc8: 015d0d33 add s10,s10,s5 +40007bcc: 41590933 sub s2,s2,s5 +40007bd0: 41578ab3 sub s5,a5,s5 +40007bd4: 015a2423 sw s5,8(s4) +40007bd8: e20a8ce3 beqz s5,40007a10 <__sfvwrite_r+0xbc> +40007bdc: f80916e3 bnez s2,40007b68 <__sfvwrite_r+0x214> +40007be0: 0044a903 lw s2,4(s1) +40007be4: 0004ad03 lw s10,0(s1) +40007be8: 00848493 addi s1,s1,8 +40007bec: fe090ae3 beqz s2,40007be0 <__sfvwrite_r+0x28c> +40007bf0: 00090613 mv a2,s2 +40007bf4: 000c8593 mv a1,s9 +40007bf8: 000d0513 mv a0,s10 +40007bfc: 8e8fd0ef jal ra,40004ce4 <memchr> +40007c00: 1e050063 beqz a0,40007de0 <__sfvwrite_r+0x48c> +40007c04: 00150513 addi a0,a0,1 +40007c08: 41a509b3 sub s3,a0,s10 +40007c0c: f61ff06f j 40007b6c <__sfvwrite_r+0x218> +40007c10: 000d0593 mv a1,s10 +40007c14: 000d8613 mv a2,s11 +40007c18: 2ac000ef jal ra,40007ec4 <memmove> +40007c1c: 00042783 lw a5,0(s0) +40007c20: 00040593 mv a1,s0 +40007c24: 000b0513 mv a0,s6 +40007c28: 01b787b3 add a5,a5,s11 +40007c2c: 00f42023 sw a5,0(s0) +40007c30: d0dfb0ef jal ra,4000393c <_fflush_r> +40007c34: f00512e3 bnez a0,40007b38 <__sfvwrite_r+0x1e4> +40007c38: 000d8a93 mv s5,s11 +40007c3c: f7dff06f j 40007bb8 <__sfvwrite_r+0x264> +40007c40: 00042503 lw a0,0(s0) +40007c44: 01042783 lw a5,16(s0) +40007c48: 00a7e663 bltu a5,a0,40007c54 <__sfvwrite_r+0x300> +40007c4c: 01442783 lw a5,20(s0) +40007c50: 04f97a63 bleu a5,s2,40007ca4 <__sfvwrite_r+0x350> +40007c54: 01397463 bleu s3,s2,40007c5c <__sfvwrite_r+0x308> +40007c58: 00090993 mv s3,s2 +40007c5c: 00098613 mv a2,s3 +40007c60: 000c0593 mv a1,s8 +40007c64: 260000ef jal ra,40007ec4 <memmove> +40007c68: 00842783 lw a5,8(s0) +40007c6c: 00042703 lw a4,0(s0) +40007c70: 413787b3 sub a5,a5,s3 +40007c74: 01370733 add a4,a4,s3 +40007c78: 00f42423 sw a5,8(s0) +40007c7c: 00e42023 sw a4,0(s0) +40007c80: 00078663 beqz a5,40007c8c <__sfvwrite_r+0x338> +40007c84: 00098a93 mv s5,s3 +40007c88: e55ff06f j 40007adc <__sfvwrite_r+0x188> +40007c8c: 00040593 mv a1,s0 +40007c90: 000b0513 mv a0,s6 +40007c94: ca9fb0ef jal ra,4000393c <_fflush_r> +40007c98: ea0510e3 bnez a0,40007b38 <__sfvwrite_r+0x1e4> +40007c9c: 00098a93 mv s5,s3 +40007ca0: e3dff06f j 40007adc <__sfvwrite_r+0x188> +40007ca4: 00090693 mv a3,s2 +40007ca8: 012bf463 bleu s2,s7,40007cb0 <__sfvwrite_r+0x35c> +40007cac: 000b8693 mv a3,s7 +40007cb0: 02f6c6b3 div a3,a3,a5 +40007cb4: 02442703 lw a4,36(s0) +40007cb8: 01c42583 lw a1,28(s0) +40007cbc: 000c0613 mv a2,s8 +40007cc0: 000b0513 mv a0,s6 +40007cc4: 02f686b3 mul a3,a3,a5 +40007cc8: 000700e7 jalr a4 +40007ccc: e6a056e3 blez a0,40007b38 <__sfvwrite_r+0x1e4> +40007cd0: 00050a93 mv s5,a0 +40007cd4: e09ff06f j 40007adc <__sfvwrite_r+0x188> +40007cd8: 000b8613 mv a2,s7 +40007cdc: 000d0593 mv a1,s10 +40007ce0: 1e4000ef jal ra,40007ec4 <memmove> +40007ce4: 00842703 lw a4,8(s0) +40007ce8: 00042783 lw a5,0(s0) +40007cec: 41770733 sub a4,a4,s7 +40007cf0: 01778bb3 add s7,a5,s7 +40007cf4: 00e42423 sw a4,8(s0) +40007cf8: 01742023 sw s7,0(s0) +40007cfc: ebdff06f j 40007bb8 <__sfvwrite_r+0x264> +40007d00: 00042503 lw a0,0(s0) +40007d04: 00090993 mv s3,s2 +40007d08: 00090a93 mv s5,s2 +40007d0c: 00090c93 mv s9,s2 +40007d10: da9ff06f j 40007ab8 <__sfvwrite_r+0x164> +40007d14: 01442783 lw a5,20(s0) +40007d18: 01042583 lw a1,16(s0) +40007d1c: 00042a83 lw s5,0(s0) +40007d20: 00179993 slli s3,a5,0x1 +40007d24: 00f987b3 add a5,s3,a5 +40007d28: 01f7d993 srli s3,a5,0x1f +40007d2c: 40ba8ab3 sub s5,s5,a1 +40007d30: 00f989b3 add s3,s3,a5 +40007d34: 001a8793 addi a5,s5,1 # 80000001 <_bss_end+0x3fff3979> +40007d38: 4019d993 srai s3,s3,0x1 +40007d3c: 012787b3 add a5,a5,s2 +40007d40: 00098613 mv a2,s3 +40007d44: 00f9f663 bleu a5,s3,40007d50 <__sfvwrite_r+0x3fc> +40007d48: 00078993 mv s3,a5 +40007d4c: 00078613 mv a2,a5 +40007d50: 40077713 andi a4,a4,1024 +40007d54: 04070e63 beqz a4,40007db0 <__sfvwrite_r+0x45c> +40007d58: 00060593 mv a1,a2 +40007d5c: 000b0513 mv a0,s6 +40007d60: 839fc0ef jal ra,40004598 <_malloc_r> +40007d64: 00050c93 mv s9,a0 +40007d68: 08050063 beqz a0,40007de8 <__sfvwrite_r+0x494> +40007d6c: 01042583 lw a1,16(s0) +40007d70: 000a8613 mv a2,s5 +40007d74: 84cfd0ef jal ra,40004dc0 <memcpy> +40007d78: 00c45783 lhu a5,12(s0) +40007d7c: b7f7f793 andi a5,a5,-1153 +40007d80: 0807e793 ori a5,a5,128 +40007d84: 00f41623 sh a5,12(s0) +40007d88: 015c8533 add a0,s9,s5 +40007d8c: 41598ab3 sub s5,s3,s5 +40007d90: 01942823 sw s9,16(s0) +40007d94: 01342a23 sw s3,20(s0) +40007d98: 01542423 sw s5,8(s0) +40007d9c: 00a42023 sw a0,0(s0) +40007da0: 00090993 mv s3,s2 +40007da4: 00090a93 mv s5,s2 +40007da8: 00090c93 mv s9,s2 +40007dac: d0dff06f j 40007ab8 <__sfvwrite_r+0x164> +40007db0: 000b0513 mv a0,s6 +40007db4: 298000ef jal ra,4000804c <_realloc_r> +40007db8: 00050c93 mv s9,a0 +40007dbc: fc0516e3 bnez a0,40007d88 <__sfvwrite_r+0x434> +40007dc0: 01042583 lw a1,16(s0) +40007dc4: 000b0513 mv a0,s6 +40007dc8: 8bcfc0ef jal ra,40003e84 <_free_r> +40007dcc: 00c41783 lh a5,12(s0) +40007dd0: 00c00713 li a4,12 +40007dd4: 00eb2023 sw a4,0(s6) +40007dd8: f7f7f793 andi a5,a5,-129 +40007ddc: d61ff06f j 40007b3c <__sfvwrite_r+0x1e8> +40007de0: 00190993 addi s3,s2,1 +40007de4: d89ff06f j 40007b6c <__sfvwrite_r+0x218> +40007de8: 00c00793 li a5,12 +40007dec: 00fb2023 sw a5,0(s6) +40007df0: 00c41783 lh a5,12(s0) +40007df4: d49ff06f j 40007b3c <__sfvwrite_r+0x1e8> + +40007df8 <_isatty_r>: +40007df8: ff010113 addi sp,sp,-16 +40007dfc: 00812423 sw s0,8(sp) +40007e00: 00912223 sw s1,4(sp) +40007e04: 4000c437 lui s0,0x4000c +40007e08: 00050493 mv s1,a0 +40007e0c: 00058513 mv a0,a1 +40007e10: 00112623 sw ra,12(sp) +40007e14: 68042223 sw zero,1668(s0) # 4000c684 <errno> +40007e18: 9f0f80ef jal ra,40000008 <isatty> +40007e1c: fff00793 li a5,-1 +40007e20: 00f50c63 beq a0,a5,40007e38 <_isatty_r+0x40> +40007e24: 00c12083 lw ra,12(sp) +40007e28: 00812403 lw s0,8(sp) +40007e2c: 00412483 lw s1,4(sp) +40007e30: 01010113 addi sp,sp,16 +40007e34: 00008067 ret +40007e38: 68442783 lw a5,1668(s0) +40007e3c: fe0784e3 beqz a5,40007e24 <_isatty_r+0x2c> +40007e40: 00c12083 lw ra,12(sp) +40007e44: 00f4a023 sw a5,0(s1) +40007e48: 00812403 lw s0,8(sp) +40007e4c: 00412483 lw s1,4(sp) +40007e50: 01010113 addi sp,sp,16 +40007e54: 00008067 ret + +40007e58 <_lseek_r>: +40007e58: ff010113 addi sp,sp,-16 +40007e5c: 00058793 mv a5,a1 +40007e60: 00812423 sw s0,8(sp) +40007e64: 00912223 sw s1,4(sp) +40007e68: 00060593 mv a1,a2 +40007e6c: 00050493 mv s1,a0 +40007e70: 4000c437 lui s0,0x4000c +40007e74: 00078513 mv a0,a5 +40007e78: 00068613 mv a2,a3 +40007e7c: 00112623 sw ra,12(sp) +40007e80: 68042223 sw zero,1668(s0) # 4000c684 <errno> +40007e84: 994f80ef jal ra,40000018 <lseek> +40007e88: fff00793 li a5,-1 +40007e8c: 00f50c63 beq a0,a5,40007ea4 <_lseek_r+0x4c> +40007e90: 00c12083 lw ra,12(sp) +40007e94: 00812403 lw s0,8(sp) +40007e98: 00412483 lw s1,4(sp) +40007e9c: 01010113 addi sp,sp,16 +40007ea0: 00008067 ret +40007ea4: 68442783 lw a5,1668(s0) +40007ea8: fe0784e3 beqz a5,40007e90 <_lseek_r+0x38> +40007eac: 00c12083 lw ra,12(sp) +40007eb0: 00f4a023 sw a5,0(s1) +40007eb4: 00812403 lw s0,8(sp) +40007eb8: 00412483 lw s1,4(sp) +40007ebc: 01010113 addi sp,sp,16 +40007ec0: 00008067 ret + +40007ec4 <memmove>: +40007ec4: 02a5f663 bleu a0,a1,40007ef0 <memmove+0x2c> +40007ec8: 00c587b3 add a5,a1,a2 +40007ecc: 02f57263 bleu a5,a0,40007ef0 <memmove+0x2c> +40007ed0: 00c50733 add a4,a0,a2 +40007ed4: 04060263 beqz a2,40007f18 <memmove+0x54> +40007ed8: fff78793 addi a5,a5,-1 +40007edc: 0007c683 lbu a3,0(a5) +40007ee0: fff70713 addi a4,a4,-1 +40007ee4: 00d70023 sb a3,0(a4) +40007ee8: fef598e3 bne a1,a5,40007ed8 <memmove+0x14> +40007eec: 00008067 ret +40007ef0: 00f00893 li a7,15 +40007ef4: 00050793 mv a5,a0 +40007ef8: 02c8e263 bltu a7,a2,40007f1c <memmove+0x58> +40007efc: 0c060a63 beqz a2,40007fd0 <memmove+0x10c> +40007f00: 00c58633 add a2,a1,a2 +40007f04: 00158593 addi a1,a1,1 +40007f08: fff5c703 lbu a4,-1(a1) +40007f0c: 00178793 addi a5,a5,1 +40007f10: fee78fa3 sb a4,-1(a5) +40007f14: feb618e3 bne a2,a1,40007f04 <memmove+0x40> +40007f18: 00008067 ret +40007f1c: 00a5e7b3 or a5,a1,a0 +40007f20: 0037f793 andi a5,a5,3 +40007f24: 0a079263 bnez a5,40007fc8 <memmove+0x104> +40007f28: 00058713 mv a4,a1 +40007f2c: 00050793 mv a5,a0 +40007f30: 00060693 mv a3,a2 +40007f34: 00072803 lw a6,0(a4) +40007f38: 01078793 addi a5,a5,16 +40007f3c: 01070713 addi a4,a4,16 +40007f40: ff07a823 sw a6,-16(a5) +40007f44: ff472803 lw a6,-12(a4) +40007f48: ff068693 addi a3,a3,-16 # 1ff0 <_stack_size+0x17f0> +40007f4c: ff07aa23 sw a6,-12(a5) +40007f50: ff872803 lw a6,-8(a4) +40007f54: ff07ac23 sw a6,-8(a5) +40007f58: ffc72803 lw a6,-4(a4) +40007f5c: ff07ae23 sw a6,-4(a5) +40007f60: fcd8eae3 bltu a7,a3,40007f34 <memmove+0x70> +40007f64: ff060713 addi a4,a2,-16 +40007f68: ff077713 andi a4,a4,-16 +40007f6c: 01070713 addi a4,a4,16 +40007f70: 00f67e13 andi t3,a2,15 +40007f74: 00300313 li t1,3 +40007f78: 00e507b3 add a5,a0,a4 +40007f7c: 00e585b3 add a1,a1,a4 +40007f80: 05c37a63 bleu t3,t1,40007fd4 <memmove+0x110> +40007f84: 00058813 mv a6,a1 +40007f88: 00078693 mv a3,a5 +40007f8c: 000e0713 mv a4,t3 +40007f90: 00480813 addi a6,a6,4 +40007f94: ffc82883 lw a7,-4(a6) +40007f98: 00468693 addi a3,a3,4 +40007f9c: ffc70713 addi a4,a4,-4 +40007fa0: ff16ae23 sw a7,-4(a3) +40007fa4: fee366e3 bltu t1,a4,40007f90 <memmove+0xcc> +40007fa8: ffce0713 addi a4,t3,-4 +40007fac: ffc77713 andi a4,a4,-4 +40007fb0: 00470713 addi a4,a4,4 +40007fb4: 00367613 andi a2,a2,3 +40007fb8: 00e585b3 add a1,a1,a4 +40007fbc: 00e787b3 add a5,a5,a4 +40007fc0: f40610e3 bnez a2,40007f00 <memmove+0x3c> +40007fc4: 00c0006f j 40007fd0 <memmove+0x10c> +40007fc8: 00050793 mv a5,a0 +40007fcc: f35ff06f j 40007f00 <memmove+0x3c> +40007fd0: 00008067 ret +40007fd4: 000e0613 mv a2,t3 +40007fd8: f20614e3 bnez a2,40007f00 <memmove+0x3c> +40007fdc: ff5ff06f j 40007fd0 <memmove+0x10c> + +40007fe0 <_read_r>: +40007fe0: ff010113 addi sp,sp,-16 +40007fe4: 00058793 mv a5,a1 +40007fe8: 00812423 sw s0,8(sp) +40007fec: 00912223 sw s1,4(sp) +40007ff0: 00060593 mv a1,a2 +40007ff4: 00050493 mv s1,a0 +40007ff8: 4000c437 lui s0,0x4000c +40007ffc: 00078513 mv a0,a5 +40008000: 00068613 mv a2,a3 +40008004: 00112623 sw ra,12(sp) +40008008: 68042223 sw zero,1668(s0) # 4000c684 <errno> +4000800c: 814f80ef jal ra,40000020 <read> +40008010: fff00793 li a5,-1 +40008014: 00f50c63 beq a0,a5,4000802c <_read_r+0x4c> +40008018: 00c12083 lw ra,12(sp) +4000801c: 00812403 lw s0,8(sp) +40008020: 00412483 lw s1,4(sp) +40008024: 01010113 addi sp,sp,16 +40008028: 00008067 ret +4000802c: 68442783 lw a5,1668(s0) +40008030: fe0784e3 beqz a5,40008018 <_read_r+0x38> +40008034: 00c12083 lw ra,12(sp) +40008038: 00f4a023 sw a5,0(s1) +4000803c: 00812403 lw s0,8(sp) +40008040: 00412483 lw s1,4(sp) +40008044: 01010113 addi sp,sp,16 +40008048: 00008067 ret + +4000804c <_realloc_r>: +4000804c: 1e058c63 beqz a1,40008244 <_realloc_r+0x1f8> +40008050: fd010113 addi sp,sp,-48 +40008054: 02812423 sw s0,40(sp) +40008058: 02912223 sw s1,36(sp) +4000805c: 00058413 mv s0,a1 +40008060: 03212023 sw s2,32(sp) +40008064: 01312e23 sw s3,28(sp) +40008068: 01412c23 sw s4,24(sp) +4000806c: 01512a23 sw s5,20(sp) +40008070: 00060493 mv s1,a2 +40008074: 02112623 sw ra,44(sp) +40008078: 01612823 sw s6,16(sp) +4000807c: 01712623 sw s7,12(sp) +40008080: 01812423 sw s8,8(sp) +40008084: 00050a13 mv s4,a0 +40008088: f31fc0ef jal ra,40004fb8 <__malloc_lock> +4000808c: ffc42783 lw a5,-4(s0) +40008090: 00b48993 addi s3,s1,11 +40008094: 01600713 li a4,22 +40008098: ff840a93 addi s5,s0,-8 +4000809c: ffc7f913 andi s2,a5,-4 +400080a0: 0b377c63 bleu s3,a4,40008158 <_realloc_r+0x10c> +400080a4: ff89f993 andi s3,s3,-8 +400080a8: 00098713 mv a4,s3 +400080ac: 1409c663 bltz s3,400081f8 <_realloc_r+0x1ac> +400080b0: 1499e463 bltu s3,s1,400081f8 <_realloc_r+0x1ac> +400080b4: 0ae95863 ble a4,s2,40008164 <_realloc_r+0x118> +400080b8: 4000cb37 lui s6,0x4000c +400080bc: 220b0b13 addi s6,s6,544 # 4000c220 <__malloc_av_> +400080c0: 008b2603 lw a2,8(s6) +400080c4: 012a86b3 add a3,s5,s2 +400080c8: 2cc68263 beq a3,a2,4000838c <_realloc_r+0x340> +400080cc: 0046a603 lw a2,4(a3) +400080d0: ffe67593 andi a1,a2,-2 +400080d4: 00b685b3 add a1,a3,a1 +400080d8: 0045a583 lw a1,4(a1) +400080dc: 0015f593 andi a1,a1,1 +400080e0: 0e058863 beqz a1,400081d0 <_realloc_r+0x184> +400080e4: 0017f793 andi a5,a5,1 +400080e8: 20078663 beqz a5,400082f4 <_realloc_r+0x2a8> +400080ec: 00048593 mv a1,s1 +400080f0: 000a0513 mv a0,s4 +400080f4: ca4fc0ef jal ra,40004598 <_malloc_r> +400080f8: 00050493 mv s1,a0 +400080fc: 08050c63 beqz a0,40008194 <_realloc_r+0x148> +40008100: ffc42783 lw a5,-4(s0) +40008104: ff850713 addi a4,a0,-8 +40008108: ffe7f793 andi a5,a5,-2 +4000810c: 00fa87b3 add a5,s5,a5 +40008110: 3ef70463 beq a4,a5,400084f8 <_realloc_r+0x4ac> +40008114: ffc90613 addi a2,s2,-4 +40008118: 02400793 li a5,36 +4000811c: 38c7ec63 bltu a5,a2,400084b4 <_realloc_r+0x468> +40008120: 01300713 li a4,19 +40008124: 32c76663 bltu a4,a2,40008450 <_realloc_r+0x404> +40008128: 00050793 mv a5,a0 +4000812c: 00040713 mv a4,s0 +40008130: 00072683 lw a3,0(a4) +40008134: 00d7a023 sw a3,0(a5) +40008138: 00472683 lw a3,4(a4) +4000813c: 00d7a223 sw a3,4(a5) +40008140: 00872703 lw a4,8(a4) +40008144: 00e7a423 sw a4,8(a5) +40008148: 00040593 mv a1,s0 +4000814c: 000a0513 mv a0,s4 +40008150: d35fb0ef jal ra,40003e84 <_free_r> +40008154: 0400006f j 40008194 <_realloc_r+0x148> +40008158: 01000713 li a4,16 +4000815c: 00070993 mv s3,a4 +40008160: f51ff06f j 400080b0 <_realloc_r+0x64> +40008164: 00040493 mv s1,s0 +40008168: 413907b3 sub a5,s2,s3 +4000816c: 00f00713 li a4,15 +40008170: 08f76c63 bltu a4,a5,40008208 <_realloc_r+0x1bc> +40008174: 004aa603 lw a2,4(s5) +40008178: 012a8733 add a4,s5,s2 +4000817c: 00167613 andi a2,a2,1 +40008180: 01266933 or s2,a2,s2 +40008184: 012aa223 sw s2,4(s5) +40008188: 00472783 lw a5,4(a4) +4000818c: 0017e793 ori a5,a5,1 +40008190: 00f72223 sw a5,4(a4) +40008194: 000a0513 mv a0,s4 +40008198: e25fc0ef jal ra,40004fbc <__malloc_unlock> +4000819c: 02c12083 lw ra,44(sp) +400081a0: 00048513 mv a0,s1 +400081a4: 02812403 lw s0,40(sp) +400081a8: 02412483 lw s1,36(sp) +400081ac: 02012903 lw s2,32(sp) +400081b0: 01c12983 lw s3,28(sp) +400081b4: 01812a03 lw s4,24(sp) +400081b8: 01412a83 lw s5,20(sp) +400081bc: 01012b03 lw s6,16(sp) +400081c0: 00c12b83 lw s7,12(sp) +400081c4: 00812c03 lw s8,8(sp) +400081c8: 03010113 addi sp,sp,48 +400081cc: 00008067 ret +400081d0: ffc67613 andi a2,a2,-4 +400081d4: 00c905b3 add a1,s2,a2 +400081d8: 06e5ca63 blt a1,a4,4000824c <_realloc_r+0x200> +400081dc: 00c6a783 lw a5,12(a3) +400081e0: 0086a703 lw a4,8(a3) +400081e4: 00040493 mv s1,s0 +400081e8: 00058913 mv s2,a1 +400081ec: 00f72623 sw a5,12(a4) +400081f0: 00e7a423 sw a4,8(a5) +400081f4: f75ff06f j 40008168 <_realloc_r+0x11c> +400081f8: 00c00793 li a5,12 +400081fc: 00fa2023 sw a5,0(s4) +40008200: 00000493 li s1,0 +40008204: f99ff06f j 4000819c <_realloc_r+0x150> +40008208: 004aa703 lw a4,4(s5) +4000820c: 013a85b3 add a1,s5,s3 +40008210: 0017e793 ori a5,a5,1 +40008214: 00177713 andi a4,a4,1 +40008218: 013769b3 or s3,a4,s3 +4000821c: 013aa223 sw s3,4(s5) +40008220: 00f5a223 sw a5,4(a1) +40008224: 012a8933 add s2,s5,s2 +40008228: 00492783 lw a5,4(s2) +4000822c: 00858593 addi a1,a1,8 +40008230: 000a0513 mv a0,s4 +40008234: 0017e793 ori a5,a5,1 +40008238: 00f92223 sw a5,4(s2) +4000823c: c49fb0ef jal ra,40003e84 <_free_r> +40008240: f55ff06f j 40008194 <_realloc_r+0x148> +40008244: 00060593 mv a1,a2 +40008248: b50fc06f j 40004598 <_malloc_r> +4000824c: 0017f793 andi a5,a5,1 +40008250: e8079ee3 bnez a5,400080ec <_realloc_r+0xa0> +40008254: ff842b83 lw s7,-8(s0) +40008258: 417a8bb3 sub s7,s5,s7 +4000825c: 004ba783 lw a5,4(s7) # 80000004 <_bss_end+0x3fff397c> +40008260: ffc7f793 andi a5,a5,-4 +40008264: 00f60633 add a2,a2,a5 +40008268: 01260b33 add s6,a2,s2 +4000826c: 08eb4c63 blt s6,a4,40008304 <_realloc_r+0x2b8> +40008270: 00c6a783 lw a5,12(a3) +40008274: 0086a703 lw a4,8(a3) +40008278: ffc90613 addi a2,s2,-4 +4000827c: 02400693 li a3,36 +40008280: 00f72623 sw a5,12(a4) +40008284: 00e7a423 sw a4,8(a5) +40008288: 008ba703 lw a4,8(s7) +4000828c: 00cba783 lw a5,12(s7) +40008290: 008b8493 addi s1,s7,8 +40008294: 00f72623 sw a5,12(a4) +40008298: 00e7a423 sw a4,8(a5) +4000829c: 22c6e263 bltu a3,a2,400084c0 <_realloc_r+0x474> +400082a0: 01300793 li a5,19 +400082a4: 1cc7f863 bleu a2,a5,40008474 <_realloc_r+0x428> +400082a8: 00042703 lw a4,0(s0) +400082ac: 01b00793 li a5,27 +400082b0: 00eba423 sw a4,8(s7) +400082b4: 00442703 lw a4,4(s0) +400082b8: 00eba623 sw a4,12(s7) +400082bc: 24c7f863 bleu a2,a5,4000850c <_realloc_r+0x4c0> +400082c0: 00842703 lw a4,8(s0) +400082c4: 02400793 li a5,36 +400082c8: 00eba823 sw a4,16(s7) +400082cc: 00c42703 lw a4,12(s0) +400082d0: 00ebaa23 sw a4,20(s7) +400082d4: 08f61663 bne a2,a5,40008360 <_realloc_r+0x314> +400082d8: 01042683 lw a3,16(s0) +400082dc: 020b8793 addi a5,s7,32 +400082e0: 01840713 addi a4,s0,24 +400082e4: 00dbac23 sw a3,24(s7) +400082e8: 01442683 lw a3,20(s0) +400082ec: 00dbae23 sw a3,28(s7) +400082f0: 0780006f j 40008368 <_realloc_r+0x31c> +400082f4: ff842b83 lw s7,-8(s0) +400082f8: 417a8bb3 sub s7,s5,s7 +400082fc: 004ba783 lw a5,4(s7) +40008300: ffc7f793 andi a5,a5,-4 +40008304: 00f90b33 add s6,s2,a5 +40008308: deeb42e3 blt s6,a4,400080ec <_realloc_r+0xa0> +4000830c: 00cba783 lw a5,12(s7) +40008310: 008ba703 lw a4,8(s7) +40008314: ffc90613 addi a2,s2,-4 +40008318: 02400693 li a3,36 +4000831c: 00f72623 sw a5,12(a4) +40008320: 00e7a423 sw a4,8(a5) +40008324: 008b8493 addi s1,s7,8 +40008328: 18c6ec63 bltu a3,a2,400084c0 <_realloc_r+0x474> +4000832c: 01300793 li a5,19 +40008330: 14c7f263 bleu a2,a5,40008474 <_realloc_r+0x428> +40008334: 00042703 lw a4,0(s0) +40008338: 01b00793 li a5,27 +4000833c: 00eba423 sw a4,8(s7) +40008340: 00442703 lw a4,4(s0) +40008344: 00eba623 sw a4,12(s7) +40008348: 1cc7f263 bleu a2,a5,4000850c <_realloc_r+0x4c0> +4000834c: 00842783 lw a5,8(s0) +40008350: 00fba823 sw a5,16(s7) +40008354: 00c42783 lw a5,12(s0) +40008358: 00fbaa23 sw a5,20(s7) +4000835c: f6d60ee3 beq a2,a3,400082d8 <_realloc_r+0x28c> +40008360: 018b8793 addi a5,s7,24 +40008364: 01040713 addi a4,s0,16 +40008368: 00072683 lw a3,0(a4) +4000836c: 000b0913 mv s2,s6 +40008370: 000b8a93 mv s5,s7 +40008374: 00d7a023 sw a3,0(a5) +40008378: 00472683 lw a3,4(a4) +4000837c: 00d7a223 sw a3,4(a5) +40008380: 00872703 lw a4,8(a4) +40008384: 00e7a423 sw a4,8(a5) +40008388: de1ff06f j 40008168 <_realloc_r+0x11c> +4000838c: 0046a683 lw a3,4(a3) +40008390: 01098613 addi a2,s3,16 +40008394: ffc6f693 andi a3,a3,-4 +40008398: 012686b3 add a3,a3,s2 +4000839c: 0ec6d263 ble a2,a3,40008480 <_realloc_r+0x434> +400083a0: 0017f793 andi a5,a5,1 +400083a4: d40794e3 bnez a5,400080ec <_realloc_r+0xa0> +400083a8: ff842b83 lw s7,-8(s0) +400083ac: 417a8bb3 sub s7,s5,s7 +400083b0: 004ba783 lw a5,4(s7) +400083b4: ffc7f793 andi a5,a5,-4 +400083b8: 00d78c33 add s8,a5,a3 +400083bc: f4cc44e3 blt s8,a2,40008304 <_realloc_r+0x2b8> +400083c0: 00cba783 lw a5,12(s7) +400083c4: 008ba703 lw a4,8(s7) +400083c8: ffc90613 addi a2,s2,-4 +400083cc: 02400693 li a3,36 +400083d0: 00f72623 sw a5,12(a4) +400083d4: 00e7a423 sw a4,8(a5) +400083d8: 008b8493 addi s1,s7,8 +400083dc: 16c6e263 bltu a3,a2,40008540 <_realloc_r+0x4f4> +400083e0: 01300793 li a5,19 +400083e4: 14c7f863 bleu a2,a5,40008534 <_realloc_r+0x4e8> +400083e8: 00042703 lw a4,0(s0) +400083ec: 01b00793 li a5,27 +400083f0: 00eba423 sw a4,8(s7) +400083f4: 00442703 lw a4,4(s0) +400083f8: 00eba623 sw a4,12(s7) +400083fc: 14c7ea63 bltu a5,a2,40008550 <_realloc_r+0x504> +40008400: 010b8793 addi a5,s7,16 +40008404: 00840713 addi a4,s0,8 +40008408: 00072683 lw a3,0(a4) +4000840c: 00d7a023 sw a3,0(a5) +40008410: 00472683 lw a3,4(a4) +40008414: 00d7a223 sw a3,4(a5) +40008418: 00872703 lw a4,8(a4) +4000841c: 00e7a423 sw a4,8(a5) +40008420: 013b8733 add a4,s7,s3 +40008424: 413c07b3 sub a5,s8,s3 +40008428: 00eb2423 sw a4,8(s6) +4000842c: 0017e793 ori a5,a5,1 +40008430: 00f72223 sw a5,4(a4) +40008434: 004ba783 lw a5,4(s7) +40008438: 000a0513 mv a0,s4 +4000843c: 0017f793 andi a5,a5,1 +40008440: 0137e9b3 or s3,a5,s3 +40008444: 013ba223 sw s3,4(s7) +40008448: b75fc0ef jal ra,40004fbc <__malloc_unlock> +4000844c: d51ff06f j 4000819c <_realloc_r+0x150> +40008450: 00042683 lw a3,0(s0) +40008454: 01b00713 li a4,27 +40008458: 00d52023 sw a3,0(a0) +4000845c: 00442683 lw a3,4(s0) +40008460: 00d52223 sw a3,4(a0) +40008464: 06c76a63 bltu a4,a2,400084d8 <_realloc_r+0x48c> +40008468: 00850793 addi a5,a0,8 +4000846c: 00840713 addi a4,s0,8 +40008470: cc1ff06f j 40008130 <_realloc_r+0xe4> +40008474: 00048793 mv a5,s1 +40008478: 00040713 mv a4,s0 +4000847c: eedff06f j 40008368 <_realloc_r+0x31c> +40008480: 013a8ab3 add s5,s5,s3 +40008484: 413687b3 sub a5,a3,s3 +40008488: 015b2423 sw s5,8(s6) +4000848c: 0017e793 ori a5,a5,1 +40008490: 00faa223 sw a5,4(s5) +40008494: ffc42783 lw a5,-4(s0) +40008498: 000a0513 mv a0,s4 +4000849c: 00040493 mv s1,s0 +400084a0: 0017f793 andi a5,a5,1 +400084a4: 0137e9b3 or s3,a5,s3 +400084a8: ff342e23 sw s3,-4(s0) +400084ac: b11fc0ef jal ra,40004fbc <__malloc_unlock> +400084b0: cedff06f j 4000819c <_realloc_r+0x150> +400084b4: 00040593 mv a1,s0 +400084b8: a0dff0ef jal ra,40007ec4 <memmove> +400084bc: c8dff06f j 40008148 <_realloc_r+0xfc> +400084c0: 00040593 mv a1,s0 +400084c4: 00048513 mv a0,s1 +400084c8: 9fdff0ef jal ra,40007ec4 <memmove> +400084cc: 000b0913 mv s2,s6 +400084d0: 000b8a93 mv s5,s7 +400084d4: c95ff06f j 40008168 <_realloc_r+0x11c> +400084d8: 00842703 lw a4,8(s0) +400084dc: 00e52423 sw a4,8(a0) +400084e0: 00c42703 lw a4,12(s0) +400084e4: 00e52623 sw a4,12(a0) +400084e8: 02f60863 beq a2,a5,40008518 <_realloc_r+0x4cc> +400084ec: 01050793 addi a5,a0,16 +400084f0: 01040713 addi a4,s0,16 +400084f4: c3dff06f j 40008130 <_realloc_r+0xe4> +400084f8: ffc52783 lw a5,-4(a0) +400084fc: 00040493 mv s1,s0 +40008500: ffc7f793 andi a5,a5,-4 +40008504: 00f90933 add s2,s2,a5 +40008508: c61ff06f j 40008168 <_realloc_r+0x11c> +4000850c: 010b8793 addi a5,s7,16 +40008510: 00840713 addi a4,s0,8 +40008514: e55ff06f j 40008368 <_realloc_r+0x31c> +40008518: 01042683 lw a3,16(s0) +4000851c: 01850793 addi a5,a0,24 +40008520: 01840713 addi a4,s0,24 +40008524: 00d52823 sw a3,16(a0) +40008528: 01442683 lw a3,20(s0) +4000852c: 00d52a23 sw a3,20(a0) +40008530: c01ff06f j 40008130 <_realloc_r+0xe4> +40008534: 00048793 mv a5,s1 +40008538: 00040713 mv a4,s0 +4000853c: ecdff06f j 40008408 <_realloc_r+0x3bc> +40008540: 00040593 mv a1,s0 +40008544: 00048513 mv a0,s1 +40008548: 97dff0ef jal ra,40007ec4 <memmove> +4000854c: ed5ff06f j 40008420 <_realloc_r+0x3d4> +40008550: 00842783 lw a5,8(s0) +40008554: 00fba823 sw a5,16(s7) +40008558: 00c42783 lw a5,12(s0) +4000855c: 00fbaa23 sw a5,20(s7) +40008560: 00d60863 beq a2,a3,40008570 <_realloc_r+0x524> +40008564: 018b8793 addi a5,s7,24 +40008568: 01040713 addi a4,s0,16 +4000856c: e9dff06f j 40008408 <_realloc_r+0x3bc> +40008570: 01042683 lw a3,16(s0) +40008574: 020b8793 addi a5,s7,32 +40008578: 01840713 addi a4,s0,24 +4000857c: 00dbac23 sw a3,24(s7) +40008580: 01442683 lw a3,20(s0) +40008584: 00dbae23 sw a3,28(s7) +40008588: e81ff06f j 40008408 <_realloc_r+0x3bc> + +4000858c <cleanup_glue>: +4000858c: ff010113 addi sp,sp,-16 +40008590: 00812423 sw s0,8(sp) +40008594: 00058413 mv s0,a1 +40008598: 0005a583 lw a1,0(a1) +4000859c: 00912223 sw s1,4(sp) +400085a0: 00112623 sw ra,12(sp) +400085a4: 00050493 mv s1,a0 +400085a8: 00058463 beqz a1,400085b0 <cleanup_glue+0x24> +400085ac: fe1ff0ef jal ra,4000858c <cleanup_glue> +400085b0: 00040593 mv a1,s0 +400085b4: 00048513 mv a0,s1 +400085b8: 00c12083 lw ra,12(sp) +400085bc: 00812403 lw s0,8(sp) +400085c0: 00412483 lw s1,4(sp) +400085c4: 01010113 addi sp,sp,16 +400085c8: 8bdfb06f j 40003e84 <_free_r> + +400085cc <_reclaim_reent>: +400085cc: 4000c7b7 lui a5,0x4000c +400085d0: 62c7a783 lw a5,1580(a5) # 4000c62c <_impure_ptr> +400085d4: 0ca78663 beq a5,a0,400086a0 <_reclaim_reent+0xd4> +400085d8: 04c52703 lw a4,76(a0) +400085dc: fe010113 addi sp,sp,-32 +400085e0: 00912a23 sw s1,20(sp) +400085e4: 00112e23 sw ra,28(sp) +400085e8: 00812c23 sw s0,24(sp) +400085ec: 01212823 sw s2,16(sp) +400085f0: 01312623 sw s3,12(sp) +400085f4: 00050493 mv s1,a0 +400085f8: 04070263 beqz a4,4000863c <_reclaim_reent+0x70> +400085fc: 00000913 li s2,0 +40008600: 08000993 li s3,128 +40008604: 012707b3 add a5,a4,s2 +40008608: 0007a583 lw a1,0(a5) +4000860c: 00058e63 beqz a1,40008628 <_reclaim_reent+0x5c> +40008610: 0005a403 lw s0,0(a1) +40008614: 00048513 mv a0,s1 +40008618: 86dfb0ef jal ra,40003e84 <_free_r> +4000861c: 00040593 mv a1,s0 +40008620: fe0418e3 bnez s0,40008610 <_reclaim_reent+0x44> +40008624: 04c4a703 lw a4,76(s1) +40008628: 00490913 addi s2,s2,4 +4000862c: fd391ce3 bne s2,s3,40008604 <_reclaim_reent+0x38> +40008630: 00070593 mv a1,a4 +40008634: 00048513 mv a0,s1 +40008638: 84dfb0ef jal ra,40003e84 <_free_r> +4000863c: 0404a583 lw a1,64(s1) +40008640: 00058663 beqz a1,4000864c <_reclaim_reent+0x80> +40008644: 00048513 mv a0,s1 +40008648: 83dfb0ef jal ra,40003e84 <_free_r> +4000864c: 1484a583 lw a1,328(s1) +40008650: 02058063 beqz a1,40008670 <_reclaim_reent+0xa4> +40008654: 14c48913 addi s2,s1,332 +40008658: 01258c63 beq a1,s2,40008670 <_reclaim_reent+0xa4> +4000865c: 0005a403 lw s0,0(a1) +40008660: 00048513 mv a0,s1 +40008664: 821fb0ef jal ra,40003e84 <_free_r> +40008668: 00040593 mv a1,s0 +4000866c: fe8918e3 bne s2,s0,4000865c <_reclaim_reent+0x90> +40008670: 0544a583 lw a1,84(s1) +40008674: 00058663 beqz a1,40008680 <_reclaim_reent+0xb4> +40008678: 00048513 mv a0,s1 +4000867c: 809fb0ef jal ra,40003e84 <_free_r> +40008680: 0384a783 lw a5,56(s1) +40008684: 02079063 bnez a5,400086a4 <_reclaim_reent+0xd8> +40008688: 01c12083 lw ra,28(sp) +4000868c: 01812403 lw s0,24(sp) +40008690: 01412483 lw s1,20(sp) +40008694: 01012903 lw s2,16(sp) +40008698: 00c12983 lw s3,12(sp) +4000869c: 02010113 addi sp,sp,32 +400086a0: 00008067 ret +400086a4: 03c4a783 lw a5,60(s1) +400086a8: 00048513 mv a0,s1 +400086ac: 000780e7 jalr a5 +400086b0: 2e04a583 lw a1,736(s1) +400086b4: fc058ae3 beqz a1,40008688 <_reclaim_reent+0xbc> +400086b8: 00048513 mv a0,s1 +400086bc: 01c12083 lw ra,28(sp) +400086c0: 01812403 lw s0,24(sp) +400086c4: 01412483 lw s1,20(sp) +400086c8: 01012903 lw s2,16(sp) +400086cc: 00c12983 lw s3,12(sp) +400086d0: 02010113 addi sp,sp,32 +400086d4: eb9ff06f j 4000858c <cleanup_glue> + +400086d8 <__swbuf_r>: +400086d8: fe010113 addi sp,sp,-32 +400086dc: 00812c23 sw s0,24(sp) +400086e0: 00912a23 sw s1,20(sp) +400086e4: 01212823 sw s2,16(sp) +400086e8: 00112e23 sw ra,28(sp) +400086ec: 01312623 sw s3,12(sp) +400086f0: 00050913 mv s2,a0 +400086f4: 00058493 mv s1,a1 +400086f8: 00060413 mv s0,a2 +400086fc: 00050663 beqz a0,40008708 <__swbuf_r+0x30> +40008700: 03852783 lw a5,56(a0) +40008704: 14078263 beqz a5,40008848 <__swbuf_r+0x170> +40008708: 00c41703 lh a4,12(s0) +4000870c: 01842783 lw a5,24(s0) +40008710: 01071693 slli a3,a4,0x10 +40008714: 0106d693 srli a3,a3,0x10 +40008718: 00f42423 sw a5,8(s0) +4000871c: 0086f793 andi a5,a3,8 +40008720: 10078263 beqz a5,40008824 <__swbuf_r+0x14c> +40008724: 01042783 lw a5,16(s0) +40008728: 0e078e63 beqz a5,40008824 <__swbuf_r+0x14c> +4000872c: 01269613 slli a2,a3,0x12 +40008730: 0ff4f993 andi s3,s1,255 +40008734: 0ff4f493 andi s1,s1,255 +40008738: 06065663 bgez a2,400087a4 <__swbuf_r+0xcc> +4000873c: 00042703 lw a4,0(s0) +40008740: 01442683 lw a3,20(s0) +40008744: 40f707b3 sub a5,a4,a5 +40008748: 08d7d663 ble a3,a5,400087d4 <__swbuf_r+0xfc> +4000874c: 00842683 lw a3,8(s0) +40008750: 00170613 addi a2,a4,1 +40008754: 00c42023 sw a2,0(s0) +40008758: fff68693 addi a3,a3,-1 +4000875c: 00d42423 sw a3,8(s0) +40008760: 01370023 sb s3,0(a4) +40008764: 01442703 lw a4,20(s0) +40008768: 00178793 addi a5,a5,1 +4000876c: 0af70063 beq a4,a5,4000880c <__swbuf_r+0x134> +40008770: 00c45783 lhu a5,12(s0) +40008774: 0017f793 andi a5,a5,1 +40008778: 00078663 beqz a5,40008784 <__swbuf_r+0xac> +4000877c: 00a00793 li a5,10 +40008780: 08f48663 beq s1,a5,4000880c <__swbuf_r+0x134> +40008784: 01c12083 lw ra,28(sp) +40008788: 00048513 mv a0,s1 +4000878c: 01812403 lw s0,24(sp) +40008790: 01412483 lw s1,20(sp) +40008794: 01012903 lw s2,16(sp) +40008798: 00c12983 lw s3,12(sp) +4000879c: 02010113 addi sp,sp,32 +400087a0: 00008067 ret +400087a4: 06442683 lw a3,100(s0) +400087a8: 00002637 lui a2,0x2 +400087ac: 00c76733 or a4,a4,a2 +400087b0: ffffe637 lui a2,0xffffe +400087b4: fff60613 addi a2,a2,-1 # ffffdfff <_bss_end+0xbfff1977> +400087b8: 00c6f6b3 and a3,a3,a2 +400087bc: 00e41623 sh a4,12(s0) +400087c0: 00042703 lw a4,0(s0) +400087c4: 06d42223 sw a3,100(s0) +400087c8: 01442683 lw a3,20(s0) +400087cc: 40f707b3 sub a5,a4,a5 +400087d0: f6d7cee3 blt a5,a3,4000874c <__swbuf_r+0x74> +400087d4: 00040593 mv a1,s0 +400087d8: 00090513 mv a0,s2 +400087dc: 960fb0ef jal ra,4000393c <_fflush_r> +400087e0: 02051e63 bnez a0,4000881c <__swbuf_r+0x144> +400087e4: 00042703 lw a4,0(s0) +400087e8: 00842683 lw a3,8(s0) +400087ec: 00100793 li a5,1 +400087f0: 00170613 addi a2,a4,1 +400087f4: fff68693 addi a3,a3,-1 +400087f8: 00c42023 sw a2,0(s0) +400087fc: 00d42423 sw a3,8(s0) +40008800: 01370023 sb s3,0(a4) +40008804: 01442703 lw a4,20(s0) +40008808: f6f714e3 bne a4,a5,40008770 <__swbuf_r+0x98> +4000880c: 00040593 mv a1,s0 +40008810: 00090513 mv a0,s2 +40008814: 928fb0ef jal ra,4000393c <_fflush_r> +40008818: f60506e3 beqz a0,40008784 <__swbuf_r+0xac> +4000881c: fff00493 li s1,-1 +40008820: f65ff06f j 40008784 <__swbuf_r+0xac> +40008824: 00040593 mv a1,s0 +40008828: 00090513 mv a0,s2 +4000882c: dd4f90ef jal ra,40001e00 <__swsetup_r> +40008830: fe0516e3 bnez a0,4000881c <__swbuf_r+0x144> +40008834: 00c41703 lh a4,12(s0) +40008838: 01042783 lw a5,16(s0) +4000883c: 01071693 slli a3,a4,0x10 +40008840: 0106d693 srli a3,a3,0x10 +40008844: ee9ff06f j 4000872c <__swbuf_r+0x54> +40008848: cb8fb0ef jal ra,40003d00 <__sinit> +4000884c: ebdff06f j 40008708 <__swbuf_r+0x30> + +40008850 <__swbuf>: +40008850: 4000c7b7 lui a5,0x4000c +40008854: 00058613 mv a2,a1 +40008858: 00050593 mv a1,a0 +4000885c: 62c7a503 lw a0,1580(a5) # 4000c62c <_impure_ptr> +40008860: e79ff06f j 400086d8 <__swbuf_r> + +40008864 <_wcrtomb_r>: +40008864: fd010113 addi sp,sp,-48 +40008868: 02912223 sw s1,36(sp) +4000886c: 03212023 sw s2,32(sp) +40008870: 02112623 sw ra,44(sp) +40008874: 02812423 sw s0,40(sp) +40008878: 01312e23 sw s3,28(sp) +4000887c: 01412c23 sw s4,24(sp) +40008880: 00050493 mv s1,a0 +40008884: 00068913 mv s2,a3 +40008888: 06058263 beqz a1,400088ec <_wcrtomb_r+0x88> +4000888c: 4000c7b7 lui a5,0x4000c +40008890: 63c7aa03 lw s4,1596(a5) # 4000c63c <__wctomb> +40008894: 00058413 mv s0,a1 +40008898: 00060993 mv s3,a2 +4000889c: acdfb0ef jal ra,40004368 <__locale_charset> +400088a0: 00050693 mv a3,a0 +400088a4: 00090713 mv a4,s2 +400088a8: 00098613 mv a2,s3 +400088ac: 00040593 mv a1,s0 +400088b0: 00048513 mv a0,s1 +400088b4: 000a00e7 jalr s4 +400088b8: fff00793 li a5,-1 +400088bc: 00f51863 bne a0,a5,400088cc <_wcrtomb_r+0x68> +400088c0: 00092023 sw zero,0(s2) +400088c4: 08a00793 li a5,138 +400088c8: 00f4a023 sw a5,0(s1) +400088cc: 02c12083 lw ra,44(sp) +400088d0: 02812403 lw s0,40(sp) +400088d4: 02412483 lw s1,36(sp) +400088d8: 02012903 lw s2,32(sp) +400088dc: 01c12983 lw s3,28(sp) +400088e0: 01812a03 lw s4,24(sp) +400088e4: 03010113 addi sp,sp,48 +400088e8: 00008067 ret +400088ec: 4000c7b7 lui a5,0x4000c +400088f0: 63c7a403 lw s0,1596(a5) # 4000c63c <__wctomb> +400088f4: a75fb0ef jal ra,40004368 <__locale_charset> +400088f8: 00050693 mv a3,a0 +400088fc: 00090713 mv a4,s2 +40008900: 00000613 li a2,0 +40008904: 00410593 addi a1,sp,4 +40008908: 00048513 mv a0,s1 +4000890c: 000400e7 jalr s0 +40008910: fa9ff06f j 400088b8 <_wcrtomb_r+0x54> + +40008914 <wcrtomb>: +40008914: fd010113 addi sp,sp,-48 +40008918: 02912223 sw s1,36(sp) +4000891c: 03212023 sw s2,32(sp) +40008920: 4000c7b7 lui a5,0x4000c +40008924: 02112623 sw ra,44(sp) +40008928: 02812423 sw s0,40(sp) +4000892c: 01312e23 sw s3,28(sp) +40008930: 01412c23 sw s4,24(sp) +40008934: 00060913 mv s2,a2 +40008938: 62c7a483 lw s1,1580(a5) # 4000c62c <_impure_ptr> +4000893c: 06050263 beqz a0,400089a0 <wcrtomb+0x8c> +40008940: 4000c7b7 lui a5,0x4000c +40008944: 63c7aa03 lw s4,1596(a5) # 4000c63c <__wctomb> +40008948: 00058993 mv s3,a1 +4000894c: 00050413 mv s0,a0 +40008950: a19fb0ef jal ra,40004368 <__locale_charset> +40008954: 00050693 mv a3,a0 +40008958: 00090713 mv a4,s2 +4000895c: 00098613 mv a2,s3 +40008960: 00040593 mv a1,s0 +40008964: 00048513 mv a0,s1 +40008968: 000a00e7 jalr s4 +4000896c: fff00793 li a5,-1 +40008970: 00f51863 bne a0,a5,40008980 <wcrtomb+0x6c> +40008974: 00092023 sw zero,0(s2) +40008978: 08a00793 li a5,138 +4000897c: 00f4a023 sw a5,0(s1) +40008980: 02c12083 lw ra,44(sp) +40008984: 02812403 lw s0,40(sp) +40008988: 02412483 lw s1,36(sp) +4000898c: 02012903 lw s2,32(sp) +40008990: 01c12983 lw s3,28(sp) +40008994: 01812a03 lw s4,24(sp) +40008998: 03010113 addi sp,sp,48 +4000899c: 00008067 ret +400089a0: 4000c7b7 lui a5,0x4000c +400089a4: 63c7a403 lw s0,1596(a5) # 4000c63c <__wctomb> +400089a8: 9c1fb0ef jal ra,40004368 <__locale_charset> +400089ac: 00050693 mv a3,a0 +400089b0: 00090713 mv a4,s2 +400089b4: 00000613 li a2,0 +400089b8: 00410593 addi a1,sp,4 +400089bc: 00048513 mv a0,s1 +400089c0: 000400e7 jalr s0 +400089c4: fa9ff06f j 4000896c <wcrtomb+0x58> + +400089c8 <__ascii_wctomb>: +400089c8: 00058c63 beqz a1,400089e0 <__ascii_wctomb+0x18> +400089cc: 0ff00793 li a5,255 +400089d0: 00c7ec63 bltu a5,a2,400089e8 <__ascii_wctomb+0x20> +400089d4: 00c58023 sb a2,0(a1) +400089d8: 00100513 li a0,1 +400089dc: 00008067 ret +400089e0: 00000513 li a0,0 +400089e4: 00008067 ret +400089e8: 08a00793 li a5,138 +400089ec: 00f52023 sw a5,0(a0) +400089f0: fff00513 li a0,-1 +400089f4: 00008067 ret + +400089f8 <_wctomb_r>: +400089f8: fe010113 addi sp,sp,-32 +400089fc: 4000c7b7 lui a5,0x4000c +40008a00: 00812c23 sw s0,24(sp) +40008a04: 63c7a403 lw s0,1596(a5) # 4000c63c <__wctomb> +40008a08: 00112e23 sw ra,28(sp) +40008a0c: 00912a23 sw s1,20(sp) +40008a10: 01212823 sw s2,16(sp) +40008a14: 01312623 sw s3,12(sp) +40008a18: 01412423 sw s4,8(sp) +40008a1c: 00050493 mv s1,a0 +40008a20: 00068a13 mv s4,a3 +40008a24: 00058913 mv s2,a1 +40008a28: 00060993 mv s3,a2 +40008a2c: 93dfb0ef jal ra,40004368 <__locale_charset> +40008a30: 000a0713 mv a4,s4 +40008a34: 00050693 mv a3,a0 +40008a38: 00098613 mv a2,s3 +40008a3c: 00090593 mv a1,s2 +40008a40: 00048513 mv a0,s1 +40008a44: 00040313 mv t1,s0 +40008a48: 01c12083 lw ra,28(sp) +40008a4c: 01812403 lw s0,24(sp) +40008a50: 01412483 lw s1,20(sp) +40008a54: 01012903 lw s2,16(sp) +40008a58: 00c12983 lw s3,12(sp) +40008a5c: 00812a03 lw s4,8(sp) +40008a60: 02010113 addi sp,sp,32 +40008a64: 00030067 jr t1 + +40008a68 <sbrk>: +40008a68: 4000c737 lui a4,0x4000c +40008a6c: 65872783 lw a5,1624(a4) # 4000c658 <heap_end.1376> +40008a70: 00078a63 beqz a5,40008a84 <sbrk+0x1c> +40008a74: 00a78533 add a0,a5,a0 +40008a78: 64a72c23 sw a0,1624(a4) +40008a7c: 00078513 mv a0,a5 +40008a80: 00008067 ret +40008a84: 4000c7b7 lui a5,0x4000c +40008a88: 68878793 addi a5,a5,1672 # 4000c688 <_bss_end> +40008a8c: 00a78533 add a0,a5,a0 +40008a90: 64a72c23 sw a0,1624(a4) +40008a94: 00078513 mv a0,a5 +40008a98: 00008067 ret + +40008a9c <__adddf3>: +40008a9c: 001007b7 lui a5,0x100 +40008aa0: fff78313 addi t1,a5,-1 # fffff <_heap_size+0xfdfff> +40008aa4: fe010113 addi sp,sp,-32 +40008aa8: 00b377b3 and a5,t1,a1 +40008aac: 0145d713 srli a4,a1,0x14 +40008ab0: 00d37eb3 and t4,t1,a3 +40008ab4: 0146de13 srli t3,a3,0x14 +40008ab8: 00379893 slli a7,a5,0x3 +40008abc: 01d65f13 srli t5,a2,0x1d +40008ac0: 00912a23 sw s1,20(sp) +40008ac4: 01312623 sw s3,12(sp) +40008ac8: 01f5d813 srli a6,a1,0x1f +40008acc: 01d55793 srli a5,a0,0x1d +40008ad0: 003e9e93 slli t4,t4,0x3 +40008ad4: 7ff77493 andi s1,a4,2047 +40008ad8: 7ffe7e13 andi t3,t3,2047 +40008adc: 00112e23 sw ra,28(sp) +40008ae0: 00812c23 sw s0,24(sp) +40008ae4: 01212823 sw s2,16(sp) +40008ae8: 01f6df93 srli t6,a3,0x1f +40008aec: 0117e7b3 or a5,a5,a7 +40008af0: 00080993 mv s3,a6 +40008af4: 00351893 slli a7,a0,0x3 +40008af8: 01df6eb3 or t4,t5,t4 +40008afc: 00361613 slli a2,a2,0x3 +40008b00: 41c48733 sub a4,s1,t3 +40008b04: 1bf80863 beq a6,t6,40008cb4 <__adddf3+0x218> +40008b08: 30e05263 blez a4,40008e0c <__adddf3+0x370> +40008b0c: 160e1063 bnez t3,40008c6c <__adddf3+0x1d0> +40008b10: 00cee6b3 or a3,t4,a2 +40008b14: 20068063 beqz a3,40008d14 <__adddf3+0x278> +40008b18: fff70693 addi a3,a4,-1 +40008b1c: 3c069663 bnez a3,40008ee8 <__adddf3+0x44c> +40008b20: 40c88933 sub s2,a7,a2 +40008b24: 41d787b3 sub a5,a5,t4 +40008b28: 0128b8b3 sltu a7,a7,s2 +40008b2c: 411787b3 sub a5,a5,a7 +40008b30: 00100493 li s1,1 +40008b34: 00879713 slli a4,a5,0x8 +40008b38: 20075c63 bgez a4,40008d50 <__adddf3+0x2b4> +40008b3c: 00800637 lui a2,0x800 +40008b40: fff60613 addi a2,a2,-1 # 7fffff <_heap_size+0x7fdfff> +40008b44: 00c7f433 and s0,a5,a2 +40008b48: 30040463 beqz s0,40008e50 <__adddf3+0x3b4> +40008b4c: 00040513 mv a0,s0 +40008b50: 251020ef jal ra,4000b5a0 <__clzsi2> +40008b54: ff850713 addi a4,a0,-8 +40008b58: 01f00793 li a5,31 +40008b5c: 30e7c663 blt a5,a4,40008e68 <__adddf3+0x3cc> +40008b60: 02000793 li a5,32 +40008b64: 40e787b3 sub a5,a5,a4 +40008b68: 00f957b3 srl a5,s2,a5 +40008b6c: 00e41633 sll a2,s0,a4 +40008b70: 00c7e7b3 or a5,a5,a2 +40008b74: 00e91933 sll s2,s2,a4 +40008b78: 30974063 blt a4,s1,40008e78 <__adddf3+0x3dc> +40008b7c: 40970733 sub a4,a4,s1 +40008b80: 00170613 addi a2,a4,1 +40008b84: 01f00693 li a3,31 +40008b88: 36c6c863 blt a3,a2,40008ef8 <__adddf3+0x45c> +40008b8c: 02000713 li a4,32 +40008b90: 40c70733 sub a4,a4,a2 +40008b94: 00e916b3 sll a3,s2,a4 +40008b98: 00c955b3 srl a1,s2,a2 +40008b9c: 00e79733 sll a4,a5,a4 +40008ba0: 00b76733 or a4,a4,a1 +40008ba4: 00d036b3 snez a3,a3 +40008ba8: 00d76933 or s2,a4,a3 +40008bac: 00c7d7b3 srl a5,a5,a2 +40008bb0: 00797713 andi a4,s2,7 +40008bb4: 00098813 mv a6,s3 +40008bb8: 00000493 li s1,0 +40008bbc: 00090893 mv a7,s2 +40008bc0: 02070063 beqz a4,40008be0 <__adddf3+0x144> +40008bc4: 00f97713 andi a4,s2,15 +40008bc8: 00400693 li a3,4 +40008bcc: 00090893 mv a7,s2 +40008bd0: 00d70863 beq a4,a3,40008be0 <__adddf3+0x144> +40008bd4: 00d908b3 add a7,s2,a3 +40008bd8: 0128b6b3 sltu a3,a7,s2 +40008bdc: 00d787b3 add a5,a5,a3 +40008be0: 00879713 slli a4,a5,0x8 +40008be4: 0e075a63 bgez a4,40008cd8 <__adddf3+0x23c> +40008be8: 00148713 addi a4,s1,1 +40008bec: 7ff00693 li a3,2047 +40008bf0: 2ad70263 beq a4,a3,40008e94 <__adddf3+0x3f8> +40008bf4: ff8006b7 lui a3,0xff800 +40008bf8: fff68693 addi a3,a3,-1 # ff7fffff <_bss_end+0xbf7f3977> +40008bfc: 00d7f7b3 and a5,a5,a3 +40008c00: 01d79693 slli a3,a5,0x1d +40008c04: 0038d893 srli a7,a7,0x3 +40008c08: 00979793 slli a5,a5,0x9 +40008c0c: 0116e6b3 or a3,a3,a7 +40008c10: 00c7d793 srli a5,a5,0xc +40008c14: 7ff77713 andi a4,a4,2047 +40008c18: 001005b7 lui a1,0x100 +40008c1c: fff58593 addi a1,a1,-1 # fffff <_heap_size+0xfdfff> +40008c20: 00b7f7b3 and a5,a5,a1 +40008c24: 801005b7 lui a1,0x80100 +40008c28: fff58593 addi a1,a1,-1 # 800fffff <_bss_end+0x400f3977> +40008c2c: 00b7f5b3 and a1,a5,a1 +40008c30: 01471713 slli a4,a4,0x14 +40008c34: 800007b7 lui a5,0x80000 +40008c38: 01c12083 lw ra,28(sp) +40008c3c: 00e5e5b3 or a1,a1,a4 +40008c40: fff7c793 not a5,a5 +40008c44: 01f81813 slli a6,a6,0x1f +40008c48: 00f5f5b3 and a1,a1,a5 +40008c4c: 0105e5b3 or a1,a1,a6 +40008c50: 00068513 mv a0,a3 +40008c54: 01812403 lw s0,24(sp) +40008c58: 01412483 lw s1,20(sp) +40008c5c: 01012903 lw s2,16(sp) +40008c60: 00c12983 lw s3,12(sp) +40008c64: 02010113 addi sp,sp,32 +40008c68: 00008067 ret +40008c6c: 008005b7 lui a1,0x800 +40008c70: 7ff00693 li a3,2047 +40008c74: 00beeeb3 or t4,t4,a1 +40008c78: 16d48663 beq s1,a3,40008de4 <__adddf3+0x348> +40008c7c: 03800693 li a3,56 +40008c80: 0ae6c663 blt a3,a4,40008d2c <__adddf3+0x290> +40008c84: 01f00693 li a3,31 +40008c88: 2ae6c463 blt a3,a4,40008f30 <__adddf3+0x494> +40008c8c: 02000593 li a1,32 +40008c90: 40e585b3 sub a1,a1,a4 +40008c94: 00e65933 srl s2,a2,a4 +40008c98: 00be96b3 sll a3,t4,a1 +40008c9c: 00b61633 sll a2,a2,a1 +40008ca0: 0126e6b3 or a3,a3,s2 +40008ca4: 00c03933 snez s2,a2 +40008ca8: 0126e6b3 or a3,a3,s2 +40008cac: 00eedeb3 srl t4,t4,a4 +40008cb0: 0880006f j 40008d38 <__adddf3+0x29c> +40008cb4: 1ee05663 blez a4,40008ea0 <__adddf3+0x404> +40008cb8: 0a0e1c63 bnez t3,40008d70 <__adddf3+0x2d4> +40008cbc: 00cee6b3 or a3,t4,a2 +40008cc0: 32069063 bnez a3,40008fe0 <__adddf3+0x544> +40008cc4: 7ff00693 li a3,2047 +40008cc8: 36d70a63 beq a4,a3,4000903c <__adddf3+0x5a0> +40008ccc: 00070493 mv s1,a4 +40008cd0: 00879713 slli a4,a5,0x8 +40008cd4: f0074ae3 bltz a4,40008be8 <__adddf3+0x14c> +40008cd8: 01d79693 slli a3,a5,0x1d +40008cdc: 0038d893 srli a7,a7,0x3 +40008ce0: 7ff00713 li a4,2047 +40008ce4: 00d8e6b3 or a3,a7,a3 +40008ce8: 0037d793 srli a5,a5,0x3 +40008cec: 10e49663 bne s1,a4,40008df8 <__adddf3+0x35c> +40008cf0: 00f6e733 or a4,a3,a5 +40008cf4: 5a070c63 beqz a4,400092ac <__adddf3+0x810> +40008cf8: 00080737 lui a4,0x80 +40008cfc: 00e7e7b3 or a5,a5,a4 +40008d00: 00100737 lui a4,0x100 +40008d04: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +40008d08: 00e7f7b3 and a5,a5,a4 +40008d0c: 00048713 mv a4,s1 +40008d10: f09ff06f j 40008c18 <__adddf3+0x17c> +40008d14: 7ff00693 li a3,2047 +40008d18: fad71ae3 bne a4,a3,40008ccc <__adddf3+0x230> +40008d1c: 0117e6b3 or a3,a5,a7 +40008d20: 32068263 beqz a3,40009044 <__adddf3+0x5a8> +40008d24: 7ff00493 li s1,2047 +40008d28: eb9ff06f j 40008be0 <__adddf3+0x144> +40008d2c: 00cee633 or a2,t4,a2 +40008d30: 00c036b3 snez a3,a2 +40008d34: 00000e93 li t4,0 +40008d38: 40d88933 sub s2,a7,a3 +40008d3c: 41d787b3 sub a5,a5,t4 +40008d40: 0128b8b3 sltu a7,a7,s2 +40008d44: 411787b3 sub a5,a5,a7 +40008d48: 00879713 slli a4,a5,0x8 +40008d4c: de0748e3 bltz a4,40008b3c <__adddf3+0xa0> +40008d50: 00797713 andi a4,s2,7 +40008d54: 00098813 mv a6,s3 +40008d58: e60716e3 bnez a4,40008bc4 <__adddf3+0x128> +40008d5c: 01d79893 slli a7,a5,0x1d +40008d60: 00395693 srli a3,s2,0x3 +40008d64: 0116e6b3 or a3,a3,a7 +40008d68: 0037d793 srli a5,a5,0x3 +40008d6c: 0840006f j 40008df0 <__adddf3+0x354> +40008d70: 008005b7 lui a1,0x800 +40008d74: 7ff00693 li a3,2047 +40008d78: 00beeeb3 or t4,t4,a1 +40008d7c: 06d48463 beq s1,a3,40008de4 <__adddf3+0x348> +40008d80: 03800693 li a3,56 +40008d84: 28e6d463 ble a4,a3,4000900c <__adddf3+0x570> +40008d88: 00cee633 or a2,t4,a2 +40008d8c: 00c036b3 snez a3,a2 +40008d90: 00000e93 li t4,0 +40008d94: 01168933 add s2,a3,a7 +40008d98: 00fe87b3 add a5,t4,a5 +40008d9c: 011938b3 sltu a7,s2,a7 +40008da0: 011787b3 add a5,a5,a7 +40008da4: 00879713 slli a4,a5,0x8 +40008da8: fa0754e3 bgez a4,40008d50 <__adddf3+0x2b4> +40008dac: 00148493 addi s1,s1,1 +40008db0: 7ff00713 li a4,2047 +40008db4: 3ae48663 beq s1,a4,40009160 <__adddf3+0x6c4> +40008db8: ff800737 lui a4,0xff800 +40008dbc: fff70713 addi a4,a4,-1 # ff7fffff <_bss_end+0xbf7f3977> +40008dc0: 00e7f7b3 and a5,a5,a4 +40008dc4: 00197693 andi a3,s2,1 +40008dc8: 00195713 srli a4,s2,0x1 +40008dcc: 00d766b3 or a3,a4,a3 +40008dd0: 01f79913 slli s2,a5,0x1f +40008dd4: 00d96933 or s2,s2,a3 +40008dd8: 0017d793 srli a5,a5,0x1 +40008ddc: 00797713 andi a4,s2,7 +40008de0: dddff06f j 40008bbc <__adddf3+0x120> +40008de4: 0117e6b3 or a3,a5,a7 +40008de8: de069ce3 bnez a3,40008be0 <__adddf3+0x144> +40008dec: 00000793 li a5,0 +40008df0: 7ff00713 li a4,2047 +40008df4: eee48ee3 beq s1,a4,40008cf0 <__adddf3+0x254> +40008df8: 00100737 lui a4,0x100 +40008dfc: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +40008e00: 00e7f7b3 and a5,a5,a4 +40008e04: 7ff4f713 andi a4,s1,2047 +40008e08: e11ff06f j 40008c18 <__adddf3+0x17c> +40008e0c: 14071a63 bnez a4,40008f60 <__adddf3+0x4c4> +40008e10: 00148713 addi a4,s1,1 +40008e14: 7ff77713 andi a4,a4,2047 +40008e18: 00100693 li a3,1 +40008e1c: 2ae6d663 ble a4,a3,400090c8 <__adddf3+0x62c> +40008e20: 40c88933 sub s2,a7,a2 +40008e24: 0128b733 sltu a4,a7,s2 +40008e28: 41d78433 sub s0,a5,t4 +40008e2c: 40e40433 sub s0,s0,a4 +40008e30: 00841713 slli a4,s0,0x8 +40008e34: 18075a63 bgez a4,40008fc8 <__adddf3+0x52c> +40008e38: 41160933 sub s2,a2,a7 +40008e3c: 40fe87b3 sub a5,t4,a5 +40008e40: 01263633 sltu a2,a2,s2 +40008e44: 40c78433 sub s0,a5,a2 +40008e48: 000f8993 mv s3,t6 +40008e4c: d00410e3 bnez s0,40008b4c <__adddf3+0xb0> +40008e50: 00090513 mv a0,s2 +40008e54: 74c020ef jal ra,4000b5a0 <__clzsi2> +40008e58: 02050513 addi a0,a0,32 +40008e5c: ff850713 addi a4,a0,-8 +40008e60: 01f00793 li a5,31 +40008e64: cee7dee3 ble a4,a5,40008b60 <__adddf3+0xc4> +40008e68: fd850793 addi a5,a0,-40 +40008e6c: 00f917b3 sll a5,s2,a5 +40008e70: 00000913 li s2,0 +40008e74: d09754e3 ble s1,a4,40008b7c <__adddf3+0xe0> +40008e78: 40e484b3 sub s1,s1,a4 +40008e7c: ff800737 lui a4,0xff800 +40008e80: fff70713 addi a4,a4,-1 # ff7fffff <_bss_end+0xbf7f3977> +40008e84: 00e7f7b3 and a5,a5,a4 +40008e88: 00098813 mv a6,s3 +40008e8c: 00797713 andi a4,s2,7 +40008e90: d2dff06f j 40008bbc <__adddf3+0x120> +40008e94: 00000793 li a5,0 +40008e98: 00000693 li a3,0 +40008e9c: d7dff06f j 40008c18 <__adddf3+0x17c> +40008ea0: 26071e63 bnez a4,4000911c <__adddf3+0x680> +40008ea4: 00148593 addi a1,s1,1 +40008ea8: 7ff5f713 andi a4,a1,2047 +40008eac: 00100693 li a3,1 +40008eb0: 1ce6da63 ble a4,a3,40009084 <__adddf3+0x5e8> +40008eb4: 7ff00713 li a4,2047 +40008eb8: 30e58463 beq a1,a4,400091c0 <__adddf3+0x724> +40008ebc: 00c88633 add a2,a7,a2 +40008ec0: 011638b3 sltu a7,a2,a7 +40008ec4: 01d787b3 add a5,a5,t4 +40008ec8: 011787b3 add a5,a5,a7 +40008ecc: 01f79693 slli a3,a5,0x1f +40008ed0: 00165613 srli a2,a2,0x1 +40008ed4: 00c6e933 or s2,a3,a2 +40008ed8: 0017d793 srli a5,a5,0x1 +40008edc: 00797713 andi a4,s2,7 +40008ee0: 00058493 mv s1,a1 +40008ee4: cd9ff06f j 40008bbc <__adddf3+0x120> +40008ee8: 7ff00593 li a1,2047 +40008eec: e2b708e3 beq a4,a1,40008d1c <__adddf3+0x280> +40008ef0: 00068713 mv a4,a3 +40008ef4: d89ff06f j 40008c7c <__adddf3+0x1e0> +40008ef8: fe170713 addi a4,a4,-31 +40008efc: 02000593 li a1,32 +40008f00: 00e7d733 srl a4,a5,a4 +40008f04: 00000693 li a3,0 +40008f08: 00b60863 beq a2,a1,40008f18 <__adddf3+0x47c> +40008f0c: 04000693 li a3,64 +40008f10: 40c686b3 sub a3,a3,a2 +40008f14: 00d796b3 sll a3,a5,a3 +40008f18: 00d966b3 or a3,s2,a3 +40008f1c: 00d036b3 snez a3,a3 +40008f20: 00d76933 or s2,a4,a3 +40008f24: 00000793 li a5,0 +40008f28: 00000493 li s1,0 +40008f2c: e25ff06f j 40008d50 <__adddf3+0x2b4> +40008f30: 02000513 li a0,32 +40008f34: 00eed6b3 srl a3,t4,a4 +40008f38: 00000593 li a1,0 +40008f3c: 00a70863 beq a4,a0,40008f4c <__adddf3+0x4b0> +40008f40: 04000593 li a1,64 +40008f44: 40e58733 sub a4,a1,a4 +40008f48: 00ee95b3 sll a1,t4,a4 +40008f4c: 00c5e633 or a2,a1,a2 +40008f50: 00c03933 snez s2,a2 +40008f54: 0126e6b3 or a3,a3,s2 +40008f58: 00000e93 li t4,0 +40008f5c: dddff06f j 40008d38 <__adddf3+0x29c> +40008f60: 0e048863 beqz s1,40009050 <__adddf3+0x5b4> +40008f64: 008005b7 lui a1,0x800 +40008f68: 7ff00693 li a3,2047 +40008f6c: 40e00733 neg a4,a4 +40008f70: 00b7e7b3 or a5,a5,a1 +40008f74: 22de0263 beq t3,a3,40009198 <__adddf3+0x6fc> +40008f78: 03800693 li a3,56 +40008f7c: 22e6ca63 blt a3,a4,400091b0 <__adddf3+0x714> +40008f80: 01f00693 li a3,31 +40008f84: 38e6ca63 blt a3,a4,40009318 <__adddf3+0x87c> +40008f88: 02000593 li a1,32 +40008f8c: 40e585b3 sub a1,a1,a4 +40008f90: 00b796b3 sll a3,a5,a1 +40008f94: 00e8d533 srl a0,a7,a4 +40008f98: 00b895b3 sll a1,a7,a1 +40008f9c: 00a6e6b3 or a3,a3,a0 +40008fa0: 00b03933 snez s2,a1 +40008fa4: 0126e6b3 or a3,a3,s2 +40008fa8: 00e7d733 srl a4,a5,a4 +40008fac: 40d60933 sub s2,a2,a3 +40008fb0: 40ee87b3 sub a5,t4,a4 +40008fb4: 01263633 sltu a2,a2,s2 +40008fb8: 40c787b3 sub a5,a5,a2 +40008fbc: 000e0493 mv s1,t3 +40008fc0: 000f8993 mv s3,t6 +40008fc4: b71ff06f j 40008b34 <__adddf3+0x98> +40008fc8: 008966b3 or a3,s2,s0 +40008fcc: b6069ee3 bnez a3,40008b48 <__adddf3+0xac> +40008fd0: 00000793 li a5,0 +40008fd4: 00000813 li a6,0 +40008fd8: 00000493 li s1,0 +40008fdc: e15ff06f j 40008df0 <__adddf3+0x354> +40008fe0: fff70693 addi a3,a4,-1 +40008fe4: 08069863 bnez a3,40009074 <__adddf3+0x5d8> +40008fe8: 00c88933 add s2,a7,a2 +40008fec: 01d787b3 add a5,a5,t4 +40008ff0: 011938b3 sltu a7,s2,a7 +40008ff4: 011787b3 add a5,a5,a7 +40008ff8: 00879713 slli a4,a5,0x8 +40008ffc: 00100493 li s1,1 +40009000: d40758e3 bgez a4,40008d50 <__adddf3+0x2b4> +40009004: 00200493 li s1,2 +40009008: db1ff06f j 40008db8 <__adddf3+0x31c> +4000900c: 01f00693 li a3,31 +40009010: 0ce6ce63 blt a3,a4,400090ec <__adddf3+0x650> +40009014: 02000593 li a1,32 +40009018: 40e585b3 sub a1,a1,a4 +4000901c: 00be96b3 sll a3,t4,a1 +40009020: 00e65533 srl a0,a2,a4 +40009024: 00b61633 sll a2,a2,a1 +40009028: 00a6e6b3 or a3,a3,a0 +4000902c: 00c03933 snez s2,a2 +40009030: 0126e6b3 or a3,a3,s2 +40009034: 00eedeb3 srl t4,t4,a4 +40009038: d5dff06f j 40008d94 <__adddf3+0x2f8> +4000903c: 0117e6b3 or a3,a5,a7 +40009040: c80696e3 bnez a3,40008ccc <__adddf3+0x230> +40009044: 00000793 li a5,0 +40009048: 00070493 mv s1,a4 +4000904c: da5ff06f j 40008df0 <__adddf3+0x354> +40009050: 0117e6b3 or a3,a5,a7 +40009054: 10069c63 bnez a3,4000916c <__adddf3+0x6d0> +40009058: 7ff00793 li a5,2047 +4000905c: 12fe0e63 beq t3,a5,40009198 <__adddf3+0x6fc> +40009060: 000f8813 mv a6,t6 +40009064: 000e8793 mv a5,t4 +40009068: 00060893 mv a7,a2 +4000906c: 000e0493 mv s1,t3 +40009070: b71ff06f j 40008be0 <__adddf3+0x144> +40009074: 7ff00593 li a1,2047 +40009078: fcb702e3 beq a4,a1,4000903c <__adddf3+0x5a0> +4000907c: 00068713 mv a4,a3 +40009080: d01ff06f j 40008d80 <__adddf3+0x2e4> +40009084: 0117e733 or a4,a5,a7 +40009088: 22049a63 bnez s1,400092bc <__adddf3+0x820> +4000908c: 04070a63 beqz a4,400090e0 <__adddf3+0x644> +40009090: 00cee733 or a4,t4,a2 +40009094: b40706e3 beqz a4,40008be0 <__adddf3+0x144> +40009098: 00c88933 add s2,a7,a2 +4000909c: 01d787b3 add a5,a5,t4 +400090a0: 011938b3 sltu a7,s2,a7 +400090a4: 011787b3 add a5,a5,a7 +400090a8: 00879713 slli a4,a5,0x8 +400090ac: ca0752e3 bgez a4,40008d50 <__adddf3+0x2b4> +400090b0: ff800737 lui a4,0xff800 +400090b4: fff70713 addi a4,a4,-1 # ff7fffff <_bss_end+0xbf7f3977> +400090b8: 00e7f7b3 and a5,a5,a4 +400090bc: 00068493 mv s1,a3 +400090c0: 00797713 andi a4,s2,7 +400090c4: af9ff06f j 40008bbc <__adddf3+0x120> +400090c8: 0117e733 or a4,a5,a7 +400090cc: 06049a63 bnez s1,40009140 <__adddf3+0x6a4> +400090d0: 16071063 bnez a4,40009230 <__adddf3+0x794> +400090d4: 00cee6b3 or a3,t4,a2 +400090d8: 22068a63 beqz a3,4000930c <__adddf3+0x870> +400090dc: 000f8813 mv a6,t6 +400090e0: 000e8793 mv a5,t4 +400090e4: 00060893 mv a7,a2 +400090e8: af9ff06f j 40008be0 <__adddf3+0x144> +400090ec: 02000513 li a0,32 +400090f0: 00eed6b3 srl a3,t4,a4 +400090f4: 00000593 li a1,0 +400090f8: 00a70863 beq a4,a0,40009108 <__adddf3+0x66c> +400090fc: 04000593 li a1,64 +40009100: 40e58733 sub a4,a1,a4 +40009104: 00ee95b3 sll a1,t4,a4 +40009108: 00c5e633 or a2,a1,a2 +4000910c: 00c03933 snez s2,a2 +40009110: 0126e6b3 or a3,a3,s2 +40009114: 00000e93 li t4,0 +40009118: c7dff06f j 40008d94 <__adddf3+0x2f8> +4000911c: 0a049a63 bnez s1,400091d0 <__adddf3+0x734> +40009120: 0117e6b3 or a3,a5,a7 +40009124: 22069263 bnez a3,40009348 <__adddf3+0x8ac> +40009128: 7ff00793 li a5,2047 +4000912c: 24fe0263 beq t3,a5,40009370 <__adddf3+0x8d4> +40009130: 000e8793 mv a5,t4 +40009134: 00060893 mv a7,a2 +40009138: 000e0493 mv s1,t3 +4000913c: aa5ff06f j 40008be0 <__adddf3+0x144> +40009140: 12071663 bnez a4,4000926c <__adddf3+0x7d0> +40009144: 00cee7b3 or a5,t4,a2 +40009148: 22078a63 beqz a5,4000937c <__adddf3+0x8e0> +4000914c: 000f8813 mv a6,t6 +40009150: 000e8793 mv a5,t4 +40009154: 00060893 mv a7,a2 +40009158: 7ff00493 li s1,2047 +4000915c: a85ff06f j 40008be0 <__adddf3+0x144> +40009160: 00000793 li a5,0 +40009164: 00000693 li a3,0 +40009168: c89ff06f j 40008df0 <__adddf3+0x354> +4000916c: fff74713 not a4,a4 +40009170: 02071063 bnez a4,40009190 <__adddf3+0x6f4> +40009174: 41160933 sub s2,a2,a7 +40009178: 40fe87b3 sub a5,t4,a5 +4000917c: 01263633 sltu a2,a2,s2 +40009180: 40c787b3 sub a5,a5,a2 +40009184: 000e0493 mv s1,t3 +40009188: 000f8993 mv s3,t6 +4000918c: 9a9ff06f j 40008b34 <__adddf3+0x98> +40009190: 7ff00693 li a3,2047 +40009194: dede12e3 bne t3,a3,40008f78 <__adddf3+0x4dc> +40009198: 00cee6b3 or a3,t4,a2 +4000919c: 000f8813 mv a6,t6 +400091a0: f80698e3 bnez a3,40009130 <__adddf3+0x694> +400091a4: 00000793 li a5,0 +400091a8: 000e0493 mv s1,t3 +400091ac: c45ff06f j 40008df0 <__adddf3+0x354> +400091b0: 0117e7b3 or a5,a5,a7 +400091b4: 00f036b3 snez a3,a5 +400091b8: 00000713 li a4,0 +400091bc: df1ff06f j 40008fac <__adddf3+0x510> +400091c0: 00058493 mv s1,a1 +400091c4: 00000793 li a5,0 +400091c8: 00000693 li a3,0 +400091cc: c25ff06f j 40008df0 <__adddf3+0x354> +400091d0: 008005b7 lui a1,0x800 +400091d4: 7ff00693 li a3,2047 +400091d8: 40e00733 neg a4,a4 +400091dc: 00b7e7b3 or a5,a5,a1 +400091e0: 18de0863 beq t3,a3,40009370 <__adddf3+0x8d4> +400091e4: 03800693 li a3,56 +400091e8: 1ae6c463 blt a3,a4,40009390 <__adddf3+0x8f4> +400091ec: 01f00693 li a3,31 +400091f0: 1ce6c463 blt a3,a4,400093b8 <__adddf3+0x91c> +400091f4: 02000593 li a1,32 +400091f8: 40e585b3 sub a1,a1,a4 +400091fc: 00b796b3 sll a3,a5,a1 +40009200: 00e8d533 srl a0,a7,a4 +40009204: 00b895b3 sll a1,a7,a1 +40009208: 00a6e6b3 or a3,a3,a0 +4000920c: 00b03933 snez s2,a1 +40009210: 0126e6b3 or a3,a3,s2 +40009214: 00e7d7b3 srl a5,a5,a4 +40009218: 00c68933 add s2,a3,a2 +4000921c: 01d787b3 add a5,a5,t4 +40009220: 00c93633 sltu a2,s2,a2 +40009224: 00c787b3 add a5,a5,a2 +40009228: 000e0493 mv s1,t3 +4000922c: b79ff06f j 40008da4 <__adddf3+0x308> +40009230: 00cee733 or a4,t4,a2 +40009234: 9a0706e3 beqz a4,40008be0 <__adddf3+0x144> +40009238: 40c88933 sub s2,a7,a2 +4000923c: 0128b6b3 sltu a3,a7,s2 +40009240: 41d78733 sub a4,a5,t4 +40009244: 40d70733 sub a4,a4,a3 +40009248: 00871693 slli a3,a4,0x8 +4000924c: 0a06da63 bgez a3,40009300 <__adddf3+0x864> +40009250: 41160933 sub s2,a2,a7 +40009254: 40fe87b3 sub a5,t4,a5 +40009258: 01263633 sltu a2,a2,s2 +4000925c: 40c787b3 sub a5,a5,a2 +40009260: 00797713 andi a4,s2,7 +40009264: 000f8813 mv a6,t6 +40009268: 955ff06f j 40008bbc <__adddf3+0x120> +4000926c: 00cee633 or a2,t4,a2 +40009270: aa060ae3 beqz a2,40008d24 <__adddf3+0x288> +40009274: 00feeeb3 or t4,t4,a5 +40009278: 009e9713 slli a4,t4,0x9 +4000927c: 12074263 bltz a4,400093a0 <__adddf3+0x904> +40009280: 20000737 lui a4,0x20000 +40009284: fff70713 addi a4,a4,-1 # 1fffffff <_heap_size+0x1fffdfff> +40009288: 01d79893 slli a7,a5,0x1d +4000928c: 00a77533 and a0,a4,a0 +40009290: 00a8e533 or a0,a7,a0 +40009294: ff87f793 andi a5,a5,-8 +40009298: 01d55713 srli a4,a0,0x1d +4000929c: 00e7e7b3 or a5,a5,a4 +400092a0: 00351893 slli a7,a0,0x3 +400092a4: 7ff00493 li s1,2047 +400092a8: 939ff06f j 40008be0 <__adddf3+0x144> +400092ac: 00000693 li a3,0 +400092b0: 00048713 mv a4,s1 +400092b4: 00000793 li a5,0 +400092b8: 961ff06f j 40008c18 <__adddf3+0x17c> +400092bc: e8070ae3 beqz a4,40009150 <__adddf3+0x6b4> +400092c0: 00cee633 or a2,t4,a2 +400092c4: a60600e3 beqz a2,40008d24 <__adddf3+0x288> +400092c8: 00feeeb3 or t4,t4,a5 +400092cc: 009e9713 slli a4,t4,0x9 +400092d0: 0c074863 bltz a4,400093a0 <__adddf3+0x904> +400092d4: 20000737 lui a4,0x20000 +400092d8: fff70713 addi a4,a4,-1 # 1fffffff <_heap_size+0x1fffdfff> +400092dc: 01d79893 slli a7,a5,0x1d +400092e0: 00a77533 and a0,a4,a0 +400092e4: 00a8e533 or a0,a7,a0 +400092e8: 01d55713 srli a4,a0,0x1d +400092ec: ff87f793 andi a5,a5,-8 +400092f0: 00f767b3 or a5,a4,a5 +400092f4: 00351893 slli a7,a0,0x3 +400092f8: 7ff00493 li s1,2047 +400092fc: 8e5ff06f j 40008be0 <__adddf3+0x144> +40009300: 00e966b3 or a3,s2,a4 +40009304: 00070793 mv a5,a4 +40009308: a40694e3 bnez a3,40008d50 <__adddf3+0x2b4> +4000930c: 00000793 li a5,0 +40009310: 00000813 li a6,0 +40009314: addff06f j 40008df0 <__adddf3+0x354> +40009318: 02000513 li a0,32 +4000931c: 00e7d6b3 srl a3,a5,a4 +40009320: 00000593 li a1,0 +40009324: 00a70863 beq a4,a0,40009334 <__adddf3+0x898> +40009328: 04000593 li a1,64 +4000932c: 40e58733 sub a4,a1,a4 +40009330: 00e795b3 sll a1,a5,a4 +40009334: 0115e5b3 or a1,a1,a7 +40009338: 00b03933 snez s2,a1 +4000933c: 0126e6b3 or a3,a3,s2 +40009340: 00000713 li a4,0 +40009344: c69ff06f j 40008fac <__adddf3+0x510> +40009348: fff74713 not a4,a4 +4000934c: 00071e63 bnez a4,40009368 <__adddf3+0x8cc> +40009350: 00c88933 add s2,a7,a2 +40009354: 01d787b3 add a5,a5,t4 +40009358: 00c93633 sltu a2,s2,a2 +4000935c: 00c787b3 add a5,a5,a2 +40009360: 000e0493 mv s1,t3 +40009364: a41ff06f j 40008da4 <__adddf3+0x308> +40009368: 7ff00693 li a3,2047 +4000936c: e6de1ce3 bne t3,a3,400091e4 <__adddf3+0x748> +40009370: 00cee6b3 or a3,t4,a2 +40009374: da069ee3 bnez a3,40009130 <__adddf3+0x694> +40009378: e2dff06f j 400091a4 <__adddf3+0x708> +4000937c: 00000813 li a6,0 +40009380: 00030793 mv a5,t1 +40009384: fff00693 li a3,-1 +40009388: 7ff00493 li s1,2047 +4000938c: a65ff06f j 40008df0 <__adddf3+0x354> +40009390: 0117e7b3 or a5,a5,a7 +40009394: 00f036b3 snez a3,a5 +40009398: 00000793 li a5,0 +4000939c: e7dff06f j 40009218 <__adddf3+0x77c> +400093a0: 008007b7 lui a5,0x800 +400093a4: 00000813 li a6,0 +400093a8: ff800893 li a7,-8 +400093ac: fff78793 addi a5,a5,-1 # 7fffff <_heap_size+0x7fdfff> +400093b0: 7ff00493 li s1,2047 +400093b4: 82dff06f j 40008be0 <__adddf3+0x144> +400093b8: 02000513 li a0,32 +400093bc: 00e7d6b3 srl a3,a5,a4 +400093c0: 00000593 li a1,0 +400093c4: 00a70863 beq a4,a0,400093d4 <__adddf3+0x938> +400093c8: 04000593 li a1,64 +400093cc: 40e58733 sub a4,a1,a4 +400093d0: 00e795b3 sll a1,a5,a4 +400093d4: 0115e5b3 or a1,a1,a7 +400093d8: 00b03933 snez s2,a1 +400093dc: 0126e6b3 or a3,a3,s2 +400093e0: 00000793 li a5,0 +400093e4: e35ff06f j 40009218 <__adddf3+0x77c> + +400093e8 <__divdf3>: +400093e8: fc010113 addi sp,sp,-64 +400093ec: 02812c23 sw s0,56(sp) +400093f0: 0145d713 srli a4,a1,0x14 +400093f4: 00100437 lui s0,0x100 +400093f8: 02912a23 sw s1,52(sp) +400093fc: 03312623 sw s3,44(sp) +40009400: 03512223 sw s5,36(sp) +40009404: 01812c23 sw s8,24(sp) +40009408: 00050493 mv s1,a0 +4000940c: 01f5d993 srli s3,a1,0x1f +40009410: fff40413 addi s0,s0,-1 # fffff <_heap_size+0xfdfff> +40009414: 02112e23 sw ra,60(sp) +40009418: 03212823 sw s2,48(sp) +4000941c: 03412423 sw s4,40(sp) +40009420: 03612023 sw s6,32(sp) +40009424: 01712e23 sw s7,28(sp) +40009428: 01912a23 sw s9,20(sp) +4000942c: 7ff77513 andi a0,a4,2047 +40009430: 00060c13 mv s8,a2 +40009434: 00b47433 and s0,s0,a1 +40009438: 00098a93 mv s5,s3 +4000943c: 1c050a63 beqz a0,40009610 <__divdf3+0x228> +40009440: 7ff00793 li a5,2047 +40009444: 08f50a63 beq a0,a5,400094d8 <__divdf3+0xf0> +40009448: 01d4d793 srli a5,s1,0x1d +4000944c: 00800b37 lui s6,0x800 +40009450: 00341413 slli s0,s0,0x3 +40009454: 0167e7b3 or a5,a5,s6 +40009458: 00349913 slli s2,s1,0x3 +4000945c: 0087eb33 or s6,a5,s0 +40009460: c0150a13 addi s4,a0,-1023 +40009464: 00000493 li s1,0 +40009468: 00000c93 li s9,0 +4000946c: 0146d513 srli a0,a3,0x14 +40009470: 00100437 lui s0,0x100 +40009474: fff40413 addi s0,s0,-1 # fffff <_heap_size+0xfdfff> +40009478: 7ff57513 andi a0,a0,2047 +4000947c: 00d47433 and s0,s0,a3 +40009480: 01f6db93 srli s7,a3,0x1f +40009484: 08050463 beqz a0,4000950c <__divdf3+0x124> +40009488: 7ff00793 li a5,2047 +4000948c: 1cf50e63 beq a0,a5,40009668 <__divdf3+0x280> +40009490: 01dc5793 srli a5,s8,0x1d +40009494: 00800737 lui a4,0x800 +40009498: 00e7e7b3 or a5,a5,a4 +4000949c: 00341413 slli s0,s0,0x3 +400094a0: 0087e433 or s0,a5,s0 +400094a4: 003c1693 slli a3,s8,0x3 +400094a8: c0150513 addi a0,a0,-1023 +400094ac: 00000793 li a5,0 +400094b0: 0097e733 or a4,a5,s1 +400094b4: 4000c637 lui a2,0x4000c +400094b8: ab460613 addi a2,a2,-1356 # 4000bab4 <zeroes.4082+0x10> +400094bc: 00271713 slli a4,a4,0x2 +400094c0: 00c70733 add a4,a4,a2 +400094c4: 00072703 lw a4,0(a4) # 800000 <_heap_size+0x7fe000> +400094c8: 0179c633 xor a2,s3,s7 +400094cc: 00060593 mv a1,a2 +400094d0: 40aa0533 sub a0,s4,a0 +400094d4: 00070067 jr a4 +400094d8: 00946b33 or s6,s0,s1 +400094dc: 1c0b1863 bnez s6,400096ac <__divdf3+0x2c4> +400094e0: 00050a13 mv s4,a0 +400094e4: 00100437 lui s0,0x100 +400094e8: 0146d513 srli a0,a3,0x14 +400094ec: fff40413 addi s0,s0,-1 # fffff <_heap_size+0xfdfff> +400094f0: 7ff57513 andi a0,a0,2047 +400094f4: 00000913 li s2,0 +400094f8: 00800493 li s1,8 +400094fc: 00200c93 li s9,2 +40009500: 00d47433 and s0,s0,a3 +40009504: 01f6db93 srli s7,a3,0x1f +40009508: f80510e3 bnez a0,40009488 <__divdf3+0xa0> +4000950c: 018466b3 or a3,s0,s8 +40009510: 16068663 beqz a3,4000967c <__divdf3+0x294> +40009514: 26040263 beqz s0,40009778 <__divdf3+0x390> +40009518: 00040513 mv a0,s0 +4000951c: 084020ef jal ra,4000b5a0 <__clzsi2> +40009520: ff550713 addi a4,a0,-11 +40009524: 01c00793 li a5,28 +40009528: 24e7c063 blt a5,a4,40009768 <__divdf3+0x380> +4000952c: 01d00793 li a5,29 +40009530: ff850693 addi a3,a0,-8 +40009534: 40e787b3 sub a5,a5,a4 +40009538: 00d41433 sll s0,s0,a3 +4000953c: 00fc57b3 srl a5,s8,a5 +40009540: 0087e433 or s0,a5,s0 +40009544: 00dc16b3 sll a3,s8,a3 +40009548: c0d00713 li a4,-1011 +4000954c: 40a70533 sub a0,a4,a0 +40009550: 00000793 li a5,0 +40009554: f5dff06f j 400094b0 <__divdf3+0xc8> +40009558: 7ff00713 li a4,2047 +4000955c: 00000793 li a5,0 +40009560: 00000913 li s2,0 +40009564: 001006b7 lui a3,0x100 +40009568: fff68693 addi a3,a3,-1 # fffff <_heap_size+0xfdfff> +4000956c: 00d7f7b3 and a5,a5,a3 +40009570: 801006b7 lui a3,0x80100 +40009574: fff68693 addi a3,a3,-1 # 800fffff <_bss_end+0x400f3977> +40009578: 01471713 slli a4,a4,0x14 +4000957c: 00d7f7b3 and a5,a5,a3 +40009580: 00e7e7b3 or a5,a5,a4 +40009584: 80000737 lui a4,0x80000 +40009588: fff74713 not a4,a4 +4000958c: 03c12083 lw ra,60(sp) +40009590: 01f61613 slli a2,a2,0x1f +40009594: 00e7f7b3 and a5,a5,a4 +40009598: 00c7e7b3 or a5,a5,a2 +4000959c: 00090513 mv a0,s2 +400095a0: 00078593 mv a1,a5 +400095a4: 03812403 lw s0,56(sp) +400095a8: 03412483 lw s1,52(sp) +400095ac: 03012903 lw s2,48(sp) +400095b0: 02c12983 lw s3,44(sp) +400095b4: 02812a03 lw s4,40(sp) +400095b8: 02412a83 lw s5,36(sp) +400095bc: 02012b03 lw s6,32(sp) +400095c0: 01c12b83 lw s7,28(sp) +400095c4: 01812c03 lw s8,24(sp) +400095c8: 01412c83 lw s9,20(sp) +400095cc: 04010113 addi sp,sp,64 +400095d0: 00008067 ret +400095d4: 000b8a93 mv s5,s7 +400095d8: 00040b13 mv s6,s0 +400095dc: 00068913 mv s2,a3 +400095e0: 00078c93 mv s9,a5 +400095e4: 00200793 li a5,2 +400095e8: 60fc8463 beq s9,a5,40009bf0 <__divdf3+0x808> +400095ec: 00300793 li a5,3 +400095f0: 60fc8a63 beq s9,a5,40009c04 <__divdf3+0x81c> +400095f4: 00100793 li a5,1 +400095f8: 50fc9a63 bne s9,a5,40009b0c <__divdf3+0x724> +400095fc: 000a8613 mv a2,s5 +40009600: 00000713 li a4,0 +40009604: 00000793 li a5,0 +40009608: 00000913 li s2,0 +4000960c: f59ff06f j 40009564 <__divdf3+0x17c> +40009610: 00946b33 or s6,s0,s1 +40009614: 080b0263 beqz s6,40009698 <__divdf3+0x2b0> +40009618: 00d12623 sw a3,12(sp) +4000961c: 12040c63 beqz s0,40009754 <__divdf3+0x36c> +40009620: 00040513 mv a0,s0 +40009624: 77d010ef jal ra,4000b5a0 <__clzsi2> +40009628: 00c12683 lw a3,12(sp) +4000962c: ff550b13 addi s6,a0,-11 +40009630: 01c00793 li a5,28 +40009634: 1167c863 blt a5,s6,40009744 <__divdf3+0x35c> +40009638: 01d00793 li a5,29 +4000963c: ff850913 addi s2,a0,-8 +40009640: 416787b3 sub a5,a5,s6 +40009644: 01241433 sll s0,s0,s2 +40009648: 00f4d7b3 srl a5,s1,a5 +4000964c: 0087eb33 or s6,a5,s0 +40009650: 01249933 sll s2,s1,s2 +40009654: c0d00a13 li s4,-1011 +40009658: 40aa0a33 sub s4,s4,a0 +4000965c: 00000493 li s1,0 +40009660: 00000c93 li s9,0 +40009664: e09ff06f j 4000946c <__divdf3+0x84> +40009668: 018466b3 or a3,s0,s8 +4000966c: 02069063 bnez a3,4000968c <__divdf3+0x2a4> +40009670: 00000413 li s0,0 +40009674: 00200793 li a5,2 +40009678: e39ff06f j 400094b0 <__divdf3+0xc8> +4000967c: 00000413 li s0,0 +40009680: 00000513 li a0,0 +40009684: 00100793 li a5,1 +40009688: e29ff06f j 400094b0 <__divdf3+0xc8> +4000968c: 000c0693 mv a3,s8 +40009690: 00300793 li a5,3 +40009694: e1dff06f j 400094b0 <__divdf3+0xc8> +40009698: 00000913 li s2,0 +4000969c: 00400493 li s1,4 +400096a0: 00000a13 li s4,0 +400096a4: 00100c93 li s9,1 +400096a8: dc5ff06f j 4000946c <__divdf3+0x84> +400096ac: 00048913 mv s2,s1 +400096b0: 00040b13 mv s6,s0 +400096b4: 00c00493 li s1,12 +400096b8: 00050a13 mv s4,a0 +400096bc: 00300c93 li s9,3 +400096c0: dadff06f j 4000946c <__divdf3+0x84> +400096c4: 00100737 lui a4,0x100 +400096c8: fff70793 addi a5,a4,-1 # fffff <_heap_size+0xfdfff> +400096cc: 00000613 li a2,0 +400096d0: fff00913 li s2,-1 +400096d4: 7ff00713 li a4,2047 +400096d8: e8dff06f j 40009564 <__divdf3+0x17c> +400096dc: 40e40433 sub s0,s0,a4 +400096e0: 03800793 li a5,56 +400096e4: 4887d463 ble s0,a5,40009b6c <__divdf3+0x784> +400096e8: 0015f613 andi a2,a1,1 +400096ec: 00000713 li a4,0 +400096f0: 00000793 li a5,0 +400096f4: 00000913 li s2,0 +400096f8: e6dff06f j 40009564 <__divdf3+0x17c> +400096fc: 09646863 bltu s0,s6,4000978c <__divdf3+0x3a4> +40009700: 088b0463 beq s6,s0,40009788 <__divdf3+0x3a0> +40009704: 00090613 mv a2,s2 +40009708: fff50513 addi a0,a0,-1 +4000970c: 000b0793 mv a5,s6 +40009710: 00000913 li s2,0 +40009714: 08c0006f j 400097a0 <__divdf3+0x3b8> +40009718: 008b6433 or s0,s6,s0 +4000971c: 00c41793 slli a5,s0,0xc +40009720: fa07c2e3 bltz a5,400096c4 <__divdf3+0x2dc> +40009724: 000807b7 lui a5,0x80 +40009728: 00100737 lui a4,0x100 +4000972c: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +40009730: 00fb67b3 or a5,s6,a5 +40009734: 00e7f7b3 and a5,a5,a4 +40009738: 00098613 mv a2,s3 +4000973c: 7ff00713 li a4,2047 +40009740: e25ff06f j 40009564 <__divdf3+0x17c> +40009744: fd850413 addi s0,a0,-40 +40009748: 00849b33 sll s6,s1,s0 +4000974c: 00000913 li s2,0 +40009750: f05ff06f j 40009654 <__divdf3+0x26c> +40009754: 00048513 mv a0,s1 +40009758: 649010ef jal ra,4000b5a0 <__clzsi2> +4000975c: 02050513 addi a0,a0,32 +40009760: 00c12683 lw a3,12(sp) +40009764: ec9ff06f j 4000962c <__divdf3+0x244> +40009768: fd850413 addi s0,a0,-40 +4000976c: 008c1433 sll s0,s8,s0 +40009770: 00000693 li a3,0 +40009774: dd5ff06f j 40009548 <__divdf3+0x160> +40009778: 000c0513 mv a0,s8 +4000977c: 625010ef jal ra,4000b5a0 <__clzsi2> +40009780: 02050513 addi a0,a0,32 +40009784: d9dff06f j 40009520 <__divdf3+0x138> +40009788: f6d96ee3 bltu s2,a3,40009704 <__divdf3+0x31c> +4000978c: 00195713 srli a4,s2,0x1 +40009790: 01fb1613 slli a2,s6,0x1f +40009794: 001b5793 srli a5,s6,0x1 +40009798: 00e66633 or a2,a2,a4 +4000979c: 01f91913 slli s2,s2,0x1f +400097a0: 0186d813 srli a6,a3,0x18 +400097a4: 00841413 slli s0,s0,0x8 +400097a8: 00886833 or a6,a6,s0 +400097ac: 01085893 srli a7,a6,0x10 +400097b0: 0317de33 divu t3,a5,a7 +400097b4: 01081313 slli t1,a6,0x10 +400097b8: 01035313 srli t1,t1,0x10 +400097bc: 01065713 srli a4,a2,0x10 +400097c0: 00869693 slli a3,a3,0x8 +400097c4: 0317f7b3 remu a5,a5,a7 +400097c8: 03c30eb3 mul t4,t1,t3 +400097cc: 01079793 slli a5,a5,0x10 +400097d0: 00f76733 or a4,a4,a5 +400097d4: 01d77e63 bleu t4,a4,400097f0 <__divdf3+0x408> +400097d8: 01070733 add a4,a4,a6 +400097dc: fffe0793 addi a5,t3,-1 +400097e0: 25076e63 bltu a4,a6,40009a3c <__divdf3+0x654> +400097e4: 25d77c63 bleu t4,a4,40009a3c <__divdf3+0x654> +400097e8: ffee0e13 addi t3,t3,-2 +400097ec: 01070733 add a4,a4,a6 +400097f0: 41d70733 sub a4,a4,t4 +400097f4: 03175433 divu s0,a4,a7 +400097f8: 01061613 slli a2,a2,0x10 +400097fc: 01065613 srli a2,a2,0x10 +40009800: 03177733 remu a4,a4,a7 +40009804: 02830f33 mul t5,t1,s0 +40009808: 01071713 slli a4,a4,0x10 +4000980c: 00e66733 or a4,a2,a4 +40009810: 01e77e63 bleu t5,a4,4000982c <__divdf3+0x444> +40009814: 01070733 add a4,a4,a6 +40009818: fff40793 addi a5,s0,-1 +4000981c: 21076c63 bltu a4,a6,40009a34 <__divdf3+0x64c> +40009820: 21e77a63 bleu t5,a4,40009a34 <__divdf3+0x64c> +40009824: ffe40413 addi s0,s0,-2 +40009828: 01070733 add a4,a4,a6 +4000982c: 010e1e13 slli t3,t3,0x10 +40009830: 000104b7 lui s1,0x10 +40009834: 008e6b33 or s6,t3,s0 +40009838: fff48e13 addi t3,s1,-1 # ffff <_heap_size+0xdfff> +4000983c: 01cb7fb3 and t6,s6,t3 +40009840: 010b5293 srli t0,s6,0x10 +40009844: 0106de93 srli t4,a3,0x10 +40009848: 01c6fe33 and t3,a3,t3 +4000984c: 03c28633 mul a2,t0,t3 +40009850: 41e70f33 sub t5,a4,t5 +40009854: 03cf83b3 mul t2,t6,t3 +40009858: 03fe87b3 mul a5,t4,t6 +4000985c: 0103d713 srli a4,t2,0x10 +40009860: 00c787b3 add a5,a5,a2 +40009864: 00f707b3 add a5,a4,a5 +40009868: 03d282b3 mul t0,t0,t4 +4000986c: 00c7f463 bleu a2,a5,40009874 <__divdf3+0x48c> +40009870: 009282b3 add t0,t0,s1 +40009874: 00010637 lui a2,0x10 +40009878: fff60613 addi a2,a2,-1 # ffff <_heap_size+0xdfff> +4000987c: 0107d713 srli a4,a5,0x10 +40009880: 00c7f7b3 and a5,a5,a2 +40009884: 01079793 slli a5,a5,0x10 +40009888: 00c3f3b3 and t2,t2,a2 +4000988c: 005702b3 add t0,a4,t0 +40009890: 007787b3 add a5,a5,t2 +40009894: 145f6a63 bltu t5,t0,400099e8 <__divdf3+0x600> +40009898: 405f0733 sub a4,t5,t0 +4000989c: 145f0263 beq t5,t0,400099e0 <__divdf3+0x5f8> +400098a0: 40f907b3 sub a5,s2,a5 +400098a4: 00f93933 sltu s2,s2,a5 +400098a8: 41270733 sub a4,a4,s2 +400098ac: 1ce80463 beq a6,a4,40009a74 <__divdf3+0x68c> +400098b0: 03175f33 divu t5,a4,a7 +400098b4: 0107d613 srli a2,a5,0x10 +400098b8: 03177733 remu a4,a4,a7 +400098bc: 03e30fb3 mul t6,t1,t5 +400098c0: 01071713 slli a4,a4,0x10 +400098c4: 00e66733 or a4,a2,a4 +400098c8: 01f77e63 bleu t6,a4,400098e4 <__divdf3+0x4fc> +400098cc: 01070733 add a4,a4,a6 +400098d0: ffff0613 addi a2,t5,-1 +400098d4: 25076463 bltu a4,a6,40009b1c <__divdf3+0x734> +400098d8: 25f77263 bleu t6,a4,40009b1c <__divdf3+0x734> +400098dc: ffef0f13 addi t5,t5,-2 +400098e0: 01070733 add a4,a4,a6 +400098e4: 41f70733 sub a4,a4,t6 +400098e8: 03175933 divu s2,a4,a7 +400098ec: 01079793 slli a5,a5,0x10 +400098f0: 0107d793 srli a5,a5,0x10 +400098f4: 03177733 remu a4,a4,a7 +400098f8: 03230333 mul t1,t1,s2 +400098fc: 01071713 slli a4,a4,0x10 +40009900: 00e7e7b3 or a5,a5,a4 +40009904: 0067fe63 bleu t1,a5,40009920 <__divdf3+0x538> +40009908: 010787b3 add a5,a5,a6 +4000990c: fff90713 addi a4,s2,-1 +40009910: 2107e263 bltu a5,a6,40009b14 <__divdf3+0x72c> +40009914: 2067f063 bleu t1,a5,40009b14 <__divdf3+0x72c> +40009918: ffe90913 addi s2,s2,-2 +4000991c: 010787b3 add a5,a5,a6 +40009920: 010f1f13 slli t5,t5,0x10 +40009924: 012f6933 or s2,t5,s2 +40009928: 01091613 slli a2,s2,0x10 +4000992c: 01095f13 srli t5,s2,0x10 +40009930: 01065613 srli a2,a2,0x10 +40009934: 02ce08b3 mul a7,t3,a2 +40009938: 406787b3 sub a5,a5,t1 +4000993c: 02ce8633 mul a2,t4,a2 +40009940: 0108d713 srli a4,a7,0x10 +40009944: 03cf0e33 mul t3,t5,t3 +40009948: 01c60633 add a2,a2,t3 +4000994c: 00c70733 add a4,a4,a2 +40009950: 03ee8eb3 mul t4,t4,t5 +40009954: 01c77663 bleu t3,a4,40009960 <__divdf3+0x578> +40009958: 00010637 lui a2,0x10 +4000995c: 00ce8eb3 add t4,t4,a2 +40009960: 00010337 lui t1,0x10 +40009964: fff30313 addi t1,t1,-1 # ffff <_heap_size+0xdfff> +40009968: 01075613 srli a2,a4,0x10 +4000996c: 00677733 and a4,a4,t1 +40009970: 01071713 slli a4,a4,0x10 +40009974: 0068f8b3 and a7,a7,t1 +40009978: 01d60eb3 add t4,a2,t4 +4000997c: 01170733 add a4,a4,a7 +40009980: 09d7fa63 bleu t4,a5,40009a14 <__divdf3+0x62c> +40009984: 00f807b3 add a5,a6,a5 +40009988: fff90613 addi a2,s2,-1 +4000998c: 1907fc63 bleu a6,a5,40009b24 <__divdf3+0x73c> +40009990: 00060913 mv s2,a2 +40009994: 0bd78c63 beq a5,t4,40009a4c <__divdf3+0x664> +40009998: 00196913 ori s2,s2,1 +4000999c: 3ff50713 addi a4,a0,1023 +400099a0: 0ee05063 blez a4,40009a80 <__divdf3+0x698> +400099a4: 00797793 andi a5,s2,7 +400099a8: 14079263 bnez a5,40009aec <__divdf3+0x704> +400099ac: 007b1793 slli a5,s6,0x7 +400099b0: 0007da63 bgez a5,400099c4 <__divdf3+0x5dc> +400099b4: ff0007b7 lui a5,0xff000 +400099b8: fff78793 addi a5,a5,-1 # feffffff <_bss_end+0xbeff3977> +400099bc: 00fb7b33 and s6,s6,a5 +400099c0: 40050713 addi a4,a0,1024 +400099c4: 7fe00793 li a5,2046 +400099c8: 08e7d663 ble a4,a5,40009a54 <__divdf3+0x66c> +400099cc: 0015f613 andi a2,a1,1 +400099d0: 7ff00713 li a4,2047 +400099d4: 00000793 li a5,0 +400099d8: 00000913 li s2,0 +400099dc: b89ff06f j 40009564 <__divdf3+0x17c> +400099e0: 00000713 li a4,0 +400099e4: eaf97ee3 bleu a5,s2,400098a0 <__divdf3+0x4b8> +400099e8: 00d90933 add s2,s2,a3 +400099ec: 00d93633 sltu a2,s2,a3 +400099f0: 01060633 add a2,a2,a6 +400099f4: 01e60633 add a2,a2,t5 +400099f8: fffb0f13 addi t5,s6,-1 # 7fffff <_heap_size+0x7fdfff> +400099fc: 02c87263 bleu a2,a6,40009a20 <__divdf3+0x638> +40009a00: 12566a63 bltu a2,t0,40009b34 <__divdf3+0x74c> +40009a04: 1cc28e63 beq t0,a2,40009be0 <__divdf3+0x7f8> +40009a08: 40560733 sub a4,a2,t0 +40009a0c: 000f0b13 mv s6,t5 +40009a10: e91ff06f j 400098a0 <__divdf3+0x4b8> +40009a14: f9d792e3 bne a5,t4,40009998 <__divdf3+0x5b0> +40009a18: f80702e3 beqz a4,4000999c <__divdf3+0x5b4> +40009a1c: f69ff06f j 40009984 <__divdf3+0x59c> +40009a20: fec814e3 bne a6,a2,40009a08 <__divdf3+0x620> +40009a24: fcd97ee3 bleu a3,s2,40009a00 <__divdf3+0x618> +40009a28: 40580733 sub a4,a6,t0 +40009a2c: 000f0b13 mv s6,t5 +40009a30: e71ff06f j 400098a0 <__divdf3+0x4b8> +40009a34: 00078413 mv s0,a5 +40009a38: df5ff06f j 4000982c <__divdf3+0x444> +40009a3c: 00078e13 mv t3,a5 +40009a40: db1ff06f j 400097f0 <__divdf3+0x408> +40009a44: 10e6e663 bltu a3,a4,40009b50 <__divdf3+0x768> +40009a48: 00060913 mv s2,a2 +40009a4c: f4d716e3 bne a4,a3,40009998 <__divdf3+0x5b0> +40009a50: f4dff06f j 4000999c <__divdf3+0x5b4> +40009a54: 00395913 srli s2,s2,0x3 +40009a58: 01db1693 slli a3,s6,0x1d +40009a5c: 009b1793 slli a5,s6,0x9 +40009a60: 0126e933 or s2,a3,s2 +40009a64: 00c7d793 srli a5,a5,0xc +40009a68: 7ff77713 andi a4,a4,2047 +40009a6c: 0015f613 andi a2,a1,1 +40009a70: af5ff06f j 40009564 <__divdf3+0x17c> +40009a74: 3ff50713 addi a4,a0,1023 +40009a78: fff00913 li s2,-1 +40009a7c: 06e04e63 bgtz a4,40009af8 <__divdf3+0x710> +40009a80: 00100413 li s0,1 +40009a84: c4071ce3 bnez a4,400096dc <__divdf3+0x2f4> +40009a88: 02000793 li a5,32 +40009a8c: 408787b3 sub a5,a5,s0 +40009a90: 00fb1733 sll a4,s6,a5 +40009a94: 008956b3 srl a3,s2,s0 +40009a98: 00f917b3 sll a5,s2,a5 +40009a9c: 00f037b3 snez a5,a5 +40009aa0: 00d76733 or a4,a4,a3 +40009aa4: 00f76733 or a4,a4,a5 +40009aa8: 00777793 andi a5,a4,7 +40009aac: 008b5433 srl s0,s6,s0 +40009ab0: 02078063 beqz a5,40009ad0 <__divdf3+0x6e8> +40009ab4: 00f77793 andi a5,a4,15 +40009ab8: 00400693 li a3,4 +40009abc: 00d78a63 beq a5,a3,40009ad0 <__divdf3+0x6e8> +40009ac0: 00470793 addi a5,a4,4 +40009ac4: 00e7b733 sltu a4,a5,a4 +40009ac8: 00e40433 add s0,s0,a4 +40009acc: 00078713 mv a4,a5 +40009ad0: 00841793 slli a5,s0,0x8 +40009ad4: 0e07d663 bgez a5,40009bc0 <__divdf3+0x7d8> +40009ad8: 0015f613 andi a2,a1,1 +40009adc: 00100713 li a4,1 +40009ae0: 00000793 li a5,0 +40009ae4: 00000913 li s2,0 +40009ae8: a7dff06f j 40009564 <__divdf3+0x17c> +40009aec: 00f97793 andi a5,s2,15 +40009af0: 00400693 li a3,4 +40009af4: ead78ce3 beq a5,a3,400099ac <__divdf3+0x5c4> +40009af8: 00490793 addi a5,s2,4 +40009afc: 0127b933 sltu s2,a5,s2 +40009b00: 012b0b33 add s6,s6,s2 +40009b04: 00078913 mv s2,a5 +40009b08: ea5ff06f j 400099ac <__divdf3+0x5c4> +40009b0c: 000a8593 mv a1,s5 +40009b10: e8dff06f j 4000999c <__divdf3+0x5b4> +40009b14: 00070913 mv s2,a4 +40009b18: e09ff06f j 40009920 <__divdf3+0x538> +40009b1c: 00060f13 mv t5,a2 +40009b20: dc5ff06f j 400098e4 <__divdf3+0x4fc> +40009b24: 03d7e663 bltu a5,t4,40009b50 <__divdf3+0x768> +40009b28: f0fe8ee3 beq t4,a5,40009a44 <__divdf3+0x65c> +40009b2c: 00060913 mv s2,a2 +40009b30: e69ff06f j 40009998 <__divdf3+0x5b0> +40009b34: 00d90933 add s2,s2,a3 +40009b38: 00d93733 sltu a4,s2,a3 +40009b3c: 01070733 add a4,a4,a6 +40009b40: 00c70733 add a4,a4,a2 +40009b44: ffeb0b13 addi s6,s6,-2 +40009b48: 40570733 sub a4,a4,t0 +40009b4c: d55ff06f j 400098a0 <__divdf3+0x4b8> +40009b50: 00169893 slli a7,a3,0x1 +40009b54: 00d8b6b3 sltu a3,a7,a3 +40009b58: 01068833 add a6,a3,a6 +40009b5c: ffe90613 addi a2,s2,-2 +40009b60: 010787b3 add a5,a5,a6 +40009b64: 00088693 mv a3,a7 +40009b68: e29ff06f j 40009990 <__divdf3+0x5a8> +40009b6c: 01f00793 li a5,31 +40009b70: f087dce3 ble s0,a5,40009a88 <__divdf3+0x6a0> +40009b74: fe100793 li a5,-31 +40009b78: 40e78733 sub a4,a5,a4 +40009b7c: 02000693 li a3,32 +40009b80: 00eb5733 srl a4,s6,a4 +40009b84: 00000793 li a5,0 +40009b88: 00d40863 beq s0,a3,40009b98 <__divdf3+0x7b0> +40009b8c: 04000793 li a5,64 +40009b90: 40878433 sub s0,a5,s0 +40009b94: 008b17b3 sll a5,s6,s0 +40009b98: 0127e7b3 or a5,a5,s2 +40009b9c: 00f037b3 snez a5,a5 +40009ba0: 00f76733 or a4,a4,a5 +40009ba4: 00777413 andi s0,a4,7 +40009ba8: 00000793 li a5,0 +40009bac: 02040063 beqz s0,40009bcc <__divdf3+0x7e4> +40009bb0: 00f77793 andi a5,a4,15 +40009bb4: 00400693 li a3,4 +40009bb8: 00000413 li s0,0 +40009bbc: f0d792e3 bne a5,a3,40009ac0 <__divdf3+0x6d8> +40009bc0: 00941793 slli a5,s0,0x9 +40009bc4: 00c7d793 srli a5,a5,0xc +40009bc8: 01d41413 slli s0,s0,0x1d +40009bcc: 00375713 srli a4,a4,0x3 +40009bd0: 00876933 or s2,a4,s0 +40009bd4: 0015f613 andi a2,a1,1 +40009bd8: 00000713 li a4,0 +40009bdc: 989ff06f j 40009564 <__divdf3+0x17c> +40009be0: f4f96ae3 bltu s2,a5,40009b34 <__divdf3+0x74c> +40009be4: 000f0b13 mv s6,t5 +40009be8: 00000713 li a4,0 +40009bec: cb5ff06f j 400098a0 <__divdf3+0x4b8> +40009bf0: 000a8613 mv a2,s5 +40009bf4: 7ff00713 li a4,2047 +40009bf8: 00000793 li a5,0 +40009bfc: 00000913 li s2,0 +40009c00: 965ff06f j 40009564 <__divdf3+0x17c> +40009c04: 00080737 lui a4,0x80 +40009c08: 00eb67b3 or a5,s6,a4 +40009c0c: 00100737 lui a4,0x100 +40009c10: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +40009c14: 00e7f7b3 and a5,a5,a4 +40009c18: 000a8613 mv a2,s5 +40009c1c: 7ff00713 li a4,2047 +40009c20: 945ff06f j 40009564 <__divdf3+0x17c> + +40009c24 <__eqdf2>: +40009c24: 0145d713 srli a4,a1,0x14 +40009c28: 001007b7 lui a5,0x100 +40009c2c: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +40009c30: 0146d813 srli a6,a3,0x14 +40009c34: 7ff00893 li a7,2047 +40009c38: 7ff77713 andi a4,a4,2047 +40009c3c: 00b7fe33 and t3,a5,a1 +40009c40: 00050313 mv t1,a0 +40009c44: 00d7f7b3 and a5,a5,a3 +40009c48: 00050e93 mv t4,a0 +40009c4c: 01f5d593 srli a1,a1,0x1f +40009c50: 00060f13 mv t5,a2 +40009c54: 01187833 and a6,a6,a7 +40009c58: 01f6d693 srli a3,a3,0x1f +40009c5c: 01170a63 beq a4,a7,40009c70 <__eqdf2+0x4c> +40009c60: 00100513 li a0,1 +40009c64: 01180463 beq a6,a7,40009c6c <__eqdf2+0x48> +40009c68: 03070063 beq a4,a6,40009c88 <__eqdf2+0x64> +40009c6c: 00008067 ret +40009c70: 00ae68b3 or a7,t3,a0 +40009c74: 00100513 li a0,1 +40009c78: fe089ae3 bnez a7,40009c6c <__eqdf2+0x48> +40009c7c: fee818e3 bne a6,a4,40009c6c <__eqdf2+0x48> +40009c80: 00c7e633 or a2,a5,a2 +40009c84: fe0614e3 bnez a2,40009c6c <__eqdf2+0x48> +40009c88: 00100513 li a0,1 +40009c8c: fefe10e3 bne t3,a5,40009c6c <__eqdf2+0x48> +40009c90: fdee9ee3 bne t4,t5,40009c6c <__eqdf2+0x48> +40009c94: 00000513 li a0,0 +40009c98: fcd58ae3 beq a1,a3,40009c6c <__eqdf2+0x48> +40009c9c: 00100513 li a0,1 +40009ca0: fc0716e3 bnez a4,40009c6c <__eqdf2+0x48> +40009ca4: 006e6533 or a0,t3,t1 +40009ca8: 00a03533 snez a0,a0 +40009cac: 00008067 ret + +40009cb0 <__gedf2>: +40009cb0: 0145d713 srli a4,a1,0x14 +40009cb4: 001007b7 lui a5,0x100 +40009cb8: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +40009cbc: 00050893 mv a7,a0 +40009cc0: 0146d813 srli a6,a3,0x14 +40009cc4: 7ff00513 li a0,2047 +40009cc8: 7ff77713 andi a4,a4,2047 +40009ccc: 00b7f333 and t1,a5,a1 +40009cd0: 00088e93 mv t4,a7 +40009cd4: 00d7f7b3 and a5,a5,a3 +40009cd8: 01f5d593 srli a1,a1,0x1f +40009cdc: 00060f13 mv t5,a2 +40009ce0: 00a87833 and a6,a6,a0 +40009ce4: 01f6d693 srli a3,a3,0x1f +40009ce8: 06a70a63 beq a4,a0,40009d5c <__gedf2+0xac> +40009cec: 7ff00513 li a0,2047 +40009cf0: 04a80463 beq a6,a0,40009d38 <__gedf2+0x88> +40009cf4: 02071263 bnez a4,40009d18 <__gedf2+0x68> +40009cf8: 011368b3 or a7,t1,a7 +40009cfc: 0018be13 seqz t3,a7 +40009d00: 04081663 bnez a6,40009d4c <__gedf2+0x9c> +40009d04: 00c7e633 or a2,a5,a2 +40009d08: 04061263 bnez a2,40009d4c <__gedf2+0x9c> +40009d0c: 00000513 li a0,0 +40009d10: 00089c63 bnez a7,40009d28 <__gedf2+0x78> +40009d14: 00008067 ret +40009d18: 00081663 bnez a6,40009d24 <__gedf2+0x74> +40009d1c: 00c7e633 or a2,a5,a2 +40009d20: 00060463 beqz a2,40009d28 <__gedf2+0x78> +40009d24: 04d58463 beq a1,a3,40009d6c <__gedf2+0xbc> +40009d28: 00b035b3 snez a1,a1 +40009d2c: 40b005b3 neg a1,a1 +40009d30: 0015e513 ori a0,a1,1 +40009d34: 00008067 ret +40009d38: 00c7ee33 or t3,a5,a2 +40009d3c: ffe00513 li a0,-2 +40009d40: fc0e1ae3 bnez t3,40009d14 <__gedf2+0x64> +40009d44: fc071ae3 bnez a4,40009d18 <__gedf2+0x68> +40009d48: fb1ff06f j 40009cf8 <__gedf2+0x48> +40009d4c: fff68513 addi a0,a3,-1 +40009d50: 00156513 ori a0,a0,1 +40009d54: fc0e08e3 beqz t3,40009d24 <__gedf2+0x74> +40009d58: 00008067 ret +40009d5c: 01136e33 or t3,t1,a7 +40009d60: ffe00513 li a0,-2 +40009d64: f80e04e3 beqz t3,40009cec <__gedf2+0x3c> +40009d68: 00008067 ret +40009d6c: 02e84063 blt a6,a4,40009d8c <__gedf2+0xdc> +40009d70: 01074863 blt a4,a6,40009d80 <__gedf2+0xd0> +40009d74: 0067ec63 bltu a5,t1,40009d8c <__gedf2+0xdc> +40009d78: 02f30663 beq t1,a5,40009da4 <__gedf2+0xf4> +40009d7c: 02f37063 bleu a5,t1,40009d9c <__gedf2+0xec> +40009d80: fff58593 addi a1,a1,-1 # 7fffff <_heap_size+0x7fdfff> +40009d84: 0015e513 ori a0,a1,1 +40009d88: 00008067 ret +40009d8c: 00b035b3 snez a1,a1 +40009d90: 40b007b3 neg a5,a1 +40009d94: 0017e513 ori a0,a5,1 +40009d98: 00008067 ret +40009d9c: 00000513 li a0,0 +40009da0: 00008067 ret +40009da4: ffdf64e3 bltu t5,t4,40009d8c <__gedf2+0xdc> +40009da8: 00000513 li a0,0 +40009dac: fdeeeae3 bltu t4,t5,40009d80 <__gedf2+0xd0> +40009db0: f65ff06f j 40009d14 <__gedf2+0x64> + +40009db4 <__ledf2>: +40009db4: 0145d713 srli a4,a1,0x14 +40009db8: 001007b7 lui a5,0x100 +40009dbc: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +40009dc0: 00050893 mv a7,a0 +40009dc4: 0146d813 srli a6,a3,0x14 +40009dc8: 7ff00513 li a0,2047 +40009dcc: 7ff77713 andi a4,a4,2047 +40009dd0: 00b7f333 and t1,a5,a1 +40009dd4: 00088e93 mv t4,a7 +40009dd8: 00d7f7b3 and a5,a5,a3 +40009ddc: 01f5d593 srli a1,a1,0x1f +40009de0: 00060f13 mv t5,a2 +40009de4: 00a87833 and a6,a6,a0 +40009de8: 01f6d693 srli a3,a3,0x1f +40009dec: 06a70463 beq a4,a0,40009e54 <__ledf2+0xa0> +40009df0: 7ff00513 li a0,2047 +40009df4: 04a80063 beq a6,a0,40009e34 <__ledf2+0x80> +40009df8: 02071263 bnez a4,40009e1c <__ledf2+0x68> +40009dfc: 011368b3 or a7,t1,a7 +40009e00: 0018be13 seqz t3,a7 +40009e04: 04081063 bnez a6,40009e44 <__ledf2+0x90> +40009e08: 00c7e633 or a2,a5,a2 +40009e0c: 02061c63 bnez a2,40009e44 <__ledf2+0x90> +40009e10: 00000513 li a0,0 +40009e14: 00089863 bnez a7,40009e24 <__ledf2+0x70> +40009e18: 00008067 ret +40009e1c: 04080463 beqz a6,40009e64 <__ledf2+0xb0> +40009e20: 04d58863 beq a1,a3,40009e70 <__ledf2+0xbc> +40009e24: 00b035b3 snez a1,a1 +40009e28: 40b005b3 neg a1,a1 +40009e2c: 0015e513 ori a0,a1,1 +40009e30: 00008067 ret +40009e34: 00c7ee33 or t3,a5,a2 +40009e38: 00200513 li a0,2 +40009e3c: fa0e0ee3 beqz t3,40009df8 <__ledf2+0x44> +40009e40: 00008067 ret +40009e44: fff68513 addi a0,a3,-1 +40009e48: 00156513 ori a0,a0,1 +40009e4c: fc0e0ae3 beqz t3,40009e20 <__ledf2+0x6c> +40009e50: 00008067 ret +40009e54: 01136e33 or t3,t1,a7 +40009e58: 00200513 li a0,2 +40009e5c: f80e0ae3 beqz t3,40009df0 <__ledf2+0x3c> +40009e60: 00008067 ret +40009e64: 00c7e633 or a2,a5,a2 +40009e68: fa061ce3 bnez a2,40009e20 <__ledf2+0x6c> +40009e6c: fb9ff06f j 40009e24 <__ledf2+0x70> +40009e70: 02e84063 blt a6,a4,40009e90 <__ledf2+0xdc> +40009e74: 01074863 blt a4,a6,40009e84 <__ledf2+0xd0> +40009e78: 0067ec63 bltu a5,t1,40009e90 <__ledf2+0xdc> +40009e7c: 02f30663 beq t1,a5,40009ea8 <__ledf2+0xf4> +40009e80: 02f37063 bleu a5,t1,40009ea0 <__ledf2+0xec> +40009e84: fff58593 addi a1,a1,-1 +40009e88: 0015e513 ori a0,a1,1 +40009e8c: 00008067 ret +40009e90: 00b035b3 snez a1,a1 +40009e94: 40b007b3 neg a5,a1 +40009e98: 0017e513 ori a0,a5,1 +40009e9c: 00008067 ret +40009ea0: 00000513 li a0,0 +40009ea4: 00008067 ret +40009ea8: ffdf64e3 bltu t5,t4,40009e90 <__ledf2+0xdc> +40009eac: 00000513 li a0,0 +40009eb0: fdeeeae3 bltu t4,t5,40009e84 <__ledf2+0xd0> +40009eb4: f65ff06f j 40009e18 <__ledf2+0x64> + +40009eb8 <__muldf3>: +40009eb8: fc010113 addi sp,sp,-64 +40009ebc: 02812c23 sw s0,56(sp) +40009ec0: 0145d813 srli a6,a1,0x14 +40009ec4: 00100437 lui s0,0x100 +40009ec8: 03212823 sw s2,48(sp) +40009ecc: 03612023 sw s6,32(sp) +40009ed0: 01712e23 sw s7,28(sp) +40009ed4: fff40413 addi s0,s0,-1 # fffff <_heap_size+0xfdfff> +40009ed8: 02112e23 sw ra,60(sp) +40009edc: 02912a23 sw s1,52(sp) +40009ee0: 03312623 sw s3,44(sp) +40009ee4: 03412423 sw s4,40(sp) +40009ee8: 03512223 sw s5,36(sp) +40009eec: 01812c23 sw s8,24(sp) +40009ef0: 7ff87813 andi a6,a6,2047 +40009ef4: 00050913 mv s2,a0 +40009ef8: 00060b93 mv s7,a2 +40009efc: 00b47433 and s0,s0,a1 +40009f00: 01f5db13 srli s6,a1,0x1f +40009f04: 1c080863 beqz a6,4000a0d4 <__muldf3+0x21c> +40009f08: 7ff00793 li a5,2047 +40009f0c: 08f80e63 beq a6,a5,40009fa8 <__muldf3+0xf0> +40009f10: 01d55793 srli a5,a0,0x1d +40009f14: 00800737 lui a4,0x800 +40009f18: 00341413 slli s0,s0,0x3 +40009f1c: 00e7e7b3 or a5,a5,a4 +40009f20: 0087e433 or s0,a5,s0 +40009f24: 00351a93 slli s5,a0,0x3 +40009f28: c0180993 addi s3,a6,-1023 +40009f2c: 00000913 li s2,0 +40009f30: 00000c13 li s8,0 +40009f34: 0146d513 srli a0,a3,0x14 +40009f38: 001004b7 lui s1,0x100 +40009f3c: fff48493 addi s1,s1,-1 # fffff <_heap_size+0xfdfff> +40009f40: 7ff57513 andi a0,a0,2047 +40009f44: 00d4f4b3 and s1,s1,a3 +40009f48: 01f6da13 srli s4,a3,0x1f +40009f4c: 08050863 beqz a0,40009fdc <__muldf3+0x124> +40009f50: 7ff00793 li a5,2047 +40009f54: 1cf50c63 beq a0,a5,4000a12c <__muldf3+0x274> +40009f58: 01dbd793 srli a5,s7,0x1d +40009f5c: 00800737 lui a4,0x800 +40009f60: 00349493 slli s1,s1,0x3 +40009f64: 00e7e7b3 or a5,a5,a4 +40009f68: 0097e4b3 or s1,a5,s1 +40009f6c: 003b9813 slli a6,s7,0x3 +40009f70: c0150513 addi a0,a0,-1023 +40009f74: 00000693 li a3,0 +40009f78: 00a98533 add a0,s3,a0 +40009f7c: 0126e7b3 or a5,a3,s2 +40009f80: 00f00713 li a4,15 +40009f84: 014b4633 xor a2,s6,s4 +40009f88: 00150593 addi a1,a0,1 +40009f8c: 22f76063 bltu a4,a5,4000a1ac <__muldf3+0x2f4> +40009f90: 4000c737 lui a4,0x4000c +40009f94: 00279793 slli a5,a5,0x2 +40009f98: af470713 addi a4,a4,-1292 # 4000baf4 <zeroes.4082+0x50> +40009f9c: 00e787b3 add a5,a5,a4 +40009fa0: 0007a783 lw a5,0(a5) +40009fa4: 00078067 jr a5 +40009fa8: 00a46ab3 or s5,s0,a0 +40009fac: 1a0a9463 bnez s5,4000a154 <__muldf3+0x29c> +40009fb0: 0146d513 srli a0,a3,0x14 +40009fb4: 001004b7 lui s1,0x100 +40009fb8: fff48493 addi s1,s1,-1 # fffff <_heap_size+0xfdfff> +40009fbc: 7ff57513 andi a0,a0,2047 +40009fc0: 00000413 li s0,0 +40009fc4: 00800913 li s2,8 +40009fc8: 00080993 mv s3,a6 +40009fcc: 00200c13 li s8,2 +40009fd0: 00d4f4b3 and s1,s1,a3 +40009fd4: 01f6da13 srli s4,a3,0x1f +40009fd8: f6051ce3 bnez a0,40009f50 <__muldf3+0x98> +40009fdc: 0174e833 or a6,s1,s7 +40009fe0: 18080463 beqz a6,4000a168 <__muldf3+0x2b0> +40009fe4: 44048063 beqz s1,4000a424 <__muldf3+0x56c> +40009fe8: 00048513 mv a0,s1 +40009fec: 5b4010ef jal ra,4000b5a0 <__clzsi2> +40009ff0: ff550713 addi a4,a0,-11 +40009ff4: 01c00793 li a5,28 +40009ff8: 40e7ce63 blt a5,a4,4000a414 <__muldf3+0x55c> +40009ffc: 01d00793 li a5,29 +4000a000: ff850813 addi a6,a0,-8 +4000a004: 40e787b3 sub a5,a5,a4 +4000a008: 010494b3 sll s1,s1,a6 +4000a00c: 00fbd7b3 srl a5,s7,a5 +4000a010: 0097e4b3 or s1,a5,s1 +4000a014: 010b9833 sll a6,s7,a6 +4000a018: c0d00793 li a5,-1011 +4000a01c: 40a78533 sub a0,a5,a0 +4000a020: 00000693 li a3,0 +4000a024: f55ff06f j 40009f78 <__muldf3+0xc0> +4000a028: 000a0613 mv a2,s4 +4000a02c: 00200793 li a5,2 +4000a030: 10f68863 beq a3,a5,4000a140 <__muldf3+0x288> +4000a034: 00300793 li a5,3 +4000a038: 52f68663 beq a3,a5,4000a564 <__muldf3+0x6ac> +4000a03c: 00100793 li a5,1 +4000a040: 48f69063 bne a3,a5,4000a4c0 <__muldf3+0x608> +4000a044: 00f67b33 and s6,a2,a5 +4000a048: 00000593 li a1,0 +4000a04c: 00000413 li s0,0 +4000a050: 00000a93 li s5,0 +4000a054: 001007b7 lui a5,0x100 +4000a058: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +4000a05c: 00f47433 and s0,s0,a5 +4000a060: 01459793 slli a5,a1,0x14 +4000a064: 801005b7 lui a1,0x80100 +4000a068: fff58593 addi a1,a1,-1 # 800fffff <_bss_end+0x400f3977> +4000a06c: 00b475b3 and a1,s0,a1 +4000a070: 03c12083 lw ra,60(sp) +4000a074: 80000437 lui s0,0x80000 +4000a078: fff44413 not s0,s0 +4000a07c: 00f5e5b3 or a1,a1,a5 +4000a080: 01fb1713 slli a4,s6,0x1f +4000a084: 0085f5b3 and a1,a1,s0 +4000a088: 000a8513 mv a0,s5 +4000a08c: 00e5e5b3 or a1,a1,a4 +4000a090: 03812403 lw s0,56(sp) +4000a094: 03412483 lw s1,52(sp) +4000a098: 03012903 lw s2,48(sp) +4000a09c: 02c12983 lw s3,44(sp) +4000a0a0: 02812a03 lw s4,40(sp) +4000a0a4: 02412a83 lw s5,36(sp) +4000a0a8: 02012b03 lw s6,32(sp) +4000a0ac: 01c12b83 lw s7,28(sp) +4000a0b0: 01812c03 lw s8,24(sp) +4000a0b4: 04010113 addi sp,sp,64 +4000a0b8: 00008067 ret +4000a0bc: 00100437 lui s0,0x100 +4000a0c0: 00000b13 li s6,0 +4000a0c4: fff40413 addi s0,s0,-1 # fffff <_heap_size+0xfdfff> +4000a0c8: fff00a93 li s5,-1 +4000a0cc: 7ff00593 li a1,2047 +4000a0d0: f85ff06f j 4000a054 <__muldf3+0x19c> +4000a0d4: 00a46ab3 or s5,s0,a0 +4000a0d8: 0a0a8663 beqz s5,4000a184 <__muldf3+0x2cc> +4000a0dc: 00d12623 sw a3,12(sp) +4000a0e0: 36040263 beqz s0,4000a444 <__muldf3+0x58c> +4000a0e4: 00040513 mv a0,s0 +4000a0e8: 4b8010ef jal ra,4000b5a0 <__clzsi2> +4000a0ec: 00c12683 lw a3,12(sp) +4000a0f0: ff550793 addi a5,a0,-11 +4000a0f4: 01c00713 li a4,28 +4000a0f8: 32f74e63 blt a4,a5,4000a434 <__muldf3+0x57c> +4000a0fc: 01d00713 li a4,29 +4000a100: ff850493 addi s1,a0,-8 +4000a104: 40f70733 sub a4,a4,a5 +4000a108: 00941433 sll s0,s0,s1 +4000a10c: 00e95733 srl a4,s2,a4 +4000a110: 00876433 or s0,a4,s0 +4000a114: 00991ab3 sll s5,s2,s1 +4000a118: c0d00813 li a6,-1011 +4000a11c: 40a809b3 sub s3,a6,a0 +4000a120: 00000913 li s2,0 +4000a124: 00000c13 li s8,0 +4000a128: e0dff06f j 40009f34 <__muldf3+0x7c> +4000a12c: 0174e833 or a6,s1,s7 +4000a130: 04081463 bnez a6,4000a178 <__muldf3+0x2c0> +4000a134: 00000493 li s1,0 +4000a138: 00200693 li a3,2 +4000a13c: e3dff06f j 40009f78 <__muldf3+0xc0> +4000a140: 00167b13 andi s6,a2,1 +4000a144: 7ff00593 li a1,2047 +4000a148: 00000413 li s0,0 +4000a14c: 00000a93 li s5,0 +4000a150: f05ff06f j 4000a054 <__muldf3+0x19c> +4000a154: 00050a93 mv s5,a0 +4000a158: 00c00913 li s2,12 +4000a15c: 00080993 mv s3,a6 +4000a160: 00300c13 li s8,3 +4000a164: dd1ff06f j 40009f34 <__muldf3+0x7c> +4000a168: 00000493 li s1,0 +4000a16c: 00000513 li a0,0 +4000a170: 00100693 li a3,1 +4000a174: e05ff06f j 40009f78 <__muldf3+0xc0> +4000a178: 000b8813 mv a6,s7 +4000a17c: 00300693 li a3,3 +4000a180: df9ff06f j 40009f78 <__muldf3+0xc0> +4000a184: 00000413 li s0,0 +4000a188: 00400913 li s2,4 +4000a18c: 00000993 li s3,0 +4000a190: 00100c13 li s8,1 +4000a194: da1ff06f j 40009f34 <__muldf3+0x7c> +4000a198: 00040493 mv s1,s0 +4000a19c: 000a8813 mv a6,s5 +4000a1a0: 000b0613 mv a2,s6 +4000a1a4: 000c0693 mv a3,s8 +4000a1a8: e85ff06f j 4000a02c <__muldf3+0x174> +4000a1ac: 00010e37 lui t3,0x10 +4000a1b0: fffe0713 addi a4,t3,-1 # ffff <_heap_size+0xdfff> +4000a1b4: 01085393 srli t2,a6,0x10 +4000a1b8: 010ad693 srli a3,s5,0x10 +4000a1bc: 00eaf7b3 and a5,s5,a4 +4000a1c0: 00e87833 and a6,a6,a4 +4000a1c4: 03078733 mul a4,a5,a6 +4000a1c8: 03068333 mul t1,a3,a6 +4000a1cc: 01075f13 srli t5,a4,0x10 +4000a1d0: 02f388b3 mul a7,t2,a5 +4000a1d4: 006888b3 add a7,a7,t1 +4000a1d8: 011f0f33 add t5,t5,a7 +4000a1dc: 027688b3 mul a7,a3,t2 +4000a1e0: 006f7463 bleu t1,t5,4000a1e8 <__muldf3+0x330> +4000a1e4: 01c888b3 add a7,a7,t3 +4000a1e8: 000102b7 lui t0,0x10 +4000a1ec: fff28e13 addi t3,t0,-1 # ffff <_heap_size+0xdfff> +4000a1f0: 0104df93 srli t6,s1,0x10 +4000a1f4: 01c4f4b3 and s1,s1,t3 +4000a1f8: 01cf7333 and t1,t5,t3 +4000a1fc: 01c77733 and a4,a4,t3 +4000a200: 01031313 slli t1,t1,0x10 +4000a204: 02978eb3 mul t4,a5,s1 +4000a208: 00e30333 add t1,t1,a4 +4000a20c: 010f5f13 srli t5,t5,0x10 +4000a210: 02ff8ab3 mul s5,t6,a5 +4000a214: 010ed713 srli a4,t4,0x10 +4000a218: 02968e33 mul t3,a3,s1 +4000a21c: 01ca8ab3 add s5,s5,t3 +4000a220: 01570ab3 add s5,a4,s5 +4000a224: 03f687b3 mul a5,a3,t6 +4000a228: 01caf463 bleu t3,s5,4000a230 <__muldf3+0x378> +4000a22c: 005787b3 add a5,a5,t0 +4000a230: 000106b7 lui a3,0x10 +4000a234: fff68913 addi s2,a3,-1 # ffff <_heap_size+0xdfff> +4000a238: 01045293 srli t0,s0,0x10 +4000a23c: 01247733 and a4,s0,s2 +4000a240: 012afe33 and t3,s5,s2 +4000a244: 012efeb3 and t4,t4,s2 +4000a248: 010e1e13 slli t3,t3,0x10 +4000a24c: 03070433 mul s0,a4,a6 +4000a250: 01de0e33 add t3,t3,t4 +4000a254: 010ada93 srli s5,s5,0x10 +4000a258: 00fa87b3 add a5,s5,a5 +4000a25c: 01cf0f33 add t5,t5,t3 +4000a260: 02e38933 mul s2,t2,a4 +4000a264: 01045e93 srli t4,s0,0x10 +4000a268: 03028833 mul a6,t0,a6 +4000a26c: 01090933 add s2,s2,a6 +4000a270: 012e8eb3 add t4,t4,s2 +4000a274: 025383b3 mul t2,t2,t0 +4000a278: 010ef463 bleu a6,t4,4000a280 <__muldf3+0x3c8> +4000a27c: 00d383b3 add t2,t2,a3 +4000a280: 00010937 lui s2,0x10 +4000a284: fff90813 addi a6,s2,-1 # ffff <_heap_size+0xdfff> +4000a288: 010ef6b3 and a3,t4,a6 +4000a28c: 01047433 and s0,s0,a6 +4000a290: 01069693 slli a3,a3,0x10 +4000a294: 008686b3 add a3,a3,s0 +4000a298: 010ede93 srli t4,t4,0x10 +4000a29c: 02970833 mul a6,a4,s1 +4000a2a0: 007e8eb3 add t4,t4,t2 +4000a2a4: 02ef8733 mul a4,t6,a4 +4000a2a8: 01085413 srli s0,a6,0x10 +4000a2ac: 029284b3 mul s1,t0,s1 +4000a2b0: 00970733 add a4,a4,s1 +4000a2b4: 00e40733 add a4,s0,a4 +4000a2b8: 025f8fb3 mul t6,t6,t0 +4000a2bc: 00977463 bleu s1,a4,4000a2c4 <__muldf3+0x40c> +4000a2c0: 012f8fb3 add t6,t6,s2 +4000a2c4: 000102b7 lui t0,0x10 +4000a2c8: fff28293 addi t0,t0,-1 # ffff <_heap_size+0xdfff> +4000a2cc: 00577433 and s0,a4,t0 +4000a2d0: 00587833 and a6,a6,t0 +4000a2d4: 01041413 slli s0,s0,0x10 +4000a2d8: 01e888b3 add a7,a7,t5 +4000a2dc: 01040433 add s0,s0,a6 +4000a2e0: 01c8be33 sltu t3,a7,t3 +4000a2e4: 00f40433 add s0,s0,a5 +4000a2e8: 011688b3 add a7,a3,a7 +4000a2ec: 008e02b3 add t0,t3,s0 +4000a2f0: 00d8b6b3 sltu a3,a7,a3 +4000a2f4: 005e8833 add a6,t4,t0 +4000a2f8: 01068f33 add t5,a3,a6 +4000a2fc: 00f437b3 sltu a5,s0,a5 +4000a300: 01c2b433 sltu s0,t0,t3 +4000a304: 0087e433 or s0,a5,s0 +4000a308: 01d83eb3 sltu t4,a6,t4 +4000a30c: 00df36b3 sltu a3,t5,a3 +4000a310: 01075713 srli a4,a4,0x10 +4000a314: 00e40433 add s0,s0,a4 +4000a318: 00dee6b3 or a3,t4,a3 +4000a31c: 00d40433 add s0,s0,a3 +4000a320: 00989813 slli a6,a7,0x9 +4000a324: 01f40433 add s0,s0,t6 +4000a328: 017f5493 srli s1,t5,0x17 +4000a32c: 00686833 or a6,a6,t1 +4000a330: 00941413 slli s0,s0,0x9 +4000a334: 01003833 snez a6,a6 +4000a338: 0178d893 srli a7,a7,0x17 +4000a33c: 009464b3 or s1,s0,s1 +4000a340: 01186833 or a6,a6,a7 +4000a344: 009f1f13 slli t5,t5,0x9 +4000a348: 00749793 slli a5,s1,0x7 +4000a34c: 01e86833 or a6,a6,t5 +4000a350: 0207d063 bgez a5,4000a370 <__muldf3+0x4b8> +4000a354: 00185793 srli a5,a6,0x1 +4000a358: 00187813 andi a6,a6,1 +4000a35c: 01f49713 slli a4,s1,0x1f +4000a360: 0107e833 or a6,a5,a6 +4000a364: 00e86833 or a6,a6,a4 +4000a368: 0014d493 srli s1,s1,0x1 +4000a36c: 00058513 mv a0,a1 +4000a370: 3ff50593 addi a1,a0,1023 +4000a374: 0eb05063 blez a1,4000a454 <__muldf3+0x59c> +4000a378: 00787793 andi a5,a6,7 +4000a37c: 02078063 beqz a5,4000a39c <__muldf3+0x4e4> +4000a380: 00f87793 andi a5,a6,15 +4000a384: 00400713 li a4,4 +4000a388: 00e78a63 beq a5,a4,4000a39c <__muldf3+0x4e4> +4000a38c: 00e807b3 add a5,a6,a4 +4000a390: 0107b833 sltu a6,a5,a6 +4000a394: 010484b3 add s1,s1,a6 +4000a398: 00078813 mv a6,a5 +4000a39c: 00749793 slli a5,s1,0x7 +4000a3a0: 0007da63 bgez a5,4000a3b4 <__muldf3+0x4fc> +4000a3a4: ff0007b7 lui a5,0xff000 +4000a3a8: fff78793 addi a5,a5,-1 # feffffff <_bss_end+0xbeff3977> +4000a3ac: 00f4f4b3 and s1,s1,a5 +4000a3b0: 40050593 addi a1,a0,1024 +4000a3b4: 7fe00793 li a5,2046 +4000a3b8: d8b7c4e3 blt a5,a1,4000a140 <__muldf3+0x288> +4000a3bc: 00385813 srli a6,a6,0x3 +4000a3c0: 01d49793 slli a5,s1,0x1d +4000a3c4: 00949413 slli s0,s1,0x9 +4000a3c8: 0107eab3 or s5,a5,a6 +4000a3cc: 00c45413 srli s0,s0,0xc +4000a3d0: 7ff5f593 andi a1,a1,2047 +4000a3d4: 00167b13 andi s6,a2,1 +4000a3d8: c7dff06f j 4000a054 <__muldf3+0x19c> +4000a3dc: 00040493 mv s1,s0 +4000a3e0: 000a8813 mv a6,s5 +4000a3e4: 000c0693 mv a3,s8 +4000a3e8: c45ff06f j 4000a02c <__muldf3+0x174> +4000a3ec: 009464b3 or s1,s0,s1 +4000a3f0: 00c49793 slli a5,s1,0xc +4000a3f4: cc07c4e3 bltz a5,4000a0bc <__muldf3+0x204> +4000a3f8: 000807b7 lui a5,0x80 +4000a3fc: 00f46433 or s0,s0,a5 +4000a400: 001007b7 lui a5,0x100 +4000a404: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +4000a408: 00f47433 and s0,s0,a5 +4000a40c: 7ff00593 li a1,2047 +4000a410: c45ff06f j 4000a054 <__muldf3+0x19c> +4000a414: fd850493 addi s1,a0,-40 +4000a418: 009b94b3 sll s1,s7,s1 +4000a41c: 00000813 li a6,0 +4000a420: bf9ff06f j 4000a018 <__muldf3+0x160> +4000a424: 000b8513 mv a0,s7 +4000a428: 178010ef jal ra,4000b5a0 <__clzsi2> +4000a42c: 02050513 addi a0,a0,32 +4000a430: bc1ff06f j 40009ff0 <__muldf3+0x138> +4000a434: fd850413 addi s0,a0,-40 +4000a438: 00891433 sll s0,s2,s0 +4000a43c: 00000a93 li s5,0 +4000a440: cd9ff06f j 4000a118 <__muldf3+0x260> +4000a444: 15c010ef jal ra,4000b5a0 <__clzsi2> +4000a448: 02050513 addi a0,a0,32 +4000a44c: 00c12683 lw a3,12(sp) +4000a450: ca1ff06f j 4000a0f0 <__muldf3+0x238> +4000a454: 00100713 li a4,1 +4000a458: 06059863 bnez a1,4000a4c8 <__muldf3+0x610> +4000a45c: 02000793 li a5,32 +4000a460: 40e787b3 sub a5,a5,a4 +4000a464: 00f496b3 sll a3,s1,a5 +4000a468: 00e855b3 srl a1,a6,a4 +4000a46c: 00f817b3 sll a5,a6,a5 +4000a470: 00f037b3 snez a5,a5 +4000a474: 00b6e6b3 or a3,a3,a1 +4000a478: 00f6e6b3 or a3,a3,a5 +4000a47c: 0076f793 andi a5,a3,7 +4000a480: 00e4d4b3 srl s1,s1,a4 +4000a484: 02078063 beqz a5,4000a4a4 <__muldf3+0x5ec> +4000a488: 00f6f793 andi a5,a3,15 +4000a48c: 00400713 li a4,4 +4000a490: 00e78a63 beq a5,a4,4000a4a4 <__muldf3+0x5ec> +4000a494: 00068793 mv a5,a3 +4000a498: 00478693 addi a3,a5,4 +4000a49c: 00f6b7b3 sltu a5,a3,a5 +4000a4a0: 00f484b3 add s1,s1,a5 +4000a4a4: 00849793 slli a5,s1,0x8 +4000a4a8: 0807dc63 bgez a5,4000a540 <__muldf3+0x688> +4000a4ac: 00167b13 andi s6,a2,1 +4000a4b0: 00100593 li a1,1 +4000a4b4: 00000413 li s0,0 +4000a4b8: 00000a93 li s5,0 +4000a4bc: b99ff06f j 4000a054 <__muldf3+0x19c> +4000a4c0: 00058513 mv a0,a1 +4000a4c4: eadff06f j 4000a370 <__muldf3+0x4b8> +4000a4c8: 40b70733 sub a4,a4,a1 +4000a4cc: 03800793 li a5,56 +4000a4d0: 00e7dc63 ble a4,a5,4000a4e8 <__muldf3+0x630> +4000a4d4: 00167b13 andi s6,a2,1 +4000a4d8: 00000593 li a1,0 +4000a4dc: 00000413 li s0,0 +4000a4e0: 00000a93 li s5,0 +4000a4e4: b71ff06f j 4000a054 <__muldf3+0x19c> +4000a4e8: 01f00793 li a5,31 +4000a4ec: f6e7d8e3 ble a4,a5,4000a45c <__muldf3+0x5a4> +4000a4f0: fe100793 li a5,-31 +4000a4f4: 40b787b3 sub a5,a5,a1 +4000a4f8: 02000593 li a1,32 +4000a4fc: 00f4d7b3 srl a5,s1,a5 +4000a500: 00000693 li a3,0 +4000a504: 00b70863 beq a4,a1,4000a514 <__muldf3+0x65c> +4000a508: 04000693 li a3,64 +4000a50c: 40e68733 sub a4,a3,a4 +4000a510: 00e496b3 sll a3,s1,a4 +4000a514: 0106e733 or a4,a3,a6 +4000a518: 00e03733 snez a4,a4 +4000a51c: 00e7e7b3 or a5,a5,a4 +4000a520: 0077f493 andi s1,a5,7 +4000a524: 00000413 li s0,0 +4000a528: 02048463 beqz s1,4000a550 <__muldf3+0x698> +4000a52c: 00f7f713 andi a4,a5,15 +4000a530: 00400693 li a3,4 +4000a534: 00000493 li s1,0 +4000a538: f6d710e3 bne a4,a3,4000a498 <__muldf3+0x5e0> +4000a53c: 00078693 mv a3,a5 +4000a540: 00949413 slli s0,s1,0x9 +4000a544: 00c45413 srli s0,s0,0xc +4000a548: 01d49493 slli s1,s1,0x1d +4000a54c: 00068793 mv a5,a3 +4000a550: 0037d793 srli a5,a5,0x3 +4000a554: 0097eab3 or s5,a5,s1 +4000a558: 00167b13 andi s6,a2,1 +4000a55c: 00000593 li a1,0 +4000a560: af5ff06f j 4000a054 <__muldf3+0x19c> +4000a564: 000807b7 lui a5,0x80 +4000a568: 00f4e433 or s0,s1,a5 +4000a56c: 001007b7 lui a5,0x100 +4000a570: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +4000a574: 00f47433 and s0,s0,a5 +4000a578: 00167b13 andi s6,a2,1 +4000a57c: 00080a93 mv s5,a6 +4000a580: 7ff00593 li a1,2047 +4000a584: ad1ff06f j 4000a054 <__muldf3+0x19c> + +4000a588 <__subdf3>: +4000a588: 00100737 lui a4,0x100 +4000a58c: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +4000a590: fe010113 addi sp,sp,-32 +4000a594: 00b777b3 and a5,a4,a1 +4000a598: 00d778b3 and a7,a4,a3 +4000a59c: 0146de13 srli t3,a3,0x14 +4000a5a0: 00379313 slli t1,a5,0x3 +4000a5a4: 01d65e93 srli t4,a2,0x1d +4000a5a8: 00912a23 sw s1,20(sp) +4000a5ac: 01212823 sw s2,16(sp) +4000a5b0: 0145d713 srli a4,a1,0x14 +4000a5b4: 01f5d813 srli a6,a1,0x1f +4000a5b8: 01d55793 srli a5,a0,0x1d +4000a5bc: 00389893 slli a7,a7,0x3 +4000a5c0: 7ff00f13 li t5,2047 +4000a5c4: 00112e23 sw ra,28(sp) +4000a5c8: 00812c23 sw s0,24(sp) +4000a5cc: 01312623 sw s3,12(sp) +4000a5d0: 7ffe7e13 andi t3,t3,2047 +4000a5d4: 0067e7b3 or a5,a5,t1 +4000a5d8: 01e774b3 and s1,a4,t5 +4000a5dc: 00080913 mv s2,a6 +4000a5e0: 00351313 slli t1,a0,0x3 +4000a5e4: 01f6d693 srli a3,a3,0x1f +4000a5e8: 011ee8b3 or a7,t4,a7 +4000a5ec: 00361613 slli a2,a2,0x3 +4000a5f0: 0bee0a63 beq t3,t5,4000a6a4 <__subdf3+0x11c> +4000a5f4: 0016c693 xori a3,a3,1 +4000a5f8: 11068263 beq a3,a6,4000a6fc <__subdf3+0x174> +4000a5fc: 41c48eb3 sub t4,s1,t3 +4000a600: 31d05663 blez t4,4000a90c <__subdf3+0x384> +4000a604: 0a0e1863 bnez t3,4000a6b4 <__subdf3+0x12c> +4000a608: 00c8e733 or a4,a7,a2 +4000a60c: 10071a63 bnez a4,4000a720 <__subdf3+0x198> +4000a610: 7ff00713 li a4,2047 +4000a614: 000e8493 mv s1,t4 +4000a618: 3eee8063 beq t4,a4,4000a9f8 <__subdf3+0x470> +4000a61c: 00879713 slli a4,a5,0x8 +4000a620: 1c075863 bgez a4,4000a7f0 <__subdf3+0x268> +4000a624: 00148713 addi a4,s1,1 +4000a628: 7ff00693 li a3,2047 +4000a62c: 36d70463 beq a4,a3,4000a994 <__subdf3+0x40c> +4000a630: ff8006b7 lui a3,0xff800 +4000a634: fff68693 addi a3,a3,-1 # ff7fffff <_bss_end+0xbf7f3977> +4000a638: 00d7f7b3 and a5,a5,a3 +4000a63c: 01d79693 slli a3,a5,0x1d +4000a640: 00335313 srli t1,t1,0x3 +4000a644: 00979793 slli a5,a5,0x9 +4000a648: 0066e533 or a0,a3,t1 +4000a64c: 00c7d793 srli a5,a5,0xc +4000a650: 7ff77713 andi a4,a4,2047 +4000a654: 001005b7 lui a1,0x100 +4000a658: fff58593 addi a1,a1,-1 # fffff <_heap_size+0xfdfff> +4000a65c: 00b7f7b3 and a5,a5,a1 +4000a660: 801005b7 lui a1,0x80100 +4000a664: fff58593 addi a1,a1,-1 # 800fffff <_bss_end+0x400f3977> +4000a668: 00b7f5b3 and a1,a5,a1 +4000a66c: 01471713 slli a4,a4,0x14 +4000a670: 800007b7 lui a5,0x80000 +4000a674: 01c12083 lw ra,28(sp) +4000a678: 00e5e5b3 or a1,a1,a4 +4000a67c: fff7c793 not a5,a5 +4000a680: 01f81813 slli a6,a6,0x1f +4000a684: 00f5f5b3 and a1,a1,a5 +4000a688: 0105e5b3 or a1,a1,a6 +4000a68c: 01812403 lw s0,24(sp) +4000a690: 01412483 lw s1,20(sp) +4000a694: 01012903 lw s2,16(sp) +4000a698: 00c12983 lw s3,12(sp) +4000a69c: 02010113 addi sp,sp,32 +4000a6a0: 00008067 ret +4000a6a4: 00c8e733 or a4,a7,a2 +4000a6a8: f40718e3 bnez a4,4000a5f8 <__subdf3+0x70> +4000a6ac: 0016c693 xori a3,a3,1 +4000a6b0: f49ff06f j 4000a5f8 <__subdf3+0x70> +4000a6b4: 008006b7 lui a3,0x800 +4000a6b8: 7ff00713 li a4,2047 +4000a6bc: 00d8e8b3 or a7,a7,a3 +4000a6c0: 22e48263 beq s1,a4,4000a8e4 <__subdf3+0x35c> +4000a6c4: 03800713 li a4,56 +4000a6c8: 17d74263 blt a4,t4,4000a82c <__subdf3+0x2a4> +4000a6cc: 01f00713 li a4,31 +4000a6d0: 37d74863 blt a4,t4,4000aa40 <__subdf3+0x4b8> +4000a6d4: 02000713 li a4,32 +4000a6d8: 41d70733 sub a4,a4,t4 +4000a6dc: 01d656b3 srl a3,a2,t4 +4000a6e0: 00e899b3 sll s3,a7,a4 +4000a6e4: 00e61633 sll a2,a2,a4 +4000a6e8: 00d9e9b3 or s3,s3,a3 +4000a6ec: 00c036b3 snez a3,a2 +4000a6f0: 00d9e6b3 or a3,s3,a3 +4000a6f4: 01d8deb3 srl t4,a7,t4 +4000a6f8: 1400006f j 4000a838 <__subdf3+0x2b0> +4000a6fc: 41c48733 sub a4,s1,t3 +4000a700: 2ae05063 blez a4,4000a9a0 <__subdf3+0x418> +4000a704: 160e1663 bnez t3,4000a870 <__subdf3+0x2e8> +4000a708: 00c8e6b3 or a3,a7,a2 +4000a70c: 3e069263 bnez a3,4000aaf0 <__subdf3+0x568> +4000a710: 7ff00693 li a3,2047 +4000a714: 4ad70e63 beq a4,a3,4000abd0 <__subdf3+0x648> +4000a718: 00070493 mv s1,a4 +4000a71c: f01ff06f j 4000a61c <__subdf3+0x94> +4000a720: fffe8713 addi a4,t4,-1 +4000a724: 2c071263 bnez a4,4000a9e8 <__subdf3+0x460> +4000a728: 40c309b3 sub s3,t1,a2 +4000a72c: 411787b3 sub a5,a5,a7 +4000a730: 01333333 sltu t1,t1,s3 +4000a734: 406787b3 sub a5,a5,t1 +4000a738: 00100493 li s1,1 +4000a73c: 00879713 slli a4,a5,0x8 +4000a740: 10075863 bgez a4,4000a850 <__subdf3+0x2c8> +4000a744: 00800637 lui a2,0x800 +4000a748: fff60613 addi a2,a2,-1 # 7fffff <_heap_size+0x7fdfff> +4000a74c: 00c7f433 and s0,a5,a2 +4000a750: 20040063 beqz s0,4000a950 <__subdf3+0x3c8> +4000a754: 00040513 mv a0,s0 +4000a758: 649000ef jal ra,4000b5a0 <__clzsi2> +4000a75c: ff850713 addi a4,a0,-8 +4000a760: 01f00793 li a5,31 +4000a764: 20e7c263 blt a5,a4,4000a968 <__subdf3+0x3e0> +4000a768: 02000793 li a5,32 +4000a76c: 40e787b3 sub a5,a5,a4 +4000a770: 00f9d7b3 srl a5,s3,a5 +4000a774: 00e41633 sll a2,s0,a4 +4000a778: 00c7e7b3 or a5,a5,a2 +4000a77c: 00e999b3 sll s3,s3,a4 +4000a780: 1e974c63 blt a4,s1,4000a978 <__subdf3+0x3f0> +4000a784: 40970733 sub a4,a4,s1 +4000a788: 00170613 addi a2,a4,1 +4000a78c: 01f00693 li a3,31 +4000a790: 26c6cc63 blt a3,a2,4000aa08 <__subdf3+0x480> +4000a794: 02000713 li a4,32 +4000a798: 40c70733 sub a4,a4,a2 +4000a79c: 00e996b3 sll a3,s3,a4 +4000a7a0: 00c9d5b3 srl a1,s3,a2 +4000a7a4: 00e79733 sll a4,a5,a4 +4000a7a8: 00b76733 or a4,a4,a1 +4000a7ac: 00d036b3 snez a3,a3 +4000a7b0: 00d769b3 or s3,a4,a3 +4000a7b4: 00c7d7b3 srl a5,a5,a2 +4000a7b8: 0079f713 andi a4,s3,7 +4000a7bc: 00197813 andi a6,s2,1 +4000a7c0: 00000493 li s1,0 +4000a7c4: 00098313 mv t1,s3 +4000a7c8: e4070ae3 beqz a4,4000a61c <__subdf3+0x94> +4000a7cc: 00f9f713 andi a4,s3,15 +4000a7d0: 00400693 li a3,4 +4000a7d4: 00098313 mv t1,s3 +4000a7d8: e4d702e3 beq a4,a3,4000a61c <__subdf3+0x94> +4000a7dc: 00d98333 add t1,s3,a3 +4000a7e0: 013336b3 sltu a3,t1,s3 +4000a7e4: 00d787b3 add a5,a5,a3 +4000a7e8: 00879713 slli a4,a5,0x8 +4000a7ec: e2074ce3 bltz a4,4000a624 <__subdf3+0x9c> +4000a7f0: 00335693 srli a3,t1,0x3 +4000a7f4: 7ff00713 li a4,2047 +4000a7f8: 01d79313 slli t1,a5,0x1d +4000a7fc: 0066e533 or a0,a3,t1 +4000a800: 0037d793 srli a5,a5,0x3 +4000a804: 0ee49a63 bne s1,a4,4000a8f8 <__subdf3+0x370> +4000a808: 00f56733 or a4,a0,a5 +4000a80c: 5a070e63 beqz a4,4000adc8 <__subdf3+0x840> +4000a810: 00080737 lui a4,0x80 +4000a814: 00e7e7b3 or a5,a5,a4 +4000a818: 00100737 lui a4,0x100 +4000a81c: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +4000a820: 00e7f7b3 and a5,a5,a4 +4000a824: 00048713 mv a4,s1 +4000a828: e2dff06f j 4000a654 <__subdf3+0xcc> +4000a82c: 00c8e633 or a2,a7,a2 +4000a830: 00c036b3 snez a3,a2 +4000a834: 00000e93 li t4,0 +4000a838: 40d309b3 sub s3,t1,a3 +4000a83c: 41d787b3 sub a5,a5,t4 +4000a840: 01333333 sltu t1,t1,s3 +4000a844: 406787b3 sub a5,a5,t1 +4000a848: 00879713 slli a4,a5,0x8 +4000a84c: ee074ce3 bltz a4,4000a744 <__subdf3+0x1bc> +4000a850: 0079f713 andi a4,s3,7 +4000a854: 00197813 andi a6,s2,1 +4000a858: f6071ae3 bnez a4,4000a7cc <__subdf3+0x244> +4000a85c: 01d79313 slli t1,a5,0x1d +4000a860: 0039d693 srli a3,s3,0x3 +4000a864: 0066e533 or a0,a3,t1 +4000a868: 0037d793 srli a5,a5,0x3 +4000a86c: 0840006f j 4000a8f0 <__subdf3+0x368> +4000a870: 008005b7 lui a1,0x800 +4000a874: 7ff00693 li a3,2047 +4000a878: 00b8e8b3 or a7,a7,a1 +4000a87c: 06d48463 beq s1,a3,4000a8e4 <__subdf3+0x35c> +4000a880: 03800693 li a3,56 +4000a884: 28e6dc63 ble a4,a3,4000ab1c <__subdf3+0x594> +4000a888: 00c8e633 or a2,a7,a2 +4000a88c: 00c036b3 snez a3,a2 +4000a890: 00000893 li a7,0 +4000a894: 006689b3 add s3,a3,t1 +4000a898: 00f887b3 add a5,a7,a5 +4000a89c: 0069b333 sltu t1,s3,t1 +4000a8a0: 006787b3 add a5,a5,t1 +4000a8a4: 00879713 slli a4,a5,0x8 +4000a8a8: fa0754e3 bgez a4,4000a850 <__subdf3+0x2c8> +4000a8ac: 00148493 addi s1,s1,1 +4000a8b0: 7ff00713 li a4,2047 +4000a8b4: 3ce48463 beq s1,a4,4000ac7c <__subdf3+0x6f4> +4000a8b8: ff800737 lui a4,0xff800 +4000a8bc: fff70713 addi a4,a4,-1 # ff7fffff <_bss_end+0xbf7f3977> +4000a8c0: 00e7f7b3 and a5,a5,a4 +4000a8c4: 0019f693 andi a3,s3,1 +4000a8c8: 0019d713 srli a4,s3,0x1 +4000a8cc: 00d766b3 or a3,a4,a3 +4000a8d0: 01f79993 slli s3,a5,0x1f +4000a8d4: 00d9e9b3 or s3,s3,a3 +4000a8d8: 0017d793 srli a5,a5,0x1 +4000a8dc: 0079f713 andi a4,s3,7 +4000a8e0: ee5ff06f j 4000a7c4 <__subdf3+0x23c> +4000a8e4: 0067e533 or a0,a5,t1 +4000a8e8: d2051ae3 bnez a0,4000a61c <__subdf3+0x94> +4000a8ec: 00000793 li a5,0 +4000a8f0: 7ff00713 li a4,2047 +4000a8f4: f0e48ae3 beq s1,a4,4000a808 <__subdf3+0x280> +4000a8f8: 00100737 lui a4,0x100 +4000a8fc: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +4000a900: 00e7f7b3 and a5,a5,a4 +4000a904: 7ff4f713 andi a4,s1,2047 +4000a908: d4dff06f j 4000a654 <__subdf3+0xcc> +4000a90c: 160e9263 bnez t4,4000aa70 <__subdf3+0x4e8> +4000a910: 00148713 addi a4,s1,1 +4000a914: 7ff77713 andi a4,a4,2047 +4000a918: 00100593 li a1,1 +4000a91c: 2ce5d463 ble a4,a1,4000abe4 <__subdf3+0x65c> +4000a920: 40c309b3 sub s3,t1,a2 +4000a924: 01333733 sltu a4,t1,s3 +4000a928: 41178433 sub s0,a5,a7 +4000a92c: 40e40433 sub s0,s0,a4 +4000a930: 00841713 slli a4,s0,0x8 +4000a934: 1a075263 bgez a4,4000aad8 <__subdf3+0x550> +4000a938: 406609b3 sub s3,a2,t1 +4000a93c: 40f887b3 sub a5,a7,a5 +4000a940: 01363633 sltu a2,a2,s3 +4000a944: 40c78433 sub s0,a5,a2 +4000a948: 00068913 mv s2,a3 +4000a94c: e00414e3 bnez s0,4000a754 <__subdf3+0x1cc> +4000a950: 00098513 mv a0,s3 +4000a954: 44d000ef jal ra,4000b5a0 <__clzsi2> +4000a958: 02050513 addi a0,a0,32 +4000a95c: ff850713 addi a4,a0,-8 +4000a960: 01f00793 li a5,31 +4000a964: e0e7d2e3 ble a4,a5,4000a768 <__subdf3+0x1e0> +4000a968: fd850793 addi a5,a0,-40 +4000a96c: 00f997b3 sll a5,s3,a5 +4000a970: 00000993 li s3,0 +4000a974: e09758e3 ble s1,a4,4000a784 <__subdf3+0x1fc> +4000a978: 40e484b3 sub s1,s1,a4 +4000a97c: ff800737 lui a4,0xff800 +4000a980: fff70713 addi a4,a4,-1 # ff7fffff <_bss_end+0xbf7f3977> +4000a984: 00e7f7b3 and a5,a5,a4 +4000a988: 00197813 andi a6,s2,1 +4000a98c: 0079f713 andi a4,s3,7 +4000a990: e35ff06f j 4000a7c4 <__subdf3+0x23c> +4000a994: 00000793 li a5,0 +4000a998: 00000513 li a0,0 +4000a99c: cb9ff06f j 4000a654 <__subdf3+0xcc> +4000a9a0: 28071c63 bnez a4,4000ac38 <__subdf3+0x6b0> +4000a9a4: 00148593 addi a1,s1,1 +4000a9a8: 7ff5f713 andi a4,a1,2047 +4000a9ac: 00100693 li a3,1 +4000a9b0: 1ce6de63 ble a4,a3,4000ab8c <__subdf3+0x604> +4000a9b4: 7ff00713 li a4,2047 +4000a9b8: 32e58263 beq a1,a4,4000acdc <__subdf3+0x754> +4000a9bc: 00c30633 add a2,t1,a2 +4000a9c0: 00663333 sltu t1,a2,t1 +4000a9c4: 011787b3 add a5,a5,a7 +4000a9c8: 006787b3 add a5,a5,t1 +4000a9cc: 01f79693 slli a3,a5,0x1f +4000a9d0: 00165613 srli a2,a2,0x1 +4000a9d4: 00c6e9b3 or s3,a3,a2 +4000a9d8: 0017d793 srli a5,a5,0x1 +4000a9dc: 0079f713 andi a4,s3,7 +4000a9e0: 00058493 mv s1,a1 +4000a9e4: de1ff06f j 4000a7c4 <__subdf3+0x23c> +4000a9e8: 7ff00693 li a3,2047 +4000a9ec: 00de8663 beq t4,a3,4000a9f8 <__subdf3+0x470> +4000a9f0: 00070e93 mv t4,a4 +4000a9f4: cd1ff06f j 4000a6c4 <__subdf3+0x13c> +4000a9f8: 0067e533 or a0,a5,t1 +4000a9fc: 14050863 beqz a0,4000ab4c <__subdf3+0x5c4> +4000aa00: 7ff00493 li s1,2047 +4000aa04: c19ff06f j 4000a61c <__subdf3+0x94> +4000aa08: fe170713 addi a4,a4,-31 +4000aa0c: 02000593 li a1,32 +4000aa10: 00e7d733 srl a4,a5,a4 +4000aa14: 00000693 li a3,0 +4000aa18: 00b60863 beq a2,a1,4000aa28 <__subdf3+0x4a0> +4000aa1c: 04000693 li a3,64 +4000aa20: 40c686b3 sub a3,a3,a2 +4000aa24: 00d796b3 sll a3,a5,a3 +4000aa28: 00d9e6b3 or a3,s3,a3 +4000aa2c: 00d036b3 snez a3,a3 +4000aa30: 00d769b3 or s3,a4,a3 +4000aa34: 00000793 li a5,0 +4000aa38: 00000493 li s1,0 +4000aa3c: e15ff06f j 4000a850 <__subdf3+0x2c8> +4000aa40: 02000693 li a3,32 +4000aa44: 01d8d9b3 srl s3,a7,t4 +4000aa48: 00000713 li a4,0 +4000aa4c: 00de8863 beq t4,a3,4000aa5c <__subdf3+0x4d4> +4000aa50: 04000713 li a4,64 +4000aa54: 41d70eb3 sub t4,a4,t4 +4000aa58: 01d89733 sll a4,a7,t4 +4000aa5c: 00c76633 or a2,a4,a2 +4000aa60: 00c036b3 snez a3,a2 +4000aa64: 00d9e6b3 or a3,s3,a3 +4000aa68: 00000e93 li t4,0 +4000aa6c: dcdff06f j 4000a838 <__subdf3+0x2b0> +4000aa70: 0e048463 beqz s1,4000ab58 <__subdf3+0x5d0> +4000aa74: 008005b7 lui a1,0x800 +4000aa78: 7ff00713 li a4,2047 +4000aa7c: 41d00eb3 neg t4,t4 +4000aa80: 00b7e7b3 or a5,a5,a1 +4000aa84: 22ee0863 beq t3,a4,4000acb4 <__subdf3+0x72c> +4000aa88: 03800713 li a4,56 +4000aa8c: 25d74063 blt a4,t4,4000accc <__subdf3+0x744> +4000aa90: 01f00713 li a4,31 +4000aa94: 3bd74063 blt a4,t4,4000ae34 <__subdf3+0x8ac> +4000aa98: 02000713 li a4,32 +4000aa9c: 41d70733 sub a4,a4,t4 +4000aaa0: 00e799b3 sll s3,a5,a4 +4000aaa4: 01d355b3 srl a1,t1,t4 +4000aaa8: 00e31733 sll a4,t1,a4 +4000aaac: 00b9e9b3 or s3,s3,a1 +4000aab0: 00e03733 snez a4,a4 +4000aab4: 00e9e9b3 or s3,s3,a4 +4000aab8: 01d7deb3 srl t4,a5,t4 +4000aabc: 413609b3 sub s3,a2,s3 +4000aac0: 41d887b3 sub a5,a7,t4 +4000aac4: 01363633 sltu a2,a2,s3 +4000aac8: 40c787b3 sub a5,a5,a2 +4000aacc: 000e0493 mv s1,t3 +4000aad0: 00068913 mv s2,a3 +4000aad4: c69ff06f j 4000a73c <__subdf3+0x1b4> +4000aad8: 0089e533 or a0,s3,s0 +4000aadc: c6051ae3 bnez a0,4000a750 <__subdf3+0x1c8> +4000aae0: 00000793 li a5,0 +4000aae4: 00000813 li a6,0 +4000aae8: 00000493 li s1,0 +4000aaec: e05ff06f j 4000a8f0 <__subdf3+0x368> +4000aaf0: fff70693 addi a3,a4,-1 +4000aaf4: 08069463 bnez a3,4000ab7c <__subdf3+0x5f4> +4000aaf8: 00c309b3 add s3,t1,a2 +4000aafc: 011787b3 add a5,a5,a7 +4000ab00: 0069b333 sltu t1,s3,t1 +4000ab04: 006787b3 add a5,a5,t1 +4000ab08: 00879713 slli a4,a5,0x8 +4000ab0c: 00100493 li s1,1 +4000ab10: d40750e3 bgez a4,4000a850 <__subdf3+0x2c8> +4000ab14: 00200493 li s1,2 +4000ab18: da1ff06f j 4000a8b8 <__subdf3+0x330> +4000ab1c: 01f00693 li a3,31 +4000ab20: 0ee6c463 blt a3,a4,4000ac08 <__subdf3+0x680> +4000ab24: 02000593 li a1,32 +4000ab28: 40e585b3 sub a1,a1,a4 +4000ab2c: 00b896b3 sll a3,a7,a1 +4000ab30: 00e65533 srl a0,a2,a4 +4000ab34: 00b61633 sll a2,a2,a1 +4000ab38: 00a6e6b3 or a3,a3,a0 +4000ab3c: 00c039b3 snez s3,a2 +4000ab40: 0136e6b3 or a3,a3,s3 +4000ab44: 00e8d8b3 srl a7,a7,a4 +4000ab48: d4dff06f j 4000a894 <__subdf3+0x30c> +4000ab4c: 00000793 li a5,0 +4000ab50: 000e8493 mv s1,t4 +4000ab54: d9dff06f j 4000a8f0 <__subdf3+0x368> +4000ab58: 0067e733 or a4,a5,t1 +4000ab5c: 12071663 bnez a4,4000ac88 <__subdf3+0x700> +4000ab60: 7ff00793 li a5,2047 +4000ab64: 14fe0863 beq t3,a5,4000acb4 <__subdf3+0x72c> +4000ab68: 00068813 mv a6,a3 +4000ab6c: 00088793 mv a5,a7 +4000ab70: 00060313 mv t1,a2 +4000ab74: 000e0493 mv s1,t3 +4000ab78: aa5ff06f j 4000a61c <__subdf3+0x94> +4000ab7c: 7ff00593 li a1,2047 +4000ab80: 04b70863 beq a4,a1,4000abd0 <__subdf3+0x648> +4000ab84: 00068713 mv a4,a3 +4000ab88: cf9ff06f j 4000a880 <__subdf3+0x2f8> +4000ab8c: 0067e733 or a4,a5,t1 +4000ab90: 24049463 bnez s1,4000add8 <__subdf3+0x850> +4000ab94: 06070463 beqz a4,4000abfc <__subdf3+0x674> +4000ab98: 00c8e733 or a4,a7,a2 +4000ab9c: a80700e3 beqz a4,4000a61c <__subdf3+0x94> +4000aba0: 00c309b3 add s3,t1,a2 +4000aba4: 011787b3 add a5,a5,a7 +4000aba8: 0069b333 sltu t1,s3,t1 +4000abac: 006787b3 add a5,a5,t1 +4000abb0: 00879713 slli a4,a5,0x8 +4000abb4: c8075ee3 bgez a4,4000a850 <__subdf3+0x2c8> +4000abb8: ff800737 lui a4,0xff800 +4000abbc: fff70713 addi a4,a4,-1 # ff7fffff <_bss_end+0xbf7f3977> +4000abc0: 00e7f7b3 and a5,a5,a4 +4000abc4: 00068493 mv s1,a3 +4000abc8: 0079f713 andi a4,s3,7 +4000abcc: bf9ff06f j 4000a7c4 <__subdf3+0x23c> +4000abd0: 0067e533 or a0,a5,t1 +4000abd4: b40512e3 bnez a0,4000a718 <__subdf3+0x190> +4000abd8: 00000793 li a5,0 +4000abdc: 00070493 mv s1,a4 +4000abe0: d11ff06f j 4000a8f0 <__subdf3+0x368> +4000abe4: 0067e733 or a4,a5,t1 +4000abe8: 06049a63 bnez s1,4000ac5c <__subdf3+0x6d4> +4000abec: 16071063 bnez a4,4000ad4c <__subdf3+0x7c4> +4000abf0: 00c8e533 or a0,a7,a2 +4000abf4: 22050a63 beqz a0,4000ae28 <__subdf3+0x8a0> +4000abf8: 00068813 mv a6,a3 +4000abfc: 00088793 mv a5,a7 +4000ac00: 00060313 mv t1,a2 +4000ac04: a19ff06f j 4000a61c <__subdf3+0x94> +4000ac08: 02000513 li a0,32 +4000ac0c: 00e8d6b3 srl a3,a7,a4 +4000ac10: 00000593 li a1,0 +4000ac14: 00a70863 beq a4,a0,4000ac24 <__subdf3+0x69c> +4000ac18: 04000593 li a1,64 +4000ac1c: 40e58733 sub a4,a1,a4 +4000ac20: 00e895b3 sll a1,a7,a4 +4000ac24: 00c5e633 or a2,a1,a2 +4000ac28: 00c039b3 snez s3,a2 +4000ac2c: 0136e6b3 or a3,a3,s3 +4000ac30: 00000893 li a7,0 +4000ac34: c61ff06f j 4000a894 <__subdf3+0x30c> +4000ac38: 0a049a63 bnez s1,4000acec <__subdf3+0x764> +4000ac3c: 0067e6b3 or a3,a5,t1 +4000ac40: 22069263 bnez a3,4000ae64 <__subdf3+0x8dc> +4000ac44: 7ff00793 li a5,2047 +4000ac48: 24fe0263 beq t3,a5,4000ae8c <__subdf3+0x904> +4000ac4c: 00088793 mv a5,a7 +4000ac50: 00060313 mv t1,a2 +4000ac54: 000e0493 mv s1,t3 +4000ac58: 9c5ff06f j 4000a61c <__subdf3+0x94> +4000ac5c: 12071663 bnez a4,4000ad88 <__subdf3+0x800> +4000ac60: 00c8e7b3 or a5,a7,a2 +4000ac64: 22078a63 beqz a5,4000ae98 <__subdf3+0x910> +4000ac68: 00068813 mv a6,a3 +4000ac6c: 00088793 mv a5,a7 +4000ac70: 00060313 mv t1,a2 +4000ac74: 7ff00493 li s1,2047 +4000ac78: 9a5ff06f j 4000a61c <__subdf3+0x94> +4000ac7c: 00000793 li a5,0 +4000ac80: 00000513 li a0,0 +4000ac84: c6dff06f j 4000a8f0 <__subdf3+0x368> +4000ac88: fffece93 not t4,t4 +4000ac8c: 020e9063 bnez t4,4000acac <__subdf3+0x724> +4000ac90: 406609b3 sub s3,a2,t1 +4000ac94: 40f887b3 sub a5,a7,a5 +4000ac98: 01363633 sltu a2,a2,s3 +4000ac9c: 40c787b3 sub a5,a5,a2 +4000aca0: 000e0493 mv s1,t3 +4000aca4: 00068913 mv s2,a3 +4000aca8: a95ff06f j 4000a73c <__subdf3+0x1b4> +4000acac: 7ff00713 li a4,2047 +4000acb0: dcee1ce3 bne t3,a4,4000aa88 <__subdf3+0x500> +4000acb4: 00c8e533 or a0,a7,a2 +4000acb8: 00068813 mv a6,a3 +4000acbc: f80518e3 bnez a0,4000ac4c <__subdf3+0x6c4> +4000acc0: 00000793 li a5,0 +4000acc4: 000e0493 mv s1,t3 +4000acc8: c29ff06f j 4000a8f0 <__subdf3+0x368> +4000accc: 0067e9b3 or s3,a5,t1 +4000acd0: 013039b3 snez s3,s3 +4000acd4: 00000e93 li t4,0 +4000acd8: de5ff06f j 4000aabc <__subdf3+0x534> +4000acdc: 00058493 mv s1,a1 +4000ace0: 00000793 li a5,0 +4000ace4: 00000513 li a0,0 +4000ace8: c09ff06f j 4000a8f0 <__subdf3+0x368> +4000acec: 008005b7 lui a1,0x800 +4000acf0: 7ff00693 li a3,2047 +4000acf4: 40e00733 neg a4,a4 +4000acf8: 00b7e7b3 or a5,a5,a1 +4000acfc: 18de0863 beq t3,a3,4000ae8c <__subdf3+0x904> +4000ad00: 03800693 li a3,56 +4000ad04: 1ae6c663 blt a3,a4,4000aeb0 <__subdf3+0x928> +4000ad08: 01f00693 li a3,31 +4000ad0c: 1ce6c663 blt a3,a4,4000aed8 <__subdf3+0x950> +4000ad10: 02000593 li a1,32 +4000ad14: 40e585b3 sub a1,a1,a4 +4000ad18: 00b796b3 sll a3,a5,a1 +4000ad1c: 00e35533 srl a0,t1,a4 +4000ad20: 00b315b3 sll a1,t1,a1 +4000ad24: 00a6e6b3 or a3,a3,a0 +4000ad28: 00b039b3 snez s3,a1 +4000ad2c: 0136e6b3 or a3,a3,s3 +4000ad30: 00e7d7b3 srl a5,a5,a4 +4000ad34: 00c689b3 add s3,a3,a2 +4000ad38: 011787b3 add a5,a5,a7 +4000ad3c: 00c9b633 sltu a2,s3,a2 +4000ad40: 00c787b3 add a5,a5,a2 +4000ad44: 000e0493 mv s1,t3 +4000ad48: b5dff06f j 4000a8a4 <__subdf3+0x31c> +4000ad4c: 00c8e733 or a4,a7,a2 +4000ad50: 8c0706e3 beqz a4,4000a61c <__subdf3+0x94> +4000ad54: 40c309b3 sub s3,t1,a2 +4000ad58: 013335b3 sltu a1,t1,s3 +4000ad5c: 41178733 sub a4,a5,a7 +4000ad60: 40b70733 sub a4,a4,a1 +4000ad64: 00871593 slli a1,a4,0x8 +4000ad68: 0a05da63 bgez a1,4000ae1c <__subdf3+0x894> +4000ad6c: 406609b3 sub s3,a2,t1 +4000ad70: 40f887b3 sub a5,a7,a5 +4000ad74: 01363633 sltu a2,a2,s3 +4000ad78: 40c787b3 sub a5,a5,a2 +4000ad7c: 0079f713 andi a4,s3,7 +4000ad80: 00068813 mv a6,a3 +4000ad84: a41ff06f j 4000a7c4 <__subdf3+0x23c> +4000ad88: 00c8e633 or a2,a7,a2 +4000ad8c: c6060ae3 beqz a2,4000aa00 <__subdf3+0x478> +4000ad90: 00f8e8b3 or a7,a7,a5 +4000ad94: 00989713 slli a4,a7,0x9 +4000ad98: 12074463 bltz a4,4000aec0 <__subdf3+0x938> +4000ad9c: 20000737 lui a4,0x20000 +4000ada0: fff70713 addi a4,a4,-1 # 1fffffff <_heap_size+0x1fffdfff> +4000ada4: 01d79313 slli t1,a5,0x1d +4000ada8: 00a77533 and a0,a4,a0 +4000adac: 00a36533 or a0,t1,a0 +4000adb0: ff87f793 andi a5,a5,-8 +4000adb4: 01d55713 srli a4,a0,0x1d +4000adb8: 00e7e7b3 or a5,a5,a4 +4000adbc: 00351313 slli t1,a0,0x3 +4000adc0: 7ff00493 li s1,2047 +4000adc4: 859ff06f j 4000a61c <__subdf3+0x94> +4000adc8: 00000513 li a0,0 +4000adcc: 00048713 mv a4,s1 +4000add0: 00000793 li a5,0 +4000add4: 881ff06f j 4000a654 <__subdf3+0xcc> +4000add8: e8070ae3 beqz a4,4000ac6c <__subdf3+0x6e4> +4000addc: 00c8e633 or a2,a7,a2 +4000ade0: c20600e3 beqz a2,4000aa00 <__subdf3+0x478> +4000ade4: 00f8e8b3 or a7,a7,a5 +4000ade8: 00989713 slli a4,a7,0x9 +4000adec: 0c074a63 bltz a4,4000aec0 <__subdf3+0x938> +4000adf0: 20000737 lui a4,0x20000 +4000adf4: fff70713 addi a4,a4,-1 # 1fffffff <_heap_size+0x1fffdfff> +4000adf8: 01d79313 slli t1,a5,0x1d +4000adfc: 00a77533 and a0,a4,a0 +4000ae00: 00a36533 or a0,t1,a0 +4000ae04: 01d55713 srli a4,a0,0x1d +4000ae08: ff87f793 andi a5,a5,-8 +4000ae0c: 00f767b3 or a5,a4,a5 +4000ae10: 00351313 slli t1,a0,0x3 +4000ae14: 7ff00493 li s1,2047 +4000ae18: 805ff06f j 4000a61c <__subdf3+0x94> +4000ae1c: 00e9e533 or a0,s3,a4 +4000ae20: 00070793 mv a5,a4 +4000ae24: a20516e3 bnez a0,4000a850 <__subdf3+0x2c8> +4000ae28: 00000793 li a5,0 +4000ae2c: 00000813 li a6,0 +4000ae30: ac1ff06f j 4000a8f0 <__subdf3+0x368> +4000ae34: 02000593 li a1,32 +4000ae38: 01d7d9b3 srl s3,a5,t4 +4000ae3c: 00000713 li a4,0 +4000ae40: 00be8863 beq t4,a1,4000ae50 <__subdf3+0x8c8> +4000ae44: 04000713 li a4,64 +4000ae48: 41d70eb3 sub t4,a4,t4 +4000ae4c: 01d79733 sll a4,a5,t4 +4000ae50: 006767b3 or a5,a4,t1 +4000ae54: 00f037b3 snez a5,a5 +4000ae58: 00f9e9b3 or s3,s3,a5 +4000ae5c: 00000e93 li t4,0 +4000ae60: c5dff06f j 4000aabc <__subdf3+0x534> +4000ae64: fff74713 not a4,a4 +4000ae68: 00071e63 bnez a4,4000ae84 <__subdf3+0x8fc> +4000ae6c: 00c309b3 add s3,t1,a2 +4000ae70: 011787b3 add a5,a5,a7 +4000ae74: 00c9b633 sltu a2,s3,a2 +4000ae78: 00c787b3 add a5,a5,a2 +4000ae7c: 000e0493 mv s1,t3 +4000ae80: a25ff06f j 4000a8a4 <__subdf3+0x31c> +4000ae84: 7ff00693 li a3,2047 +4000ae88: e6de1ce3 bne t3,a3,4000ad00 <__subdf3+0x778> +4000ae8c: 00c8e533 or a0,a7,a2 +4000ae90: da051ee3 bnez a0,4000ac4c <__subdf3+0x6c4> +4000ae94: e2dff06f j 4000acc0 <__subdf3+0x738> +4000ae98: 001007b7 lui a5,0x100 +4000ae9c: 00000813 li a6,0 +4000aea0: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +4000aea4: fff00513 li a0,-1 +4000aea8: 7ff00493 li s1,2047 +4000aeac: a45ff06f j 4000a8f0 <__subdf3+0x368> +4000aeb0: 0067e7b3 or a5,a5,t1 +4000aeb4: 00f036b3 snez a3,a5 +4000aeb8: 00000793 li a5,0 +4000aebc: e79ff06f j 4000ad34 <__subdf3+0x7ac> +4000aec0: 008007b7 lui a5,0x800 +4000aec4: 00000813 li a6,0 +4000aec8: ff800313 li t1,-8 +4000aecc: fff78793 addi a5,a5,-1 # 7fffff <_heap_size+0x7fdfff> +4000aed0: 7ff00493 li s1,2047 +4000aed4: f48ff06f j 4000a61c <__subdf3+0x94> +4000aed8: 02000513 li a0,32 +4000aedc: 00e7d6b3 srl a3,a5,a4 +4000aee0: 00000593 li a1,0 +4000aee4: 00a70863 beq a4,a0,4000aef4 <__subdf3+0x96c> +4000aee8: 04000593 li a1,64 +4000aeec: 40e58733 sub a4,a1,a4 +4000aef0: 00e795b3 sll a1,a5,a4 +4000aef4: 0065e5b3 or a1,a1,t1 +4000aef8: 00b039b3 snez s3,a1 +4000aefc: 0136e6b3 or a3,a3,s3 +4000af00: 00000793 li a5,0 +4000af04: e31ff06f j 4000ad34 <__subdf3+0x7ac> + +4000af08 <__unorddf2>: +4000af08: 0145d713 srli a4,a1,0x14 +4000af0c: 001007b7 lui a5,0x100 +4000af10: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +4000af14: fff74713 not a4,a4 +4000af18: 0146d813 srli a6,a3,0x14 +4000af1c: 00b7f5b3 and a1,a5,a1 +4000af20: 00d7f7b3 and a5,a5,a3 +4000af24: 01571693 slli a3,a4,0x15 +4000af28: 7ff87813 andi a6,a6,2047 +4000af2c: 02068063 beqz a3,4000af4c <__unorddf2+0x44> +4000af30: 7ff00713 li a4,2047 +4000af34: 00000513 li a0,0 +4000af38: 00e80463 beq a6,a4,4000af40 <__unorddf2+0x38> +4000af3c: 00008067 ret +4000af40: 00c7e7b3 or a5,a5,a2 +4000af44: 00f03533 snez a0,a5 +4000af48: 00008067 ret +4000af4c: 00a5e5b3 or a1,a1,a0 +4000af50: 00100513 li a0,1 +4000af54: fc058ee3 beqz a1,4000af30 <__unorddf2+0x28> +4000af58: 00008067 ret + +4000af5c <__fixdfsi>: +4000af5c: 0145d793 srli a5,a1,0x14 +4000af60: 001006b7 lui a3,0x100 +4000af64: fff68713 addi a4,a3,-1 # fffff <_heap_size+0xfdfff> +4000af68: 7ff7f793 andi a5,a5,2047 +4000af6c: 3fe00613 li a2,1022 +4000af70: 00b77733 and a4,a4,a1 +4000af74: 01f5d593 srli a1,a1,0x1f +4000af78: 04f65663 ble a5,a2,4000afc4 <__fixdfsi+0x68> +4000af7c: 41d00613 li a2,1053 +4000af80: 02f64a63 blt a2,a5,4000afb4 <__fixdfsi+0x58> +4000af84: 43300613 li a2,1075 +4000af88: 40f60633 sub a2,a2,a5 +4000af8c: 01f00813 li a6,31 +4000af90: 00d76733 or a4,a4,a3 +4000af94: 02c85c63 ble a2,a6,4000afcc <__fixdfsi+0x70> +4000af98: 41300693 li a3,1043 +4000af9c: 40f687b3 sub a5,a3,a5 +4000afa0: 00f757b3 srl a5,a4,a5 +4000afa4: 40f00533 neg a0,a5 +4000afa8: 02059063 bnez a1,4000afc8 <__fixdfsi+0x6c> +4000afac: 00078513 mv a0,a5 +4000afb0: 00008067 ret +4000afb4: 80000537 lui a0,0x80000 +4000afb8: fff54513 not a0,a0 +4000afbc: 00a58533 add a0,a1,a0 +4000afc0: 00008067 ret +4000afc4: 00000513 li a0,0 +4000afc8: 00008067 ret +4000afcc: bed78793 addi a5,a5,-1043 +4000afd0: 00c55633 srl a2,a0,a2 +4000afd4: 00f717b3 sll a5,a4,a5 +4000afd8: 00c7e7b3 or a5,a5,a2 +4000afdc: fc9ff06f j 4000afa4 <__fixdfsi+0x48> + +4000afe0 <__floatsidf>: +4000afe0: ff010113 addi sp,sp,-16 +4000afe4: 00112623 sw ra,12(sp) +4000afe8: 00812423 sw s0,8(sp) +4000afec: 00912223 sw s1,4(sp) +4000aff0: 0c050663 beqz a0,4000b0bc <__floatsidf+0xdc> +4000aff4: 00050413 mv s0,a0 +4000aff8: 01f55493 srli s1,a0,0x1f +4000affc: 0c054a63 bltz a0,4000b0d0 <__floatsidf+0xf0> +4000b000: 00040513 mv a0,s0 +4000b004: 59c000ef jal ra,4000b5a0 <__clzsi2> +4000b008: 41e00713 li a4,1054 +4000b00c: 40a70733 sub a4,a4,a0 +4000b010: 43300693 li a3,1075 +4000b014: 40e686b3 sub a3,a3,a4 +4000b018: 01f00793 li a5,31 +4000b01c: 06d7dc63 ble a3,a5,4000b094 <__floatsidf+0xb4> +4000b020: 41300793 li a5,1043 +4000b024: 40e787b3 sub a5,a5,a4 +4000b028: 001006b7 lui a3,0x100 +4000b02c: 00f417b3 sll a5,s0,a5 +4000b030: fff68693 addi a3,a3,-1 # fffff <_heap_size+0xfdfff> +4000b034: 00d7f7b3 and a5,a5,a3 +4000b038: 7ff77713 andi a4,a4,2047 +4000b03c: 00048693 mv a3,s1 +4000b040: 00000413 li s0,0 +4000b044: 00100537 lui a0,0x100 +4000b048: fff50513 addi a0,a0,-1 # fffff <_heap_size+0xfdfff> +4000b04c: 80100637 lui a2,0x80100 +4000b050: 00a7f7b3 and a5,a5,a0 +4000b054: fff60613 addi a2,a2,-1 # 800fffff <_bss_end+0x400f3977> +4000b058: 01471713 slli a4,a4,0x14 +4000b05c: 00c7f7b3 and a5,a5,a2 +4000b060: 00e7e7b3 or a5,a5,a4 +4000b064: 01f69713 slli a4,a3,0x1f +4000b068: 800006b7 lui a3,0x80000 +4000b06c: fff6c693 not a3,a3 +4000b070: 00c12083 lw ra,12(sp) +4000b074: 00d7f7b3 and a5,a5,a3 +4000b078: 00e7e7b3 or a5,a5,a4 +4000b07c: 00040513 mv a0,s0 +4000b080: 00078593 mv a1,a5 +4000b084: 00812403 lw s0,8(sp) +4000b088: 00412483 lw s1,4(sp) +4000b08c: 01010113 addi sp,sp,16 +4000b090: 00008067 ret +4000b094: 00b00793 li a5,11 +4000b098: 40a787b3 sub a5,a5,a0 +4000b09c: 00f457b3 srl a5,s0,a5 +4000b0a0: 00d41433 sll s0,s0,a3 +4000b0a4: 001006b7 lui a3,0x100 +4000b0a8: fff68693 addi a3,a3,-1 # fffff <_heap_size+0xfdfff> +4000b0ac: 00d7f7b3 and a5,a5,a3 +4000b0b0: 7ff77713 andi a4,a4,2047 +4000b0b4: 00048693 mv a3,s1 +4000b0b8: f8dff06f j 4000b044 <__floatsidf+0x64> +4000b0bc: 00000693 li a3,0 +4000b0c0: 00000713 li a4,0 +4000b0c4: 00000793 li a5,0 +4000b0c8: 00000413 li s0,0 +4000b0cc: f79ff06f j 4000b044 <__floatsidf+0x64> +4000b0d0: 40a00433 neg s0,a0 +4000b0d4: f2dff06f j 4000b000 <__floatsidf+0x20> + +4000b0d8 <__floatunsidf>: +4000b0d8: ff010113 addi sp,sp,-16 +4000b0dc: 00112623 sw ra,12(sp) +4000b0e0: 00812423 sw s0,8(sp) +4000b0e4: 0a050663 beqz a0,4000b190 <__floatunsidf+0xb8> +4000b0e8: 00050413 mv s0,a0 +4000b0ec: 4b4000ef jal ra,4000b5a0 <__clzsi2> +4000b0f0: 41e00693 li a3,1054 +4000b0f4: 40a686b3 sub a3,a3,a0 +4000b0f8: 43300713 li a4,1075 +4000b0fc: 40d70733 sub a4,a4,a3 +4000b100: 01f00793 li a5,31 +4000b104: 06e7d463 ble a4,a5,4000b16c <__floatunsidf+0x94> +4000b108: 41300793 li a5,1043 +4000b10c: 40d787b3 sub a5,a5,a3 +4000b110: 00100737 lui a4,0x100 +4000b114: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +4000b118: 00f417b3 sll a5,s0,a5 +4000b11c: 00e7f7b3 and a5,a5,a4 +4000b120: 7ff6f693 andi a3,a3,2047 +4000b124: 00000713 li a4,0 +4000b128: 00100537 lui a0,0x100 +4000b12c: fff50513 addi a0,a0,-1 # fffff <_heap_size+0xfdfff> +4000b130: 80100637 lui a2,0x80100 +4000b134: 00a7f7b3 and a5,a5,a0 +4000b138: fff60613 addi a2,a2,-1 # 800fffff <_bss_end+0x400f3977> +4000b13c: 01469693 slli a3,a3,0x14 +4000b140: 00c7f7b3 and a5,a5,a2 +4000b144: 00d7e7b3 or a5,a5,a3 +4000b148: 00c12083 lw ra,12(sp) +4000b14c: 800006b7 lui a3,0x80000 +4000b150: fff6c693 not a3,a3 +4000b154: 00d7f7b3 and a5,a5,a3 +4000b158: 00070513 mv a0,a4 +4000b15c: 00078593 mv a1,a5 +4000b160: 00812403 lw s0,8(sp) +4000b164: 01010113 addi sp,sp,16 +4000b168: 00008067 ret +4000b16c: 00b00793 li a5,11 +4000b170: 40a787b3 sub a5,a5,a0 +4000b174: 00100637 lui a2,0x100 +4000b178: 00f457b3 srl a5,s0,a5 +4000b17c: fff60613 addi a2,a2,-1 # fffff <_heap_size+0xfdfff> +4000b180: 00e41733 sll a4,s0,a4 +4000b184: 00c7f7b3 and a5,a5,a2 +4000b188: 7ff6f693 andi a3,a3,2047 +4000b18c: f9dff06f j 4000b128 <__floatunsidf+0x50> +4000b190: 00000693 li a3,0 +4000b194: 00000793 li a5,0 +4000b198: 00000713 li a4,0 +4000b19c: f8dff06f j 4000b128 <__floatunsidf+0x50> + +4000b1a0 <__trunctfdf2>: +4000b1a0: 00c52783 lw a5,12(a0) +4000b1a4: 00852883 lw a7,8(a0) +4000b1a8: 00452683 lw a3,4(a0) +4000b1ac: 00052803 lw a6,0(a0) +4000b1b0: 01079713 slli a4,a5,0x10 +4000b1b4: fe010113 addi sp,sp,-32 +4000b1b8: 00088593 mv a1,a7 +4000b1bc: 01075713 srli a4,a4,0x10 +4000b1c0: 01112c23 sw a7,24(sp) +4000b1c4: 00e12e23 sw a4,28(sp) +4000b1c8: 01112423 sw a7,8(sp) +4000b1cc: 00371713 slli a4,a4,0x3 +4000b1d0: 01010893 addi a7,sp,16 +4000b1d4: 01d5d593 srli a1,a1,0x1d +4000b1d8: 00d12a23 sw a3,20(sp) +4000b1dc: 00d12223 sw a3,4(sp) +4000b1e0: 01012823 sw a6,16(sp) +4000b1e4: 00088693 mv a3,a7 +4000b1e8: 00b76733 or a4,a4,a1 +4000b1ec: 00179613 slli a2,a5,0x1 +4000b1f0: 00f12623 sw a5,12(sp) +4000b1f4: 01f7d513 srli a0,a5,0x1f +4000b1f8: 00e6a623 sw a4,12(a3) # 8000000c <_bss_end+0x3fff3984> +4000b1fc: 01012023 sw a6,0(sp) +4000b200: 00410793 addi a5,sp,4 +4000b204: ffc68693 addi a3,a3,-4 +4000b208: 01165613 srli a2,a2,0x11 +4000b20c: 02d78263 beq a5,a3,4000b230 <__trunctfdf2+0x90> +4000b210: 00c6a703 lw a4,12(a3) +4000b214: 0086a583 lw a1,8(a3) +4000b218: ffc68693 addi a3,a3,-4 +4000b21c: 00371713 slli a4,a4,0x3 +4000b220: 01d5d593 srli a1,a1,0x1d +4000b224: 00b76733 or a4,a4,a1 +4000b228: 00e6a823 sw a4,16(a3) +4000b22c: fed792e3 bne a5,a3,4000b210 <__trunctfdf2+0x70> +4000b230: 01012683 lw a3,16(sp) +4000b234: 00008837 lui a6,0x8 +4000b238: 00160593 addi a1,a2,1 +4000b23c: 00369793 slli a5,a3,0x3 +4000b240: fff80813 addi a6,a6,-1 # 7fff <_heap_size+0x5fff> +4000b244: 00f12823 sw a5,16(sp) +4000b248: 0105f5b3 and a1,a1,a6 +4000b24c: 00100693 li a3,1 +4000b250: 10b6d063 ble a1,a3,4000b350 <__trunctfdf2+0x1b0> +4000b254: ffffc5b7 lui a1,0xffffc +4000b258: 40058593 addi a1,a1,1024 # ffffc400 <_bss_end+0xbffefd78> +4000b25c: 00b60633 add a2,a2,a1 +4000b260: 7fe00593 li a1,2046 +4000b264: 04c5da63 ble a2,a1,4000b2b8 <__trunctfdf2+0x118> +4000b268: 7ff00613 li a2,2047 +4000b26c: 00000793 li a5,0 +4000b270: 00000693 li a3,0 +4000b274: 00100737 lui a4,0x100 +4000b278: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +4000b27c: 00e7f7b3 and a5,a5,a4 +4000b280: 80100737 lui a4,0x80100 +4000b284: fff70713 addi a4,a4,-1 # 800fffff <_bss_end+0x400f3977> +4000b288: 00e7f7b3 and a5,a5,a4 +4000b28c: 01461613 slli a2,a2,0x14 +4000b290: 80000737 lui a4,0x80000 +4000b294: 00c7e7b3 or a5,a5,a2 +4000b298: fff74713 not a4,a4 +4000b29c: 01f51513 slli a0,a0,0x1f +4000b2a0: 00e7f7b3 and a5,a5,a4 +4000b2a4: 00a7e7b3 or a5,a5,a0 +4000b2a8: 00078593 mv a1,a5 +4000b2ac: 00068513 mv a0,a3 +4000b2b0: 02010113 addi sp,sp,32 +4000b2b4: 00008067 ret +4000b2b8: 16c05863 blez a2,4000b428 <__trunctfdf2+0x288> +4000b2bc: 01412583 lw a1,20(sp) +4000b2c0: 01812803 lw a6,24(sp) +4000b2c4: 01c12703 lw a4,28(sp) +4000b2c8: 00459693 slli a3,a1,0x4 +4000b2cc: 00f6e6b3 or a3,a3,a5 +4000b2d0: 01c5d593 srli a1,a1,0x1c +4000b2d4: 00481793 slli a5,a6,0x4 +4000b2d8: 00f5e5b3 or a1,a1,a5 +4000b2dc: 00d036b3 snez a3,a3 +4000b2e0: 00471713 slli a4,a4,0x4 +4000b2e4: 01c85813 srli a6,a6,0x1c +4000b2e8: 00b6e6b3 or a3,a3,a1 +4000b2ec: 01076733 or a4,a4,a6 +4000b2f0: 0076f793 andi a5,a3,7 +4000b2f4: 0e078c63 beqz a5,4000b3ec <__trunctfdf2+0x24c> +4000b2f8: 00f6f793 andi a5,a3,15 +4000b2fc: 00400593 li a1,4 +4000b300: 0eb78663 beq a5,a1,4000b3ec <__trunctfdf2+0x24c> +4000b304: 00468793 addi a5,a3,4 +4000b308: 00d7b6b3 sltu a3,a5,a3 +4000b30c: 00d70733 add a4,a4,a3 +4000b310: 008005b7 lui a1,0x800 +4000b314: 00b775b3 and a1,a4,a1 +4000b318: 06058063 beqz a1,4000b378 <__trunctfdf2+0x1d8> +4000b31c: 00160613 addi a2,a2,1 +4000b320: 7ff00693 li a3,2047 +4000b324: 0ed60c63 beq a2,a3,4000b41c <__trunctfdf2+0x27c> +4000b328: ff8006b7 lui a3,0xff800 +4000b32c: fff68693 addi a3,a3,-1 # ff7fffff <_bss_end+0xbf7f3977> +4000b330: 00d77733 and a4,a4,a3 +4000b334: 0037d793 srli a5,a5,0x3 +4000b338: 01d71693 slli a3,a4,0x1d +4000b33c: 00971713 slli a4,a4,0x9 +4000b340: 00f6e6b3 or a3,a3,a5 +4000b344: 7ff67613 andi a2,a2,2047 +4000b348: 00c75793 srli a5,a4,0xc +4000b34c: f29ff06f j 4000b274 <__trunctfdf2+0xd4> +4000b350: 04061a63 bnez a2,4000b3a4 <__trunctfdf2+0x204> +4000b354: 01812683 lw a3,24(sp) +4000b358: 01412703 lw a4,20(sp) +4000b35c: 00d76733 or a4,a4,a3 +4000b360: 01c12683 lw a3,28(sp) +4000b364: 00d76733 or a4,a4,a3 +4000b368: 00f76733 or a4,a4,a5 +4000b36c: 18070263 beqz a4,4000b4f0 <__trunctfdf2+0x350> +4000b370: 00000713 li a4,0 +4000b374: 00500793 li a5,5 +4000b378: 01d71693 slli a3,a4,0x1d +4000b37c: 0037d793 srli a5,a5,0x3 +4000b380: 7ff00593 li a1,2047 +4000b384: 00d7e6b3 or a3,a5,a3 +4000b388: 00375713 srli a4,a4,0x3 +4000b38c: 06b60863 beq a2,a1,4000b3fc <__trunctfdf2+0x25c> +4000b390: 001007b7 lui a5,0x100 +4000b394: fff78793 addi a5,a5,-1 # fffff <_heap_size+0xfdfff> +4000b398: 00f777b3 and a5,a4,a5 +4000b39c: 7ff67613 andi a2,a2,2047 +4000b3a0: ed5ff06f j 4000b274 <__trunctfdf2+0xd4> +4000b3a4: 01412583 lw a1,20(sp) +4000b3a8: 01812803 lw a6,24(sp) +4000b3ac: 01c12703 lw a4,28(sp) +4000b3b0: 7ff00613 li a2,2047 +4000b3b4: 0105e8b3 or a7,a1,a6 +4000b3b8: 00e8e8b3 or a7,a7,a4 +4000b3bc: 00f8e6b3 or a3,a7,a5 +4000b3c0: 00000793 li a5,0 +4000b3c4: ea0688e3 beqz a3,4000b274 <__trunctfdf2+0xd4> +4000b3c8: 01c5d693 srli a3,a1,0x1c +4000b3cc: 00471713 slli a4,a4,0x4 +4000b3d0: 00481593 slli a1,a6,0x4 +4000b3d4: 01c85793 srli a5,a6,0x1c +4000b3d8: 00e7e7b3 or a5,a5,a4 +4000b3dc: 00b6e6b3 or a3,a3,a1 +4000b3e0: 00400737 lui a4,0x400 +4000b3e4: ff86f693 andi a3,a3,-8 +4000b3e8: 00e7e733 or a4,a5,a4 +4000b3ec: 008005b7 lui a1,0x800 +4000b3f0: 00b775b3 and a1,a4,a1 +4000b3f4: 00068793 mv a5,a3 +4000b3f8: f21ff06f j 4000b318 <__trunctfdf2+0x178> +4000b3fc: 00e6e7b3 or a5,a3,a4 +4000b400: 18078a63 beqz a5,4000b594 <__trunctfdf2+0x3f4> +4000b404: 000807b7 lui a5,0x80 +4000b408: 00f767b3 or a5,a4,a5 +4000b40c: 00100737 lui a4,0x100 +4000b410: fff70713 addi a4,a4,-1 # fffff <_heap_size+0xfdfff> +4000b414: 00e7f7b3 and a5,a5,a4 +4000b418: e5dff06f j 4000b274 <__trunctfdf2+0xd4> +4000b41c: 00000793 li a5,0 +4000b420: 00000693 li a3,0 +4000b424: e51ff06f j 4000b274 <__trunctfdf2+0xd4> +4000b428: fcc00713 li a4,-52 +4000b42c: 0ce64663 blt a2,a4,4000b4f8 <__trunctfdf2+0x358> +4000b430: 03d00593 li a1,61 +4000b434: 01c12303 lw t1,28(sp) +4000b438: 40c58633 sub a2,a1,a2 +4000b43c: 40565f13 srai t5,a2,0x5 +4000b440: 00080737 lui a4,0x80 +4000b444: 00e36333 or t1,t1,a4 +4000b448: 002f1813 slli a6,t5,0x2 +4000b44c: 01f67593 andi a1,a2,31 +4000b450: 01010713 addi a4,sp,16 +4000b454: 01010613 addi a2,sp,16 +4000b458: 00000693 li a3,0 +4000b45c: 00612e23 sw t1,28(sp) +4000b460: 01070733 add a4,a4,a6 +4000b464: 00460613 addi a2,a2,4 +4000b468: 00f6e6b3 or a3,a3,a5 +4000b46c: 00c70a63 beq a4,a2,4000b480 <__trunctfdf2+0x2e0> +4000b470: 00062783 lw a5,0(a2) +4000b474: 00460613 addi a2,a2,4 +4000b478: 00f6e6b3 or a3,a3,a5 +4000b47c: fec71ae3 bne a4,a2,4000b470 <__trunctfdf2+0x2d0> +4000b480: 08059263 bnez a1,4000b504 <__trunctfdf2+0x364> +4000b484: 00400793 li a5,4 +4000b488: 41e787b3 sub a5,a5,t5 +4000b48c: 00279793 slli a5,a5,0x2 +4000b490: 01010713 addi a4,sp,16 +4000b494: 00f707b3 add a5,a4,a5 +4000b498: 00062703 lw a4,0(a2) +4000b49c: 00488893 addi a7,a7,4 +4000b4a0: 00460613 addi a2,a2,4 +4000b4a4: fee8ae23 sw a4,-4(a7) +4000b4a8: ff1798e3 bne a5,a7,4000b498 <__trunctfdf2+0x2f8> +4000b4ac: 00400713 li a4,4 +4000b4b0: 41e70733 sub a4,a4,t5 +4000b4b4: 01010613 addi a2,sp,16 +4000b4b8: 00271793 slli a5,a4,0x2 +4000b4bc: 00f607b3 add a5,a2,a5 +4000b4c0: 00400613 li a2,4 +4000b4c4: 0007a023 sw zero,0(a5) # 80000 <_heap_size+0x7e000> +4000b4c8: 00170713 addi a4,a4,1 # 80001 <_heap_size+0x7e001> +4000b4cc: 00478793 addi a5,a5,4 +4000b4d0: fec71ae3 bne a4,a2,4000b4c4 <__trunctfdf2+0x324> +4000b4d4: 01012783 lw a5,16(sp) +4000b4d8: 00d036b3 snez a3,a3 +4000b4dc: 01412703 lw a4,20(sp) +4000b4e0: 00f6e6b3 or a3,a3,a5 +4000b4e4: 0076f793 andi a5,a3,7 +4000b4e8: 00000613 li a2,0 +4000b4ec: e09ff06f j 4000b2f4 <__trunctfdf2+0x154> +4000b4f0: 00000693 li a3,0 +4000b4f4: e9dff06f j 4000b390 <__trunctfdf2+0x1f0> +4000b4f8: 00000713 li a4,0 +4000b4fc: 00000613 li a2,0 +4000b500: e05ff06f j 4000b304 <__trunctfdf2+0x164> +4000b504: 02010793 addi a5,sp,32 +4000b508: 01078833 add a6,a5,a6 +4000b50c: ff082783 lw a5,-16(a6) +4000b510: 02000e93 li t4,32 +4000b514: 40be8eb3 sub t4,t4,a1 +4000b518: 00300e13 li t3,3 +4000b51c: 01d797b3 sll a5,a5,t4 +4000b520: 41ee0e33 sub t3,t3,t5 +4000b524: 00f6e6b3 or a3,a3,a5 +4000b528: 060e0063 beqz t3,4000b588 <__trunctfdf2+0x3e8> +4000b52c: 00000713 li a4,0 +4000b530: 0080006f j 4000b538 <__trunctfdf2+0x398> +4000b534: 00080713 mv a4,a6 +4000b538: 00062783 lw a5,0(a2) +4000b53c: 00462303 lw t1,4(a2) +4000b540: 00170813 addi a6,a4,1 +4000b544: 00b7d7b3 srl a5,a5,a1 +4000b548: 01d31333 sll t1,t1,t4 +4000b54c: 0067e7b3 or a5,a5,t1 +4000b550: 00f8a023 sw a5,0(a7) +4000b554: 00460613 addi a2,a2,4 +4000b558: 00488893 addi a7,a7,4 +4000b55c: fd0e1ce3 bne t3,a6,4000b534 <__trunctfdf2+0x394> +4000b560: 01c12303 lw t1,28(sp) +4000b564: 00270713 addi a4,a4,2 +4000b568: 00281793 slli a5,a6,0x2 +4000b56c: 02010613 addi a2,sp,32 +4000b570: 00f607b3 add a5,a2,a5 +4000b574: 00b355b3 srl a1,t1,a1 +4000b578: feb7a823 sw a1,-16(a5) +4000b57c: 00300793 li a5,3 +4000b580: f2e7dae3 ble a4,a5,4000b4b4 <__trunctfdf2+0x314> +4000b584: f51ff06f j 4000b4d4 <__trunctfdf2+0x334> +4000b588: 00000813 li a6,0 +4000b58c: 00100713 li a4,1 +4000b590: fd9ff06f j 4000b568 <__trunctfdf2+0x3c8> +4000b594: 00000693 li a3,0 +4000b598: 00000793 li a5,0 +4000b59c: cd9ff06f j 4000b274 <__trunctfdf2+0xd4> + +4000b5a0 <__clzsi2>: +4000b5a0: 000107b7 lui a5,0x10 +4000b5a4: 02f57c63 bleu a5,a0,4000b5dc <__clzsi2+0x3c> +4000b5a8: 0ff00713 li a4,255 +4000b5ac: 01800693 li a3,24 +4000b5b0: 00800793 li a5,8 +4000b5b4: 00a76663 bltu a4,a0,4000b5c0 <__clzsi2+0x20> +4000b5b8: 02000693 li a3,32 +4000b5bc: 00000793 li a5,0 +4000b5c0: 4000c737 lui a4,0x4000c +4000b5c4: 00f557b3 srl a5,a0,a5 +4000b5c8: b3470713 addi a4,a4,-1228 # 4000bb34 <__clz_tab> +4000b5cc: 00e787b3 add a5,a5,a4 +4000b5d0: 0007c503 lbu a0,0(a5) # 10000 <_heap_size+0xe000> +4000b5d4: 40a68533 sub a0,a3,a0 +4000b5d8: 00008067 ret +4000b5dc: 01000737 lui a4,0x1000 +4000b5e0: 00800693 li a3,8 +4000b5e4: 01800793 li a5,24 +4000b5e8: fce57ce3 bleu a4,a0,4000b5c0 <__clzsi2+0x20> +4000b5ec: 01000693 li a3,16 +4000b5f0: 00068793 mv a5,a3 +4000b5f4: 4000c737 lui a4,0x4000c +4000b5f8: 00f557b3 srl a5,a0,a5 +4000b5fc: b3470713 addi a4,a4,-1228 # 4000bb34 <__clz_tab> +4000b600: 00e787b3 add a5,a5,a4 +4000b604: 0007c503 lbu a0,0(a5) +4000b608: 40a68533 sub a0,a3,a0 +4000b60c: 00008067 ret +4000b610: 694d lui s2,0x13 +4000b612: 6f61 lui t5,0x18 +4000b614: 2075 jal 4000b6c0 <__clzsi2+0x120> +4000b616: 2121 jal 4000ba1e <__mprec_bigtens+0x116> +4000b618: 0000 unimp +4000b61a: 0000 unimp +4000b61c: 0fdc addi a5,sp,980 +4000b61e: 4000 lw s0,0(s0) +4000b620: 10d0 addi a2,sp,100 +4000b622: 4000 lw s0,0(s0) +4000b624: 10d0 addi a2,sp,100 +4000b626: 4000 lw s0,0(s0) +4000b628: 0fd4 addi a3,sp,980 +4000b62a: 4000 lw s0,0(s0) +4000b62c: 10d0 addi a2,sp,100 +4000b62e: 4000 lw s0,0(s0) +4000b630: 10d0 addi a2,sp,100 +4000b632: 4000 lw s0,0(s0) +4000b634: 10d0 addi a2,sp,100 +4000b636: 4000 lw s0,0(s0) +4000b638: 10d0 addi a2,sp,100 +4000b63a: 4000 lw s0,0(s0) +4000b63c: 10d0 addi a2,sp,100 +4000b63e: 4000 lw s0,0(s0) +4000b640: 10d0 addi a2,sp,100 +4000b642: 4000 lw s0,0(s0) +4000b644: 041c addi a5,sp,512 +4000b646: 4000 lw s0,0(s0) +4000b648: 0d44 addi s1,sp,660 +4000b64a: 4000 lw s0,0(s0) +4000b64c: 10d0 addi a2,sp,100 +4000b64e: 4000 lw s0,0(s0) +4000b650: 0434 addi a3,sp,520 +4000b652: 4000 lw s0,0(s0) +4000b654: 0f28 addi a0,sp,920 +4000b656: 4000 lw s0,0(s0) +4000b658: 10d0 addi a2,sp,100 +4000b65a: 4000 lw s0,0(s0) +4000b65c: 0f64 addi s1,sp,924 +4000b65e: 4000 lw s0,0(s0) +4000b660: 0fa8 addi a0,sp,984 +4000b662: 4000 lw s0,0(s0) +4000b664: 0fa8 addi a0,sp,984 +4000b666: 4000 lw s0,0(s0) +4000b668: 0fa8 addi a0,sp,984 +4000b66a: 4000 lw s0,0(s0) +4000b66c: 0fa8 addi a0,sp,984 +4000b66e: 4000 lw s0,0(s0) +4000b670: 0fa8 addi a0,sp,984 +4000b672: 4000 lw s0,0(s0) +4000b674: 0fa8 addi a0,sp,984 +4000b676: 4000 lw s0,0(s0) +4000b678: 0fa8 addi a0,sp,984 +4000b67a: 4000 lw s0,0(s0) +4000b67c: 0fa8 addi a0,sp,984 +4000b67e: 4000 lw s0,0(s0) +4000b680: 0fa8 addi a0,sp,984 +4000b682: 4000 lw s0,0(s0) +4000b684: 10d0 addi a2,sp,100 +4000b686: 4000 lw s0,0(s0) +4000b688: 10d0 addi a2,sp,100 +4000b68a: 4000 lw s0,0(s0) +4000b68c: 10d0 addi a2,sp,100 +4000b68e: 4000 lw s0,0(s0) +4000b690: 10d0 addi a2,sp,100 +4000b692: 4000 lw s0,0(s0) +4000b694: 10d0 addi a2,sp,100 +4000b696: 4000 lw s0,0(s0) +4000b698: 10d0 addi a2,sp,100 +4000b69a: 4000 lw s0,0(s0) +4000b69c: 10d0 addi a2,sp,100 +4000b69e: 4000 lw s0,0(s0) +4000b6a0: 10d0 addi a2,sp,100 +4000b6a2: 4000 lw s0,0(s0) +4000b6a4: 10d0 addi a2,sp,100 +4000b6a6: 4000 lw s0,0(s0) +4000b6a8: 10d0 addi a2,sp,100 +4000b6aa: 4000 lw s0,0(s0) +4000b6ac: 0de8 addi a0,sp,732 +4000b6ae: 4000 lw s0,0(s0) +4000b6b0: 0e20 addi s0,sp,792 +4000b6b2: 4000 lw s0,0(s0) +4000b6b4: 10d0 addi a2,sp,100 +4000b6b6: 4000 lw s0,0(s0) +4000b6b8: 0e20 addi s0,sp,792 +4000b6ba: 4000 lw s0,0(s0) +4000b6bc: 10d0 addi a2,sp,100 +4000b6be: 4000 lw s0,0(s0) +4000b6c0: 10d0 addi a2,sp,100 +4000b6c2: 4000 lw s0,0(s0) +4000b6c4: 10d0 addi a2,sp,100 +4000b6c6: 4000 lw s0,0(s0) +4000b6c8: 10d0 addi a2,sp,100 +4000b6ca: 4000 lw s0,0(s0) +4000b6cc: 0f20 addi s0,sp,920 +4000b6ce: 4000 lw s0,0(s0) +4000b6d0: 10d0 addi a2,sp,100 +4000b6d2: 4000 lw s0,0(s0) +4000b6d4: 10d0 addi a2,sp,100 +4000b6d6: 4000 lw s0,0(s0) +4000b6d8: 0380 addi s0,sp,448 +4000b6da: 4000 lw s0,0(s0) +4000b6dc: 10d0 addi a2,sp,100 +4000b6de: 4000 lw s0,0(s0) +4000b6e0: 10d0 addi a2,sp,100 +4000b6e2: 4000 lw s0,0(s0) +4000b6e4: 10d0 addi a2,sp,100 +4000b6e6: 4000 lw s0,0(s0) +4000b6e8: 10d0 addi a2,sp,100 +4000b6ea: 4000 lw s0,0(s0) +4000b6ec: 10d0 addi a2,sp,100 +4000b6ee: 4000 lw s0,0(s0) +4000b6f0: 03f0 addi a2,sp,460 +4000b6f2: 4000 lw s0,0(s0) +4000b6f4: 10d0 addi a2,sp,100 +4000b6f6: 4000 lw s0,0(s0) +4000b6f8: 10d0 addi a2,sp,100 +4000b6fa: 4000 lw s0,0(s0) +4000b6fc: 1048 addi a0,sp,36 +4000b6fe: 4000 lw s0,0(s0) +4000b700: 10d0 addi a2,sp,100 +4000b702: 4000 lw s0,0(s0) +4000b704: 10d0 addi a2,sp,100 +4000b706: 4000 lw s0,0(s0) +4000b708: 10d0 addi a2,sp,100 +4000b70a: 4000 lw s0,0(s0) +4000b70c: 10d0 addi a2,sp,100 +4000b70e: 4000 lw s0,0(s0) +4000b710: 10d0 addi a2,sp,100 +4000b712: 4000 lw s0,0(s0) +4000b714: 10d0 addi a2,sp,100 +4000b716: 4000 lw s0,0(s0) +4000b718: 10d0 addi a2,sp,100 +4000b71a: 4000 lw s0,0(s0) +4000b71c: 10d0 addi a2,sp,100 +4000b71e: 4000 lw s0,0(s0) +4000b720: 10d0 addi a2,sp,100 +4000b722: 4000 lw s0,0(s0) +4000b724: 10d0 addi a2,sp,100 +4000b726: 4000 lw s0,0(s0) +4000b728: 105c addi a5,sp,36 +4000b72a: 4000 lw s0,0(s0) +4000b72c: 1094 addi a3,sp,96 +4000b72e: 4000 lw s0,0(s0) +4000b730: 0e20 addi s0,sp,792 +4000b732: 4000 lw s0,0(s0) +4000b734: 0e20 addi s0,sp,792 +4000b736: 4000 lw s0,0(s0) +4000b738: 0e20 addi s0,sp,792 +4000b73a: 4000 lw s0,0(s0) +4000b73c: 0fec addi a1,sp,988 +4000b73e: 4000 lw s0,0(s0) +4000b740: 1094 addi a3,sp,96 +4000b742: 4000 lw s0,0(s0) +4000b744: 10d0 addi a2,sp,100 +4000b746: 4000 lw s0,0(s0) +4000b748: 10d0 addi a2,sp,100 +4000b74a: 4000 lw s0,0(s0) +4000b74c: 0378 addi a4,sp,396 +4000b74e: 4000 lw s0,0(s0) +4000b750: 10d0 addi a2,sp,100 +4000b752: 4000 lw s0,0(s0) +4000b754: 0d50 addi a2,sp,660 +4000b756: 4000 lw s0,0(s0) +4000b758: 0384 addi s1,sp,448 +4000b75a: 4000 lw s0,0(s0) +4000b75c: 0f6c addi a1,sp,924 +4000b75e: 4000 lw s0,0(s0) +4000b760: 0378 addi a4,sp,396 +4000b762: 4000 lw s0,0(s0) +4000b764: 10d0 addi a2,sp,100 +4000b766: 4000 lw s0,0(s0) +4000b768: 0d84 addi s1,sp,720 +4000b76a: 4000 lw s0,0(s0) +4000b76c: 10d0 addi a2,sp,100 +4000b76e: 4000 lw s0,0(s0) +4000b770: 03f4 addi a3,sp,460 +4000b772: 4000 lw s0,0(s0) +4000b774: 10d0 addi a2,sp,100 +4000b776: 4000 lw s0,0(s0) +4000b778: 10d0 addi a2,sp,100 +4000b77a: 4000 lw s0,0(s0) +4000b77c: 0ff4 addi a3,sp,988 +4000b77e: 4000 lw s0,0(s0) + +4000b780 <blanks.4138>: +4000b780: 2020 2020 2020 2020 2020 2020 2020 2020 + +4000b790 <zeroes.4139>: +4000b790: 3030 3030 3030 3030 3030 3030 3030 3030 0000000000000000 +4000b7a0: 4e49 0046 6e69 0066 414e 004e 616e 006e INF.inf.NAN.nan. +4000b7b0: 3130 3332 3534 3736 3938 4241 4443 4645 0123456789ABCDEF +4000b7c0: 0000 0000 3130 3332 3534 3736 3938 6261 ....0123456789ab +4000b7d0: 6463 6665 0000 0000 6e28 6c75 296c 0000 cdef....(null).. +4000b7e0: 0030 0000 6e49 6966 696e 7974 0000 0000 0...Infinity.... +4000b7f0: 614e 004e 0043 0000 4f50 4953 0058 0000 NaN.C...POSIX... +4000b800: 002e 0000 0000 0000 ........ + +4000b808 <p05.2481>: +4000b808: 0005 0000 0019 0000 007d 0000 0000 0000 ........}....... + +4000b818 <__mprec_tens>: +4000b818: 0000 0000 0000 3ff0 0000 0000 0000 4024 .......?......$@ +4000b828: 0000 0000 0000 4059 0000 0000 4000 408f ......Y@.....@.@ +4000b838: 0000 0000 8800 40c3 0000 0000 6a00 40f8 .......@.....j.@ +4000b848: 0000 0000 8480 412e 0000 0000 12d0 4163 .......A......cA +4000b858: 0000 0000 d784 4197 0000 0000 cd65 41cd .......A....e..A +4000b868: 0000 2000 a05f 4202 0000 e800 4876 4237 ... _..B....vH7B +4000b878: 0000 a200 1a94 426d 0000 e540 309c 42a2 ......mB..@..0.B +4000b888: 0000 1e90 bcc4 42d6 0000 2634 6bf5 430c .......B..4&.k.C +4000b898: 8000 37e0 c379 4341 a000 85d8 3457 4376 ...7y.AC....W4vC +4000b8a8: c800 674e c16d 43ab 3d00 6091 58e4 43e1 ..Ngm..C.=.`.X.C +4000b8b8: 8c40 78b5 af1d 4415 ef50 d6e2 1ae4 444b @..x...DP.....KD +4000b8c8: d592 064d f0cf 4480 4af6 c7e1 2d02 44b5 ..M....D.J...-.D +4000b8d8: 9db4 79d9 7843 44ea ...yCx.D + +4000b8e0 <__mprec_tinytens>: +4000b8e0: 89bc 97d8 d2b2 3c9c a733 d5a8 f623 3949 .......<3...#.I9 +4000b8f0: a73d 44f4 0ffd 32a5 979d cf8c ba08 255b =..D...2......[% +4000b900: 6f43 64ac 0628 0ac8 Co.d(... + +4000b908 <__mprec_bigtens>: +4000b908: 8000 37e0 c379 4341 6e17 b505 b8b5 4693 ...7y.AC.n.....F +4000b918: f9f5 e93f 4f03 4d38 1d32 f930 7748 5a82 ..?..O8M2.0.Hw.Z +4000b928: bf3c 7f73 4fdd 7515 6ba0 4000 6d14 4000 <.s..O.u.k.@.m.@ +4000b938: 6d14 4000 6cc4 4000 6d14 4000 6d14 4000 .m.@.l.@.m.@.m.@ +4000b948: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000b958: 6760 4000 6784 4000 6d14 4000 6778 4000 `g.@.g.@.m.@xg.@ +4000b968: 67cc 4000 6d14 4000 6794 4000 67a0 4000 .g.@.m.@.g.@.g.@ +4000b978: 67a0 4000 67a0 4000 67a0 4000 67a0 4000 .g.@.g.@.g.@.g.@ +4000b988: 67a0 4000 67a0 4000 67a0 4000 67a0 4000 .g.@.g.@.g.@.g.@ +4000b998: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000b9a8: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000b9b8: 6d14 4000 6d14 4000 6b00 4000 6d14 4000 .m.@.m.@.k.@.m.@ +4000b9c8: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000b9d8: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000b9e8: 6d14 4000 66ac 4000 6d14 4000 6d14 4000 .m.@.f.@.m.@.m.@ +4000b9f8: 6d14 4000 6d14 4000 6d14 4000 6680 4000 .m.@.m.@.m.@.f.@ +4000ba08: 6d14 4000 6d14 4000 6cd0 4000 6d14 4000 .m.@.m.@.l.@.m.@ +4000ba18: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000ba28: 6d14 4000 6d14 4000 6d14 4000 6d14 4000 .m.@.m.@.m.@.m.@ +4000ba38: 6d14 4000 6c28 4000 6c58 4000 6d14 4000 .m.@(l.@Xl.@.m.@ +4000ba48: 6d14 4000 6d14 4000 6c64 4000 6c58 4000 .m.@.m.@dl.@Xl.@ +4000ba58: 6d14 4000 6d14 4000 6674 4000 6d14 4000 .m.@.m.@tf.@.m.@ +4000ba68: 680c 4000 66b0 4000 6bb4 4000 6674 4000 .h.@.f.@.k.@tf.@ +4000ba78: 6d14 4000 683c 4000 6d14 4000 6684 4000 .m.@<h.@.m.@.f.@ +4000ba88: 6d14 4000 6d14 4000 6c70 4000 .m.@.m.@pl.@ + +4000ba94 <blanks.4081>: +4000ba94: 2020 2020 2020 2020 2020 2020 2020 2020 + +4000baa4 <zeroes.4082>: +4000baa4: 3030 3030 3030 3030 3030 3030 3030 3030 0000000000000000 +4000bab4: 96fc 4000 9558 4000 96ec 4000 95d4 4000 ...@X..@...@...@ +4000bac4: 96ec 4000 96c4 4000 96ec 4000 95d4 4000 ...@...@...@...@ +4000bad4: 9558 4000 9558 4000 96c4 4000 95d4 4000 X..@X..@...@...@ +4000bae4: 95e4 4000 95e4 4000 95e4 4000 9718 4000 ...@...@...@...@ +4000baf4: a1ac 4000 a02c 4000 a02c 4000 a028 4000 ...@,..@,..@(..@ +4000bb04: a3dc 4000 a3dc 4000 a0bc 4000 a028 4000 ...@...@...@(..@ +4000bb14: a3dc 4000 a0bc 4000 a3dc 4000 a028 4000 ...@...@...@(..@ +4000bb24: a198 4000 a198 4000 a198 4000 a3ec 4000 ...@...@...@...@ + +4000bb34 <__clz_tab>: +4000bb34: 0100 0202 0303 0303 0404 0404 0404 0404 ................ +4000bb44: 0505 0505 0505 0505 0505 0505 0505 0505 ................ +4000bb54: 0606 0606 0606 0606 0606 0606 0606 0606 ................ +4000bb64: 0606 0606 0606 0606 0606 0606 0606 0606 ................ +4000bb74: 0707 0707 0707 0707 0707 0707 0707 0707 ................ +4000bb84: 0707 0707 0707 0707 0707 0707 0707 0707 ................ +4000bb94: 0707 0707 0707 0707 0707 0707 0707 0707 ................ +4000bba4: 0707 0707 0707 0707 0707 0707 0707 0707 ................ +4000bbb4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bbc4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bbd4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bbe4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bbf4: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bc04: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bc14: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bc24: 0808 0808 0808 0808 0808 0808 0808 0808 ................ +4000bc34: 0000 0000 ffff ffff ffff 7fef 0000 0000 ................ +4000bc44: 0000 3ff8 4361 636f 87a7 3fd2 c8b3 8b60 ...?aCoc...?..`. +4000bc54: 8a28 3fc6 79fb 509f 4413 3fd3 0000 0000 (..?.y.P.D.?.... +4000bc64: 0000 3ff0 0000 0000 0000 4024 0000 0000 ...?......$@.... +4000bc74: 0000 401c 0000 0000 0000 4014 0000 0000 ...@.......@.... +4000bc84: 0000 3fe0 0010 0000 0000 0000 7a01 0052 ...?.........zR. +4000bc94: 0401 0101 0d1b 0002 0010 0000 0018 0000 ................ +4000bca4: 435c ffff 0008 0000 0000 0000 0010 0000 \C.............. +4000bcb4: 002c 0000 4350 ffff 0008 0000 0000 0000 ,...PC.......... +4000bcc4: 0010 0000 0040 0000 4344 ffff 0008 0000 ....@...DC...... +4000bcd4: 0000 0000 0010 0000 0054 0000 4338 ffff ........T...8C.. +4000bce4: 0008 0000 0000 0000 0010 0000 0068 0000 ............h... +4000bcf4: 432c ffff 0008 0000 0000 0000 0010 0000 ,C.............. +4000bd04: 007c 0000 4320 ffff 000c 0000 0000 0000 |... C.......... +4000bd14: 0018 0000 0090 0000 4318 ffff 003c 0000 .........C..<... +4000bd24: 4400 100e 1148 7e08 0111 007f 0020 0000 .D..H..~.... ... +4000bd34: 00ac 0000 4338 ffff 0054 0000 4400 100e ....8C..T....D.. +4000bd44: 1150 7d09 1211 117c 7f01 0811 007e 0000 P..}..|.....~... +4000bd54: 0014 0000 00d0 0000 436c ffff 0030 0000 ........lC..0... +4000bd64: 4800 100e 1148 7f01 0010 0000 00e8 0000 .H..H........... +4000bd74: 4350 ffff 0004 0000 0000 0000 PC.......... diff --git a/VexRiscv/src/test/resources/asm/machineCsrCompressed.asm b/VexRiscv/src/test/resources/asm/machineCsrCompressed.asm new file mode 100644 index 0000000..1cf1d28 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/machineCsrCompressed.asm @@ -0,0 +1,323 @@ + +build/machineCsr.elf: file format elf32-littleriscv + + +Disassembly of section .yolo: + +80000000 <trap_entry-0x20>: + j _start +80000000: 0900006f j 80000090 <_start> + nop +80000004: 00000013 nop + nop +80000008: 00000013 nop + nop +8000000c: 00000013 nop + nop +80000010: 00000013 nop + nop +80000014: 00000013 nop + nop +80000018: 00000013 nop + nop +8000001c: 00000013 nop + +80000020 <trap_entry>: + +.global trap_entry +trap_entry: + csrr x28, mcause +80000020: 34202e73 csrr t3,mcause + + bnez x28, notICmdAlignementException +80000024: 000e1e63 bnez t3,80000040 <notICmdAlignementException> + li x30, 0xFFFFFFFC +80000028: ffc00f13 li t5,-4 + csrr x29, mepc +8000002c: 34102ef3 csrr t4,mepc + and x29,x29,x30 +80000030: 01eefeb3 and t4,t4,t5 + addi x29, x29, 4 +80000034: 004e8e93 addi t4,t4,4 + csrw mepc, x29 +80000038: 341e9073 csrw mepc,t4 + j mepcFixed +8000003c: 01c0006f j 80000058 <mepcFixed> + +80000040 <notICmdAlignementException>: + +notICmdAlignementException: + li x29, 0x80000000 +80000040: 80000eb7 lui t4,0x80000 + and x30, x28, x29 +80000044: 01de7f33 and t5,t3,t4 + bnez x30, mepcFixed +80000048: 000f1863 bnez t5,80000058 <mepcFixed> + csrr x29, mepc +8000004c: 34102ef3 csrr t4,mepc + addi x29, x29, 4 +80000050: 004e8e93 addi t4,t4,4 # 80000004 <_etext+0xfffffdf8> + csrw mepc, x29 +80000054: 341e9073 csrw mepc,t4 + +80000058 <mepcFixed>: +mepcFixed: + + + li x29, 0x80000003u +80000058: 80000eb7 lui t4,0x80000 +8000005c: 003e8e93 addi t4,t4,3 # 80000003 <_etext+0xfffffdf7> + bne x29, x28, noSoftwareInterrupt +80000060: 01ce9663 bne t4,t3,8000006c <noSoftwareInterrupt> + li x29, 0x008 +80000064: 00800e93 li t4,8 + csrc mip, x29 +80000068: 344eb073 csrc mip,t4 + +8000006c <noSoftwareInterrupt>: + +noSoftwareInterrupt: + + li x29, 0x80000007u +8000006c: 80000eb7 lui t4,0x80000 +80000070: 007e8e93 addi t4,t4,7 # 80000007 <_etext+0xfffffdfb> + bne x29, x28, noTimerInterrupt +80000074: 01ce9463 bne t4,t3,8000007c <noTimerInterrupt> + csrw mie, 0 +80000078: 30405073 csrwi mie,0 + +8000007c <noTimerInterrupt>: +noTimerInterrupt: + + li x29, 0x8000000bu +8000007c: 80000eb7 lui t4,0x80000 +80000080: 00be8e93 addi t4,t4,11 # 8000000b <_etext+0xfffffdff> + bne x29, x28, noExernalInterrupt +80000084: 01ce9463 bne t4,t3,8000008c <noExernalInterrupt> + csrw mie, 0 +80000088: 30405073 csrwi mie,0 + +8000008c <noExernalInterrupt>: +noExernalInterrupt: + + mret +8000008c: 30200073 mret + +80000090 <_start>: + + + .text + .globl _start +_start: + li x28, 1 +80000090: 00100e13 li t3,1 + scall +80000094: 00000073 ecall + + li x28, 2 +80000098: 00200e13 li t3,2 + li t0, 0x008 +8000009c: 00800293 li t0,8 + csrs mstatus,t0 +800000a0: 3002a073 csrs mstatus,t0 + li t0, 0x008 +800000a4: 00800293 li t0,8 + csrw mie,t0 +800000a8: 30429073 csrw mie,t0 + li t0, 0x008 +800000ac: 00800293 li t0,8 + csrs mip,t0 +800000b0: 3442a073 csrs mip,t0 + nop +800000b4: 00000013 nop + nop +800000b8: 00000013 nop + nop +800000bc: 00000013 nop + nop +800000c0: 00000013 nop + nop +800000c4: 00000013 nop + nop +800000c8: 00000013 nop + nop +800000cc: 00000013 nop + nop +800000d0: 00000013 nop + nop +800000d4: 00000013 nop + nop +800000d8: 00000013 nop + nop +800000dc: 00000013 nop + nop +800000e0: 00000013 nop + + + li x28, 3 +800000e4: 00300e13 li t3,3 + li t0, 0x080 +800000e8: 08000293 li t0,128 + csrw mie,t0 +800000ec: 30429073 csrw mie,t0 + nop +800000f0: 00000013 nop + nop +800000f4: 00000013 nop + nop +800000f8: 00000013 nop + nop +800000fc: 00000013 nop + nop +80000100: 00000013 nop + nop +80000104: 00000013 nop + nop +80000108: 00000013 nop + + li x28, 4 +8000010c: 00400e13 li t3,4 + li t0, 0x800 +80000110: 000012b7 lui t0,0x1 +80000114: 80028293 addi t0,t0,-2048 # 800 <_stack_size> + csrw mie,t0 +80000118: 30429073 csrw mie,t0 + nop +8000011c: 00000013 nop + nop +80000120: 00000013 nop + nop +80000124: 00000013 nop + nop +80000128: 00000013 nop + nop +8000012c: 00000013 nop + nop +80000130: 00000013 nop + nop +80000134: 00000013 nop + + li x28, 5 +80000138: 00500e13 li t3,5 + li x3, 0xF00FFF40 +8000013c: f01001b7 lui gp,0xf0100 +80000140: f4018193 addi gp,gp,-192 # f00fff40 <_etext+0x700ffd34> + lw x4, 0(x3) +80000144: 0001a203 lw tp,0(gp) + lw x5, 4(x3) +80000148: 0041a283 lw t0,4(gp) + addi x4, x4, 1023 +8000014c: 3ff20213 addi tp,tp,1023 # 3ff <_stack_size-0x401> + sw x4, 8(x3) +80000150: 0041a423 sw tp,8(gp) + sw x5, 12(x3) +80000154: 0051a623 sw t0,12(gp) + li x28, 6 +80000158: 00600e13 li t3,6 + li x4, 0x080 +8000015c: 08000213 li tp,128 + csrw mie,x4 +80000160: 30421073 csrw mie,tp + li x28, 7 +80000164: 00700e13 li t3,7 + wfi +80000168: 10500073 wfi + + + li x28, 8 +8000016c: 00800e13 li t3,8 + li x3, 1 +80000170: 00100193 li gp,1 + sw x4,0(x3) +80000174: 0041a023 sw tp,0(gp) + li x28, 9 +80000178: 00900e13 li t3,9 + sh x4,0(x3) +8000017c: 00419023 sh tp,0(gp) + li x28, 10 +80000180: 00a00e13 li t3,10 + lw x4,0(x3) +80000184: 0001a203 lw tp,0(gp) + li x28, 11 +80000188: 00b00e13 li t3,11 + lh x4,0(x3) +8000018c: 00019203 lh tp,0(gp) + li x28, 12 +80000190: 00c00e13 li t3,12 + + + + li x28, 13 +80000194: 00d00e13 li t3,13 + lw x1,0(x0) +80000198: 00002083 lw ra,0(zero) # 0 <_stack_size-0x800> +//unalignedPcA: + //j unalignedPcA+2 + //lw x1,0(x0) + + li x28, 14 +8000019c: 00e00e13 li t3,14 + hret +800001a0: 20200073 hret + li x28, 15 +800001a4: 00f00e13 li t3,15 + + + li x1, 0xF00FFF60 +800001a8: f01000b7 lui ra,0xf0100 +800001ac: f6008093 addi ra,ra,-160 # f00fff60 <_etext+0x700ffd54> + lw x2, 0(x1) +800001b0: 0000a103 lw sp,0(ra) + li x28, 16 +800001b4: 01000e13 li t3,16 + sw x2, 0(x1) +800001b8: 0020a023 sw sp,0(ra) + li x28, 17 +800001bc: 01100e13 li t3,17 + jr x1 +800001c0: 00008067 ret + +Disassembly of section .text: + +800001c4 <irqCpp>: +} + + +void irqCpp(int irq){ + +} +800001c4: 00008067 ret + +800001c8 <main>: +} +800001c8: 00000513 li a0,0 +800001cc: 00008067 ret +800001d0: 0010 0x10 +800001d2: 0000 unimp +800001d4: 0000 unimp +800001d6: 0000 unimp +800001d8: 7a01 lui s4,0xfffe0 +800001da: 0052 c.slli zero,0x14 +800001dc: 7c01 lui s8,0xfffe0 +800001de: 0101 addi sp,sp,0 +800001e0: 00020d1b 0x20d1b +800001e4: 0010 0x10 +800001e6: 0000 unimp +800001e8: 0018 0x18 +800001ea: 0000 unimp +800001ec: ffdc fsw fa5,60(a5) +800001ee: ffff 0xffff +800001f0: 0008 0x8 +800001f2: 0000 unimp +800001f4: 0000 unimp +800001f6: 0000 unimp +800001f8: 0010 0x10 +800001fa: 0000 unimp +800001fc: 002c addi a1,sp,8 +800001fe: 0000 unimp +80000200: ffc4 fsw fs1,60(a5) +80000202: ffff 0xffff +80000204: 0004 0x4 +80000206: 0000 unimp +80000208: 0000 unimp + ... diff --git a/VexRiscv/src/test/resources/asm/rv32uc-p-rvc.dump b/VexRiscv/src/test/resources/asm/rv32uc-p-rvc.dump new file mode 100644 index 0000000..adfa4c2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uc-p-rvc.dump @@ -0,0 +1,4904 @@ + +rv32uc-p-rvc: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00003f17 auipc t5,0x3 +80000044: fc3f2023 sw gp,-64(t5) # 80003000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 00000297 auipc t0,0x0 +80000058: 01028293 addi t0,t0,16 # 80000064 <reset_vector+0x18> +8000005c: 30529073 csrw mtvec,t0 +80000060: 18005073 csrwi satp,0 +80000064: 00000297 auipc t0,0x0 +80000068: 01c28293 addi t0,t0,28 # 80000080 <reset_vector+0x34> +8000006c: 30529073 csrw mtvec,t0 +80000070: fff00293 li t0,-1 +80000074: 3b029073 csrw pmpaddr0,t0 +80000078: 01f00293 li t0,31 +8000007c: 3a029073 csrw pmpcfg0,t0 +80000080: 00000297 auipc t0,0x0 +80000084: 01828293 addi t0,t0,24 # 80000098 <reset_vector+0x4c> +80000088: 30529073 csrw mtvec,t0 +8000008c: 30205073 csrwi medeleg,0 +80000090: 30305073 csrwi mideleg,0 +80000094: 30405073 csrwi mie,0 +80000098: 00000193 li gp,0 +8000009c: 00000297 auipc t0,0x0 +800000a0: f6828293 addi t0,t0,-152 # 80000004 <trap_vector> +800000a4: 30529073 csrw mtvec,t0 +800000a8: 00100513 li a0,1 +800000ac: 01f51513 slli a0,a0,0x1f +800000b0: 00054863 bltz a0,800000c0 <reset_vector+0x74> +800000b4: 0ff0000f fence +800000b8: 00100193 li gp,1 +800000bc: 00000073 ecall +800000c0: 80000297 auipc t0,0x80000 +800000c4: f4028293 addi t0,t0,-192 # 0 <_start-0x80000000> +800000c8: 00028e63 beqz t0,800000e4 <reset_vector+0x98> +800000cc: 10529073 csrw stvec,t0 +800000d0: 0000b2b7 lui t0,0xb +800000d4: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +800000d8: 30229073 csrw medeleg,t0 +800000dc: 30202373 csrr t1,medeleg +800000e0: f4629ee3 bne t0,t1,8000003c <handle_exception> +800000e4: 30005073 csrwi mstatus,0 +800000e8: 00000297 auipc t0,0x0 +800000ec: 01428293 addi t0,t0,20 # 800000fc <reset_vector+0xb0> +800000f0: 34129073 csrw mepc,t0 +800000f4: f1402573 csrr a0,mhartid +800000f8: 30200073 mret +800000fc: 00200193 li gp,2 +80000100: 29a00593 li a1,666 + +80000104 <test_2>: +80000104: 6fb0106f j 80001ffe <data+0x1ef6> + +80000108 <data>: +80000108: 3210 fld fa2,32(a2) +8000010a: 7654 flw fa3,44(a2) +8000010c: ba98 fsd fa4,48(a3) +8000010e: fedc fsw fa5,60(a3) +80000110: 3210 fld fa2,32(a2) +80000112: 7654 flw fa3,44(a2) +80000114: ba98 fsd fa4,48(a3) +80000116: fedc fsw fa5,60(a3) +80000118: 00000013 nop +8000011c: 00000013 nop +80000120: 00000013 nop +80000124: 00000013 nop +80000128: 00000013 nop +8000012c: 00000013 nop +80000130: 00000013 nop +80000134: 00000013 nop +80000138: 00000013 nop +8000013c: 00000013 nop +80000140: 00000013 nop +80000144: 00000013 nop +80000148: 00000013 nop +8000014c: 00000013 nop +80000150: 00000013 nop +80000154: 00000013 nop +80000158: 00000013 nop +8000015c: 00000013 nop +80000160: 00000013 nop +80000164: 00000013 nop +80000168: 00000013 nop +8000016c: 00000013 nop +80000170: 00000013 nop +80000174: 00000013 nop +80000178: 00000013 nop +8000017c: 00000013 nop +80000180: 00000013 nop +80000184: 00000013 nop +80000188: 00000013 nop +8000018c: 00000013 nop +80000190: 00000013 nop +80000194: 00000013 nop +80000198: 00000013 nop +8000019c: 00000013 nop +800001a0: 00000013 nop +800001a4: 00000013 nop +800001a8: 00000013 nop +800001ac: 00000013 nop +800001b0: 00000013 nop +800001b4: 00000013 nop +800001b8: 00000013 nop +800001bc: 00000013 nop +800001c0: 00000013 nop +800001c4: 00000013 nop +800001c8: 00000013 nop +800001cc: 00000013 nop +800001d0: 00000013 nop +800001d4: 00000013 nop +800001d8: 00000013 nop +800001dc: 00000013 nop +800001e0: 00000013 nop +800001e4: 00000013 nop +800001e8: 00000013 nop +800001ec: 00000013 nop +800001f0: 00000013 nop +800001f4: 00000013 nop +800001f8: 00000013 nop +800001fc: 00000013 nop +80000200: 00000013 nop +80000204: 00000013 nop +80000208: 00000013 nop +8000020c: 00000013 nop +80000210: 00000013 nop +80000214: 00000013 nop +80000218: 00000013 nop +8000021c: 00000013 nop +80000220: 00000013 nop +80000224: 00000013 nop +80000228: 00000013 nop +8000022c: 00000013 nop +80000230: 00000013 nop +80000234: 00000013 nop +80000238: 00000013 nop +8000023c: 00000013 nop +80000240: 00000013 nop +80000244: 00000013 nop +80000248: 00000013 nop +8000024c: 00000013 nop +80000250: 00000013 nop +80000254: 00000013 nop +80000258: 00000013 nop +8000025c: 00000013 nop +80000260: 00000013 nop +80000264: 00000013 nop +80000268: 00000013 nop +8000026c: 00000013 nop +80000270: 00000013 nop +80000274: 00000013 nop +80000278: 00000013 nop +8000027c: 00000013 nop +80000280: 00000013 nop +80000284: 00000013 nop +80000288: 00000013 nop +8000028c: 00000013 nop +80000290: 00000013 nop +80000294: 00000013 nop +80000298: 00000013 nop +8000029c: 00000013 nop +800002a0: 00000013 nop +800002a4: 00000013 nop +800002a8: 00000013 nop +800002ac: 00000013 nop +800002b0: 00000013 nop +800002b4: 00000013 nop +800002b8: 00000013 nop +800002bc: 00000013 nop +800002c0: 00000013 nop +800002c4: 00000013 nop +800002c8: 00000013 nop +800002cc: 00000013 nop +800002d0: 00000013 nop +800002d4: 00000013 nop +800002d8: 00000013 nop +800002dc: 00000013 nop +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 00000013 nop +800002ec: 00000013 nop +800002f0: 00000013 nop +800002f4: 00000013 nop +800002f8: 00000013 nop +800002fc: 00000013 nop +80000300: 00000013 nop +80000304: 00000013 nop +80000308: 00000013 nop +8000030c: 00000013 nop +80000310: 00000013 nop +80000314: 00000013 nop +80000318: 00000013 nop +8000031c: 00000013 nop +80000320: 00000013 nop +80000324: 00000013 nop +80000328: 00000013 nop +8000032c: 00000013 nop +80000330: 00000013 nop +80000334: 00000013 nop +80000338: 00000013 nop +8000033c: 00000013 nop +80000340: 00000013 nop +80000344: 00000013 nop +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 00000013 nop +80000354: 00000013 nop +80000358: 00000013 nop +8000035c: 00000013 nop +80000360: 00000013 nop +80000364: 00000013 nop +80000368: 00000013 nop +8000036c: 00000013 nop +80000370: 00000013 nop +80000374: 00000013 nop +80000378: 00000013 nop +8000037c: 00000013 nop +80000380: 00000013 nop +80000384: 00000013 nop +80000388: 00000013 nop +8000038c: 00000013 nop +80000390: 00000013 nop +80000394: 00000013 nop +80000398: 00000013 nop +8000039c: 00000013 nop +800003a0: 00000013 nop +800003a4: 00000013 nop +800003a8: 00000013 nop +800003ac: 00000013 nop +800003b0: 00000013 nop +800003b4: 00000013 nop +800003b8: 00000013 nop +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 00000013 nop +800003c8: 00000013 nop +800003cc: 00000013 nop +800003d0: 00000013 nop +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 00000013 nop +800003e0: 00000013 nop +800003e4: 00000013 nop +800003e8: 00000013 nop +800003ec: 00000013 nop +800003f0: 00000013 nop +800003f4: 00000013 nop +800003f8: 00000013 nop +800003fc: 00000013 nop +80000400: 00000013 nop +80000404: 00000013 nop +80000408: 00000013 nop +8000040c: 00000013 nop +80000410: 00000013 nop +80000414: 00000013 nop +80000418: 00000013 nop +8000041c: 00000013 nop +80000420: 00000013 nop +80000424: 00000013 nop +80000428: 00000013 nop +8000042c: 00000013 nop +80000430: 00000013 nop +80000434: 00000013 nop +80000438: 00000013 nop +8000043c: 00000013 nop +80000440: 00000013 nop +80000444: 00000013 nop +80000448: 00000013 nop +8000044c: 00000013 nop +80000450: 00000013 nop +80000454: 00000013 nop +80000458: 00000013 nop +8000045c: 00000013 nop +80000460: 00000013 nop +80000464: 00000013 nop +80000468: 00000013 nop +8000046c: 00000013 nop +80000470: 00000013 nop +80000474: 00000013 nop +80000478: 00000013 nop +8000047c: 00000013 nop +80000480: 00000013 nop +80000484: 00000013 nop +80000488: 00000013 nop +8000048c: 00000013 nop +80000490: 00000013 nop +80000494: 00000013 nop +80000498: 00000013 nop +8000049c: 00000013 nop +800004a0: 00000013 nop +800004a4: 00000013 nop +800004a8: 00000013 nop +800004ac: 00000013 nop +800004b0: 00000013 nop +800004b4: 00000013 nop +800004b8: 00000013 nop +800004bc: 00000013 nop +800004c0: 00000013 nop +800004c4: 00000013 nop +800004c8: 00000013 nop +800004cc: 00000013 nop +800004d0: 00000013 nop +800004d4: 00000013 nop +800004d8: 00000013 nop +800004dc: 00000013 nop +800004e0: 00000013 nop +800004e4: 00000013 nop +800004e8: 00000013 nop +800004ec: 00000013 nop +800004f0: 00000013 nop +800004f4: 00000013 nop +800004f8: 00000013 nop +800004fc: 00000013 nop +80000500: 00000013 nop +80000504: 00000013 nop +80000508: 00000013 nop +8000050c: 00000013 nop +80000510: 00000013 nop +80000514: 00000013 nop +80000518: 00000013 nop +8000051c: 00000013 nop +80000520: 00000013 nop +80000524: 00000013 nop +80000528: 00000013 nop +8000052c: 00000013 nop +80000530: 00000013 nop +80000534: 00000013 nop +80000538: 00000013 nop +8000053c: 00000013 nop +80000540: 00000013 nop +80000544: 00000013 nop +80000548: 00000013 nop +8000054c: 00000013 nop +80000550: 00000013 nop +80000554: 00000013 nop +80000558: 00000013 nop +8000055c: 00000013 nop +80000560: 00000013 nop +80000564: 00000013 nop +80000568: 00000013 nop +8000056c: 00000013 nop +80000570: 00000013 nop +80000574: 00000013 nop +80000578: 00000013 nop +8000057c: 00000013 nop +80000580: 00000013 nop +80000584: 00000013 nop +80000588: 00000013 nop +8000058c: 00000013 nop +80000590: 00000013 nop +80000594: 00000013 nop +80000598: 00000013 nop +8000059c: 00000013 nop +800005a0: 00000013 nop +800005a4: 00000013 nop +800005a8: 00000013 nop +800005ac: 00000013 nop +800005b0: 00000013 nop +800005b4: 00000013 nop +800005b8: 00000013 nop +800005bc: 00000013 nop +800005c0: 00000013 nop +800005c4: 00000013 nop +800005c8: 00000013 nop +800005cc: 00000013 nop +800005d0: 00000013 nop +800005d4: 00000013 nop +800005d8: 00000013 nop +800005dc: 00000013 nop +800005e0: 00000013 nop +800005e4: 00000013 nop +800005e8: 00000013 nop +800005ec: 00000013 nop +800005f0: 00000013 nop +800005f4: 00000013 nop +800005f8: 00000013 nop +800005fc: 00000013 nop +80000600: 00000013 nop +80000604: 00000013 nop +80000608: 00000013 nop +8000060c: 00000013 nop +80000610: 00000013 nop +80000614: 00000013 nop +80000618: 00000013 nop +8000061c: 00000013 nop +80000620: 00000013 nop +80000624: 00000013 nop +80000628: 00000013 nop +8000062c: 00000013 nop +80000630: 00000013 nop +80000634: 00000013 nop +80000638: 00000013 nop +8000063c: 00000013 nop +80000640: 00000013 nop +80000644: 00000013 nop +80000648: 00000013 nop +8000064c: 00000013 nop +80000650: 00000013 nop +80000654: 00000013 nop +80000658: 00000013 nop +8000065c: 00000013 nop +80000660: 00000013 nop +80000664: 00000013 nop +80000668: 00000013 nop +8000066c: 00000013 nop +80000670: 00000013 nop +80000674: 00000013 nop +80000678: 00000013 nop +8000067c: 00000013 nop +80000680: 00000013 nop +80000684: 00000013 nop +80000688: 00000013 nop +8000068c: 00000013 nop +80000690: 00000013 nop +80000694: 00000013 nop +80000698: 00000013 nop +8000069c: 00000013 nop +800006a0: 00000013 nop +800006a4: 00000013 nop +800006a8: 00000013 nop +800006ac: 00000013 nop +800006b0: 00000013 nop +800006b4: 00000013 nop +800006b8: 00000013 nop +800006bc: 00000013 nop +800006c0: 00000013 nop +800006c4: 00000013 nop +800006c8: 00000013 nop +800006cc: 00000013 nop +800006d0: 00000013 nop +800006d4: 00000013 nop +800006d8: 00000013 nop +800006dc: 00000013 nop +800006e0: 00000013 nop +800006e4: 00000013 nop +800006e8: 00000013 nop +800006ec: 00000013 nop +800006f0: 00000013 nop +800006f4: 00000013 nop +800006f8: 00000013 nop +800006fc: 00000013 nop +80000700: 00000013 nop +80000704: 00000013 nop +80000708: 00000013 nop +8000070c: 00000013 nop +80000710: 00000013 nop +80000714: 00000013 nop +80000718: 00000013 nop +8000071c: 00000013 nop +80000720: 00000013 nop +80000724: 00000013 nop +80000728: 00000013 nop +8000072c: 00000013 nop +80000730: 00000013 nop +80000734: 00000013 nop +80000738: 00000013 nop +8000073c: 00000013 nop +80000740: 00000013 nop +80000744: 00000013 nop +80000748: 00000013 nop +8000074c: 00000013 nop +80000750: 00000013 nop +80000754: 00000013 nop +80000758: 00000013 nop +8000075c: 00000013 nop +80000760: 00000013 nop +80000764: 00000013 nop +80000768: 00000013 nop +8000076c: 00000013 nop +80000770: 00000013 nop +80000774: 00000013 nop +80000778: 00000013 nop +8000077c: 00000013 nop +80000780: 00000013 nop +80000784: 00000013 nop +80000788: 00000013 nop +8000078c: 00000013 nop +80000790: 00000013 nop +80000794: 00000013 nop +80000798: 00000013 nop +8000079c: 00000013 nop +800007a0: 00000013 nop +800007a4: 00000013 nop +800007a8: 00000013 nop +800007ac: 00000013 nop +800007b0: 00000013 nop +800007b4: 00000013 nop +800007b8: 00000013 nop +800007bc: 00000013 nop +800007c0: 00000013 nop +800007c4: 00000013 nop +800007c8: 00000013 nop +800007cc: 00000013 nop +800007d0: 00000013 nop +800007d4: 00000013 nop +800007d8: 00000013 nop +800007dc: 00000013 nop +800007e0: 00000013 nop +800007e4: 00000013 nop +800007e8: 00000013 nop +800007ec: 00000013 nop +800007f0: 00000013 nop +800007f4: 00000013 nop +800007f8: 00000013 nop +800007fc: 00000013 nop +80000800: 00000013 nop +80000804: 00000013 nop +80000808: 00000013 nop +8000080c: 00000013 nop +80000810: 00000013 nop +80000814: 00000013 nop +80000818: 00000013 nop +8000081c: 00000013 nop +80000820: 00000013 nop +80000824: 00000013 nop +80000828: 00000013 nop +8000082c: 00000013 nop +80000830: 00000013 nop +80000834: 00000013 nop +80000838: 00000013 nop +8000083c: 00000013 nop +80000840: 00000013 nop +80000844: 00000013 nop +80000848: 00000013 nop +8000084c: 00000013 nop +80000850: 00000013 nop +80000854: 00000013 nop +80000858: 00000013 nop +8000085c: 00000013 nop +80000860: 00000013 nop +80000864: 00000013 nop +80000868: 00000013 nop +8000086c: 00000013 nop +80000870: 00000013 nop +80000874: 00000013 nop +80000878: 00000013 nop +8000087c: 00000013 nop +80000880: 00000013 nop +80000884: 00000013 nop +80000888: 00000013 nop +8000088c: 00000013 nop +80000890: 00000013 nop +80000894: 00000013 nop +80000898: 00000013 nop +8000089c: 00000013 nop +800008a0: 00000013 nop +800008a4: 00000013 nop +800008a8: 00000013 nop +800008ac: 00000013 nop +800008b0: 00000013 nop +800008b4: 00000013 nop +800008b8: 00000013 nop +800008bc: 00000013 nop +800008c0: 00000013 nop +800008c4: 00000013 nop +800008c8: 00000013 nop +800008cc: 00000013 nop +800008d0: 00000013 nop +800008d4: 00000013 nop +800008d8: 00000013 nop +800008dc: 00000013 nop +800008e0: 00000013 nop +800008e4: 00000013 nop +800008e8: 00000013 nop +800008ec: 00000013 nop +800008f0: 00000013 nop +800008f4: 00000013 nop +800008f8: 00000013 nop +800008fc: 00000013 nop +80000900: 00000013 nop +80000904: 00000013 nop +80000908: 00000013 nop +8000090c: 00000013 nop +80000910: 00000013 nop +80000914: 00000013 nop +80000918: 00000013 nop +8000091c: 00000013 nop +80000920: 00000013 nop +80000924: 00000013 nop +80000928: 00000013 nop +8000092c: 00000013 nop +80000930: 00000013 nop +80000934: 00000013 nop +80000938: 00000013 nop +8000093c: 00000013 nop +80000940: 00000013 nop +80000944: 00000013 nop +80000948: 00000013 nop +8000094c: 00000013 nop +80000950: 00000013 nop +80000954: 00000013 nop +80000958: 00000013 nop +8000095c: 00000013 nop +80000960: 00000013 nop +80000964: 00000013 nop +80000968: 00000013 nop +8000096c: 00000013 nop +80000970: 00000013 nop +80000974: 00000013 nop +80000978: 00000013 nop +8000097c: 00000013 nop +80000980: 00000013 nop +80000984: 00000013 nop +80000988: 00000013 nop +8000098c: 00000013 nop +80000990: 00000013 nop +80000994: 00000013 nop +80000998: 00000013 nop +8000099c: 00000013 nop +800009a0: 00000013 nop +800009a4: 00000013 nop +800009a8: 00000013 nop +800009ac: 00000013 nop +800009b0: 00000013 nop +800009b4: 00000013 nop +800009b8: 00000013 nop +800009bc: 00000013 nop +800009c0: 00000013 nop +800009c4: 00000013 nop +800009c8: 00000013 nop +800009cc: 00000013 nop +800009d0: 00000013 nop +800009d4: 00000013 nop +800009d8: 00000013 nop +800009dc: 00000013 nop +800009e0: 00000013 nop +800009e4: 00000013 nop +800009e8: 00000013 nop +800009ec: 00000013 nop +800009f0: 00000013 nop +800009f4: 00000013 nop +800009f8: 00000013 nop +800009fc: 00000013 nop +80000a00: 00000013 nop +80000a04: 00000013 nop +80000a08: 00000013 nop +80000a0c: 00000013 nop +80000a10: 00000013 nop +80000a14: 00000013 nop +80000a18: 00000013 nop +80000a1c: 00000013 nop +80000a20: 00000013 nop +80000a24: 00000013 nop +80000a28: 00000013 nop +80000a2c: 00000013 nop +80000a30: 00000013 nop +80000a34: 00000013 nop +80000a38: 00000013 nop +80000a3c: 00000013 nop +80000a40: 00000013 nop +80000a44: 00000013 nop +80000a48: 00000013 nop +80000a4c: 00000013 nop +80000a50: 00000013 nop +80000a54: 00000013 nop +80000a58: 00000013 nop +80000a5c: 00000013 nop +80000a60: 00000013 nop +80000a64: 00000013 nop +80000a68: 00000013 nop +80000a6c: 00000013 nop +80000a70: 00000013 nop +80000a74: 00000013 nop +80000a78: 00000013 nop +80000a7c: 00000013 nop +80000a80: 00000013 nop +80000a84: 00000013 nop +80000a88: 00000013 nop +80000a8c: 00000013 nop +80000a90: 00000013 nop +80000a94: 00000013 nop +80000a98: 00000013 nop +80000a9c: 00000013 nop +80000aa0: 00000013 nop +80000aa4: 00000013 nop +80000aa8: 00000013 nop +80000aac: 00000013 nop +80000ab0: 00000013 nop +80000ab4: 00000013 nop +80000ab8: 00000013 nop +80000abc: 00000013 nop +80000ac0: 00000013 nop +80000ac4: 00000013 nop +80000ac8: 00000013 nop +80000acc: 00000013 nop +80000ad0: 00000013 nop +80000ad4: 00000013 nop +80000ad8: 00000013 nop +80000adc: 00000013 nop +80000ae0: 00000013 nop +80000ae4: 00000013 nop +80000ae8: 00000013 nop +80000aec: 00000013 nop +80000af0: 00000013 nop +80000af4: 00000013 nop +80000af8: 00000013 nop +80000afc: 00000013 nop +80000b00: 00000013 nop +80000b04: 00000013 nop +80000b08: 00000013 nop +80000b0c: 00000013 nop +80000b10: 00000013 nop +80000b14: 00000013 nop +80000b18: 00000013 nop +80000b1c: 00000013 nop +80000b20: 00000013 nop +80000b24: 00000013 nop +80000b28: 00000013 nop +80000b2c: 00000013 nop +80000b30: 00000013 nop +80000b34: 00000013 nop +80000b38: 00000013 nop +80000b3c: 00000013 nop +80000b40: 00000013 nop +80000b44: 00000013 nop +80000b48: 00000013 nop +80000b4c: 00000013 nop +80000b50: 00000013 nop +80000b54: 00000013 nop +80000b58: 00000013 nop +80000b5c: 00000013 nop +80000b60: 00000013 nop +80000b64: 00000013 nop +80000b68: 00000013 nop +80000b6c: 00000013 nop +80000b70: 00000013 nop +80000b74: 00000013 nop +80000b78: 00000013 nop +80000b7c: 00000013 nop +80000b80: 00000013 nop +80000b84: 00000013 nop +80000b88: 00000013 nop +80000b8c: 00000013 nop +80000b90: 00000013 nop +80000b94: 00000013 nop +80000b98: 00000013 nop +80000b9c: 00000013 nop +80000ba0: 00000013 nop +80000ba4: 00000013 nop +80000ba8: 00000013 nop +80000bac: 00000013 nop +80000bb0: 00000013 nop +80000bb4: 00000013 nop +80000bb8: 00000013 nop +80000bbc: 00000013 nop +80000bc0: 00000013 nop +80000bc4: 00000013 nop +80000bc8: 00000013 nop +80000bcc: 00000013 nop +80000bd0: 00000013 nop +80000bd4: 00000013 nop +80000bd8: 00000013 nop +80000bdc: 00000013 nop +80000be0: 00000013 nop +80000be4: 00000013 nop +80000be8: 00000013 nop +80000bec: 00000013 nop +80000bf0: 00000013 nop +80000bf4: 00000013 nop +80000bf8: 00000013 nop +80000bfc: 00000013 nop +80000c00: 00000013 nop +80000c04: 00000013 nop +80000c08: 00000013 nop +80000c0c: 00000013 nop +80000c10: 00000013 nop +80000c14: 00000013 nop +80000c18: 00000013 nop +80000c1c: 00000013 nop +80000c20: 00000013 nop +80000c24: 00000013 nop +80000c28: 00000013 nop +80000c2c: 00000013 nop +80000c30: 00000013 nop +80000c34: 00000013 nop +80000c38: 00000013 nop +80000c3c: 00000013 nop +80000c40: 00000013 nop +80000c44: 00000013 nop +80000c48: 00000013 nop +80000c4c: 00000013 nop +80000c50: 00000013 nop +80000c54: 00000013 nop +80000c58: 00000013 nop +80000c5c: 00000013 nop +80000c60: 00000013 nop +80000c64: 00000013 nop +80000c68: 00000013 nop +80000c6c: 00000013 nop +80000c70: 00000013 nop +80000c74: 00000013 nop +80000c78: 00000013 nop +80000c7c: 00000013 nop +80000c80: 00000013 nop +80000c84: 00000013 nop +80000c88: 00000013 nop +80000c8c: 00000013 nop +80000c90: 00000013 nop +80000c94: 00000013 nop +80000c98: 00000013 nop +80000c9c: 00000013 nop +80000ca0: 00000013 nop +80000ca4: 00000013 nop +80000ca8: 00000013 nop +80000cac: 00000013 nop +80000cb0: 00000013 nop +80000cb4: 00000013 nop +80000cb8: 00000013 nop +80000cbc: 00000013 nop +80000cc0: 00000013 nop +80000cc4: 00000013 nop +80000cc8: 00000013 nop +80000ccc: 00000013 nop +80000cd0: 00000013 nop +80000cd4: 00000013 nop +80000cd8: 00000013 nop +80000cdc: 00000013 nop +80000ce0: 00000013 nop +80000ce4: 00000013 nop +80000ce8: 00000013 nop +80000cec: 00000013 nop +80000cf0: 00000013 nop +80000cf4: 00000013 nop +80000cf8: 00000013 nop +80000cfc: 00000013 nop +80000d00: 00000013 nop +80000d04: 00000013 nop +80000d08: 00000013 nop +80000d0c: 00000013 nop +80000d10: 00000013 nop +80000d14: 00000013 nop +80000d18: 00000013 nop +80000d1c: 00000013 nop +80000d20: 00000013 nop +80000d24: 00000013 nop +80000d28: 00000013 nop +80000d2c: 00000013 nop +80000d30: 00000013 nop +80000d34: 00000013 nop +80000d38: 00000013 nop +80000d3c: 00000013 nop +80000d40: 00000013 nop +80000d44: 00000013 nop +80000d48: 00000013 nop +80000d4c: 00000013 nop +80000d50: 00000013 nop +80000d54: 00000013 nop +80000d58: 00000013 nop +80000d5c: 00000013 nop +80000d60: 00000013 nop +80000d64: 00000013 nop +80000d68: 00000013 nop +80000d6c: 00000013 nop +80000d70: 00000013 nop +80000d74: 00000013 nop +80000d78: 00000013 nop +80000d7c: 00000013 nop +80000d80: 00000013 nop +80000d84: 00000013 nop +80000d88: 00000013 nop +80000d8c: 00000013 nop +80000d90: 00000013 nop +80000d94: 00000013 nop +80000d98: 00000013 nop +80000d9c: 00000013 nop +80000da0: 00000013 nop +80000da4: 00000013 nop +80000da8: 00000013 nop +80000dac: 00000013 nop +80000db0: 00000013 nop +80000db4: 00000013 nop +80000db8: 00000013 nop +80000dbc: 00000013 nop +80000dc0: 00000013 nop +80000dc4: 00000013 nop +80000dc8: 00000013 nop +80000dcc: 00000013 nop +80000dd0: 00000013 nop +80000dd4: 00000013 nop +80000dd8: 00000013 nop +80000ddc: 00000013 nop +80000de0: 00000013 nop +80000de4: 00000013 nop +80000de8: 00000013 nop +80000dec: 00000013 nop +80000df0: 00000013 nop +80000df4: 00000013 nop +80000df8: 00000013 nop +80000dfc: 00000013 nop +80000e00: 00000013 nop +80000e04: 00000013 nop +80000e08: 00000013 nop +80000e0c: 00000013 nop +80000e10: 00000013 nop +80000e14: 00000013 nop +80000e18: 00000013 nop +80000e1c: 00000013 nop +80000e20: 00000013 nop +80000e24: 00000013 nop +80000e28: 00000013 nop +80000e2c: 00000013 nop +80000e30: 00000013 nop +80000e34: 00000013 nop +80000e38: 00000013 nop +80000e3c: 00000013 nop +80000e40: 00000013 nop +80000e44: 00000013 nop +80000e48: 00000013 nop +80000e4c: 00000013 nop +80000e50: 00000013 nop +80000e54: 00000013 nop +80000e58: 00000013 nop +80000e5c: 00000013 nop +80000e60: 00000013 nop +80000e64: 00000013 nop +80000e68: 00000013 nop +80000e6c: 00000013 nop +80000e70: 00000013 nop +80000e74: 00000013 nop +80000e78: 00000013 nop +80000e7c: 00000013 nop +80000e80: 00000013 nop +80000e84: 00000013 nop +80000e88: 00000013 nop +80000e8c: 00000013 nop +80000e90: 00000013 nop +80000e94: 00000013 nop +80000e98: 00000013 nop +80000e9c: 00000013 nop +80000ea0: 00000013 nop +80000ea4: 00000013 nop +80000ea8: 00000013 nop +80000eac: 00000013 nop +80000eb0: 00000013 nop +80000eb4: 00000013 nop +80000eb8: 00000013 nop +80000ebc: 00000013 nop +80000ec0: 00000013 nop +80000ec4: 00000013 nop +80000ec8: 00000013 nop +80000ecc: 00000013 nop +80000ed0: 00000013 nop +80000ed4: 00000013 nop +80000ed8: 00000013 nop +80000edc: 00000013 nop +80000ee0: 00000013 nop +80000ee4: 00000013 nop +80000ee8: 00000013 nop +80000eec: 00000013 nop +80000ef0: 00000013 nop +80000ef4: 00000013 nop +80000ef8: 00000013 nop +80000efc: 00000013 nop +80000f00: 00000013 nop +80000f04: 00000013 nop +80000f08: 00000013 nop +80000f0c: 00000013 nop +80000f10: 00000013 nop +80000f14: 00000013 nop +80000f18: 00000013 nop +80000f1c: 00000013 nop +80000f20: 00000013 nop +80000f24: 00000013 nop +80000f28: 00000013 nop +80000f2c: 00000013 nop +80000f30: 00000013 nop +80000f34: 00000013 nop +80000f38: 00000013 nop +80000f3c: 00000013 nop +80000f40: 00000013 nop +80000f44: 00000013 nop +80000f48: 00000013 nop +80000f4c: 00000013 nop +80000f50: 00000013 nop +80000f54: 00000013 nop +80000f58: 00000013 nop +80000f5c: 00000013 nop +80000f60: 00000013 nop +80000f64: 00000013 nop +80000f68: 00000013 nop +80000f6c: 00000013 nop +80000f70: 00000013 nop +80000f74: 00000013 nop +80000f78: 00000013 nop +80000f7c: 00000013 nop +80000f80: 00000013 nop +80000f84: 00000013 nop +80000f88: 00000013 nop +80000f8c: 00000013 nop +80000f90: 00000013 nop +80000f94: 00000013 nop +80000f98: 00000013 nop +80000f9c: 00000013 nop +80000fa0: 00000013 nop +80000fa4: 00000013 nop +80000fa8: 00000013 nop +80000fac: 00000013 nop +80000fb0: 00000013 nop +80000fb4: 00000013 nop +80000fb8: 00000013 nop +80000fbc: 00000013 nop +80000fc0: 00000013 nop +80000fc4: 00000013 nop +80000fc8: 00000013 nop +80000fcc: 00000013 nop +80000fd0: 00000013 nop +80000fd4: 00000013 nop +80000fd8: 00000013 nop +80000fdc: 00000013 nop +80000fe0: 00000013 nop +80000fe4: 00000013 nop +80000fe8: 00000013 nop +80000fec: 00000013 nop +80000ff0: 00000013 nop +80000ff4: 00000013 nop +80000ff8: 00000013 nop +80000ffc: 00000013 nop +80001000: 0000 unimp +80001002: 0000 unimp +80001004: 0000 unimp +80001006: 0000 unimp +80001008: 0000 unimp +8000100a: 0000 unimp +8000100c: 0000 unimp +8000100e: 0000 unimp +80001010: 0000 unimp +80001012: 0000 unimp +80001014: 0000 unimp +80001016: 0000 unimp +80001018: 0000 unimp +8000101a: 0000 unimp +8000101c: 0000 unimp +8000101e: 0000 unimp +80001020: 0000 unimp +80001022: 0000 unimp +80001024: 0000 unimp +80001026: 0000 unimp +80001028: 0000 unimp +8000102a: 0000 unimp +8000102c: 0000 unimp +8000102e: 0000 unimp +80001030: 0000 unimp +80001032: 0000 unimp +80001034: 0000 unimp +80001036: 0000 unimp +80001038: 0000 unimp +8000103a: 0000 unimp +8000103c: 0000 unimp +8000103e: 0000 unimp +80001040: 0000 unimp +80001042: 0000 unimp +80001044: 0000 unimp +80001046: 0000 unimp +80001048: 0000 unimp +8000104a: 0000 unimp +8000104c: 0000 unimp +8000104e: 0000 unimp +80001050: 0000 unimp +80001052: 0000 unimp +80001054: 0000 unimp +80001056: 0000 unimp +80001058: 0000 unimp +8000105a: 0000 unimp +8000105c: 0000 unimp +8000105e: 0000 unimp +80001060: 0000 unimp +80001062: 0000 unimp +80001064: 0000 unimp +80001066: 0000 unimp +80001068: 0000 unimp +8000106a: 0000 unimp +8000106c: 0000 unimp +8000106e: 0000 unimp +80001070: 0000 unimp +80001072: 0000 unimp +80001074: 0000 unimp +80001076: 0000 unimp +80001078: 0000 unimp +8000107a: 0000 unimp +8000107c: 0000 unimp +8000107e: 0000 unimp +80001080: 0000 unimp +80001082: 0000 unimp +80001084: 0000 unimp +80001086: 0000 unimp +80001088: 0000 unimp +8000108a: 0000 unimp +8000108c: 0000 unimp +8000108e: 0000 unimp +80001090: 0000 unimp +80001092: 0000 unimp +80001094: 0000 unimp +80001096: 0000 unimp +80001098: 0000 unimp +8000109a: 0000 unimp +8000109c: 0000 unimp +8000109e: 0000 unimp +800010a0: 0000 unimp +800010a2: 0000 unimp +800010a4: 0000 unimp +800010a6: 0000 unimp +800010a8: 0000 unimp +800010aa: 0000 unimp +800010ac: 0000 unimp +800010ae: 0000 unimp +800010b0: 0000 unimp +800010b2: 0000 unimp +800010b4: 0000 unimp +800010b6: 0000 unimp +800010b8: 0000 unimp +800010ba: 0000 unimp +800010bc: 0000 unimp +800010be: 0000 unimp +800010c0: 0000 unimp +800010c2: 0000 unimp +800010c4: 0000 unimp +800010c6: 0000 unimp +800010c8: 0000 unimp +800010ca: 0000 unimp +800010cc: 0000 unimp +800010ce: 0000 unimp +800010d0: 0000 unimp +800010d2: 0000 unimp +800010d4: 0000 unimp +800010d6: 0000 unimp +800010d8: 0000 unimp +800010da: 0000 unimp +800010dc: 0000 unimp +800010de: 0000 unimp +800010e0: 0000 unimp +800010e2: 0000 unimp +800010e4: 0000 unimp +800010e6: 0000 unimp +800010e8: 0000 unimp +800010ea: 0000 unimp +800010ec: 0000 unimp +800010ee: 0000 unimp +800010f0: 0000 unimp +800010f2: 0000 unimp +800010f4: 0000 unimp +800010f6: 0000 unimp +800010f8: 0000 unimp +800010fa: 0000 unimp +800010fc: 0000 unimp +800010fe: 0000 unimp +80001100: 0000 unimp +80001102: 0000 unimp +80001104: 0000 unimp +80001106: 0000 unimp +80001108: 0000 unimp +8000110a: 0000 unimp +8000110c: 0000 unimp +8000110e: 0000 unimp +80001110: 0000 unimp +80001112: 0000 unimp +80001114: 0000 unimp +80001116: 0000 unimp +80001118: 0000 unimp +8000111a: 0000 unimp +8000111c: 0000 unimp +8000111e: 0000 unimp +80001120: 0000 unimp +80001122: 0000 unimp +80001124: 0000 unimp +80001126: 0000 unimp +80001128: 0000 unimp +8000112a: 0000 unimp +8000112c: 0000 unimp +8000112e: 0000 unimp +80001130: 0000 unimp +80001132: 0000 unimp +80001134: 0000 unimp +80001136: 0000 unimp +80001138: 0000 unimp +8000113a: 0000 unimp +8000113c: 0000 unimp +8000113e: 0000 unimp +80001140: 0000 unimp +80001142: 0000 unimp +80001144: 0000 unimp +80001146: 0000 unimp +80001148: 0000 unimp +8000114a: 0000 unimp +8000114c: 0000 unimp +8000114e: 0000 unimp +80001150: 0000 unimp +80001152: 0000 unimp +80001154: 0000 unimp +80001156: 0000 unimp +80001158: 0000 unimp +8000115a: 0000 unimp +8000115c: 0000 unimp +8000115e: 0000 unimp +80001160: 0000 unimp +80001162: 0000 unimp +80001164: 0000 unimp +80001166: 0000 unimp +80001168: 0000 unimp +8000116a: 0000 unimp +8000116c: 0000 unimp +8000116e: 0000 unimp +80001170: 0000 unimp +80001172: 0000 unimp +80001174: 0000 unimp +80001176: 0000 unimp +80001178: 0000 unimp +8000117a: 0000 unimp +8000117c: 0000 unimp +8000117e: 0000 unimp +80001180: 0000 unimp +80001182: 0000 unimp +80001184: 0000 unimp +80001186: 0000 unimp +80001188: 0000 unimp +8000118a: 0000 unimp +8000118c: 0000 unimp +8000118e: 0000 unimp +80001190: 0000 unimp +80001192: 0000 unimp +80001194: 0000 unimp +80001196: 0000 unimp +80001198: 0000 unimp +8000119a: 0000 unimp +8000119c: 0000 unimp +8000119e: 0000 unimp +800011a0: 0000 unimp +800011a2: 0000 unimp +800011a4: 0000 unimp +800011a6: 0000 unimp +800011a8: 0000 unimp +800011aa: 0000 unimp +800011ac: 0000 unimp +800011ae: 0000 unimp +800011b0: 0000 unimp +800011b2: 0000 unimp +800011b4: 0000 unimp +800011b6: 0000 unimp +800011b8: 0000 unimp +800011ba: 0000 unimp +800011bc: 0000 unimp +800011be: 0000 unimp +800011c0: 0000 unimp +800011c2: 0000 unimp +800011c4: 0000 unimp +800011c6: 0000 unimp +800011c8: 0000 unimp +800011ca: 0000 unimp +800011cc: 0000 unimp +800011ce: 0000 unimp +800011d0: 0000 unimp +800011d2: 0000 unimp +800011d4: 0000 unimp +800011d6: 0000 unimp +800011d8: 0000 unimp +800011da: 0000 unimp +800011dc: 0000 unimp +800011de: 0000 unimp +800011e0: 0000 unimp +800011e2: 0000 unimp +800011e4: 0000 unimp +800011e6: 0000 unimp +800011e8: 0000 unimp +800011ea: 0000 unimp +800011ec: 0000 unimp +800011ee: 0000 unimp +800011f0: 0000 unimp +800011f2: 0000 unimp +800011f4: 0000 unimp +800011f6: 0000 unimp +800011f8: 0000 unimp +800011fa: 0000 unimp +800011fc: 0000 unimp +800011fe: 0000 unimp +80001200: 0000 unimp +80001202: 0000 unimp +80001204: 0000 unimp +80001206: 0000 unimp +80001208: 0000 unimp +8000120a: 0000 unimp +8000120c: 0000 unimp +8000120e: 0000 unimp +80001210: 0000 unimp +80001212: 0000 unimp +80001214: 0000 unimp +80001216: 0000 unimp +80001218: 0000 unimp +8000121a: 0000 unimp +8000121c: 0000 unimp +8000121e: 0000 unimp +80001220: 0000 unimp +80001222: 0000 unimp +80001224: 0000 unimp +80001226: 0000 unimp +80001228: 0000 unimp +8000122a: 0000 unimp +8000122c: 0000 unimp +8000122e: 0000 unimp +80001230: 0000 unimp +80001232: 0000 unimp +80001234: 0000 unimp +80001236: 0000 unimp +80001238: 0000 unimp +8000123a: 0000 unimp +8000123c: 0000 unimp +8000123e: 0000 unimp +80001240: 0000 unimp +80001242: 0000 unimp +80001244: 0000 unimp +80001246: 0000 unimp +80001248: 0000 unimp +8000124a: 0000 unimp +8000124c: 0000 unimp +8000124e: 0000 unimp +80001250: 0000 unimp +80001252: 0000 unimp +80001254: 0000 unimp +80001256: 0000 unimp +80001258: 0000 unimp +8000125a: 0000 unimp +8000125c: 0000 unimp +8000125e: 0000 unimp +80001260: 0000 unimp +80001262: 0000 unimp +80001264: 0000 unimp +80001266: 0000 unimp +80001268: 0000 unimp +8000126a: 0000 unimp +8000126c: 0000 unimp +8000126e: 0000 unimp +80001270: 0000 unimp +80001272: 0000 unimp +80001274: 0000 unimp +80001276: 0000 unimp +80001278: 0000 unimp +8000127a: 0000 unimp +8000127c: 0000 unimp +8000127e: 0000 unimp +80001280: 0000 unimp +80001282: 0000 unimp +80001284: 0000 unimp +80001286: 0000 unimp +80001288: 0000 unimp +8000128a: 0000 unimp +8000128c: 0000 unimp +8000128e: 0000 unimp +80001290: 0000 unimp +80001292: 0000 unimp +80001294: 0000 unimp +80001296: 0000 unimp +80001298: 0000 unimp +8000129a: 0000 unimp +8000129c: 0000 unimp +8000129e: 0000 unimp +800012a0: 0000 unimp +800012a2: 0000 unimp +800012a4: 0000 unimp +800012a6: 0000 unimp +800012a8: 0000 unimp +800012aa: 0000 unimp +800012ac: 0000 unimp +800012ae: 0000 unimp +800012b0: 0000 unimp +800012b2: 0000 unimp +800012b4: 0000 unimp +800012b6: 0000 unimp +800012b8: 0000 unimp +800012ba: 0000 unimp +800012bc: 0000 unimp +800012be: 0000 unimp +800012c0: 0000 unimp +800012c2: 0000 unimp +800012c4: 0000 unimp +800012c6: 0000 unimp +800012c8: 0000 unimp +800012ca: 0000 unimp +800012cc: 0000 unimp +800012ce: 0000 unimp +800012d0: 0000 unimp +800012d2: 0000 unimp +800012d4: 0000 unimp +800012d6: 0000 unimp +800012d8: 0000 unimp +800012da: 0000 unimp +800012dc: 0000 unimp +800012de: 0000 unimp +800012e0: 0000 unimp +800012e2: 0000 unimp +800012e4: 0000 unimp +800012e6: 0000 unimp +800012e8: 0000 unimp +800012ea: 0000 unimp +800012ec: 0000 unimp +800012ee: 0000 unimp +800012f0: 0000 unimp +800012f2: 0000 unimp +800012f4: 0000 unimp +800012f6: 0000 unimp +800012f8: 0000 unimp +800012fa: 0000 unimp +800012fc: 0000 unimp +800012fe: 0000 unimp +80001300: 0000 unimp +80001302: 0000 unimp +80001304: 0000 unimp +80001306: 0000 unimp +80001308: 0000 unimp +8000130a: 0000 unimp +8000130c: 0000 unimp +8000130e: 0000 unimp +80001310: 0000 unimp +80001312: 0000 unimp +80001314: 0000 unimp +80001316: 0000 unimp +80001318: 0000 unimp +8000131a: 0000 unimp +8000131c: 0000 unimp +8000131e: 0000 unimp +80001320: 0000 unimp +80001322: 0000 unimp +80001324: 0000 unimp +80001326: 0000 unimp +80001328: 0000 unimp +8000132a: 0000 unimp +8000132c: 0000 unimp +8000132e: 0000 unimp +80001330: 0000 unimp +80001332: 0000 unimp +80001334: 0000 unimp +80001336: 0000 unimp +80001338: 0000 unimp +8000133a: 0000 unimp +8000133c: 0000 unimp +8000133e: 0000 unimp +80001340: 0000 unimp +80001342: 0000 unimp +80001344: 0000 unimp +80001346: 0000 unimp +80001348: 0000 unimp +8000134a: 0000 unimp +8000134c: 0000 unimp +8000134e: 0000 unimp +80001350: 0000 unimp +80001352: 0000 unimp +80001354: 0000 unimp +80001356: 0000 unimp +80001358: 0000 unimp +8000135a: 0000 unimp +8000135c: 0000 unimp +8000135e: 0000 unimp +80001360: 0000 unimp +80001362: 0000 unimp +80001364: 0000 unimp +80001366: 0000 unimp +80001368: 0000 unimp +8000136a: 0000 unimp +8000136c: 0000 unimp +8000136e: 0000 unimp +80001370: 0000 unimp +80001372: 0000 unimp +80001374: 0000 unimp +80001376: 0000 unimp +80001378: 0000 unimp +8000137a: 0000 unimp +8000137c: 0000 unimp +8000137e: 0000 unimp +80001380: 0000 unimp +80001382: 0000 unimp +80001384: 0000 unimp +80001386: 0000 unimp +80001388: 0000 unimp +8000138a: 0000 unimp +8000138c: 0000 unimp +8000138e: 0000 unimp +80001390: 0000 unimp +80001392: 0000 unimp +80001394: 0000 unimp +80001396: 0000 unimp +80001398: 0000 unimp +8000139a: 0000 unimp +8000139c: 0000 unimp +8000139e: 0000 unimp +800013a0: 0000 unimp +800013a2: 0000 unimp +800013a4: 0000 unimp +800013a6: 0000 unimp +800013a8: 0000 unimp +800013aa: 0000 unimp +800013ac: 0000 unimp +800013ae: 0000 unimp +800013b0: 0000 unimp +800013b2: 0000 unimp +800013b4: 0000 unimp +800013b6: 0000 unimp +800013b8: 0000 unimp +800013ba: 0000 unimp +800013bc: 0000 unimp +800013be: 0000 unimp +800013c0: 0000 unimp +800013c2: 0000 unimp +800013c4: 0000 unimp +800013c6: 0000 unimp +800013c8: 0000 unimp +800013ca: 0000 unimp +800013cc: 0000 unimp +800013ce: 0000 unimp +800013d0: 0000 unimp +800013d2: 0000 unimp +800013d4: 0000 unimp +800013d6: 0000 unimp +800013d8: 0000 unimp +800013da: 0000 unimp +800013dc: 0000 unimp +800013de: 0000 unimp +800013e0: 0000 unimp +800013e2: 0000 unimp +800013e4: 0000 unimp +800013e6: 0000 unimp +800013e8: 0000 unimp +800013ea: 0000 unimp +800013ec: 0000 unimp +800013ee: 0000 unimp +800013f0: 0000 unimp +800013f2: 0000 unimp +800013f4: 0000 unimp +800013f6: 0000 unimp +800013f8: 0000 unimp +800013fa: 0000 unimp +800013fc: 0000 unimp +800013fe: 0000 unimp +80001400: 0000 unimp +80001402: 0000 unimp +80001404: 0000 unimp +80001406: 0000 unimp +80001408: 0000 unimp +8000140a: 0000 unimp +8000140c: 0000 unimp +8000140e: 0000 unimp +80001410: 0000 unimp +80001412: 0000 unimp +80001414: 0000 unimp +80001416: 0000 unimp +80001418: 0000 unimp +8000141a: 0000 unimp +8000141c: 0000 unimp +8000141e: 0000 unimp +80001420: 0000 unimp +80001422: 0000 unimp +80001424: 0000 unimp +80001426: 0000 unimp +80001428: 0000 unimp +8000142a: 0000 unimp +8000142c: 0000 unimp +8000142e: 0000 unimp +80001430: 0000 unimp +80001432: 0000 unimp +80001434: 0000 unimp +80001436: 0000 unimp +80001438: 0000 unimp +8000143a: 0000 unimp +8000143c: 0000 unimp +8000143e: 0000 unimp +80001440: 0000 unimp +80001442: 0000 unimp +80001444: 0000 unimp +80001446: 0000 unimp +80001448: 0000 unimp +8000144a: 0000 unimp +8000144c: 0000 unimp +8000144e: 0000 unimp +80001450: 0000 unimp +80001452: 0000 unimp +80001454: 0000 unimp +80001456: 0000 unimp +80001458: 0000 unimp +8000145a: 0000 unimp +8000145c: 0000 unimp +8000145e: 0000 unimp +80001460: 0000 unimp +80001462: 0000 unimp +80001464: 0000 unimp +80001466: 0000 unimp +80001468: 0000 unimp +8000146a: 0000 unimp +8000146c: 0000 unimp +8000146e: 0000 unimp +80001470: 0000 unimp +80001472: 0000 unimp +80001474: 0000 unimp +80001476: 0000 unimp +80001478: 0000 unimp +8000147a: 0000 unimp +8000147c: 0000 unimp +8000147e: 0000 unimp +80001480: 0000 unimp +80001482: 0000 unimp +80001484: 0000 unimp +80001486: 0000 unimp +80001488: 0000 unimp +8000148a: 0000 unimp +8000148c: 0000 unimp +8000148e: 0000 unimp +80001490: 0000 unimp +80001492: 0000 unimp +80001494: 0000 unimp +80001496: 0000 unimp +80001498: 0000 unimp +8000149a: 0000 unimp +8000149c: 0000 unimp +8000149e: 0000 unimp +800014a0: 0000 unimp +800014a2: 0000 unimp +800014a4: 0000 unimp +800014a6: 0000 unimp +800014a8: 0000 unimp +800014aa: 0000 unimp +800014ac: 0000 unimp +800014ae: 0000 unimp +800014b0: 0000 unimp +800014b2: 0000 unimp +800014b4: 0000 unimp +800014b6: 0000 unimp +800014b8: 0000 unimp +800014ba: 0000 unimp +800014bc: 0000 unimp +800014be: 0000 unimp +800014c0: 0000 unimp +800014c2: 0000 unimp +800014c4: 0000 unimp +800014c6: 0000 unimp +800014c8: 0000 unimp +800014ca: 0000 unimp +800014cc: 0000 unimp +800014ce: 0000 unimp +800014d0: 0000 unimp +800014d2: 0000 unimp +800014d4: 0000 unimp +800014d6: 0000 unimp +800014d8: 0000 unimp +800014da: 0000 unimp +800014dc: 0000 unimp +800014de: 0000 unimp +800014e0: 0000 unimp +800014e2: 0000 unimp +800014e4: 0000 unimp +800014e6: 0000 unimp +800014e8: 0000 unimp +800014ea: 0000 unimp +800014ec: 0000 unimp +800014ee: 0000 unimp +800014f0: 0000 unimp +800014f2: 0000 unimp +800014f4: 0000 unimp +800014f6: 0000 unimp +800014f8: 0000 unimp +800014fa: 0000 unimp +800014fc: 0000 unimp +800014fe: 0000 unimp +80001500: 0000 unimp +80001502: 0000 unimp +80001504: 0000 unimp +80001506: 0000 unimp +80001508: 0000 unimp +8000150a: 0000 unimp +8000150c: 0000 unimp +8000150e: 0000 unimp +80001510: 0000 unimp +80001512: 0000 unimp +80001514: 0000 unimp +80001516: 0000 unimp +80001518: 0000 unimp +8000151a: 0000 unimp +8000151c: 0000 unimp +8000151e: 0000 unimp +80001520: 0000 unimp +80001522: 0000 unimp +80001524: 0000 unimp +80001526: 0000 unimp +80001528: 0000 unimp +8000152a: 0000 unimp +8000152c: 0000 unimp +8000152e: 0000 unimp +80001530: 0000 unimp +80001532: 0000 unimp +80001534: 0000 unimp +80001536: 0000 unimp +80001538: 0000 unimp +8000153a: 0000 unimp +8000153c: 0000 unimp +8000153e: 0000 unimp +80001540: 0000 unimp +80001542: 0000 unimp +80001544: 0000 unimp +80001546: 0000 unimp +80001548: 0000 unimp +8000154a: 0000 unimp +8000154c: 0000 unimp +8000154e: 0000 unimp +80001550: 0000 unimp +80001552: 0000 unimp +80001554: 0000 unimp +80001556: 0000 unimp +80001558: 0000 unimp +8000155a: 0000 unimp +8000155c: 0000 unimp +8000155e: 0000 unimp +80001560: 0000 unimp +80001562: 0000 unimp +80001564: 0000 unimp +80001566: 0000 unimp +80001568: 0000 unimp +8000156a: 0000 unimp +8000156c: 0000 unimp +8000156e: 0000 unimp +80001570: 0000 unimp +80001572: 0000 unimp +80001574: 0000 unimp +80001576: 0000 unimp +80001578: 0000 unimp +8000157a: 0000 unimp +8000157c: 0000 unimp +8000157e: 0000 unimp +80001580: 0000 unimp +80001582: 0000 unimp +80001584: 0000 unimp +80001586: 0000 unimp +80001588: 0000 unimp +8000158a: 0000 unimp +8000158c: 0000 unimp +8000158e: 0000 unimp +80001590: 0000 unimp +80001592: 0000 unimp +80001594: 0000 unimp +80001596: 0000 unimp +80001598: 0000 unimp +8000159a: 0000 unimp +8000159c: 0000 unimp +8000159e: 0000 unimp +800015a0: 0000 unimp +800015a2: 0000 unimp +800015a4: 0000 unimp +800015a6: 0000 unimp +800015a8: 0000 unimp +800015aa: 0000 unimp +800015ac: 0000 unimp +800015ae: 0000 unimp +800015b0: 0000 unimp +800015b2: 0000 unimp +800015b4: 0000 unimp +800015b6: 0000 unimp +800015b8: 0000 unimp +800015ba: 0000 unimp +800015bc: 0000 unimp +800015be: 0000 unimp +800015c0: 0000 unimp +800015c2: 0000 unimp +800015c4: 0000 unimp +800015c6: 0000 unimp +800015c8: 0000 unimp +800015ca: 0000 unimp +800015cc: 0000 unimp +800015ce: 0000 unimp +800015d0: 0000 unimp +800015d2: 0000 unimp +800015d4: 0000 unimp +800015d6: 0000 unimp +800015d8: 0000 unimp +800015da: 0000 unimp +800015dc: 0000 unimp +800015de: 0000 unimp +800015e0: 0000 unimp +800015e2: 0000 unimp +800015e4: 0000 unimp +800015e6: 0000 unimp +800015e8: 0000 unimp +800015ea: 0000 unimp +800015ec: 0000 unimp +800015ee: 0000 unimp +800015f0: 0000 unimp +800015f2: 0000 unimp +800015f4: 0000 unimp +800015f6: 0000 unimp +800015f8: 0000 unimp +800015fa: 0000 unimp +800015fc: 0000 unimp +800015fe: 0000 unimp +80001600: 0000 unimp +80001602: 0000 unimp +80001604: 0000 unimp +80001606: 0000 unimp +80001608: 0000 unimp +8000160a: 0000 unimp +8000160c: 0000 unimp +8000160e: 0000 unimp +80001610: 0000 unimp +80001612: 0000 unimp +80001614: 0000 unimp +80001616: 0000 unimp +80001618: 0000 unimp +8000161a: 0000 unimp +8000161c: 0000 unimp +8000161e: 0000 unimp +80001620: 0000 unimp +80001622: 0000 unimp +80001624: 0000 unimp +80001626: 0000 unimp +80001628: 0000 unimp +8000162a: 0000 unimp +8000162c: 0000 unimp +8000162e: 0000 unimp +80001630: 0000 unimp +80001632: 0000 unimp +80001634: 0000 unimp +80001636: 0000 unimp +80001638: 0000 unimp +8000163a: 0000 unimp +8000163c: 0000 unimp +8000163e: 0000 unimp +80001640: 0000 unimp +80001642: 0000 unimp +80001644: 0000 unimp +80001646: 0000 unimp +80001648: 0000 unimp +8000164a: 0000 unimp +8000164c: 0000 unimp +8000164e: 0000 unimp +80001650: 0000 unimp +80001652: 0000 unimp +80001654: 0000 unimp +80001656: 0000 unimp +80001658: 0000 unimp +8000165a: 0000 unimp +8000165c: 0000 unimp +8000165e: 0000 unimp +80001660: 0000 unimp +80001662: 0000 unimp +80001664: 0000 unimp +80001666: 0000 unimp +80001668: 0000 unimp +8000166a: 0000 unimp +8000166c: 0000 unimp +8000166e: 0000 unimp +80001670: 0000 unimp +80001672: 0000 unimp +80001674: 0000 unimp +80001676: 0000 unimp +80001678: 0000 unimp +8000167a: 0000 unimp +8000167c: 0000 unimp +8000167e: 0000 unimp +80001680: 0000 unimp +80001682: 0000 unimp +80001684: 0000 unimp +80001686: 0000 unimp +80001688: 0000 unimp +8000168a: 0000 unimp +8000168c: 0000 unimp +8000168e: 0000 unimp +80001690: 0000 unimp +80001692: 0000 unimp +80001694: 0000 unimp +80001696: 0000 unimp +80001698: 0000 unimp +8000169a: 0000 unimp +8000169c: 0000 unimp +8000169e: 0000 unimp +800016a0: 0000 unimp +800016a2: 0000 unimp +800016a4: 0000 unimp +800016a6: 0000 unimp +800016a8: 0000 unimp +800016aa: 0000 unimp +800016ac: 0000 unimp +800016ae: 0000 unimp +800016b0: 0000 unimp +800016b2: 0000 unimp +800016b4: 0000 unimp +800016b6: 0000 unimp +800016b8: 0000 unimp +800016ba: 0000 unimp +800016bc: 0000 unimp +800016be: 0000 unimp +800016c0: 0000 unimp +800016c2: 0000 unimp +800016c4: 0000 unimp +800016c6: 0000 unimp +800016c8: 0000 unimp +800016ca: 0000 unimp +800016cc: 0000 unimp +800016ce: 0000 unimp +800016d0: 0000 unimp +800016d2: 0000 unimp +800016d4: 0000 unimp +800016d6: 0000 unimp +800016d8: 0000 unimp +800016da: 0000 unimp +800016dc: 0000 unimp +800016de: 0000 unimp +800016e0: 0000 unimp +800016e2: 0000 unimp +800016e4: 0000 unimp +800016e6: 0000 unimp +800016e8: 0000 unimp +800016ea: 0000 unimp +800016ec: 0000 unimp +800016ee: 0000 unimp +800016f0: 0000 unimp +800016f2: 0000 unimp +800016f4: 0000 unimp +800016f6: 0000 unimp +800016f8: 0000 unimp +800016fa: 0000 unimp +800016fc: 0000 unimp +800016fe: 0000 unimp +80001700: 0000 unimp +80001702: 0000 unimp +80001704: 0000 unimp +80001706: 0000 unimp +80001708: 0000 unimp +8000170a: 0000 unimp +8000170c: 0000 unimp +8000170e: 0000 unimp +80001710: 0000 unimp +80001712: 0000 unimp +80001714: 0000 unimp +80001716: 0000 unimp +80001718: 0000 unimp +8000171a: 0000 unimp +8000171c: 0000 unimp +8000171e: 0000 unimp +80001720: 0000 unimp +80001722: 0000 unimp +80001724: 0000 unimp +80001726: 0000 unimp +80001728: 0000 unimp +8000172a: 0000 unimp +8000172c: 0000 unimp +8000172e: 0000 unimp +80001730: 0000 unimp +80001732: 0000 unimp +80001734: 0000 unimp +80001736: 0000 unimp +80001738: 0000 unimp +8000173a: 0000 unimp +8000173c: 0000 unimp +8000173e: 0000 unimp +80001740: 0000 unimp +80001742: 0000 unimp +80001744: 0000 unimp +80001746: 0000 unimp +80001748: 0000 unimp +8000174a: 0000 unimp +8000174c: 0000 unimp +8000174e: 0000 unimp +80001750: 0000 unimp +80001752: 0000 unimp +80001754: 0000 unimp +80001756: 0000 unimp +80001758: 0000 unimp +8000175a: 0000 unimp +8000175c: 0000 unimp +8000175e: 0000 unimp +80001760: 0000 unimp +80001762: 0000 unimp +80001764: 0000 unimp +80001766: 0000 unimp +80001768: 0000 unimp +8000176a: 0000 unimp +8000176c: 0000 unimp +8000176e: 0000 unimp +80001770: 0000 unimp +80001772: 0000 unimp +80001774: 0000 unimp +80001776: 0000 unimp +80001778: 0000 unimp +8000177a: 0000 unimp +8000177c: 0000 unimp +8000177e: 0000 unimp +80001780: 0000 unimp +80001782: 0000 unimp +80001784: 0000 unimp +80001786: 0000 unimp +80001788: 0000 unimp +8000178a: 0000 unimp +8000178c: 0000 unimp +8000178e: 0000 unimp +80001790: 0000 unimp +80001792: 0000 unimp +80001794: 0000 unimp +80001796: 0000 unimp +80001798: 0000 unimp +8000179a: 0000 unimp +8000179c: 0000 unimp +8000179e: 0000 unimp +800017a0: 0000 unimp +800017a2: 0000 unimp +800017a4: 0000 unimp +800017a6: 0000 unimp +800017a8: 0000 unimp +800017aa: 0000 unimp +800017ac: 0000 unimp +800017ae: 0000 unimp +800017b0: 0000 unimp +800017b2: 0000 unimp +800017b4: 0000 unimp +800017b6: 0000 unimp +800017b8: 0000 unimp +800017ba: 0000 unimp +800017bc: 0000 unimp +800017be: 0000 unimp +800017c0: 0000 unimp +800017c2: 0000 unimp +800017c4: 0000 unimp +800017c6: 0000 unimp +800017c8: 0000 unimp +800017ca: 0000 unimp +800017cc: 0000 unimp +800017ce: 0000 unimp +800017d0: 0000 unimp +800017d2: 0000 unimp +800017d4: 0000 unimp +800017d6: 0000 unimp +800017d8: 0000 unimp +800017da: 0000 unimp +800017dc: 0000 unimp +800017de: 0000 unimp +800017e0: 0000 unimp +800017e2: 0000 unimp +800017e4: 0000 unimp +800017e6: 0000 unimp +800017e8: 0000 unimp +800017ea: 0000 unimp +800017ec: 0000 unimp +800017ee: 0000 unimp +800017f0: 0000 unimp +800017f2: 0000 unimp +800017f4: 0000 unimp +800017f6: 0000 unimp +800017f8: 0000 unimp +800017fa: 0000 unimp +800017fc: 0000 unimp +800017fe: 0000 unimp +80001800: 0000 unimp +80001802: 0000 unimp +80001804: 0000 unimp +80001806: 0000 unimp +80001808: 0000 unimp +8000180a: 0000 unimp +8000180c: 0000 unimp +8000180e: 0000 unimp +80001810: 0000 unimp +80001812: 0000 unimp +80001814: 0000 unimp +80001816: 0000 unimp +80001818: 0000 unimp +8000181a: 0000 unimp +8000181c: 0000 unimp +8000181e: 0000 unimp +80001820: 0000 unimp +80001822: 0000 unimp +80001824: 0000 unimp +80001826: 0000 unimp +80001828: 0000 unimp +8000182a: 0000 unimp +8000182c: 0000 unimp +8000182e: 0000 unimp +80001830: 0000 unimp +80001832: 0000 unimp +80001834: 0000 unimp +80001836: 0000 unimp +80001838: 0000 unimp +8000183a: 0000 unimp +8000183c: 0000 unimp +8000183e: 0000 unimp +80001840: 0000 unimp +80001842: 0000 unimp +80001844: 0000 unimp +80001846: 0000 unimp +80001848: 0000 unimp +8000184a: 0000 unimp +8000184c: 0000 unimp +8000184e: 0000 unimp +80001850: 0000 unimp +80001852: 0000 unimp +80001854: 0000 unimp +80001856: 0000 unimp +80001858: 0000 unimp +8000185a: 0000 unimp +8000185c: 0000 unimp +8000185e: 0000 unimp +80001860: 0000 unimp +80001862: 0000 unimp +80001864: 0000 unimp +80001866: 0000 unimp +80001868: 0000 unimp +8000186a: 0000 unimp +8000186c: 0000 unimp +8000186e: 0000 unimp +80001870: 0000 unimp +80001872: 0000 unimp +80001874: 0000 unimp +80001876: 0000 unimp +80001878: 0000 unimp +8000187a: 0000 unimp +8000187c: 0000 unimp +8000187e: 0000 unimp +80001880: 0000 unimp +80001882: 0000 unimp +80001884: 0000 unimp +80001886: 0000 unimp +80001888: 0000 unimp +8000188a: 0000 unimp +8000188c: 0000 unimp +8000188e: 0000 unimp +80001890: 0000 unimp +80001892: 0000 unimp +80001894: 0000 unimp +80001896: 0000 unimp +80001898: 0000 unimp +8000189a: 0000 unimp +8000189c: 0000 unimp +8000189e: 0000 unimp +800018a0: 0000 unimp +800018a2: 0000 unimp +800018a4: 0000 unimp +800018a6: 0000 unimp +800018a8: 0000 unimp +800018aa: 0000 unimp +800018ac: 0000 unimp +800018ae: 0000 unimp +800018b0: 0000 unimp +800018b2: 0000 unimp +800018b4: 0000 unimp +800018b6: 0000 unimp +800018b8: 0000 unimp +800018ba: 0000 unimp +800018bc: 0000 unimp +800018be: 0000 unimp +800018c0: 0000 unimp +800018c2: 0000 unimp +800018c4: 0000 unimp +800018c6: 0000 unimp +800018c8: 0000 unimp +800018ca: 0000 unimp +800018cc: 0000 unimp +800018ce: 0000 unimp +800018d0: 0000 unimp +800018d2: 0000 unimp +800018d4: 0000 unimp +800018d6: 0000 unimp +800018d8: 0000 unimp +800018da: 0000 unimp +800018dc: 0000 unimp +800018de: 0000 unimp +800018e0: 0000 unimp +800018e2: 0000 unimp +800018e4: 0000 unimp +800018e6: 0000 unimp +800018e8: 0000 unimp +800018ea: 0000 unimp +800018ec: 0000 unimp +800018ee: 0000 unimp +800018f0: 0000 unimp +800018f2: 0000 unimp +800018f4: 0000 unimp +800018f6: 0000 unimp +800018f8: 0000 unimp +800018fa: 0000 unimp +800018fc: 0000 unimp +800018fe: 0000 unimp +80001900: 0000 unimp +80001902: 0000 unimp +80001904: 0000 unimp +80001906: 0000 unimp +80001908: 0000 unimp +8000190a: 0000 unimp +8000190c: 0000 unimp +8000190e: 0000 unimp +80001910: 0000 unimp +80001912: 0000 unimp +80001914: 0000 unimp +80001916: 0000 unimp +80001918: 0000 unimp +8000191a: 0000 unimp +8000191c: 0000 unimp +8000191e: 0000 unimp +80001920: 0000 unimp +80001922: 0000 unimp +80001924: 0000 unimp +80001926: 0000 unimp +80001928: 0000 unimp +8000192a: 0000 unimp +8000192c: 0000 unimp +8000192e: 0000 unimp +80001930: 0000 unimp +80001932: 0000 unimp +80001934: 0000 unimp +80001936: 0000 unimp +80001938: 0000 unimp +8000193a: 0000 unimp +8000193c: 0000 unimp +8000193e: 0000 unimp +80001940: 0000 unimp +80001942: 0000 unimp +80001944: 0000 unimp +80001946: 0000 unimp +80001948: 0000 unimp +8000194a: 0000 unimp +8000194c: 0000 unimp +8000194e: 0000 unimp +80001950: 0000 unimp +80001952: 0000 unimp +80001954: 0000 unimp +80001956: 0000 unimp +80001958: 0000 unimp +8000195a: 0000 unimp +8000195c: 0000 unimp +8000195e: 0000 unimp +80001960: 0000 unimp +80001962: 0000 unimp +80001964: 0000 unimp +80001966: 0000 unimp +80001968: 0000 unimp +8000196a: 0000 unimp +8000196c: 0000 unimp +8000196e: 0000 unimp +80001970: 0000 unimp +80001972: 0000 unimp +80001974: 0000 unimp +80001976: 0000 unimp +80001978: 0000 unimp +8000197a: 0000 unimp +8000197c: 0000 unimp +8000197e: 0000 unimp +80001980: 0000 unimp +80001982: 0000 unimp +80001984: 0000 unimp +80001986: 0000 unimp +80001988: 0000 unimp +8000198a: 0000 unimp +8000198c: 0000 unimp +8000198e: 0000 unimp +80001990: 0000 unimp +80001992: 0000 unimp +80001994: 0000 unimp +80001996: 0000 unimp +80001998: 0000 unimp +8000199a: 0000 unimp +8000199c: 0000 unimp +8000199e: 0000 unimp +800019a0: 0000 unimp +800019a2: 0000 unimp +800019a4: 0000 unimp +800019a6: 0000 unimp +800019a8: 0000 unimp +800019aa: 0000 unimp +800019ac: 0000 unimp +800019ae: 0000 unimp +800019b0: 0000 unimp +800019b2: 0000 unimp +800019b4: 0000 unimp +800019b6: 0000 unimp +800019b8: 0000 unimp +800019ba: 0000 unimp +800019bc: 0000 unimp +800019be: 0000 unimp +800019c0: 0000 unimp +800019c2: 0000 unimp +800019c4: 0000 unimp +800019c6: 0000 unimp +800019c8: 0000 unimp +800019ca: 0000 unimp +800019cc: 0000 unimp +800019ce: 0000 unimp +800019d0: 0000 unimp +800019d2: 0000 unimp +800019d4: 0000 unimp +800019d6: 0000 unimp +800019d8: 0000 unimp +800019da: 0000 unimp +800019dc: 0000 unimp +800019de: 0000 unimp +800019e0: 0000 unimp +800019e2: 0000 unimp +800019e4: 0000 unimp +800019e6: 0000 unimp +800019e8: 0000 unimp +800019ea: 0000 unimp +800019ec: 0000 unimp +800019ee: 0000 unimp +800019f0: 0000 unimp +800019f2: 0000 unimp +800019f4: 0000 unimp +800019f6: 0000 unimp +800019f8: 0000 unimp +800019fa: 0000 unimp +800019fc: 0000 unimp +800019fe: 0000 unimp +80001a00: 0000 unimp +80001a02: 0000 unimp +80001a04: 0000 unimp +80001a06: 0000 unimp +80001a08: 0000 unimp +80001a0a: 0000 unimp +80001a0c: 0000 unimp +80001a0e: 0000 unimp +80001a10: 0000 unimp +80001a12: 0000 unimp +80001a14: 0000 unimp +80001a16: 0000 unimp +80001a18: 0000 unimp +80001a1a: 0000 unimp +80001a1c: 0000 unimp +80001a1e: 0000 unimp +80001a20: 0000 unimp +80001a22: 0000 unimp +80001a24: 0000 unimp +80001a26: 0000 unimp +80001a28: 0000 unimp +80001a2a: 0000 unimp +80001a2c: 0000 unimp +80001a2e: 0000 unimp +80001a30: 0000 unimp +80001a32: 0000 unimp +80001a34: 0000 unimp +80001a36: 0000 unimp +80001a38: 0000 unimp +80001a3a: 0000 unimp +80001a3c: 0000 unimp +80001a3e: 0000 unimp +80001a40: 0000 unimp +80001a42: 0000 unimp +80001a44: 0000 unimp +80001a46: 0000 unimp +80001a48: 0000 unimp +80001a4a: 0000 unimp +80001a4c: 0000 unimp +80001a4e: 0000 unimp +80001a50: 0000 unimp +80001a52: 0000 unimp +80001a54: 0000 unimp +80001a56: 0000 unimp +80001a58: 0000 unimp +80001a5a: 0000 unimp +80001a5c: 0000 unimp +80001a5e: 0000 unimp +80001a60: 0000 unimp +80001a62: 0000 unimp +80001a64: 0000 unimp +80001a66: 0000 unimp +80001a68: 0000 unimp +80001a6a: 0000 unimp +80001a6c: 0000 unimp +80001a6e: 0000 unimp +80001a70: 0000 unimp +80001a72: 0000 unimp +80001a74: 0000 unimp +80001a76: 0000 unimp +80001a78: 0000 unimp +80001a7a: 0000 unimp +80001a7c: 0000 unimp +80001a7e: 0000 unimp +80001a80: 0000 unimp +80001a82: 0000 unimp +80001a84: 0000 unimp +80001a86: 0000 unimp +80001a88: 0000 unimp +80001a8a: 0000 unimp +80001a8c: 0000 unimp +80001a8e: 0000 unimp +80001a90: 0000 unimp +80001a92: 0000 unimp +80001a94: 0000 unimp +80001a96: 0000 unimp +80001a98: 0000 unimp +80001a9a: 0000 unimp +80001a9c: 0000 unimp +80001a9e: 0000 unimp +80001aa0: 0000 unimp +80001aa2: 0000 unimp +80001aa4: 0000 unimp +80001aa6: 0000 unimp +80001aa8: 0000 unimp +80001aaa: 0000 unimp +80001aac: 0000 unimp +80001aae: 0000 unimp +80001ab0: 0000 unimp +80001ab2: 0000 unimp +80001ab4: 0000 unimp +80001ab6: 0000 unimp +80001ab8: 0000 unimp +80001aba: 0000 unimp +80001abc: 0000 unimp +80001abe: 0000 unimp +80001ac0: 0000 unimp +80001ac2: 0000 unimp +80001ac4: 0000 unimp +80001ac6: 0000 unimp +80001ac8: 0000 unimp +80001aca: 0000 unimp +80001acc: 0000 unimp +80001ace: 0000 unimp +80001ad0: 0000 unimp +80001ad2: 0000 unimp +80001ad4: 0000 unimp +80001ad6: 0000 unimp +80001ad8: 0000 unimp +80001ada: 0000 unimp +80001adc: 0000 unimp +80001ade: 0000 unimp +80001ae0: 0000 unimp +80001ae2: 0000 unimp +80001ae4: 0000 unimp +80001ae6: 0000 unimp +80001ae8: 0000 unimp +80001aea: 0000 unimp +80001aec: 0000 unimp +80001aee: 0000 unimp +80001af0: 0000 unimp +80001af2: 0000 unimp +80001af4: 0000 unimp +80001af6: 0000 unimp +80001af8: 0000 unimp +80001afa: 0000 unimp +80001afc: 0000 unimp +80001afe: 0000 unimp +80001b00: 0000 unimp +80001b02: 0000 unimp +80001b04: 0000 unimp +80001b06: 0000 unimp +80001b08: 0000 unimp +80001b0a: 0000 unimp +80001b0c: 0000 unimp +80001b0e: 0000 unimp +80001b10: 0000 unimp +80001b12: 0000 unimp +80001b14: 0000 unimp +80001b16: 0000 unimp +80001b18: 0000 unimp +80001b1a: 0000 unimp +80001b1c: 0000 unimp +80001b1e: 0000 unimp +80001b20: 0000 unimp +80001b22: 0000 unimp +80001b24: 0000 unimp +80001b26: 0000 unimp +80001b28: 0000 unimp +80001b2a: 0000 unimp +80001b2c: 0000 unimp +80001b2e: 0000 unimp +80001b30: 0000 unimp +80001b32: 0000 unimp +80001b34: 0000 unimp +80001b36: 0000 unimp +80001b38: 0000 unimp +80001b3a: 0000 unimp +80001b3c: 0000 unimp +80001b3e: 0000 unimp +80001b40: 0000 unimp +80001b42: 0000 unimp +80001b44: 0000 unimp +80001b46: 0000 unimp +80001b48: 0000 unimp +80001b4a: 0000 unimp +80001b4c: 0000 unimp +80001b4e: 0000 unimp +80001b50: 0000 unimp +80001b52: 0000 unimp +80001b54: 0000 unimp +80001b56: 0000 unimp +80001b58: 0000 unimp +80001b5a: 0000 unimp +80001b5c: 0000 unimp +80001b5e: 0000 unimp +80001b60: 0000 unimp +80001b62: 0000 unimp +80001b64: 0000 unimp +80001b66: 0000 unimp +80001b68: 0000 unimp +80001b6a: 0000 unimp +80001b6c: 0000 unimp +80001b6e: 0000 unimp +80001b70: 0000 unimp +80001b72: 0000 unimp +80001b74: 0000 unimp +80001b76: 0000 unimp +80001b78: 0000 unimp +80001b7a: 0000 unimp +80001b7c: 0000 unimp +80001b7e: 0000 unimp +80001b80: 0000 unimp +80001b82: 0000 unimp +80001b84: 0000 unimp +80001b86: 0000 unimp +80001b88: 0000 unimp +80001b8a: 0000 unimp +80001b8c: 0000 unimp +80001b8e: 0000 unimp +80001b90: 0000 unimp +80001b92: 0000 unimp +80001b94: 0000 unimp +80001b96: 0000 unimp +80001b98: 0000 unimp +80001b9a: 0000 unimp +80001b9c: 0000 unimp +80001b9e: 0000 unimp +80001ba0: 0000 unimp +80001ba2: 0000 unimp +80001ba4: 0000 unimp +80001ba6: 0000 unimp +80001ba8: 0000 unimp +80001baa: 0000 unimp +80001bac: 0000 unimp +80001bae: 0000 unimp +80001bb0: 0000 unimp +80001bb2: 0000 unimp +80001bb4: 0000 unimp +80001bb6: 0000 unimp +80001bb8: 0000 unimp +80001bba: 0000 unimp +80001bbc: 0000 unimp +80001bbe: 0000 unimp +80001bc0: 0000 unimp +80001bc2: 0000 unimp +80001bc4: 0000 unimp +80001bc6: 0000 unimp +80001bc8: 0000 unimp +80001bca: 0000 unimp +80001bcc: 0000 unimp +80001bce: 0000 unimp +80001bd0: 0000 unimp +80001bd2: 0000 unimp +80001bd4: 0000 unimp +80001bd6: 0000 unimp +80001bd8: 0000 unimp +80001bda: 0000 unimp +80001bdc: 0000 unimp +80001bde: 0000 unimp +80001be0: 0000 unimp +80001be2: 0000 unimp +80001be4: 0000 unimp +80001be6: 0000 unimp +80001be8: 0000 unimp +80001bea: 0000 unimp +80001bec: 0000 unimp +80001bee: 0000 unimp +80001bf0: 0000 unimp +80001bf2: 0000 unimp +80001bf4: 0000 unimp +80001bf6: 0000 unimp +80001bf8: 0000 unimp +80001bfa: 0000 unimp +80001bfc: 0000 unimp +80001bfe: 0000 unimp +80001c00: 0000 unimp +80001c02: 0000 unimp +80001c04: 0000 unimp +80001c06: 0000 unimp +80001c08: 0000 unimp +80001c0a: 0000 unimp +80001c0c: 0000 unimp +80001c0e: 0000 unimp +80001c10: 0000 unimp +80001c12: 0000 unimp +80001c14: 0000 unimp +80001c16: 0000 unimp +80001c18: 0000 unimp +80001c1a: 0000 unimp +80001c1c: 0000 unimp +80001c1e: 0000 unimp +80001c20: 0000 unimp +80001c22: 0000 unimp +80001c24: 0000 unimp +80001c26: 0000 unimp +80001c28: 0000 unimp +80001c2a: 0000 unimp +80001c2c: 0000 unimp +80001c2e: 0000 unimp +80001c30: 0000 unimp +80001c32: 0000 unimp +80001c34: 0000 unimp +80001c36: 0000 unimp +80001c38: 0000 unimp +80001c3a: 0000 unimp +80001c3c: 0000 unimp +80001c3e: 0000 unimp +80001c40: 0000 unimp +80001c42: 0000 unimp +80001c44: 0000 unimp +80001c46: 0000 unimp +80001c48: 0000 unimp +80001c4a: 0000 unimp +80001c4c: 0000 unimp +80001c4e: 0000 unimp +80001c50: 0000 unimp +80001c52: 0000 unimp +80001c54: 0000 unimp +80001c56: 0000 unimp +80001c58: 0000 unimp +80001c5a: 0000 unimp +80001c5c: 0000 unimp +80001c5e: 0000 unimp +80001c60: 0000 unimp +80001c62: 0000 unimp +80001c64: 0000 unimp +80001c66: 0000 unimp +80001c68: 0000 unimp +80001c6a: 0000 unimp +80001c6c: 0000 unimp +80001c6e: 0000 unimp +80001c70: 0000 unimp +80001c72: 0000 unimp +80001c74: 0000 unimp +80001c76: 0000 unimp +80001c78: 0000 unimp +80001c7a: 0000 unimp +80001c7c: 0000 unimp +80001c7e: 0000 unimp +80001c80: 0000 unimp +80001c82: 0000 unimp +80001c84: 0000 unimp +80001c86: 0000 unimp +80001c88: 0000 unimp +80001c8a: 0000 unimp +80001c8c: 0000 unimp +80001c8e: 0000 unimp +80001c90: 0000 unimp +80001c92: 0000 unimp +80001c94: 0000 unimp +80001c96: 0000 unimp +80001c98: 0000 unimp +80001c9a: 0000 unimp +80001c9c: 0000 unimp +80001c9e: 0000 unimp +80001ca0: 0000 unimp +80001ca2: 0000 unimp +80001ca4: 0000 unimp +80001ca6: 0000 unimp +80001ca8: 0000 unimp +80001caa: 0000 unimp +80001cac: 0000 unimp +80001cae: 0000 unimp +80001cb0: 0000 unimp +80001cb2: 0000 unimp +80001cb4: 0000 unimp +80001cb6: 0000 unimp +80001cb8: 0000 unimp +80001cba: 0000 unimp +80001cbc: 0000 unimp +80001cbe: 0000 unimp +80001cc0: 0000 unimp +80001cc2: 0000 unimp +80001cc4: 0000 unimp +80001cc6: 0000 unimp +80001cc8: 0000 unimp +80001cca: 0000 unimp +80001ccc: 0000 unimp +80001cce: 0000 unimp +80001cd0: 0000 unimp +80001cd2: 0000 unimp +80001cd4: 0000 unimp +80001cd6: 0000 unimp +80001cd8: 0000 unimp +80001cda: 0000 unimp +80001cdc: 0000 unimp +80001cde: 0000 unimp +80001ce0: 0000 unimp +80001ce2: 0000 unimp +80001ce4: 0000 unimp +80001ce6: 0000 unimp +80001ce8: 0000 unimp +80001cea: 0000 unimp +80001cec: 0000 unimp +80001cee: 0000 unimp +80001cf0: 0000 unimp +80001cf2: 0000 unimp +80001cf4: 0000 unimp +80001cf6: 0000 unimp +80001cf8: 0000 unimp +80001cfa: 0000 unimp +80001cfc: 0000 unimp +80001cfe: 0000 unimp +80001d00: 0000 unimp +80001d02: 0000 unimp +80001d04: 0000 unimp +80001d06: 0000 unimp +80001d08: 0000 unimp +80001d0a: 0000 unimp +80001d0c: 0000 unimp +80001d0e: 0000 unimp +80001d10: 0000 unimp +80001d12: 0000 unimp +80001d14: 0000 unimp +80001d16: 0000 unimp +80001d18: 0000 unimp +80001d1a: 0000 unimp +80001d1c: 0000 unimp +80001d1e: 0000 unimp +80001d20: 0000 unimp +80001d22: 0000 unimp +80001d24: 0000 unimp +80001d26: 0000 unimp +80001d28: 0000 unimp +80001d2a: 0000 unimp +80001d2c: 0000 unimp +80001d2e: 0000 unimp +80001d30: 0000 unimp +80001d32: 0000 unimp +80001d34: 0000 unimp +80001d36: 0000 unimp +80001d38: 0000 unimp +80001d3a: 0000 unimp +80001d3c: 0000 unimp +80001d3e: 0000 unimp +80001d40: 0000 unimp +80001d42: 0000 unimp +80001d44: 0000 unimp +80001d46: 0000 unimp +80001d48: 0000 unimp +80001d4a: 0000 unimp +80001d4c: 0000 unimp +80001d4e: 0000 unimp +80001d50: 0000 unimp +80001d52: 0000 unimp +80001d54: 0000 unimp +80001d56: 0000 unimp +80001d58: 0000 unimp +80001d5a: 0000 unimp +80001d5c: 0000 unimp +80001d5e: 0000 unimp +80001d60: 0000 unimp +80001d62: 0000 unimp +80001d64: 0000 unimp +80001d66: 0000 unimp +80001d68: 0000 unimp +80001d6a: 0000 unimp +80001d6c: 0000 unimp +80001d6e: 0000 unimp +80001d70: 0000 unimp +80001d72: 0000 unimp +80001d74: 0000 unimp +80001d76: 0000 unimp +80001d78: 0000 unimp +80001d7a: 0000 unimp +80001d7c: 0000 unimp +80001d7e: 0000 unimp +80001d80: 0000 unimp +80001d82: 0000 unimp +80001d84: 0000 unimp +80001d86: 0000 unimp +80001d88: 0000 unimp +80001d8a: 0000 unimp +80001d8c: 0000 unimp +80001d8e: 0000 unimp +80001d90: 0000 unimp +80001d92: 0000 unimp +80001d94: 0000 unimp +80001d96: 0000 unimp +80001d98: 0000 unimp +80001d9a: 0000 unimp +80001d9c: 0000 unimp +80001d9e: 0000 unimp +80001da0: 0000 unimp +80001da2: 0000 unimp +80001da4: 0000 unimp +80001da6: 0000 unimp +80001da8: 0000 unimp +80001daa: 0000 unimp +80001dac: 0000 unimp +80001dae: 0000 unimp +80001db0: 0000 unimp +80001db2: 0000 unimp +80001db4: 0000 unimp +80001db6: 0000 unimp +80001db8: 0000 unimp +80001dba: 0000 unimp +80001dbc: 0000 unimp +80001dbe: 0000 unimp +80001dc0: 0000 unimp +80001dc2: 0000 unimp +80001dc4: 0000 unimp +80001dc6: 0000 unimp +80001dc8: 0000 unimp +80001dca: 0000 unimp +80001dcc: 0000 unimp +80001dce: 0000 unimp +80001dd0: 0000 unimp +80001dd2: 0000 unimp +80001dd4: 0000 unimp +80001dd6: 0000 unimp +80001dd8: 0000 unimp +80001dda: 0000 unimp +80001ddc: 0000 unimp +80001dde: 0000 unimp +80001de0: 0000 unimp +80001de2: 0000 unimp +80001de4: 0000 unimp +80001de6: 0000 unimp +80001de8: 0000 unimp +80001dea: 0000 unimp +80001dec: 0000 unimp +80001dee: 0000 unimp +80001df0: 0000 unimp +80001df2: 0000 unimp +80001df4: 0000 unimp +80001df6: 0000 unimp +80001df8: 0000 unimp +80001dfa: 0000 unimp +80001dfc: 0000 unimp +80001dfe: 0000 unimp +80001e00: 0000 unimp +80001e02: 0000 unimp +80001e04: 0000 unimp +80001e06: 0000 unimp +80001e08: 0000 unimp +80001e0a: 0000 unimp +80001e0c: 0000 unimp +80001e0e: 0000 unimp +80001e10: 0000 unimp +80001e12: 0000 unimp +80001e14: 0000 unimp +80001e16: 0000 unimp +80001e18: 0000 unimp +80001e1a: 0000 unimp +80001e1c: 0000 unimp +80001e1e: 0000 unimp +80001e20: 0000 unimp +80001e22: 0000 unimp +80001e24: 0000 unimp +80001e26: 0000 unimp +80001e28: 0000 unimp +80001e2a: 0000 unimp +80001e2c: 0000 unimp +80001e2e: 0000 unimp +80001e30: 0000 unimp +80001e32: 0000 unimp +80001e34: 0000 unimp +80001e36: 0000 unimp +80001e38: 0000 unimp +80001e3a: 0000 unimp +80001e3c: 0000 unimp +80001e3e: 0000 unimp +80001e40: 0000 unimp +80001e42: 0000 unimp +80001e44: 0000 unimp +80001e46: 0000 unimp +80001e48: 0000 unimp +80001e4a: 0000 unimp +80001e4c: 0000 unimp +80001e4e: 0000 unimp +80001e50: 0000 unimp +80001e52: 0000 unimp +80001e54: 0000 unimp +80001e56: 0000 unimp +80001e58: 0000 unimp +80001e5a: 0000 unimp +80001e5c: 0000 unimp +80001e5e: 0000 unimp +80001e60: 0000 unimp +80001e62: 0000 unimp +80001e64: 0000 unimp +80001e66: 0000 unimp +80001e68: 0000 unimp +80001e6a: 0000 unimp +80001e6c: 0000 unimp +80001e6e: 0000 unimp +80001e70: 0000 unimp +80001e72: 0000 unimp +80001e74: 0000 unimp +80001e76: 0000 unimp +80001e78: 0000 unimp +80001e7a: 0000 unimp +80001e7c: 0000 unimp +80001e7e: 0000 unimp +80001e80: 0000 unimp +80001e82: 0000 unimp +80001e84: 0000 unimp +80001e86: 0000 unimp +80001e88: 0000 unimp +80001e8a: 0000 unimp +80001e8c: 0000 unimp +80001e8e: 0000 unimp +80001e90: 0000 unimp +80001e92: 0000 unimp +80001e94: 0000 unimp +80001e96: 0000 unimp +80001e98: 0000 unimp +80001e9a: 0000 unimp +80001e9c: 0000 unimp +80001e9e: 0000 unimp +80001ea0: 0000 unimp +80001ea2: 0000 unimp +80001ea4: 0000 unimp +80001ea6: 0000 unimp +80001ea8: 0000 unimp +80001eaa: 0000 unimp +80001eac: 0000 unimp +80001eae: 0000 unimp +80001eb0: 0000 unimp +80001eb2: 0000 unimp +80001eb4: 0000 unimp +80001eb6: 0000 unimp +80001eb8: 0000 unimp +80001eba: 0000 unimp +80001ebc: 0000 unimp +80001ebe: 0000 unimp +80001ec0: 0000 unimp +80001ec2: 0000 unimp +80001ec4: 0000 unimp +80001ec6: 0000 unimp +80001ec8: 0000 unimp +80001eca: 0000 unimp +80001ecc: 0000 unimp +80001ece: 0000 unimp +80001ed0: 0000 unimp +80001ed2: 0000 unimp +80001ed4: 0000 unimp +80001ed6: 0000 unimp +80001ed8: 0000 unimp +80001eda: 0000 unimp +80001edc: 0000 unimp +80001ede: 0000 unimp +80001ee0: 0000 unimp +80001ee2: 0000 unimp +80001ee4: 0000 unimp +80001ee6: 0000 unimp +80001ee8: 0000 unimp +80001eea: 0000 unimp +80001eec: 0000 unimp +80001eee: 0000 unimp +80001ef0: 0000 unimp +80001ef2: 0000 unimp +80001ef4: 0000 unimp +80001ef6: 0000 unimp +80001ef8: 0000 unimp +80001efa: 0000 unimp +80001efc: 0000 unimp +80001efe: 0000 unimp +80001f00: 0000 unimp +80001f02: 0000 unimp +80001f04: 0000 unimp +80001f06: 0000 unimp +80001f08: 0000 unimp +80001f0a: 0000 unimp +80001f0c: 0000 unimp +80001f0e: 0000 unimp +80001f10: 0000 unimp +80001f12: 0000 unimp +80001f14: 0000 unimp +80001f16: 0000 unimp +80001f18: 0000 unimp +80001f1a: 0000 unimp +80001f1c: 0000 unimp +80001f1e: 0000 unimp +80001f20: 0000 unimp +80001f22: 0000 unimp +80001f24: 0000 unimp +80001f26: 0000 unimp +80001f28: 0000 unimp +80001f2a: 0000 unimp +80001f2c: 0000 unimp +80001f2e: 0000 unimp +80001f30: 0000 unimp +80001f32: 0000 unimp +80001f34: 0000 unimp +80001f36: 0000 unimp +80001f38: 0000 unimp +80001f3a: 0000 unimp +80001f3c: 0000 unimp +80001f3e: 0000 unimp +80001f40: 0000 unimp +80001f42: 0000 unimp +80001f44: 0000 unimp +80001f46: 0000 unimp +80001f48: 0000 unimp +80001f4a: 0000 unimp +80001f4c: 0000 unimp +80001f4e: 0000 unimp +80001f50: 0000 unimp +80001f52: 0000 unimp +80001f54: 0000 unimp +80001f56: 0000 unimp +80001f58: 0000 unimp +80001f5a: 0000 unimp +80001f5c: 0000 unimp +80001f5e: 0000 unimp +80001f60: 0000 unimp +80001f62: 0000 unimp +80001f64: 0000 unimp +80001f66: 0000 unimp +80001f68: 0000 unimp +80001f6a: 0000 unimp +80001f6c: 0000 unimp +80001f6e: 0000 unimp +80001f70: 0000 unimp +80001f72: 0000 unimp +80001f74: 0000 unimp +80001f76: 0000 unimp +80001f78: 0000 unimp +80001f7a: 0000 unimp +80001f7c: 0000 unimp +80001f7e: 0000 unimp +80001f80: 0000 unimp +80001f82: 0000 unimp +80001f84: 0000 unimp +80001f86: 0000 unimp +80001f88: 0000 unimp +80001f8a: 0000 unimp +80001f8c: 0000 unimp +80001f8e: 0000 unimp +80001f90: 0000 unimp +80001f92: 0000 unimp +80001f94: 0000 unimp +80001f96: 0000 unimp +80001f98: 0000 unimp +80001f9a: 0000 unimp +80001f9c: 0000 unimp +80001f9e: 0000 unimp +80001fa0: 0000 unimp +80001fa2: 0000 unimp +80001fa4: 0000 unimp +80001fa6: 0000 unimp +80001fa8: 0000 unimp +80001faa: 0000 unimp +80001fac: 0000 unimp +80001fae: 0000 unimp +80001fb0: 0000 unimp +80001fb2: 0000 unimp +80001fb4: 0000 unimp +80001fb6: 0000 unimp +80001fb8: 0000 unimp +80001fba: 0000 unimp +80001fbc: 0000 unimp +80001fbe: 0000 unimp +80001fc0: 0000 unimp +80001fc2: 0000 unimp +80001fc4: 0000 unimp +80001fc6: 0000 unimp +80001fc8: 0000 unimp +80001fca: 0000 unimp +80001fcc: 0000 unimp +80001fce: 0000 unimp +80001fd0: 0000 unimp +80001fd2: 0000 unimp +80001fd4: 0000 unimp +80001fd6: 0000 unimp +80001fd8: 0000 unimp +80001fda: 0000 unimp +80001fdc: 0000 unimp +80001fde: 0000 unimp +80001fe0: 0000 unimp +80001fe2: 0000 unimp +80001fe4: 0000 unimp +80001fe6: 0000 unimp +80001fe8: 0000 unimp +80001fea: 0000 unimp +80001fec: 0000 unimp +80001fee: 0000 unimp +80001ff0: 0000 unimp +80001ff2: 0000 unimp +80001ff4: 0000 unimp +80001ff6: 0000 unimp +80001ff8: 0000 unimp +80001ffa: 0000 unimp +80001ffc: 0000 unimp +80001ffe: 00158593 addi a1,a1,1 +80002002: 29b00e93 li t4,667 +80002006: 00200193 li gp,2 +8000200a: 23d59f63 bne a1,t4,80002248 <fail> +8000200e: 00001137 lui sp,0x1 +80002012: 23410113 addi sp,sp,564 # 1234 <_start-0x7fffedcc> + +80002016 <test_3>: +80002016: 1fe8 addi a0,sp,1020 +80002018: 00001eb7 lui t4,0x1 +8000201c: 630e8e93 addi t4,t4,1584 # 1630 <_start-0x7fffe9d0> +80002020: 00300193 li gp,3 +80002024: 23d51263 bne a0,t4,80002248 <fail> + +80002028 <test_4>: +80002028: 617d addi sp,sp,496 +8000202a: 0001 nop +8000202c: 00001eb7 lui t4,0x1 +80002030: 424e8e93 addi t4,t4,1060 # 1424 <_start-0x7fffebdc> +80002034: 00400193 li gp,4 +80002038: 21d11863 bne sp,t4,80002248 <fail> + +8000203c <test_5>: +8000203c: 7101 addi sp,sp,-512 +8000203e: 0001 nop +80002040: 00001eb7 lui t4,0x1 +80002044: 224e8e93 addi t4,t4,548 # 1224 <_start-0x7fffeddc> +80002048: 00500193 li gp,5 +8000204c: 1fd11e63 bne sp,t4,80002248 <fail> +80002050: ffffe597 auipc a1,0xffffe +80002054: 0b858593 addi a1,a1,184 # 80000108 <data> + +80002058 <test_6>: +80002058: 41c8 lw a0,4(a1) +8000205a: 0505 addi a0,a0,1 +8000205c: c1c8 sw a0,4(a1) +8000205e: 41d0 lw a2,4(a1) +80002060: fedcceb7 lui t4,0xfedcc +80002064: a99e8e93 addi t4,t4,-1383 # fedcba99 <_end+0x7edc7a99> +80002068: 00600193 li gp,6 +8000206c: 1dd61e63 bne a2,t4,80002248 <fail> + +80002070 <test_8>: +80002070: 00106513 ori a0,zero,1 +80002074: 1541 addi a0,a0,-16 +80002076: 0001 nop +80002078: ff100e93 li t4,-15 +8000207c: 00800193 li gp,8 +80002080: 1dd51463 bne a0,t4,80002248 <fail> + +80002084 <test_9>: +80002084: 00106793 ori a5,zero,1 +80002088: 57c1 li a5,-16 +8000208a: 0001 nop +8000208c: ff000e93 li t4,-16 +80002090: 00900193 li gp,9 +80002094: 1bd79a63 bne a5,t4,80002248 <fail> + +80002098 <test_11>: +80002098: 7405 lui s0,0xfffe1 +8000209a: 8431 srai s0,s0,0xc +8000209c: fe100e93 li t4,-31 +800020a0: 00b00193 li gp,11 +800020a4: 1bd41263 bne s0,t4,80002248 <fail> + +800020a8 <test_12>: +800020a8: 7405 lui s0,0xfffe1 +800020aa: 8031 srli s0,s0,0xc +800020ac: 00100eb7 lui t4,0x100 +800020b0: fe1e8e93 addi t4,t4,-31 # fffe1 <_start-0x7ff0001f> +800020b4: 00c00193 li gp,12 +800020b8: 19d41863 bne s0,t4,80002248 <fail> + +800020bc <test_14>: +800020bc: 5479 li s0,-2 +800020be: 983d andi s0,s0,-17 +800020c0: fee00e93 li t4,-18 +800020c4: 00e00193 li gp,14 +800020c8: 19d41063 bne s0,t4,80002248 <fail> + +800020cc <test_15>: +800020cc: 44d1 li s1,20 +800020ce: 4519 li a0,6 +800020d0: 8c89 sub s1,s1,a0 +800020d2: 0001 nop +800020d4: 00e00e93 li t4,14 +800020d8: 00f00193 li gp,15 +800020dc: 17d49663 bne s1,t4,80002248 <fail> + +800020e0 <test_16>: +800020e0: 44d1 li s1,20 +800020e2: 4519 li a0,6 +800020e4: 8ca9 xor s1,s1,a0 +800020e6: 0001 nop +800020e8: 01200e93 li t4,18 +800020ec: 01000193 li gp,16 +800020f0: 15d49c63 bne s1,t4,80002248 <fail> + +800020f4 <test_17>: +800020f4: 44d1 li s1,20 +800020f6: 4519 li a0,6 +800020f8: 8cc9 or s1,s1,a0 +800020fa: 0001 nop +800020fc: 01600e93 li t4,22 +80002100: 01100193 li gp,17 +80002104: 15d49263 bne s1,t4,80002248 <fail> + +80002108 <test_18>: +80002108: 44d1 li s1,20 +8000210a: 4519 li a0,6 +8000210c: 8ce9 and s1,s1,a0 +8000210e: 0001 nop +80002110: 00400e93 li t4,4 +80002114: 01200193 li gp,18 +80002118: 13d49863 bne s1,t4,80002248 <fail> + +8000211c <test_21>: +8000211c: 00001437 lui s0,0x1 +80002120: 23440413 addi s0,s0,564 # 1234 <_start-0x7fffedcc> +80002124: 0412 slli s0,s0,0x4 +80002126: 0001 nop +80002128: 00012eb7 lui t4,0x12 +8000212c: 340e8e93 addi t4,t4,832 # 12340 <_start-0x7ffedcc0> +80002130: 01500193 li gp,21 +80002134: 11d41a63 bne s0,t4,80002248 <fail> + +80002138 <test_30>: +80002138: 4081 li ra,0 +8000213a: a011 j 8000213e <test_30+0x6> +8000213c: a011 j 80002140 <test_30+0x8> +8000213e: a011 j 80002142 <test_30+0xa> +80002140: a221 j 80002248 <fail> +80002142: 0001 nop +80002144: 00000e93 li t4,0 +80002148: 01e00193 li gp,30 +8000214c: 0fd09e63 bne ra,t4,80002248 <fail> + +80002150 <test_31>: +80002150: 4501 li a0,0 +80002152: c111 beqz a0,80002156 <test_31+0x6> +80002154: a011 j 80002158 <test_31+0x8> +80002156: a011 j 8000215a <test_31+0xa> +80002158: a8c5 j 80002248 <fail> +8000215a: 0001 nop +8000215c: 00000e93 li t4,0 +80002160: 01f00193 li gp,31 +80002164: 0fd01263 bne zero,t4,80002248 <fail> + +80002168 <test_32>: +80002168: 4505 li a0,1 +8000216a: e111 bnez a0,8000216e <test_32+0x6> +8000216c: a011 j 80002170 <test_32+0x8> +8000216e: a011 j 80002172 <test_32+0xa> +80002170: a8e1 j 80002248 <fail> +80002172: 0001 nop +80002174: 00000e93 li t4,0 +80002178: 02000193 li gp,32 +8000217c: 0dd01663 bne zero,t4,80002248 <fail> + +80002180 <test_33>: +80002180: 4505 li a0,1 +80002182: c111 beqz a0,80002186 <test_33+0x6> +80002184: a011 j 80002188 <test_33+0x8> +80002186: a0c9 j 80002248 <fail> +80002188: 00000e93 li t4,0 +8000218c: 02100193 li gp,33 +80002190: 0bd01c63 bne zero,t4,80002248 <fail> + +80002194 <test_34>: +80002194: 4501 li a0,0 +80002196: e111 bnez a0,8000219a <test_34+0x6> +80002198: a011 j 8000219c <test_34+0x8> +8000219a: a07d j 80002248 <fail> +8000219c: 00000e93 li t4,0 +800021a0: 02200193 li gp,34 +800021a4: 0bd01263 bne zero,t4,80002248 <fail> + +800021a8 <test_35>: +800021a8: 00000297 auipc t0,0x0 +800021ac: 00e28293 addi t0,t0,14 # 800021b6 <test_35+0xe> +800021b0: 4081 li ra,0 +800021b2: 8282 jr t0 +800021b4: a011 j 800021b8 <test_35+0x10> +800021b6: a011 j 800021ba <test_35+0x12> +800021b8: a841 j 80002248 <fail> +800021ba: 0001 nop +800021bc: 00000e93 li t4,0 +800021c0: 02300193 li gp,35 +800021c4: 09d09263 bne ra,t4,80002248 <fail> + +800021c8 <test_36>: +800021c8: 00000297 auipc t0,0x0 +800021cc: 00e28293 addi t0,t0,14 # 800021d6 <test_36+0xe> +800021d0: 4081 li ra,0 +800021d2: 9282 jalr t0 +800021d4: a011 j 800021d8 <test_36+0x10> +800021d6: a011 j 800021da <test_36+0x12> +800021d8: a885 j 80002248 <fail> +800021da: 405080b3 sub ra,ra,t0 +800021de: 0001 nop +800021e0: ffe00e93 li t4,-2 +800021e4: 02400193 li gp,36 +800021e8: 07d09063 bne ra,t4,80002248 <fail> + +800021ec <test_37>: +800021ec: 00000297 auipc t0,0x0 +800021f0: 00e28293 addi t0,t0,14 # 800021fa <test_37+0xe> +800021f4: 4081 li ra,0 +800021f6: 2011 jal 800021fa <test_37+0xe> +800021f8: a011 j 800021fc <test_37+0x10> +800021fa: a011 j 800021fe <test_37+0x12> +800021fc: a0b1 j 80002248 <fail> +800021fe: 405080b3 sub ra,ra,t0 +80002202: 0001 nop +80002204: ffe00e93 li t4,-2 +80002208: 02500193 li gp,37 +8000220c: 03d09e63 bne ra,t4,80002248 <fail> +80002210: ffffe117 auipc sp,0xffffe +80002214: ef810113 addi sp,sp,-264 # 80000108 <data> + +80002218 <test_40>: +80002218: 4532 lw a0,12(sp) +8000221a: 0505 addi a0,a0,1 +8000221c: c62a sw a0,12(sp) +8000221e: 4632 lw a2,12(sp) +80002220: fedcceb7 lui t4,0xfedcc +80002224: a99e8e93 addi t4,t4,-1383 # fedcba99 <_end+0x7edc7a99> +80002228: 02800193 li gp,40 +8000222c: 01d61e63 bne a2,t4,80002248 <fail> + +80002230 <test_42>: +80002230: 12300513 li a0,291 +80002234: 82aa mv t0,a0 +80002236: 92aa add t0,t0,a0 +80002238: 24600e93 li t4,582 +8000223c: 02a00193 li gp,42 +80002240: 01d29463 bne t0,t4,80002248 <fail> +80002244: 00301c63 bne zero,gp,8000225c <pass> + +80002248 <fail>: +80002248: 0ff0000f fence +8000224c: 00018063 beqz gp,8000224c <fail+0x4> +80002250: 00119193 slli gp,gp,0x1 +80002254: 0011e193 ori gp,gp,1 +80002258: 00000073 ecall + +8000225c <pass>: +8000225c: 0ff0000f fence +80002260: 00100193 li gp,1 +80002264: 00000073 ecall +80002268: c0001073 unimp +8000226c: 0000 unimp +8000226e: 0000 unimp +80002270: 0000 unimp +80002272: 0000 unimp +80002274: 0000 unimp +80002276: 0000 unimp +80002278: 0000 unimp +8000227a: 0000 unimp +8000227c: 0000 unimp +8000227e: 0000 unimp +80002280: 0000 unimp +80002282: 0000 unimp +80002284: 0000 unimp +80002286: 0000 unimp +80002288: 0000 unimp +8000228a: 0000 unimp +8000228c: 0000 unimp +8000228e: 0000 unimp +80002290: 0000 unimp +80002292: 0000 unimp +80002294: 0000 unimp +80002296: 0000 unimp +80002298: 0000 unimp +8000229a: 0000 unimp +8000229c: 0000 unimp +8000229e: 0000 unimp +800022a0: 0000 unimp +800022a2: 0000 unimp +800022a4: 0000 unimp +800022a6: 0000 unimp +800022a8: 0000 unimp +800022aa: 0000 unimp +800022ac: 0000 unimp +800022ae: 0000 unimp +800022b0: 0000 unimp +800022b2: 0000 unimp +800022b4: 0000 unimp +800022b6: 0000 unimp +800022b8: 0000 unimp +800022ba: 0000 unimp +800022bc: 0000 unimp +800022be: 0000 unimp +800022c0: 0000 unimp +800022c2: 0000 unimp +800022c4: 0000 unimp +800022c6: 0000 unimp +800022c8: 0000 unimp +800022ca: 0000 unimp +800022cc: 0000 unimp +800022ce: 0000 unimp +800022d0: 0000 unimp +800022d2: 0000 unimp +800022d4: 0000 unimp +800022d6: 0000 unimp +800022d8: 0000 unimp +800022da: 0000 unimp +800022dc: 0000 unimp +800022de: 0000 unimp +800022e0: 0000 unimp +800022e2: 0000 unimp +800022e4: 0000 unimp +800022e6: 0000 unimp +800022e8: 0000 unimp +800022ea: 0000 unimp +800022ec: 0000 unimp +800022ee: 0000 unimp +800022f0: 0000 unimp +800022f2: 0000 unimp +800022f4: 0000 unimp +800022f6: 0000 unimp +800022f8: 0000 unimp +800022fa: 0000 unimp +800022fc: 0000 unimp +800022fe: 0000 unimp +80002300: 0000 unimp +80002302: 0000 unimp +80002304: 0000 unimp +80002306: 0000 unimp +80002308: 0000 unimp +8000230a: 0000 unimp +8000230c: 0000 unimp +8000230e: 0000 unimp +80002310: 0000 unimp +80002312: 0000 unimp +80002314: 0000 unimp +80002316: 0000 unimp +80002318: 0000 unimp +8000231a: 0000 unimp +8000231c: 0000 unimp +8000231e: 0000 unimp +80002320: 0000 unimp +80002322: 0000 unimp +80002324: 0000 unimp +80002326: 0000 unimp +80002328: 0000 unimp +8000232a: 0000 unimp +8000232c: 0000 unimp +8000232e: 0000 unimp +80002330: 0000 unimp +80002332: 0000 unimp +80002334: 0000 unimp +80002336: 0000 unimp +80002338: 0000 unimp +8000233a: 0000 unimp +8000233c: 0000 unimp +8000233e: 0000 unimp +80002340: 0000 unimp +80002342: 0000 unimp +80002344: 0000 unimp +80002346: 0000 unimp +80002348: 0000 unimp +8000234a: 0000 unimp +8000234c: 0000 unimp +8000234e: 0000 unimp +80002350: 0000 unimp +80002352: 0000 unimp +80002354: 0000 unimp +80002356: 0000 unimp +80002358: 0000 unimp +8000235a: 0000 unimp +8000235c: 0000 unimp +8000235e: 0000 unimp +80002360: 0000 unimp +80002362: 0000 unimp +80002364: 0000 unimp +80002366: 0000 unimp +80002368: 0000 unimp +8000236a: 0000 unimp +8000236c: 0000 unimp +8000236e: 0000 unimp +80002370: 0000 unimp +80002372: 0000 unimp +80002374: 0000 unimp +80002376: 0000 unimp +80002378: 0000 unimp +8000237a: 0000 unimp +8000237c: 0000 unimp +8000237e: 0000 unimp +80002380: 0000 unimp +80002382: 0000 unimp +80002384: 0000 unimp +80002386: 0000 unimp +80002388: 0000 unimp +8000238a: 0000 unimp +8000238c: 0000 unimp +8000238e: 0000 unimp +80002390: 0000 unimp +80002392: 0000 unimp +80002394: 0000 unimp +80002396: 0000 unimp +80002398: 0000 unimp +8000239a: 0000 unimp +8000239c: 0000 unimp +8000239e: 0000 unimp +800023a0: 0000 unimp +800023a2: 0000 unimp +800023a4: 0000 unimp +800023a6: 0000 unimp +800023a8: 0000 unimp +800023aa: 0000 unimp +800023ac: 0000 unimp +800023ae: 0000 unimp +800023b0: 0000 unimp +800023b2: 0000 unimp +800023b4: 0000 unimp +800023b6: 0000 unimp +800023b8: 0000 unimp +800023ba: 0000 unimp +800023bc: 0000 unimp +800023be: 0000 unimp +800023c0: 0000 unimp +800023c2: 0000 unimp +800023c4: 0000 unimp +800023c6: 0000 unimp +800023c8: 0000 unimp +800023ca: 0000 unimp +800023cc: 0000 unimp +800023ce: 0000 unimp +800023d0: 0000 unimp +800023d2: 0000 unimp +800023d4: 0000 unimp +800023d6: 0000 unimp +800023d8: 0000 unimp +800023da: 0000 unimp +800023dc: 0000 unimp +800023de: 0000 unimp +800023e0: 0000 unimp +800023e2: 0000 unimp +800023e4: 0000 unimp +800023e6: 0000 unimp +800023e8: 0000 unimp +800023ea: 0000 unimp +800023ec: 0000 unimp +800023ee: 0000 unimp +800023f0: 0000 unimp +800023f2: 0000 unimp +800023f4: 0000 unimp +800023f6: 0000 unimp +800023f8: 0000 unimp +800023fa: 0000 unimp +800023fc: 0000 unimp +800023fe: 0000 unimp +80002400: 0000 unimp +80002402: 0000 unimp +80002404: 0000 unimp +80002406: 0000 unimp +80002408: 0000 unimp +8000240a: 0000 unimp +8000240c: 0000 unimp +8000240e: 0000 unimp +80002410: 0000 unimp +80002412: 0000 unimp +80002414: 0000 unimp +80002416: 0000 unimp +80002418: 0000 unimp +8000241a: 0000 unimp +8000241c: 0000 unimp +8000241e: 0000 unimp +80002420: 0000 unimp +80002422: 0000 unimp +80002424: 0000 unimp +80002426: 0000 unimp +80002428: 0000 unimp +8000242a: 0000 unimp +8000242c: 0000 unimp +8000242e: 0000 unimp +80002430: 0000 unimp +80002432: 0000 unimp +80002434: 0000 unimp +80002436: 0000 unimp +80002438: 0000 unimp +8000243a: 0000 unimp +8000243c: 0000 unimp +8000243e: 0000 unimp +80002440: 0000 unimp +80002442: 0000 unimp +80002444: 0000 unimp +80002446: 0000 unimp +80002448: 0000 unimp +8000244a: 0000 unimp +8000244c: 0000 unimp +8000244e: 0000 unimp +80002450: 0000 unimp +80002452: 0000 unimp +80002454: 0000 unimp +80002456: 0000 unimp +80002458: 0000 unimp +8000245a: 0000 unimp +8000245c: 0000 unimp +8000245e: 0000 unimp +80002460: 0000 unimp +80002462: 0000 unimp +80002464: 0000 unimp +80002466: 0000 unimp +80002468: 0000 unimp +8000246a: 0000 unimp +8000246c: 0000 unimp +8000246e: 0000 unimp +80002470: 0000 unimp +80002472: 0000 unimp +80002474: 0000 unimp +80002476: 0000 unimp +80002478: 0000 unimp +8000247a: 0000 unimp +8000247c: 0000 unimp +8000247e: 0000 unimp +80002480: 0000 unimp +80002482: 0000 unimp +80002484: 0000 unimp +80002486: 0000 unimp +80002488: 0000 unimp +8000248a: 0000 unimp +8000248c: 0000 unimp +8000248e: 0000 unimp +80002490: 0000 unimp +80002492: 0000 unimp +80002494: 0000 unimp +80002496: 0000 unimp +80002498: 0000 unimp +8000249a: 0000 unimp +8000249c: 0000 unimp +8000249e: 0000 unimp +800024a0: 0000 unimp +800024a2: 0000 unimp +800024a4: 0000 unimp +800024a6: 0000 unimp +800024a8: 0000 unimp +800024aa: 0000 unimp +800024ac: 0000 unimp +800024ae: 0000 unimp +800024b0: 0000 unimp +800024b2: 0000 unimp +800024b4: 0000 unimp +800024b6: 0000 unimp +800024b8: 0000 unimp +800024ba: 0000 unimp +800024bc: 0000 unimp +800024be: 0000 unimp +800024c0: 0000 unimp +800024c2: 0000 unimp +800024c4: 0000 unimp +800024c6: 0000 unimp +800024c8: 0000 unimp +800024ca: 0000 unimp +800024cc: 0000 unimp +800024ce: 0000 unimp +800024d0: 0000 unimp +800024d2: 0000 unimp +800024d4: 0000 unimp +800024d6: 0000 unimp +800024d8: 0000 unimp +800024da: 0000 unimp +800024dc: 0000 unimp +800024de: 0000 unimp +800024e0: 0000 unimp +800024e2: 0000 unimp +800024e4: 0000 unimp +800024e6: 0000 unimp +800024e8: 0000 unimp +800024ea: 0000 unimp +800024ec: 0000 unimp +800024ee: 0000 unimp +800024f0: 0000 unimp +800024f2: 0000 unimp +800024f4: 0000 unimp +800024f6: 0000 unimp +800024f8: 0000 unimp +800024fa: 0000 unimp +800024fc: 0000 unimp +800024fe: 0000 unimp +80002500: 0000 unimp +80002502: 0000 unimp +80002504: 0000 unimp +80002506: 0000 unimp +80002508: 0000 unimp +8000250a: 0000 unimp +8000250c: 0000 unimp +8000250e: 0000 unimp +80002510: 0000 unimp +80002512: 0000 unimp +80002514: 0000 unimp +80002516: 0000 unimp +80002518: 0000 unimp +8000251a: 0000 unimp +8000251c: 0000 unimp +8000251e: 0000 unimp +80002520: 0000 unimp +80002522: 0000 unimp +80002524: 0000 unimp +80002526: 0000 unimp +80002528: 0000 unimp +8000252a: 0000 unimp +8000252c: 0000 unimp +8000252e: 0000 unimp +80002530: 0000 unimp +80002532: 0000 unimp +80002534: 0000 unimp +80002536: 0000 unimp +80002538: 0000 unimp +8000253a: 0000 unimp +8000253c: 0000 unimp +8000253e: 0000 unimp +80002540: 0000 unimp +80002542: 0000 unimp +80002544: 0000 unimp +80002546: 0000 unimp +80002548: 0000 unimp +8000254a: 0000 unimp +8000254c: 0000 unimp +8000254e: 0000 unimp +80002550: 0000 unimp +80002552: 0000 unimp +80002554: 0000 unimp +80002556: 0000 unimp +80002558: 0000 unimp +8000255a: 0000 unimp +8000255c: 0000 unimp +8000255e: 0000 unimp +80002560: 0000 unimp +80002562: 0000 unimp +80002564: 0000 unimp +80002566: 0000 unimp +80002568: 0000 unimp +8000256a: 0000 unimp +8000256c: 0000 unimp +8000256e: 0000 unimp +80002570: 0000 unimp +80002572: 0000 unimp +80002574: 0000 unimp +80002576: 0000 unimp +80002578: 0000 unimp +8000257a: 0000 unimp +8000257c: 0000 unimp +8000257e: 0000 unimp +80002580: 0000 unimp +80002582: 0000 unimp +80002584: 0000 unimp +80002586: 0000 unimp +80002588: 0000 unimp +8000258a: 0000 unimp +8000258c: 0000 unimp +8000258e: 0000 unimp +80002590: 0000 unimp +80002592: 0000 unimp +80002594: 0000 unimp +80002596: 0000 unimp +80002598: 0000 unimp +8000259a: 0000 unimp +8000259c: 0000 unimp +8000259e: 0000 unimp +800025a0: 0000 unimp +800025a2: 0000 unimp +800025a4: 0000 unimp +800025a6: 0000 unimp +800025a8: 0000 unimp +800025aa: 0000 unimp +800025ac: 0000 unimp +800025ae: 0000 unimp +800025b0: 0000 unimp +800025b2: 0000 unimp +800025b4: 0000 unimp +800025b6: 0000 unimp +800025b8: 0000 unimp +800025ba: 0000 unimp +800025bc: 0000 unimp +800025be: 0000 unimp +800025c0: 0000 unimp +800025c2: 0000 unimp +800025c4: 0000 unimp +800025c6: 0000 unimp +800025c8: 0000 unimp +800025ca: 0000 unimp +800025cc: 0000 unimp +800025ce: 0000 unimp +800025d0: 0000 unimp +800025d2: 0000 unimp +800025d4: 0000 unimp +800025d6: 0000 unimp +800025d8: 0000 unimp +800025da: 0000 unimp +800025dc: 0000 unimp +800025de: 0000 unimp +800025e0: 0000 unimp +800025e2: 0000 unimp +800025e4: 0000 unimp +800025e6: 0000 unimp +800025e8: 0000 unimp +800025ea: 0000 unimp +800025ec: 0000 unimp +800025ee: 0000 unimp +800025f0: 0000 unimp +800025f2: 0000 unimp +800025f4: 0000 unimp +800025f6: 0000 unimp +800025f8: 0000 unimp +800025fa: 0000 unimp +800025fc: 0000 unimp +800025fe: 0000 unimp +80002600: 0000 unimp +80002602: 0000 unimp +80002604: 0000 unimp +80002606: 0000 unimp +80002608: 0000 unimp +8000260a: 0000 unimp +8000260c: 0000 unimp +8000260e: 0000 unimp +80002610: 0000 unimp +80002612: 0000 unimp +80002614: 0000 unimp +80002616: 0000 unimp +80002618: 0000 unimp +8000261a: 0000 unimp +8000261c: 0000 unimp +8000261e: 0000 unimp +80002620: 0000 unimp +80002622: 0000 unimp +80002624: 0000 unimp +80002626: 0000 unimp +80002628: 0000 unimp +8000262a: 0000 unimp +8000262c: 0000 unimp +8000262e: 0000 unimp +80002630: 0000 unimp +80002632: 0000 unimp +80002634: 0000 unimp +80002636: 0000 unimp +80002638: 0000 unimp +8000263a: 0000 unimp +8000263c: 0000 unimp +8000263e: 0000 unimp +80002640: 0000 unimp +80002642: 0000 unimp +80002644: 0000 unimp +80002646: 0000 unimp +80002648: 0000 unimp +8000264a: 0000 unimp +8000264c: 0000 unimp +8000264e: 0000 unimp +80002650: 0000 unimp +80002652: 0000 unimp +80002654: 0000 unimp +80002656: 0000 unimp +80002658: 0000 unimp +8000265a: 0000 unimp +8000265c: 0000 unimp +8000265e: 0000 unimp +80002660: 0000 unimp +80002662: 0000 unimp +80002664: 0000 unimp +80002666: 0000 unimp +80002668: 0000 unimp +8000266a: 0000 unimp +8000266c: 0000 unimp +8000266e: 0000 unimp +80002670: 0000 unimp +80002672: 0000 unimp +80002674: 0000 unimp +80002676: 0000 unimp +80002678: 0000 unimp +8000267a: 0000 unimp +8000267c: 0000 unimp +8000267e: 0000 unimp +80002680: 0000 unimp +80002682: 0000 unimp +80002684: 0000 unimp +80002686: 0000 unimp +80002688: 0000 unimp +8000268a: 0000 unimp +8000268c: 0000 unimp +8000268e: 0000 unimp +80002690: 0000 unimp +80002692: 0000 unimp +80002694: 0000 unimp +80002696: 0000 unimp +80002698: 0000 unimp +8000269a: 0000 unimp +8000269c: 0000 unimp +8000269e: 0000 unimp +800026a0: 0000 unimp +800026a2: 0000 unimp +800026a4: 0000 unimp +800026a6: 0000 unimp +800026a8: 0000 unimp +800026aa: 0000 unimp +800026ac: 0000 unimp +800026ae: 0000 unimp +800026b0: 0000 unimp +800026b2: 0000 unimp +800026b4: 0000 unimp +800026b6: 0000 unimp +800026b8: 0000 unimp +800026ba: 0000 unimp +800026bc: 0000 unimp +800026be: 0000 unimp +800026c0: 0000 unimp +800026c2: 0000 unimp +800026c4: 0000 unimp +800026c6: 0000 unimp +800026c8: 0000 unimp +800026ca: 0000 unimp +800026cc: 0000 unimp +800026ce: 0000 unimp +800026d0: 0000 unimp +800026d2: 0000 unimp +800026d4: 0000 unimp +800026d6: 0000 unimp +800026d8: 0000 unimp +800026da: 0000 unimp +800026dc: 0000 unimp +800026de: 0000 unimp +800026e0: 0000 unimp +800026e2: 0000 unimp +800026e4: 0000 unimp +800026e6: 0000 unimp +800026e8: 0000 unimp +800026ea: 0000 unimp +800026ec: 0000 unimp +800026ee: 0000 unimp +800026f0: 0000 unimp +800026f2: 0000 unimp +800026f4: 0000 unimp +800026f6: 0000 unimp +800026f8: 0000 unimp +800026fa: 0000 unimp +800026fc: 0000 unimp +800026fe: 0000 unimp +80002700: 0000 unimp +80002702: 0000 unimp +80002704: 0000 unimp +80002706: 0000 unimp +80002708: 0000 unimp +8000270a: 0000 unimp +8000270c: 0000 unimp +8000270e: 0000 unimp +80002710: 0000 unimp +80002712: 0000 unimp +80002714: 0000 unimp +80002716: 0000 unimp +80002718: 0000 unimp +8000271a: 0000 unimp +8000271c: 0000 unimp +8000271e: 0000 unimp +80002720: 0000 unimp +80002722: 0000 unimp +80002724: 0000 unimp +80002726: 0000 unimp +80002728: 0000 unimp +8000272a: 0000 unimp +8000272c: 0000 unimp +8000272e: 0000 unimp +80002730: 0000 unimp +80002732: 0000 unimp +80002734: 0000 unimp +80002736: 0000 unimp +80002738: 0000 unimp +8000273a: 0000 unimp +8000273c: 0000 unimp +8000273e: 0000 unimp +80002740: 0000 unimp +80002742: 0000 unimp +80002744: 0000 unimp +80002746: 0000 unimp +80002748: 0000 unimp +8000274a: 0000 unimp +8000274c: 0000 unimp +8000274e: 0000 unimp +80002750: 0000 unimp +80002752: 0000 unimp +80002754: 0000 unimp +80002756: 0000 unimp +80002758: 0000 unimp +8000275a: 0000 unimp +8000275c: 0000 unimp +8000275e: 0000 unimp +80002760: 0000 unimp +80002762: 0000 unimp +80002764: 0000 unimp +80002766: 0000 unimp +80002768: 0000 unimp +8000276a: 0000 unimp +8000276c: 0000 unimp +8000276e: 0000 unimp +80002770: 0000 unimp +80002772: 0000 unimp +80002774: 0000 unimp +80002776: 0000 unimp +80002778: 0000 unimp +8000277a: 0000 unimp +8000277c: 0000 unimp +8000277e: 0000 unimp +80002780: 0000 unimp +80002782: 0000 unimp +80002784: 0000 unimp +80002786: 0000 unimp +80002788: 0000 unimp +8000278a: 0000 unimp +8000278c: 0000 unimp +8000278e: 0000 unimp +80002790: 0000 unimp +80002792: 0000 unimp +80002794: 0000 unimp +80002796: 0000 unimp +80002798: 0000 unimp +8000279a: 0000 unimp +8000279c: 0000 unimp +8000279e: 0000 unimp +800027a0: 0000 unimp +800027a2: 0000 unimp +800027a4: 0000 unimp +800027a6: 0000 unimp +800027a8: 0000 unimp +800027aa: 0000 unimp +800027ac: 0000 unimp +800027ae: 0000 unimp +800027b0: 0000 unimp +800027b2: 0000 unimp +800027b4: 0000 unimp +800027b6: 0000 unimp +800027b8: 0000 unimp +800027ba: 0000 unimp +800027bc: 0000 unimp +800027be: 0000 unimp +800027c0: 0000 unimp +800027c2: 0000 unimp +800027c4: 0000 unimp +800027c6: 0000 unimp +800027c8: 0000 unimp +800027ca: 0000 unimp +800027cc: 0000 unimp +800027ce: 0000 unimp +800027d0: 0000 unimp +800027d2: 0000 unimp +800027d4: 0000 unimp +800027d6: 0000 unimp +800027d8: 0000 unimp +800027da: 0000 unimp +800027dc: 0000 unimp +800027de: 0000 unimp +800027e0: 0000 unimp +800027e2: 0000 unimp +800027e4: 0000 unimp +800027e6: 0000 unimp +800027e8: 0000 unimp +800027ea: 0000 unimp +800027ec: 0000 unimp +800027ee: 0000 unimp +800027f0: 0000 unimp +800027f2: 0000 unimp +800027f4: 0000 unimp +800027f6: 0000 unimp +800027f8: 0000 unimp +800027fa: 0000 unimp +800027fc: 0000 unimp +800027fe: 0000 unimp +80002800: 0000 unimp +80002802: 0000 unimp +80002804: 0000 unimp +80002806: 0000 unimp +80002808: 0000 unimp +8000280a: 0000 unimp +8000280c: 0000 unimp +8000280e: 0000 unimp +80002810: 0000 unimp +80002812: 0000 unimp +80002814: 0000 unimp +80002816: 0000 unimp +80002818: 0000 unimp +8000281a: 0000 unimp +8000281c: 0000 unimp +8000281e: 0000 unimp +80002820: 0000 unimp +80002822: 0000 unimp +80002824: 0000 unimp +80002826: 0000 unimp +80002828: 0000 unimp +8000282a: 0000 unimp +8000282c: 0000 unimp +8000282e: 0000 unimp +80002830: 0000 unimp +80002832: 0000 unimp +80002834: 0000 unimp +80002836: 0000 unimp +80002838: 0000 unimp +8000283a: 0000 unimp +8000283c: 0000 unimp +8000283e: 0000 unimp +80002840: 0000 unimp +80002842: 0000 unimp +80002844: 0000 unimp +80002846: 0000 unimp +80002848: 0000 unimp +8000284a: 0000 unimp +8000284c: 0000 unimp +8000284e: 0000 unimp +80002850: 0000 unimp +80002852: 0000 unimp +80002854: 0000 unimp +80002856: 0000 unimp +80002858: 0000 unimp +8000285a: 0000 unimp +8000285c: 0000 unimp +8000285e: 0000 unimp +80002860: 0000 unimp +80002862: 0000 unimp +80002864: 0000 unimp +80002866: 0000 unimp +80002868: 0000 unimp +8000286a: 0000 unimp +8000286c: 0000 unimp +8000286e: 0000 unimp +80002870: 0000 unimp +80002872: 0000 unimp +80002874: 0000 unimp +80002876: 0000 unimp +80002878: 0000 unimp +8000287a: 0000 unimp +8000287c: 0000 unimp +8000287e: 0000 unimp +80002880: 0000 unimp +80002882: 0000 unimp +80002884: 0000 unimp +80002886: 0000 unimp +80002888: 0000 unimp +8000288a: 0000 unimp +8000288c: 0000 unimp +8000288e: 0000 unimp +80002890: 0000 unimp +80002892: 0000 unimp +80002894: 0000 unimp +80002896: 0000 unimp +80002898: 0000 unimp +8000289a: 0000 unimp +8000289c: 0000 unimp +8000289e: 0000 unimp +800028a0: 0000 unimp +800028a2: 0000 unimp +800028a4: 0000 unimp +800028a6: 0000 unimp +800028a8: 0000 unimp +800028aa: 0000 unimp +800028ac: 0000 unimp +800028ae: 0000 unimp +800028b0: 0000 unimp +800028b2: 0000 unimp +800028b4: 0000 unimp +800028b6: 0000 unimp +800028b8: 0000 unimp +800028ba: 0000 unimp +800028bc: 0000 unimp +800028be: 0000 unimp +800028c0: 0000 unimp +800028c2: 0000 unimp +800028c4: 0000 unimp +800028c6: 0000 unimp +800028c8: 0000 unimp +800028ca: 0000 unimp +800028cc: 0000 unimp +800028ce: 0000 unimp +800028d0: 0000 unimp +800028d2: 0000 unimp +800028d4: 0000 unimp +800028d6: 0000 unimp +800028d8: 0000 unimp +800028da: 0000 unimp +800028dc: 0000 unimp +800028de: 0000 unimp +800028e0: 0000 unimp +800028e2: 0000 unimp +800028e4: 0000 unimp +800028e6: 0000 unimp +800028e8: 0000 unimp +800028ea: 0000 unimp +800028ec: 0000 unimp +800028ee: 0000 unimp +800028f0: 0000 unimp +800028f2: 0000 unimp +800028f4: 0000 unimp +800028f6: 0000 unimp +800028f8: 0000 unimp +800028fa: 0000 unimp +800028fc: 0000 unimp +800028fe: 0000 unimp +80002900: 0000 unimp +80002902: 0000 unimp +80002904: 0000 unimp +80002906: 0000 unimp +80002908: 0000 unimp +8000290a: 0000 unimp +8000290c: 0000 unimp +8000290e: 0000 unimp +80002910: 0000 unimp +80002912: 0000 unimp +80002914: 0000 unimp +80002916: 0000 unimp +80002918: 0000 unimp +8000291a: 0000 unimp +8000291c: 0000 unimp +8000291e: 0000 unimp +80002920: 0000 unimp +80002922: 0000 unimp +80002924: 0000 unimp +80002926: 0000 unimp +80002928: 0000 unimp +8000292a: 0000 unimp +8000292c: 0000 unimp +8000292e: 0000 unimp +80002930: 0000 unimp +80002932: 0000 unimp +80002934: 0000 unimp +80002936: 0000 unimp +80002938: 0000 unimp +8000293a: 0000 unimp +8000293c: 0000 unimp +8000293e: 0000 unimp +80002940: 0000 unimp +80002942: 0000 unimp +80002944: 0000 unimp +80002946: 0000 unimp +80002948: 0000 unimp +8000294a: 0000 unimp +8000294c: 0000 unimp +8000294e: 0000 unimp +80002950: 0000 unimp +80002952: 0000 unimp +80002954: 0000 unimp +80002956: 0000 unimp +80002958: 0000 unimp +8000295a: 0000 unimp +8000295c: 0000 unimp +8000295e: 0000 unimp +80002960: 0000 unimp +80002962: 0000 unimp +80002964: 0000 unimp +80002966: 0000 unimp +80002968: 0000 unimp +8000296a: 0000 unimp +8000296c: 0000 unimp +8000296e: 0000 unimp +80002970: 0000 unimp +80002972: 0000 unimp +80002974: 0000 unimp +80002976: 0000 unimp +80002978: 0000 unimp +8000297a: 0000 unimp +8000297c: 0000 unimp +8000297e: 0000 unimp +80002980: 0000 unimp +80002982: 0000 unimp +80002984: 0000 unimp +80002986: 0000 unimp +80002988: 0000 unimp +8000298a: 0000 unimp +8000298c: 0000 unimp +8000298e: 0000 unimp +80002990: 0000 unimp +80002992: 0000 unimp +80002994: 0000 unimp +80002996: 0000 unimp +80002998: 0000 unimp +8000299a: 0000 unimp +8000299c: 0000 unimp +8000299e: 0000 unimp +800029a0: 0000 unimp +800029a2: 0000 unimp +800029a4: 0000 unimp +800029a6: 0000 unimp +800029a8: 0000 unimp +800029aa: 0000 unimp +800029ac: 0000 unimp +800029ae: 0000 unimp +800029b0: 0000 unimp +800029b2: 0000 unimp +800029b4: 0000 unimp +800029b6: 0000 unimp +800029b8: 0000 unimp +800029ba: 0000 unimp +800029bc: 0000 unimp +800029be: 0000 unimp +800029c0: 0000 unimp +800029c2: 0000 unimp +800029c4: 0000 unimp +800029c6: 0000 unimp +800029c8: 0000 unimp +800029ca: 0000 unimp +800029cc: 0000 unimp +800029ce: 0000 unimp +800029d0: 0000 unimp +800029d2: 0000 unimp +800029d4: 0000 unimp +800029d6: 0000 unimp +800029d8: 0000 unimp +800029da: 0000 unimp +800029dc: 0000 unimp +800029de: 0000 unimp +800029e0: 0000 unimp +800029e2: 0000 unimp +800029e4: 0000 unimp +800029e6: 0000 unimp +800029e8: 0000 unimp +800029ea: 0000 unimp +800029ec: 0000 unimp +800029ee: 0000 unimp +800029f0: 0000 unimp +800029f2: 0000 unimp +800029f4: 0000 unimp +800029f6: 0000 unimp +800029f8: 0000 unimp +800029fa: 0000 unimp +800029fc: 0000 unimp +800029fe: 0000 unimp +80002a00: 0000 unimp +80002a02: 0000 unimp +80002a04: 0000 unimp +80002a06: 0000 unimp +80002a08: 0000 unimp +80002a0a: 0000 unimp +80002a0c: 0000 unimp +80002a0e: 0000 unimp +80002a10: 0000 unimp +80002a12: 0000 unimp +80002a14: 0000 unimp +80002a16: 0000 unimp +80002a18: 0000 unimp +80002a1a: 0000 unimp +80002a1c: 0000 unimp +80002a1e: 0000 unimp +80002a20: 0000 unimp +80002a22: 0000 unimp +80002a24: 0000 unimp +80002a26: 0000 unimp +80002a28: 0000 unimp +80002a2a: 0000 unimp +80002a2c: 0000 unimp +80002a2e: 0000 unimp +80002a30: 0000 unimp +80002a32: 0000 unimp +80002a34: 0000 unimp +80002a36: 0000 unimp +80002a38: 0000 unimp +80002a3a: 0000 unimp +80002a3c: 0000 unimp +80002a3e: 0000 unimp +80002a40: 0000 unimp +80002a42: 0000 unimp +80002a44: 0000 unimp +80002a46: 0000 unimp +80002a48: 0000 unimp +80002a4a: 0000 unimp +80002a4c: 0000 unimp +80002a4e: 0000 unimp +80002a50: 0000 unimp +80002a52: 0000 unimp +80002a54: 0000 unimp +80002a56: 0000 unimp +80002a58: 0000 unimp +80002a5a: 0000 unimp +80002a5c: 0000 unimp +80002a5e: 0000 unimp +80002a60: 0000 unimp +80002a62: 0000 unimp +80002a64: 0000 unimp +80002a66: 0000 unimp +80002a68: 0000 unimp +80002a6a: 0000 unimp +80002a6c: 0000 unimp +80002a6e: 0000 unimp +80002a70: 0000 unimp +80002a72: 0000 unimp +80002a74: 0000 unimp +80002a76: 0000 unimp +80002a78: 0000 unimp +80002a7a: 0000 unimp +80002a7c: 0000 unimp +80002a7e: 0000 unimp +80002a80: 0000 unimp +80002a82: 0000 unimp +80002a84: 0000 unimp +80002a86: 0000 unimp +80002a88: 0000 unimp +80002a8a: 0000 unimp +80002a8c: 0000 unimp +80002a8e: 0000 unimp +80002a90: 0000 unimp +80002a92: 0000 unimp +80002a94: 0000 unimp +80002a96: 0000 unimp +80002a98: 0000 unimp +80002a9a: 0000 unimp +80002a9c: 0000 unimp +80002a9e: 0000 unimp +80002aa0: 0000 unimp +80002aa2: 0000 unimp +80002aa4: 0000 unimp +80002aa6: 0000 unimp +80002aa8: 0000 unimp +80002aaa: 0000 unimp +80002aac: 0000 unimp +80002aae: 0000 unimp +80002ab0: 0000 unimp +80002ab2: 0000 unimp +80002ab4: 0000 unimp +80002ab6: 0000 unimp +80002ab8: 0000 unimp +80002aba: 0000 unimp +80002abc: 0000 unimp +80002abe: 0000 unimp +80002ac0: 0000 unimp +80002ac2: 0000 unimp +80002ac4: 0000 unimp +80002ac6: 0000 unimp +80002ac8: 0000 unimp +80002aca: 0000 unimp +80002acc: 0000 unimp +80002ace: 0000 unimp +80002ad0: 0000 unimp +80002ad2: 0000 unimp +80002ad4: 0000 unimp +80002ad6: 0000 unimp +80002ad8: 0000 unimp +80002ada: 0000 unimp +80002adc: 0000 unimp +80002ade: 0000 unimp +80002ae0: 0000 unimp +80002ae2: 0000 unimp +80002ae4: 0000 unimp +80002ae6: 0000 unimp +80002ae8: 0000 unimp +80002aea: 0000 unimp +80002aec: 0000 unimp +80002aee: 0000 unimp +80002af0: 0000 unimp +80002af2: 0000 unimp +80002af4: 0000 unimp +80002af6: 0000 unimp +80002af8: 0000 unimp +80002afa: 0000 unimp +80002afc: 0000 unimp +80002afe: 0000 unimp +80002b00: 0000 unimp +80002b02: 0000 unimp +80002b04: 0000 unimp +80002b06: 0000 unimp +80002b08: 0000 unimp +80002b0a: 0000 unimp +80002b0c: 0000 unimp +80002b0e: 0000 unimp +80002b10: 0000 unimp +80002b12: 0000 unimp +80002b14: 0000 unimp +80002b16: 0000 unimp +80002b18: 0000 unimp +80002b1a: 0000 unimp +80002b1c: 0000 unimp +80002b1e: 0000 unimp +80002b20: 0000 unimp +80002b22: 0000 unimp +80002b24: 0000 unimp +80002b26: 0000 unimp +80002b28: 0000 unimp +80002b2a: 0000 unimp +80002b2c: 0000 unimp +80002b2e: 0000 unimp +80002b30: 0000 unimp +80002b32: 0000 unimp +80002b34: 0000 unimp +80002b36: 0000 unimp +80002b38: 0000 unimp +80002b3a: 0000 unimp +80002b3c: 0000 unimp +80002b3e: 0000 unimp +80002b40: 0000 unimp +80002b42: 0000 unimp +80002b44: 0000 unimp +80002b46: 0000 unimp +80002b48: 0000 unimp +80002b4a: 0000 unimp +80002b4c: 0000 unimp +80002b4e: 0000 unimp +80002b50: 0000 unimp +80002b52: 0000 unimp +80002b54: 0000 unimp +80002b56: 0000 unimp +80002b58: 0000 unimp +80002b5a: 0000 unimp +80002b5c: 0000 unimp +80002b5e: 0000 unimp +80002b60: 0000 unimp +80002b62: 0000 unimp +80002b64: 0000 unimp +80002b66: 0000 unimp +80002b68: 0000 unimp +80002b6a: 0000 unimp +80002b6c: 0000 unimp +80002b6e: 0000 unimp +80002b70: 0000 unimp +80002b72: 0000 unimp +80002b74: 0000 unimp +80002b76: 0000 unimp +80002b78: 0000 unimp +80002b7a: 0000 unimp +80002b7c: 0000 unimp +80002b7e: 0000 unimp +80002b80: 0000 unimp +80002b82: 0000 unimp +80002b84: 0000 unimp +80002b86: 0000 unimp +80002b88: 0000 unimp +80002b8a: 0000 unimp +80002b8c: 0000 unimp +80002b8e: 0000 unimp +80002b90: 0000 unimp +80002b92: 0000 unimp +80002b94: 0000 unimp +80002b96: 0000 unimp +80002b98: 0000 unimp +80002b9a: 0000 unimp +80002b9c: 0000 unimp +80002b9e: 0000 unimp +80002ba0: 0000 unimp +80002ba2: 0000 unimp +80002ba4: 0000 unimp +80002ba6: 0000 unimp +80002ba8: 0000 unimp +80002baa: 0000 unimp +80002bac: 0000 unimp +80002bae: 0000 unimp +80002bb0: 0000 unimp +80002bb2: 0000 unimp +80002bb4: 0000 unimp +80002bb6: 0000 unimp +80002bb8: 0000 unimp +80002bba: 0000 unimp +80002bbc: 0000 unimp +80002bbe: 0000 unimp +80002bc0: 0000 unimp +80002bc2: 0000 unimp +80002bc4: 0000 unimp +80002bc6: 0000 unimp +80002bc8: 0000 unimp +80002bca: 0000 unimp +80002bcc: 0000 unimp +80002bce: 0000 unimp +80002bd0: 0000 unimp +80002bd2: 0000 unimp +80002bd4: 0000 unimp +80002bd6: 0000 unimp +80002bd8: 0000 unimp +80002bda: 0000 unimp +80002bdc: 0000 unimp +80002bde: 0000 unimp +80002be0: 0000 unimp +80002be2: 0000 unimp +80002be4: 0000 unimp +80002be6: 0000 unimp +80002be8: 0000 unimp +80002bea: 0000 unimp +80002bec: 0000 unimp +80002bee: 0000 unimp +80002bf0: 0000 unimp +80002bf2: 0000 unimp +80002bf4: 0000 unimp +80002bf6: 0000 unimp +80002bf8: 0000 unimp +80002bfa: 0000 unimp +80002bfc: 0000 unimp +80002bfe: 0000 unimp +80002c00: 0000 unimp +80002c02: 0000 unimp +80002c04: 0000 unimp +80002c06: 0000 unimp +80002c08: 0000 unimp +80002c0a: 0000 unimp +80002c0c: 0000 unimp +80002c0e: 0000 unimp +80002c10: 0000 unimp +80002c12: 0000 unimp +80002c14: 0000 unimp +80002c16: 0000 unimp +80002c18: 0000 unimp +80002c1a: 0000 unimp +80002c1c: 0000 unimp +80002c1e: 0000 unimp +80002c20: 0000 unimp +80002c22: 0000 unimp +80002c24: 0000 unimp +80002c26: 0000 unimp +80002c28: 0000 unimp +80002c2a: 0000 unimp +80002c2c: 0000 unimp +80002c2e: 0000 unimp +80002c30: 0000 unimp +80002c32: 0000 unimp +80002c34: 0000 unimp +80002c36: 0000 unimp +80002c38: 0000 unimp +80002c3a: 0000 unimp +80002c3c: 0000 unimp +80002c3e: 0000 unimp +80002c40: 0000 unimp +80002c42: 0000 unimp +80002c44: 0000 unimp +80002c46: 0000 unimp +80002c48: 0000 unimp +80002c4a: 0000 unimp +80002c4c: 0000 unimp +80002c4e: 0000 unimp +80002c50: 0000 unimp +80002c52: 0000 unimp +80002c54: 0000 unimp +80002c56: 0000 unimp +80002c58: 0000 unimp +80002c5a: 0000 unimp +80002c5c: 0000 unimp +80002c5e: 0000 unimp +80002c60: 0000 unimp +80002c62: 0000 unimp +80002c64: 0000 unimp +80002c66: 0000 unimp +80002c68: 0000 unimp +80002c6a: 0000 unimp +80002c6c: 0000 unimp +80002c6e: 0000 unimp +80002c70: 0000 unimp +80002c72: 0000 unimp +80002c74: 0000 unimp +80002c76: 0000 unimp +80002c78: 0000 unimp +80002c7a: 0000 unimp +80002c7c: 0000 unimp +80002c7e: 0000 unimp +80002c80: 0000 unimp +80002c82: 0000 unimp +80002c84: 0000 unimp +80002c86: 0000 unimp +80002c88: 0000 unimp +80002c8a: 0000 unimp +80002c8c: 0000 unimp +80002c8e: 0000 unimp +80002c90: 0000 unimp +80002c92: 0000 unimp +80002c94: 0000 unimp +80002c96: 0000 unimp +80002c98: 0000 unimp +80002c9a: 0000 unimp +80002c9c: 0000 unimp +80002c9e: 0000 unimp +80002ca0: 0000 unimp +80002ca2: 0000 unimp +80002ca4: 0000 unimp +80002ca6: 0000 unimp +80002ca8: 0000 unimp +80002caa: 0000 unimp +80002cac: 0000 unimp +80002cae: 0000 unimp +80002cb0: 0000 unimp +80002cb2: 0000 unimp +80002cb4: 0000 unimp +80002cb6: 0000 unimp +80002cb8: 0000 unimp +80002cba: 0000 unimp +80002cbc: 0000 unimp +80002cbe: 0000 unimp +80002cc0: 0000 unimp +80002cc2: 0000 unimp +80002cc4: 0000 unimp +80002cc6: 0000 unimp +80002cc8: 0000 unimp +80002cca: 0000 unimp +80002ccc: 0000 unimp +80002cce: 0000 unimp +80002cd0: 0000 unimp +80002cd2: 0000 unimp +80002cd4: 0000 unimp +80002cd6: 0000 unimp +80002cd8: 0000 unimp +80002cda: 0000 unimp +80002cdc: 0000 unimp +80002cde: 0000 unimp +80002ce0: 0000 unimp +80002ce2: 0000 unimp +80002ce4: 0000 unimp +80002ce6: 0000 unimp +80002ce8: 0000 unimp +80002cea: 0000 unimp +80002cec: 0000 unimp +80002cee: 0000 unimp +80002cf0: 0000 unimp +80002cf2: 0000 unimp +80002cf4: 0000 unimp +80002cf6: 0000 unimp +80002cf8: 0000 unimp +80002cfa: 0000 unimp +80002cfc: 0000 unimp +80002cfe: 0000 unimp +80002d00: 0000 unimp +80002d02: 0000 unimp +80002d04: 0000 unimp +80002d06: 0000 unimp +80002d08: 0000 unimp +80002d0a: 0000 unimp +80002d0c: 0000 unimp +80002d0e: 0000 unimp +80002d10: 0000 unimp +80002d12: 0000 unimp +80002d14: 0000 unimp +80002d16: 0000 unimp +80002d18: 0000 unimp +80002d1a: 0000 unimp +80002d1c: 0000 unimp +80002d1e: 0000 unimp +80002d20: 0000 unimp +80002d22: 0000 unimp +80002d24: 0000 unimp +80002d26: 0000 unimp +80002d28: 0000 unimp +80002d2a: 0000 unimp +80002d2c: 0000 unimp +80002d2e: 0000 unimp +80002d30: 0000 unimp +80002d32: 0000 unimp +80002d34: 0000 unimp +80002d36: 0000 unimp +80002d38: 0000 unimp +80002d3a: 0000 unimp +80002d3c: 0000 unimp +80002d3e: 0000 unimp +80002d40: 0000 unimp +80002d42: 0000 unimp +80002d44: 0000 unimp +80002d46: 0000 unimp +80002d48: 0000 unimp +80002d4a: 0000 unimp +80002d4c: 0000 unimp +80002d4e: 0000 unimp +80002d50: 0000 unimp +80002d52: 0000 unimp +80002d54: 0000 unimp +80002d56: 0000 unimp +80002d58: 0000 unimp +80002d5a: 0000 unimp +80002d5c: 0000 unimp +80002d5e: 0000 unimp +80002d60: 0000 unimp +80002d62: 0000 unimp +80002d64: 0000 unimp +80002d66: 0000 unimp +80002d68: 0000 unimp +80002d6a: 0000 unimp +80002d6c: 0000 unimp +80002d6e: 0000 unimp +80002d70: 0000 unimp +80002d72: 0000 unimp +80002d74: 0000 unimp +80002d76: 0000 unimp +80002d78: 0000 unimp +80002d7a: 0000 unimp +80002d7c: 0000 unimp +80002d7e: 0000 unimp +80002d80: 0000 unimp +80002d82: 0000 unimp +80002d84: 0000 unimp +80002d86: 0000 unimp +80002d88: 0000 unimp +80002d8a: 0000 unimp +80002d8c: 0000 unimp +80002d8e: 0000 unimp +80002d90: 0000 unimp +80002d92: 0000 unimp +80002d94: 0000 unimp +80002d96: 0000 unimp +80002d98: 0000 unimp +80002d9a: 0000 unimp +80002d9c: 0000 unimp +80002d9e: 0000 unimp +80002da0: 0000 unimp +80002da2: 0000 unimp +80002da4: 0000 unimp +80002da6: 0000 unimp +80002da8: 0000 unimp +80002daa: 0000 unimp +80002dac: 0000 unimp +80002dae: 0000 unimp +80002db0: 0000 unimp +80002db2: 0000 unimp +80002db4: 0000 unimp +80002db6: 0000 unimp +80002db8: 0000 unimp +80002dba: 0000 unimp +80002dbc: 0000 unimp +80002dbe: 0000 unimp +80002dc0: 0000 unimp +80002dc2: 0000 unimp +80002dc4: 0000 unimp +80002dc6: 0000 unimp +80002dc8: 0000 unimp +80002dca: 0000 unimp +80002dcc: 0000 unimp +80002dce: 0000 unimp +80002dd0: 0000 unimp +80002dd2: 0000 unimp +80002dd4: 0000 unimp +80002dd6: 0000 unimp +80002dd8: 0000 unimp +80002dda: 0000 unimp +80002ddc: 0000 unimp +80002dde: 0000 unimp +80002de0: 0000 unimp +80002de2: 0000 unimp +80002de4: 0000 unimp +80002de6: 0000 unimp +80002de8: 0000 unimp +80002dea: 0000 unimp +80002dec: 0000 unimp +80002dee: 0000 unimp +80002df0: 0000 unimp +80002df2: 0000 unimp +80002df4: 0000 unimp +80002df6: 0000 unimp +80002df8: 0000 unimp +80002dfa: 0000 unimp +80002dfc: 0000 unimp +80002dfe: 0000 unimp +80002e00: 0000 unimp +80002e02: 0000 unimp +80002e04: 0000 unimp +80002e06: 0000 unimp +80002e08: 0000 unimp +80002e0a: 0000 unimp +80002e0c: 0000 unimp +80002e0e: 0000 unimp +80002e10: 0000 unimp +80002e12: 0000 unimp +80002e14: 0000 unimp +80002e16: 0000 unimp +80002e18: 0000 unimp +80002e1a: 0000 unimp +80002e1c: 0000 unimp +80002e1e: 0000 unimp +80002e20: 0000 unimp +80002e22: 0000 unimp +80002e24: 0000 unimp +80002e26: 0000 unimp +80002e28: 0000 unimp +80002e2a: 0000 unimp +80002e2c: 0000 unimp +80002e2e: 0000 unimp +80002e30: 0000 unimp +80002e32: 0000 unimp +80002e34: 0000 unimp +80002e36: 0000 unimp +80002e38: 0000 unimp +80002e3a: 0000 unimp +80002e3c: 0000 unimp +80002e3e: 0000 unimp +80002e40: 0000 unimp +80002e42: 0000 unimp +80002e44: 0000 unimp +80002e46: 0000 unimp +80002e48: 0000 unimp +80002e4a: 0000 unimp +80002e4c: 0000 unimp +80002e4e: 0000 unimp +80002e50: 0000 unimp +80002e52: 0000 unimp +80002e54: 0000 unimp +80002e56: 0000 unimp +80002e58: 0000 unimp +80002e5a: 0000 unimp +80002e5c: 0000 unimp +80002e5e: 0000 unimp +80002e60: 0000 unimp +80002e62: 0000 unimp +80002e64: 0000 unimp +80002e66: 0000 unimp +80002e68: 0000 unimp +80002e6a: 0000 unimp +80002e6c: 0000 unimp +80002e6e: 0000 unimp +80002e70: 0000 unimp +80002e72: 0000 unimp +80002e74: 0000 unimp +80002e76: 0000 unimp +80002e78: 0000 unimp +80002e7a: 0000 unimp +80002e7c: 0000 unimp +80002e7e: 0000 unimp +80002e80: 0000 unimp +80002e82: 0000 unimp +80002e84: 0000 unimp +80002e86: 0000 unimp +80002e88: 0000 unimp +80002e8a: 0000 unimp +80002e8c: 0000 unimp +80002e8e: 0000 unimp +80002e90: 0000 unimp +80002e92: 0000 unimp +80002e94: 0000 unimp +80002e96: 0000 unimp +80002e98: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fadd.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fadd.dump new file mode 100644 index 0000000..0155a03 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fadd.dump @@ -0,0 +1,506 @@ + +rv32ud-p-fadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdebf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00053007 fld ft0,0(a0) +80000198: 00853087 fld ft1,8(a0) +8000019c: 01053107 fld ft2,16(a0) +800001a0: 01852683 lw a3,24(a0) +800001a4: 01c52303 lw t1,28(a0) +800001a8: 021071d3 fadd.d ft3,ft0,ft1 +800001ac: 00353027 fsd ft3,0(a0) +800001b0: 00452383 lw t2,4(a0) +800001b4: 00052503 lw a0,0(a0) +800001b8: 001015f3 fsflags a1,zero +800001bc: 00000613 li a2,0 +800001c0: 26d51a63 bne a0,a3,80000434 <fail> +800001c4: 26731863 bne t1,t2,80000434 <fail> +800001c8: 26c59663 bne a1,a2,80000434 <fail> + +800001cc <test_3>: +800001cc: 00300193 li gp,3 +800001d0: 00002517 auipc a0,0x2 +800001d4: e5050513 addi a0,a0,-432 # 80002020 <test_3_data> +800001d8: 00053007 fld ft0,0(a0) +800001dc: 00853087 fld ft1,8(a0) +800001e0: 01053107 fld ft2,16(a0) +800001e4: 01852683 lw a3,24(a0) +800001e8: 01c52303 lw t1,28(a0) +800001ec: 021071d3 fadd.d ft3,ft0,ft1 +800001f0: 00353027 fsd ft3,0(a0) +800001f4: 00452383 lw t2,4(a0) +800001f8: 00052503 lw a0,0(a0) +800001fc: 001015f3 fsflags a1,zero +80000200: 00100613 li a2,1 +80000204: 22d51863 bne a0,a3,80000434 <fail> +80000208: 22731663 bne t1,t2,80000434 <fail> +8000020c: 22c59463 bne a1,a2,80000434 <fail> + +80000210 <test_4>: +80000210: 00400193 li gp,4 +80000214: 00002517 auipc a0,0x2 +80000218: e2c50513 addi a0,a0,-468 # 80002040 <test_4_data> +8000021c: 00053007 fld ft0,0(a0) +80000220: 00853087 fld ft1,8(a0) +80000224: 01053107 fld ft2,16(a0) +80000228: 01852683 lw a3,24(a0) +8000022c: 01c52303 lw t1,28(a0) +80000230: 021071d3 fadd.d ft3,ft0,ft1 +80000234: 00353027 fsd ft3,0(a0) +80000238: 00452383 lw t2,4(a0) +8000023c: 00052503 lw a0,0(a0) +80000240: 001015f3 fsflags a1,zero +80000244: 00100613 li a2,1 +80000248: 1ed51663 bne a0,a3,80000434 <fail> +8000024c: 1e731463 bne t1,t2,80000434 <fail> +80000250: 1ec59263 bne a1,a2,80000434 <fail> + +80000254 <test_5>: +80000254: 00500193 li gp,5 +80000258: 00002517 auipc a0,0x2 +8000025c: e0850513 addi a0,a0,-504 # 80002060 <test_5_data> +80000260: 00053007 fld ft0,0(a0) +80000264: 00853087 fld ft1,8(a0) +80000268: 01053107 fld ft2,16(a0) +8000026c: 01852683 lw a3,24(a0) +80000270: 01c52303 lw t1,28(a0) +80000274: 0a1071d3 fsub.d ft3,ft0,ft1 +80000278: 00353027 fsd ft3,0(a0) +8000027c: 00452383 lw t2,4(a0) +80000280: 00052503 lw a0,0(a0) +80000284: 001015f3 fsflags a1,zero +80000288: 00000613 li a2,0 +8000028c: 1ad51463 bne a0,a3,80000434 <fail> +80000290: 1a731263 bne t1,t2,80000434 <fail> +80000294: 1ac59063 bne a1,a2,80000434 <fail> + +80000298 <test_6>: +80000298: 00600193 li gp,6 +8000029c: 00002517 auipc a0,0x2 +800002a0: de450513 addi a0,a0,-540 # 80002080 <test_6_data> +800002a4: 00053007 fld ft0,0(a0) +800002a8: 00853087 fld ft1,8(a0) +800002ac: 01053107 fld ft2,16(a0) +800002b0: 01852683 lw a3,24(a0) +800002b4: 01c52303 lw t1,28(a0) +800002b8: 0a1071d3 fsub.d ft3,ft0,ft1 +800002bc: 00353027 fsd ft3,0(a0) +800002c0: 00452383 lw t2,4(a0) +800002c4: 00052503 lw a0,0(a0) +800002c8: 001015f3 fsflags a1,zero +800002cc: 00100613 li a2,1 +800002d0: 16d51263 bne a0,a3,80000434 <fail> +800002d4: 16731063 bne t1,t2,80000434 <fail> +800002d8: 14c59e63 bne a1,a2,80000434 <fail> + +800002dc <test_7>: +800002dc: 00700193 li gp,7 +800002e0: 00002517 auipc a0,0x2 +800002e4: dc050513 addi a0,a0,-576 # 800020a0 <test_7_data> +800002e8: 00053007 fld ft0,0(a0) +800002ec: 00853087 fld ft1,8(a0) +800002f0: 01053107 fld ft2,16(a0) +800002f4: 01852683 lw a3,24(a0) +800002f8: 01c52303 lw t1,28(a0) +800002fc: 0a1071d3 fsub.d ft3,ft0,ft1 +80000300: 00353027 fsd ft3,0(a0) +80000304: 00452383 lw t2,4(a0) +80000308: 00052503 lw a0,0(a0) +8000030c: 001015f3 fsflags a1,zero +80000310: 00100613 li a2,1 +80000314: 12d51063 bne a0,a3,80000434 <fail> +80000318: 10731e63 bne t1,t2,80000434 <fail> +8000031c: 10c59c63 bne a1,a2,80000434 <fail> + +80000320 <test_8>: +80000320: 00800193 li gp,8 +80000324: 00002517 auipc a0,0x2 +80000328: d9c50513 addi a0,a0,-612 # 800020c0 <test_8_data> +8000032c: 00053007 fld ft0,0(a0) +80000330: 00853087 fld ft1,8(a0) +80000334: 01053107 fld ft2,16(a0) +80000338: 01852683 lw a3,24(a0) +8000033c: 01c52303 lw t1,28(a0) +80000340: 121071d3 fmul.d ft3,ft0,ft1 +80000344: 00353027 fsd ft3,0(a0) +80000348: 00452383 lw t2,4(a0) +8000034c: 00052503 lw a0,0(a0) +80000350: 001015f3 fsflags a1,zero +80000354: 00000613 li a2,0 +80000358: 0cd51e63 bne a0,a3,80000434 <fail> +8000035c: 0c731c63 bne t1,t2,80000434 <fail> +80000360: 0cc59a63 bne a1,a2,80000434 <fail> + +80000364 <test_9>: +80000364: 00900193 li gp,9 +80000368: 00002517 auipc a0,0x2 +8000036c: d7850513 addi a0,a0,-648 # 800020e0 <test_9_data> +80000370: 00053007 fld ft0,0(a0) +80000374: 00853087 fld ft1,8(a0) +80000378: 01053107 fld ft2,16(a0) +8000037c: 01852683 lw a3,24(a0) +80000380: 01c52303 lw t1,28(a0) +80000384: 121071d3 fmul.d ft3,ft0,ft1 +80000388: 00353027 fsd ft3,0(a0) +8000038c: 00452383 lw t2,4(a0) +80000390: 00052503 lw a0,0(a0) +80000394: 001015f3 fsflags a1,zero +80000398: 00100613 li a2,1 +8000039c: 08d51c63 bne a0,a3,80000434 <fail> +800003a0: 08731a63 bne t1,t2,80000434 <fail> +800003a4: 08c59863 bne a1,a2,80000434 <fail> + +800003a8 <test_10>: +800003a8: 00a00193 li gp,10 +800003ac: 00002517 auipc a0,0x2 +800003b0: d5450513 addi a0,a0,-684 # 80002100 <test_10_data> +800003b4: 00053007 fld ft0,0(a0) +800003b8: 00853087 fld ft1,8(a0) +800003bc: 01053107 fld ft2,16(a0) +800003c0: 01852683 lw a3,24(a0) +800003c4: 01c52303 lw t1,28(a0) +800003c8: 121071d3 fmul.d ft3,ft0,ft1 +800003cc: 00353027 fsd ft3,0(a0) +800003d0: 00452383 lw t2,4(a0) +800003d4: 00052503 lw a0,0(a0) +800003d8: 001015f3 fsflags a1,zero +800003dc: 00100613 li a2,1 +800003e0: 04d51a63 bne a0,a3,80000434 <fail> +800003e4: 04731863 bne t1,t2,80000434 <fail> +800003e8: 04c59663 bne a1,a2,80000434 <fail> + +800003ec <test_11>: +800003ec: 00b00193 li gp,11 +800003f0: 00002517 auipc a0,0x2 +800003f4: d3050513 addi a0,a0,-720 # 80002120 <test_11_data> +800003f8: 00053007 fld ft0,0(a0) +800003fc: 00853087 fld ft1,8(a0) +80000400: 01053107 fld ft2,16(a0) +80000404: 01852683 lw a3,24(a0) +80000408: 01c52303 lw t1,28(a0) +8000040c: 0a1071d3 fsub.d ft3,ft0,ft1 +80000410: 00353027 fsd ft3,0(a0) +80000414: 00452383 lw t2,4(a0) +80000418: 00052503 lw a0,0(a0) +8000041c: 001015f3 fsflags a1,zero +80000420: 01000613 li a2,16 +80000424: 00d51863 bne a0,a3,80000434 <fail> +80000428: 00731663 bne t1,t2,80000434 <fail> +8000042c: 00c59463 bne a1,a2,80000434 <fail> +80000430: 02301063 bne zero,gp,80000450 <pass> + +80000434 <fail>: +80000434: 0ff0000f fence +80000438: 00018063 beqz gp,80000438 <fail+0x4> +8000043c: 00119193 slli gp,gp,0x1 +80000440: 0011e193 ori gp,gp,1 +80000444: 05d00893 li a7,93 +80000448: 00018513 mv a0,gp +8000044c: 00000073 ecall + +80000450 <pass>: +80000450: 0ff0000f fence +80000454: 00100193 li gp,1 +80000458: 05d00893 li a7,93 +8000045c: 00000513 li a0,0 +80000460: 00000073 ecall +80000464: c0001073 unimp +80000468: 0000 unimp +8000046a: 0000 unimp +8000046c: 0000 unimp +8000046e: 0000 unimp +80000470: 0000 unimp +80000472: 0000 unimp +80000474: 0000 unimp +80000476: 0000 unimp +80000478: 0000 unimp +8000047a: 0000 unimp +8000047c: 0000 unimp +8000047e: 0000 unimp +80000480: 0000 unimp +80000482: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 4004 lw s1,0(s0) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 3ff0 fld fa2,248(a5) +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 400c lw a1,0(s0) + +80002020 <test_3_data>: +80002020: 6666 flw fa2,88(sp) +80002022: 6666 flw fa2,88(sp) +80002024: 4c66 lw s8,88(sp) +80002026: 999ac093 xori ra,s5,-1639 +8000202a: 9999 andi a1,a1,-26 +8000202c: 9999 andi a1,a1,-26 +8000202e: 3ff1 jal 8000200a <test_2_data+0xa> +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 4800 lw s0,16(s0) +8000203e: xori ra,gp,-689 + +80002040 <test_4_data>: +80002040: d4f1 beqz s1,8000200c <test_2_data+0xc> +80002042: 53c8 lw a0,36(a5) +80002044: 400921fb 0x400921fb +80002048: 8c3a mv s8,a4 +8000204a: e230 fsw fa2,64(a2) +8000204c: 798e flw fs3,224(sp) +8000204e: 3e45 jal 80001bfe <fromhost+0xbbe> +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 6ddf 5520 21fb 0x21fb55206ddf +8000205e: 4009 c.li zero,2 + +80002060 <test_5_data>: +80002060: 0000 unimp +80002062: 0000 unimp +80002064: 0000 unimp +80002066: 4004 lw s1,0(s0) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 3ff0 fld fa2,248(a5) +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 3ff8 fld fa4,248(a5) + +80002080 <test_6_data>: +80002080: 6666 flw fa2,88(sp) +80002082: 6666 flw fa2,88(sp) +80002084: 4c66 lw s8,88(sp) +80002086: 999ac093 xori ra,s5,-1639 +8000208a: 9999 andi a1,a1,-26 +8000208c: 9999 andi a1,a1,-26 +8000208e: bff1 j 8000206a <test_5_data+0xa> +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 4800 lw s0,16(s0) +8000209e: xori ra,gp,-689 + +800020a0 <test_7_data>: +800020a0: d4f1 beqz s1,8000206c <test_5_data+0xc> +800020a2: 53c8 lw a0,36(a5) +800020a4: 400921fb 0x400921fb +800020a8: 8c3a mv s8,a4 +800020aa: e230 fsw fa2,64(a2) +800020ac: 798e flw fs3,224(sp) +800020ae: 3e45 jal 80001c5e <fromhost+0xc1e> +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 52713c03 0x52713c03 +800020bc: 400921fb 0x400921fb + +800020c0 <test_8_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 0000 unimp +800020c6: 4004 lw s1,0(s0) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 3ff0 fld fa2,248(a5) +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 4004 lw s1,0(s0) + +800020e0 <test_9_data>: +800020e0: 6666 flw fa2,88(sp) +800020e2: 6666 flw fa2,88(sp) +800020e4: 4c66 lw s8,88(sp) +800020e6: 999ac093 xori ra,s5,-1639 +800020ea: 9999 andi a1,a1,-26 +800020ec: 9999 andi a1,a1,-26 +800020ee: bff1 j 800020ca <test_8_data+0xa> +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0a3d addi s4,s4,15 +800020fa: 3a70a3d7 0x3a70a3d7 +800020fe: 4095 li ra,5 + +80002100 <test_10_data>: +80002100: d4f1 beqz s1,800020cc <test_8_data+0xc> +80002102: 53c8 lw a0,36(a5) +80002104: 400921fb 0x400921fb +80002108: 8c3a mv s8,a4 +8000210a: e230 fsw fa2,64(a2) +8000210c: 798e flw fs3,224(sp) +8000210e: 3e45 jal 80001cbe <fromhost+0xc7e> +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 0000 unimp +80002118: ff09 bnez a4,80002032 <test_3_data+0x12> +8000211a: a5c1 j 800027da <_end+0x69a> +8000211c: ddc5 beqz a1,800020d4 <test_8_data+0x14> +8000211e: 3e60 fld fs0,248(a2) + +80002120 <test_11_data>: +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: 7ff0 flw fa2,124(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 7ff0 flw fa2,124(a5) +80002130: 0000 unimp +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 0000 unimp +80002138: 0000 unimp +8000213a: 0000 unimp +8000213c: 0000 unimp +8000213e: 7ff8 flw fa4,124(a5) diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fclass.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fclass.dump new file mode 100644 index 0000000..2b11d2a --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fclass.dump @@ -0,0 +1,305 @@ + +rv32ud-p-fclass: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfaf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00002517 auipc a0,0x2 +8000018c: e7850513 addi a0,a0,-392 # 80002000 <test_2_data> +80000190: 00053507 fld fa0,0(a0) +80000194: e2051553 fclass.d a0,fa0 +80000198: 00100393 li t2,1 +8000019c: 00200193 li gp,2 +800001a0: 10751263 bne a0,t2,800002a4 <fail> + +800001a4 <test_3>: +800001a4: 00002517 auipc a0,0x2 +800001a8: e6450513 addi a0,a0,-412 # 80002008 <test_3_data> +800001ac: 00053507 fld fa0,0(a0) +800001b0: e2051553 fclass.d a0,fa0 +800001b4: 00200393 li t2,2 +800001b8: 00300193 li gp,3 +800001bc: 0e751463 bne a0,t2,800002a4 <fail> + +800001c0 <test_4>: +800001c0: 00002517 auipc a0,0x2 +800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_4_data> +800001c8: 00053507 fld fa0,0(a0) +800001cc: e2051553 fclass.d a0,fa0 +800001d0: 00400393 li t2,4 +800001d4: 00400193 li gp,4 +800001d8: 0c751663 bne a0,t2,800002a4 <fail> + +800001dc <test_5>: +800001dc: 00002517 auipc a0,0x2 +800001e0: e3c50513 addi a0,a0,-452 # 80002018 <test_5_data> +800001e4: 00053507 fld fa0,0(a0) +800001e8: e2051553 fclass.d a0,fa0 +800001ec: 00800393 li t2,8 +800001f0: 00500193 li gp,5 +800001f4: 0a751863 bne a0,t2,800002a4 <fail> + +800001f8 <test_6>: +800001f8: 00002517 auipc a0,0x2 +800001fc: e2850513 addi a0,a0,-472 # 80002020 <test_6_data> +80000200: 00053507 fld fa0,0(a0) +80000204: e2051553 fclass.d a0,fa0 +80000208: 01000393 li t2,16 +8000020c: 00600193 li gp,6 +80000210: 08751a63 bne a0,t2,800002a4 <fail> + +80000214 <test_7>: +80000214: 00002517 auipc a0,0x2 +80000218: e1450513 addi a0,a0,-492 # 80002028 <test_7_data> +8000021c: 00053507 fld fa0,0(a0) +80000220: e2051553 fclass.d a0,fa0 +80000224: 02000393 li t2,32 +80000228: 00700193 li gp,7 +8000022c: 06751c63 bne a0,t2,800002a4 <fail> + +80000230 <test_8>: +80000230: 00002517 auipc a0,0x2 +80000234: e0050513 addi a0,a0,-512 # 80002030 <test_8_data> +80000238: 00053507 fld fa0,0(a0) +8000023c: e2051553 fclass.d a0,fa0 +80000240: 04000393 li t2,64 +80000244: 00800193 li gp,8 +80000248: 04751e63 bne a0,t2,800002a4 <fail> + +8000024c <test_9>: +8000024c: 00002517 auipc a0,0x2 +80000250: dec50513 addi a0,a0,-532 # 80002038 <test_9_data> +80000254: 00053507 fld fa0,0(a0) +80000258: e2051553 fclass.d a0,fa0 +8000025c: 08000393 li t2,128 +80000260: 00900193 li gp,9 +80000264: 04751063 bne a0,t2,800002a4 <fail> + +80000268 <test_10>: +80000268: 00002517 auipc a0,0x2 +8000026c: dd850513 addi a0,a0,-552 # 80002040 <test_10_data> +80000270: 00053507 fld fa0,0(a0) +80000274: e2051553 fclass.d a0,fa0 +80000278: 10000393 li t2,256 +8000027c: 00a00193 li gp,10 +80000280: 02751263 bne a0,t2,800002a4 <fail> + +80000284 <test_11>: +80000284: 00002517 auipc a0,0x2 +80000288: dc450513 addi a0,a0,-572 # 80002048 <test_11_data> +8000028c: 00053507 fld fa0,0(a0) +80000290: e2051553 fclass.d a0,fa0 +80000294: 20000393 li t2,512 +80000298: 00b00193 li gp,11 +8000029c: 00751463 bne a0,t2,800002a4 <fail> +800002a0: 02301063 bne zero,gp,800002c0 <pass> + +800002a4 <fail>: +800002a4: 0ff0000f fence +800002a8: 00018063 beqz gp,800002a8 <fail+0x4> +800002ac: 00119193 slli gp,gp,0x1 +800002b0: 0011e193 ori gp,gp,1 +800002b4: 05d00893 li a7,93 +800002b8: 00018513 mv a0,gp +800002bc: 00000073 ecall + +800002c0 <pass>: +800002c0: 0ff0000f fence +800002c4: 00100193 li gp,1 +800002c8: 05d00893 li a7,93 +800002cc: 00000513 li a0,0 +800002d0: 00000073 ecall +800002d4: c0001073 unimp +800002d8: 0000 unimp +800002da: 0000 unimp +800002dc: 0000 unimp +800002de: 0000 unimp +800002e0: 0000 unimp +800002e2: 0000 unimp +800002e4: 0000 unimp +800002e6: 0000 unimp +800002e8: 0000 unimp +800002ea: 0000 unimp +800002ec: 0000 unimp +800002ee: 0000 unimp +800002f0: 0000 unimp +800002f2: 0000 unimp +800002f4: 0000 unimp +800002f6: 0000 unimp +800002f8: 0000 unimp +800002fa: 0000 unimp +800002fc: 0000 unimp +800002fe: 0000 unimp +80000300: 0000 unimp +80000302: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: fff0 fsw fa2,124(a5) + +80002008 <test_3_data>: +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: bff0 fsd fa2,248(a5) + +80002010 <test_4_data>: +80002010: ffff 0xffff +80002012: ffff 0xffff +80002014: ffff 0xffff +80002016: 0x800f + +80002018 <test_5_data>: +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 8000 0x8000 + +80002020 <test_6_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 0000 unimp +80002026: 0000 unimp + +80002028 <test_7_data>: +80002028: ffff 0xffff +8000202a: ffff 0xffff +8000202c: ffff 0xffff +8000202e: fence unknown,unknown + +80002030 <test_8_data>: +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 3ff0 fld fa2,248(a5) + +80002038 <test_9_data>: +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 7ff0 flw fa2,124(a5) + +80002040 <test_10_data>: +80002040: 0001 nop +80002042: 0000 unimp +80002044: 0000 unimp +80002046: 7ff0 flw fa2,124(a5) + +80002048 <test_11_data>: +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: 7ff8 flw fa4,124(a5) diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fcmp.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fcmp.dump new file mode 100644 index 0000000..1fc9013 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fcmp.dump @@ -0,0 +1,640 @@ + +rv32ud-p-fcmp: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffde1f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00053007 fld ft0,0(a0) +80000198: 00853087 fld ft1,8(a0) +8000019c: 01053107 fld ft2,16(a0) +800001a0: 01852683 lw a3,24(a0) +800001a4: 01c52303 lw t1,28(a0) +800001a8: a2102553 feq.d a0,ft0,ft1 +800001ac: 00000393 li t2,0 +800001b0: 001015f3 fsflags a1,zero +800001b4: 00000613 li a2,0 +800001b8: 34d51c63 bne a0,a3,80000510 <fail> +800001bc: 34731a63 bne t1,t2,80000510 <fail> +800001c0: 34c59863 bne a1,a2,80000510 <fail> + +800001c4 <test_3>: +800001c4: 00300193 li gp,3 +800001c8: 00002517 auipc a0,0x2 +800001cc: e5850513 addi a0,a0,-424 # 80002020 <test_3_data> +800001d0: 00053007 fld ft0,0(a0) +800001d4: 00853087 fld ft1,8(a0) +800001d8: 01053107 fld ft2,16(a0) +800001dc: 01852683 lw a3,24(a0) +800001e0: 01c52303 lw t1,28(a0) +800001e4: a2100553 fle.d a0,ft0,ft1 +800001e8: 00000393 li t2,0 +800001ec: 001015f3 fsflags a1,zero +800001f0: 00000613 li a2,0 +800001f4: 30d51e63 bne a0,a3,80000510 <fail> +800001f8: 30731c63 bne t1,t2,80000510 <fail> +800001fc: 30c59a63 bne a1,a2,80000510 <fail> + +80000200 <test_4>: +80000200: 00400193 li gp,4 +80000204: 00002517 auipc a0,0x2 +80000208: e3c50513 addi a0,a0,-452 # 80002040 <test_4_data> +8000020c: 00053007 fld ft0,0(a0) +80000210: 00853087 fld ft1,8(a0) +80000214: 01053107 fld ft2,16(a0) +80000218: 01852683 lw a3,24(a0) +8000021c: 01c52303 lw t1,28(a0) +80000220: a2101553 flt.d a0,ft0,ft1 +80000224: 00000393 li t2,0 +80000228: 001015f3 fsflags a1,zero +8000022c: 00000613 li a2,0 +80000230: 2ed51063 bne a0,a3,80000510 <fail> +80000234: 2c731e63 bne t1,t2,80000510 <fail> +80000238: 2cc59c63 bne a1,a2,80000510 <fail> + +8000023c <test_5>: +8000023c: 00500193 li gp,5 +80000240: 00002517 auipc a0,0x2 +80000244: e2050513 addi a0,a0,-480 # 80002060 <test_5_data> +80000248: 00053007 fld ft0,0(a0) +8000024c: 00853087 fld ft1,8(a0) +80000250: 01053107 fld ft2,16(a0) +80000254: 01852683 lw a3,24(a0) +80000258: 01c52303 lw t1,28(a0) +8000025c: a2102553 feq.d a0,ft0,ft1 +80000260: 00000393 li t2,0 +80000264: 001015f3 fsflags a1,zero +80000268: 00000613 li a2,0 +8000026c: 2ad51263 bne a0,a3,80000510 <fail> +80000270: 2a731063 bne t1,t2,80000510 <fail> +80000274: 28c59e63 bne a1,a2,80000510 <fail> + +80000278 <test_6>: +80000278: 00600193 li gp,6 +8000027c: 00002517 auipc a0,0x2 +80000280: e0450513 addi a0,a0,-508 # 80002080 <test_6_data> +80000284: 00053007 fld ft0,0(a0) +80000288: 00853087 fld ft1,8(a0) +8000028c: 01053107 fld ft2,16(a0) +80000290: 01852683 lw a3,24(a0) +80000294: 01c52303 lw t1,28(a0) +80000298: a2100553 fle.d a0,ft0,ft1 +8000029c: 00000393 li t2,0 +800002a0: 001015f3 fsflags a1,zero +800002a4: 00000613 li a2,0 +800002a8: 26d51463 bne a0,a3,80000510 <fail> +800002ac: 26731263 bne t1,t2,80000510 <fail> +800002b0: 26c59063 bne a1,a2,80000510 <fail> + +800002b4 <test_7>: +800002b4: 00700193 li gp,7 +800002b8: 00002517 auipc a0,0x2 +800002bc: de850513 addi a0,a0,-536 # 800020a0 <test_7_data> +800002c0: 00053007 fld ft0,0(a0) +800002c4: 00853087 fld ft1,8(a0) +800002c8: 01053107 fld ft2,16(a0) +800002cc: 01852683 lw a3,24(a0) +800002d0: 01c52303 lw t1,28(a0) +800002d4: a2101553 flt.d a0,ft0,ft1 +800002d8: 00000393 li t2,0 +800002dc: 001015f3 fsflags a1,zero +800002e0: 00000613 li a2,0 +800002e4: 22d51663 bne a0,a3,80000510 <fail> +800002e8: 22731463 bne t1,t2,80000510 <fail> +800002ec: 22c59263 bne a1,a2,80000510 <fail> + +800002f0 <test_8>: +800002f0: 00800193 li gp,8 +800002f4: 00002517 auipc a0,0x2 +800002f8: dcc50513 addi a0,a0,-564 # 800020c0 <test_8_data> +800002fc: 00053007 fld ft0,0(a0) +80000300: 00853087 fld ft1,8(a0) +80000304: 01053107 fld ft2,16(a0) +80000308: 01852683 lw a3,24(a0) +8000030c: 01c52303 lw t1,28(a0) +80000310: a2102553 feq.d a0,ft0,ft1 +80000314: 00000393 li t2,0 +80000318: 001015f3 fsflags a1,zero +8000031c: 00000613 li a2,0 +80000320: 1ed51863 bne a0,a3,80000510 <fail> +80000324: 1e731663 bne t1,t2,80000510 <fail> +80000328: 1ec59463 bne a1,a2,80000510 <fail> + +8000032c <test_9>: +8000032c: 00900193 li gp,9 +80000330: 00002517 auipc a0,0x2 +80000334: db050513 addi a0,a0,-592 # 800020e0 <test_9_data> +80000338: 00053007 fld ft0,0(a0) +8000033c: 00853087 fld ft1,8(a0) +80000340: 01053107 fld ft2,16(a0) +80000344: 01852683 lw a3,24(a0) +80000348: 01c52303 lw t1,28(a0) +8000034c: a2102553 feq.d a0,ft0,ft1 +80000350: 00000393 li t2,0 +80000354: 001015f3 fsflags a1,zero +80000358: 00000613 li a2,0 +8000035c: 1ad51a63 bne a0,a3,80000510 <fail> +80000360: 1a731863 bne t1,t2,80000510 <fail> +80000364: 1ac59663 bne a1,a2,80000510 <fail> + +80000368 <test_10>: +80000368: 00a00193 li gp,10 +8000036c: 00002517 auipc a0,0x2 +80000370: d9450513 addi a0,a0,-620 # 80002100 <test_10_data> +80000374: 00053007 fld ft0,0(a0) +80000378: 00853087 fld ft1,8(a0) +8000037c: 01053107 fld ft2,16(a0) +80000380: 01852683 lw a3,24(a0) +80000384: 01c52303 lw t1,28(a0) +80000388: a2102553 feq.d a0,ft0,ft1 +8000038c: 00000393 li t2,0 +80000390: 001015f3 fsflags a1,zero +80000394: 01000613 li a2,16 +80000398: 16d51c63 bne a0,a3,80000510 <fail> +8000039c: 16731a63 bne t1,t2,80000510 <fail> +800003a0: 16c59863 bne a1,a2,80000510 <fail> + +800003a4 <test_11>: +800003a4: 00b00193 li gp,11 +800003a8: 00002517 auipc a0,0x2 +800003ac: d7850513 addi a0,a0,-648 # 80002120 <test_11_data> +800003b0: 00053007 fld ft0,0(a0) +800003b4: 00853087 fld ft1,8(a0) +800003b8: 01053107 fld ft2,16(a0) +800003bc: 01852683 lw a3,24(a0) +800003c0: 01c52303 lw t1,28(a0) +800003c4: a2101553 flt.d a0,ft0,ft1 +800003c8: 00000393 li t2,0 +800003cc: 001015f3 fsflags a1,zero +800003d0: 01000613 li a2,16 +800003d4: 12d51e63 bne a0,a3,80000510 <fail> +800003d8: 12731c63 bne t1,t2,80000510 <fail> +800003dc: 12c59a63 bne a1,a2,80000510 <fail> + +800003e0 <test_12>: +800003e0: 00c00193 li gp,12 +800003e4: 00002517 auipc a0,0x2 +800003e8: d5c50513 addi a0,a0,-676 # 80002140 <test_12_data> +800003ec: 00053007 fld ft0,0(a0) +800003f0: 00853087 fld ft1,8(a0) +800003f4: 01053107 fld ft2,16(a0) +800003f8: 01852683 lw a3,24(a0) +800003fc: 01c52303 lw t1,28(a0) +80000400: a2101553 flt.d a0,ft0,ft1 +80000404: 00000393 li t2,0 +80000408: 001015f3 fsflags a1,zero +8000040c: 01000613 li a2,16 +80000410: 10d51063 bne a0,a3,80000510 <fail> +80000414: 0e731e63 bne t1,t2,80000510 <fail> +80000418: 0ec59c63 bne a1,a2,80000510 <fail> + +8000041c <test_13>: +8000041c: 00d00193 li gp,13 +80000420: 00002517 auipc a0,0x2 +80000424: d4050513 addi a0,a0,-704 # 80002160 <test_13_data> +80000428: 00053007 fld ft0,0(a0) +8000042c: 00853087 fld ft1,8(a0) +80000430: 01053107 fld ft2,16(a0) +80000434: 01852683 lw a3,24(a0) +80000438: 01c52303 lw t1,28(a0) +8000043c: a2101553 flt.d a0,ft0,ft1 +80000440: 00000393 li t2,0 +80000444: 001015f3 fsflags a1,zero +80000448: 01000613 li a2,16 +8000044c: 0cd51263 bne a0,a3,80000510 <fail> +80000450: 0c731063 bne t1,t2,80000510 <fail> +80000454: 0ac59e63 bne a1,a2,80000510 <fail> + +80000458 <test_14>: +80000458: 00e00193 li gp,14 +8000045c: 00002517 auipc a0,0x2 +80000460: d2450513 addi a0,a0,-732 # 80002180 <test_14_data> +80000464: 00053007 fld ft0,0(a0) +80000468: 00853087 fld ft1,8(a0) +8000046c: 01053107 fld ft2,16(a0) +80000470: 01852683 lw a3,24(a0) +80000474: 01c52303 lw t1,28(a0) +80000478: a2100553 fle.d a0,ft0,ft1 +8000047c: 00000393 li t2,0 +80000480: 001015f3 fsflags a1,zero +80000484: 01000613 li a2,16 +80000488: 08d51463 bne a0,a3,80000510 <fail> +8000048c: 08731263 bne t1,t2,80000510 <fail> +80000490: 08c59063 bne a1,a2,80000510 <fail> + +80000494 <test_15>: +80000494: 00f00193 li gp,15 +80000498: 00002517 auipc a0,0x2 +8000049c: d0850513 addi a0,a0,-760 # 800021a0 <test_15_data> +800004a0: 00053007 fld ft0,0(a0) +800004a4: 00853087 fld ft1,8(a0) +800004a8: 01053107 fld ft2,16(a0) +800004ac: 01852683 lw a3,24(a0) +800004b0: 01c52303 lw t1,28(a0) +800004b4: a2100553 fle.d a0,ft0,ft1 +800004b8: 00000393 li t2,0 +800004bc: 001015f3 fsflags a1,zero +800004c0: 01000613 li a2,16 +800004c4: 04d51663 bne a0,a3,80000510 <fail> +800004c8: 04731463 bne t1,t2,80000510 <fail> +800004cc: 04c59263 bne a1,a2,80000510 <fail> + +800004d0 <test_16>: +800004d0: 01000193 li gp,16 +800004d4: 00002517 auipc a0,0x2 +800004d8: cec50513 addi a0,a0,-788 # 800021c0 <test_16_data> +800004dc: 00053007 fld ft0,0(a0) +800004e0: 00853087 fld ft1,8(a0) +800004e4: 01053107 fld ft2,16(a0) +800004e8: 01852683 lw a3,24(a0) +800004ec: 01c52303 lw t1,28(a0) +800004f0: a2100553 fle.d a0,ft0,ft1 +800004f4: 00000393 li t2,0 +800004f8: 001015f3 fsflags a1,zero +800004fc: 01000613 li a2,16 +80000500: 00d51863 bne a0,a3,80000510 <fail> +80000504: 00731663 bne t1,t2,80000510 <fail> +80000508: 00c59463 bne a1,a2,80000510 <fail> +8000050c: 02301063 bne zero,gp,8000052c <pass> + +80000510 <fail>: +80000510: 0ff0000f fence +80000514: 00018063 beqz gp,80000514 <fail+0x4> +80000518: 00119193 slli gp,gp,0x1 +8000051c: 0011e193 ori gp,gp,1 +80000520: 05d00893 li a7,93 +80000524: 00018513 mv a0,gp +80000528: 00000073 ecall + +8000052c <pass>: +8000052c: 0ff0000f fence +80000530: 00100193 li gp,1 +80000534: 05d00893 li a7,93 +80000538: 00000513 li a0,0 +8000053c: 00000073 ecall +80000540: c0001073 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 5c28f5c3 0x5c28f5c3 +80002004: bff5c28f 0xbff5c28f +80002008: 5c28f5c3 0x5c28f5c3 +8000200c: bff5c28f 0xbff5c28f +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0001 nop +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 0000 unimp + +80002020 <test_3_data>: +80002020: 5c28f5c3 0x5c28f5c3 +80002024: bff5c28f 0xbff5c28f +80002028: 5c28f5c3 0x5c28f5c3 +8000202c: bff5c28f 0xbff5c28f +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0001 nop +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_4_data>: +80002040: 5c28f5c3 0x5c28f5c3 +80002044: bff5c28f 0xbff5c28f +80002048: 5c28f5c3 0x5c28f5c3 +8000204c: bff5c28f 0xbff5c28f +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: 0000 unimp + +80002060 <test_5_data>: +80002060: 51ec lw a1,100(a1) +80002062: 1eb8 addi a4,sp,888 +80002064: eb85 bnez a5,80002094 <test_6_data+0x14> +80002066: bff5 j 80002062 <test_5_data+0x2> +80002068: 5c28f5c3 0x5c28f5c3 +8000206c: bff5c28f 0xbff5c28f +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 0000 unimp + +80002080 <test_6_data>: +80002080: 51ec lw a1,100(a1) +80002082: 1eb8 addi a4,sp,888 +80002084: eb85 bnez a5,800020b4 <test_7_data+0x14> +80002086: bff5 j 80002082 <test_6_data+0x2> +80002088: 5c28f5c3 0x5c28f5c3 +8000208c: bff5c28f 0xbff5c28f +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0001 nop +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_7_data>: +800020a0: 51ec lw a1,100(a1) +800020a2: 1eb8 addi a4,sp,888 +800020a4: eb85 bnez a5,800020d4 <test_8_data+0x14> +800020a6: bff5 j 800020a2 <test_7_data+0x2> +800020a8: 5c28f5c3 0x5c28f5c3 +800020ac: bff5c28f 0xbff5c28f +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0001 nop +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_8_data>: +800020c0: ffff 0xffff +800020c2: ffff 0xffff +800020c4: ffff 0xffff +800020c6: 7fff 0x7fff +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 0000 unimp +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 0000 unimp + +800020e0 <test_9_data>: +800020e0: ffff 0xffff +800020e2: ffff 0xffff +800020e4: ffff 0xffff +800020e6: 7fff 0x7fff +800020e8: ffff 0xffff +800020ea: ffff 0xffff +800020ec: ffff 0xffff +800020ee: 7fff 0x7fff +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 0000 unimp +800020fe: 0000 unimp + +80002100 <test_10_data>: +80002100: 0001 nop +80002102: 0000 unimp +80002104: 0000 unimp +80002106: 7ff0 flw fa2,124(a5) +80002108: 0000 unimp +8000210a: 0000 unimp +8000210c: 0000 unimp +8000210e: 0000 unimp +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 0000 unimp +80002118: 0000 unimp +8000211a: 0000 unimp +8000211c: 0000 unimp +8000211e: 0000 unimp + +80002120 <test_11_data>: +80002120: ffff 0xffff +80002122: ffff 0xffff +80002124: ffff 0xffff +80002126: 7fff 0x7fff +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 0000 unimp +80002130: 0000 unimp +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 0000 unimp +80002138: 0000 unimp +8000213a: 0000 unimp +8000213c: 0000 unimp +8000213e: 0000 unimp + +80002140 <test_12_data>: +80002140: ffff 0xffff +80002142: ffff 0xffff +80002144: ffff 0xffff +80002146: 7fff 0x7fff +80002148: ffff 0xffff +8000214a: ffff 0xffff +8000214c: ffff 0xffff +8000214e: 7fff 0x7fff +80002150: 0000 unimp +80002152: 0000 unimp +80002154: 0000 unimp +80002156: 0000 unimp +80002158: 0000 unimp +8000215a: 0000 unimp +8000215c: 0000 unimp +8000215e: 0000 unimp + +80002160 <test_13_data>: +80002160: 0001 nop +80002162: 0000 unimp +80002164: 0000 unimp +80002166: 7ff0 flw fa2,124(a5) +80002168: 0000 unimp +8000216a: 0000 unimp +8000216c: 0000 unimp +8000216e: 0000 unimp +80002170: 0000 unimp +80002172: 0000 unimp +80002174: 0000 unimp +80002176: 0000 unimp +80002178: 0000 unimp +8000217a: 0000 unimp +8000217c: 0000 unimp +8000217e: 0000 unimp + +80002180 <test_14_data>: +80002180: ffff 0xffff +80002182: ffff 0xffff +80002184: ffff 0xffff +80002186: 7fff 0x7fff +80002188: 0000 unimp +8000218a: 0000 unimp +8000218c: 0000 unimp +8000218e: 0000 unimp +80002190: 0000 unimp +80002192: 0000 unimp +80002194: 0000 unimp +80002196: 0000 unimp +80002198: 0000 unimp +8000219a: 0000 unimp +8000219c: 0000 unimp +8000219e: 0000 unimp + +800021a0 <test_15_data>: +800021a0: ffff 0xffff +800021a2: ffff 0xffff +800021a4: ffff 0xffff +800021a6: 7fff 0x7fff +800021a8: ffff 0xffff +800021aa: ffff 0xffff +800021ac: ffff 0xffff +800021ae: 7fff 0x7fff +800021b0: 0000 unimp +800021b2: 0000 unimp +800021b4: 0000 unimp +800021b6: 0000 unimp +800021b8: 0000 unimp +800021ba: 0000 unimp +800021bc: 0000 unimp +800021be: 0000 unimp + +800021c0 <test_16_data>: +800021c0: 0001 nop +800021c2: 0000 unimp +800021c4: 0000 unimp +800021c6: 7ff0 flw fa2,124(a5) +800021c8: 0000 unimp +800021ca: 0000 unimp +800021cc: 0000 unimp +800021ce: 0000 unimp +800021d0: 0000 unimp +800021d2: 0000 unimp +800021d4: 0000 unimp +800021d6: 0000 unimp +800021d8: 0000 unimp +800021da: 0000 unimp +800021dc: 0000 unimp +800021de: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fcvt.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fcvt.dump new file mode 100644 index 0000000..f489b6c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fcvt.dump @@ -0,0 +1,346 @@ + +rv32ud-p-fcvt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf8f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052683 lw a3,0(a0) +80000198: 00452703 lw a4,4(a0) +8000019c: 00200593 li a1,2 +800001a0: d2058053 fcvt.d.w ft0,a1 +800001a4: 00053027 fsd ft0,0(a0) +800001a8: 00452583 lw a1,4(a0) +800001ac: 00052503 lw a0,0(a0) +800001b0: 00101073 fsflags zero +800001b4: 16d51263 bne a0,a3,80000318 <fail> +800001b8: 16e59063 bne a1,a4,80000318 <fail> + +800001bc <test_3>: +800001bc: 00300193 li gp,3 +800001c0: 00002517 auipc a0,0x2 +800001c4: e4850513 addi a0,a0,-440 # 80002008 <test_3_data> +800001c8: 00052683 lw a3,0(a0) +800001cc: 00452703 lw a4,4(a0) +800001d0: ffe00593 li a1,-2 +800001d4: d2058053 fcvt.d.w ft0,a1 +800001d8: 00053027 fsd ft0,0(a0) +800001dc: 00452583 lw a1,4(a0) +800001e0: 00052503 lw a0,0(a0) +800001e4: 00101073 fsflags zero +800001e8: 12d51863 bne a0,a3,80000318 <fail> +800001ec: 12e59663 bne a1,a4,80000318 <fail> + +800001f0 <test_4>: +800001f0: 00400193 li gp,4 +800001f4: 00002517 auipc a0,0x2 +800001f8: e1c50513 addi a0,a0,-484 # 80002010 <test_4_data> +800001fc: 00052683 lw a3,0(a0) +80000200: 00452703 lw a4,4(a0) +80000204: 00200593 li a1,2 +80000208: d2158053 fcvt.d.wu ft0,a1 +8000020c: 00053027 fsd ft0,0(a0) +80000210: 00452583 lw a1,4(a0) +80000214: 00052503 lw a0,0(a0) +80000218: 00101073 fsflags zero +8000021c: 0ed51e63 bne a0,a3,80000318 <fail> +80000220: 0ee59c63 bne a1,a4,80000318 <fail> + +80000224 <test_5>: +80000224: 00500193 li gp,5 +80000228: 00002517 auipc a0,0x2 +8000022c: df050513 addi a0,a0,-528 # 80002018 <test_5_data> +80000230: 00052683 lw a3,0(a0) +80000234: 00452703 lw a4,4(a0) +80000238: ffe00593 li a1,-2 +8000023c: d2158053 fcvt.d.wu ft0,a1 +80000240: 00053027 fsd ft0,0(a0) +80000244: 00452583 lw a1,4(a0) +80000248: 00052503 lw a0,0(a0) +8000024c: 00101073 fsflags zero +80000250: 0cd51463 bne a0,a3,80000318 <fail> +80000254: 0ce59263 bne a1,a4,80000318 <fail> + +80000258 <test_10>: +80000258: 00a00193 li gp,10 +8000025c: 00002517 auipc a0,0x2 +80000260: dc450513 addi a0,a0,-572 # 80002020 <test_10_data> +80000264: 00053007 fld ft0,0(a0) +80000268: 00853087 fld ft1,8(a0) +8000026c: 01053107 fld ft2,16(a0) +80000270: 01852683 lw a3,24(a0) +80000274: 01c52303 lw t1,28(a0) +80000278: 401071d3 fcvt.s.d ft3,ft0 +8000027c: 420181d3 fcvt.d.s ft3,ft3 +80000280: 00353027 fsd ft3,0(a0) +80000284: 00452383 lw t2,4(a0) +80000288: 00052503 lw a0,0(a0) +8000028c: 001015f3 fsflags a1,zero +80000290: 00000613 li a2,0 +80000294: 08d51263 bne a0,a3,80000318 <fail> +80000298: 08731063 bne t1,t2,80000318 <fail> +8000029c: 06c59e63 bne a1,a2,80000318 <fail> + +800002a0 <test_11>: +800002a0: 00b00193 li gp,11 +800002a4: 00002517 auipc a0,0x2 +800002a8: d9c50513 addi a0,a0,-612 # 80002040 <test_11_data> +800002ac: 00052007 flw ft0,0(a0) +800002b0: 00452087 flw ft1,4(a0) +800002b4: 00852107 flw ft2,8(a0) +800002b8: 00c52683 lw a3,12(a0) +800002bc: 420001d3 fcvt.d.s ft3,ft0 +800002c0: 4011f1d3 fcvt.s.d ft3,ft3 +800002c4: e0018553 fmv.x.w a0,ft3 +800002c8: 001015f3 fsflags a1,zero +800002cc: 00000613 li a2,0 +800002d0: 04d51463 bne a0,a3,80000318 <fail> +800002d4: 04c59263 bne a1,a2,80000318 <fail> + +800002d8 <test_12>: +800002d8: 00002597 auipc a1,0x2 +800002dc: d8858593 addi a1,a1,-632 # 80002060 <begin_signature> +800002e0: 0005b107 fld ft2,0(a1) +800002e4: 40117153 fcvt.s.d ft2,ft2 +800002e8: 42010153 fcvt.d.s ft2,ft2 +800002ec: 0025b027 fsd ft2,0(a1) +800002f0: 0005a503 lw a0,0(a1) +800002f4: 0045a583 lw a1,4(a1) +800002f8: 00002797 auipc a5,0x2 +800002fc: d5878793 addi a5,a5,-680 # 80002050 <test_12_data> +80000300: 0007a383 lw t2,0(a5) +80000304: 0047a783 lw a5,4(a5) +80000308: 00c00193 li gp,12 +8000030c: 00751663 bne a0,t2,80000318 <fail> +80000310: 00f59463 bne a1,a5,80000318 <fail> +80000314: 02301063 bne zero,gp,80000334 <pass> + +80000318 <fail>: +80000318: 0ff0000f fence +8000031c: 00018063 beqz gp,8000031c <fail+0x4> +80000320: 00119193 slli gp,gp,0x1 +80000324: 0011e193 ori gp,gp,1 +80000328: 05d00893 li a7,93 +8000032c: 00018513 mv a0,gp +80000330: 00000073 ecall + +80000334 <pass>: +80000334: 0ff0000f fence +80000338: 00100193 li gp,1 +8000033c: 05d00893 li a7,93 +80000340: 00000513 li a0,0 +80000344: 00000073 ecall +80000348: c0001073 unimp +8000034c: 0000 unimp +8000034e: 0000 unimp +80000350: 0000 unimp +80000352: 0000 unimp +80000354: 0000 unimp +80000356: 0000 unimp +80000358: 0000 unimp +8000035a: 0000 unimp +8000035c: 0000 unimp +8000035e: 0000 unimp +80000360: 0000 unimp +80000362: 0000 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 4000 lw s0,0(s0) + +80002008 <test_3_data>: +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: c000 sw s0,0(s0) + +80002010 <test_4_data>: +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 4000 lw s0,0(s0) + +80002018 <test_5_data>: +80002018: 0000 unimp +8000201a: ffc0 fsw fs0,60(a5) +8000201c: ffff 0xffff +8000201e: jal gp,8000601e <_end+0x3fae> + +80002020 <test_10_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 0000 unimp +80002026: bff8 fsd fa4,248(a5) +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: bff8 fsd fa4,248(a5) + +80002040 <test_11_data>: +80002040: 0000 unimp +80002042: bfc0 fsd fs0,184(a5) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: bfc0 fsd fs0,184(a5) + +80002050 <test_12_data>: +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 7ff8 flw fa4,124(a5) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: 0000 unimp + +80002060 <begin_signature>: +80002060: 8004 0x8004 +80002062: ffff 0xffff +80002064: ffff 0xffff +80002066: 7ffc flw fa5,124(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fcvt_w.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fcvt_w.dump new file mode 100644 index 0000000..4d0e4e4 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fcvt_w.dump @@ -0,0 +1,632 @@ + +rv32ud-p-fcvt_w: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdecf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: c0001553 fcvt.w.s a0,ft0,rtz +800001a8: 001015f3 fsflags a1,zero +800001ac: 00100613 li a2,1 +800001b0: 3cd51463 bne a0,a3,80000578 <fail> +800001b4: 3cc59263 bne a1,a2,80000578 <fail> + +800001b8 <test_3>: +800001b8: 00300193 li gp,3 +800001bc: 00002517 auipc a0,0x2 +800001c0: e5450513 addi a0,a0,-428 # 80002010 <test_3_data> +800001c4: 00052007 flw ft0,0(a0) +800001c8: 00452087 flw ft1,4(a0) +800001cc: 00852107 flw ft2,8(a0) +800001d0: 00c52683 lw a3,12(a0) +800001d4: c0001553 fcvt.w.s a0,ft0,rtz +800001d8: 001015f3 fsflags a1,zero +800001dc: 00000613 li a2,0 +800001e0: 38d51c63 bne a0,a3,80000578 <fail> +800001e4: 38c59a63 bne a1,a2,80000578 <fail> + +800001e8 <test_4>: +800001e8: 00400193 li gp,4 +800001ec: 00002517 auipc a0,0x2 +800001f0: e3450513 addi a0,a0,-460 # 80002020 <test_4_data> +800001f4: 00052007 flw ft0,0(a0) +800001f8: 00452087 flw ft1,4(a0) +800001fc: 00852107 flw ft2,8(a0) +80000200: 00c52683 lw a3,12(a0) +80000204: c0001553 fcvt.w.s a0,ft0,rtz +80000208: 001015f3 fsflags a1,zero +8000020c: 00100613 li a2,1 +80000210: 36d51463 bne a0,a3,80000578 <fail> +80000214: 36c59263 bne a1,a2,80000578 <fail> + +80000218 <test_5>: +80000218: 00500193 li gp,5 +8000021c: 00002517 auipc a0,0x2 +80000220: e1450513 addi a0,a0,-492 # 80002030 <test_5_data> +80000224: 00052007 flw ft0,0(a0) +80000228: 00452087 flw ft1,4(a0) +8000022c: 00852107 flw ft2,8(a0) +80000230: 00c52683 lw a3,12(a0) +80000234: c0001553 fcvt.w.s a0,ft0,rtz +80000238: 001015f3 fsflags a1,zero +8000023c: 00100613 li a2,1 +80000240: 32d51c63 bne a0,a3,80000578 <fail> +80000244: 32c59a63 bne a1,a2,80000578 <fail> + +80000248 <test_6>: +80000248: 00600193 li gp,6 +8000024c: 00002517 auipc a0,0x2 +80000250: df450513 addi a0,a0,-524 # 80002040 <test_6_data> +80000254: 00052007 flw ft0,0(a0) +80000258: 00452087 flw ft1,4(a0) +8000025c: 00852107 flw ft2,8(a0) +80000260: 00c52683 lw a3,12(a0) +80000264: c0001553 fcvt.w.s a0,ft0,rtz +80000268: 001015f3 fsflags a1,zero +8000026c: 00000613 li a2,0 +80000270: 30d51463 bne a0,a3,80000578 <fail> +80000274: 30c59263 bne a1,a2,80000578 <fail> + +80000278 <test_7>: +80000278: 00700193 li gp,7 +8000027c: 00002517 auipc a0,0x2 +80000280: dd450513 addi a0,a0,-556 # 80002050 <test_7_data> +80000284: 00052007 flw ft0,0(a0) +80000288: 00452087 flw ft1,4(a0) +8000028c: 00852107 flw ft2,8(a0) +80000290: 00c52683 lw a3,12(a0) +80000294: c0001553 fcvt.w.s a0,ft0,rtz +80000298: 001015f3 fsflags a1,zero +8000029c: 00100613 li a2,1 +800002a0: 2cd51c63 bne a0,a3,80000578 <fail> +800002a4: 2cc59a63 bne a1,a2,80000578 <fail> + +800002a8 <test_8>: +800002a8: 00800193 li gp,8 +800002ac: 00002517 auipc a0,0x2 +800002b0: db450513 addi a0,a0,-588 # 80002060 <test_8_data> +800002b4: 00052007 flw ft0,0(a0) +800002b8: 00452087 flw ft1,4(a0) +800002bc: 00852107 flw ft2,8(a0) +800002c0: 00c52683 lw a3,12(a0) +800002c4: c0001553 fcvt.w.s a0,ft0,rtz +800002c8: 001015f3 fsflags a1,zero +800002cc: 01000613 li a2,16 +800002d0: 2ad51463 bne a0,a3,80000578 <fail> +800002d4: 2ac59263 bne a1,a2,80000578 <fail> + +800002d8 <test_9>: +800002d8: 00900193 li gp,9 +800002dc: 00002517 auipc a0,0x2 +800002e0: d9450513 addi a0,a0,-620 # 80002070 <test_9_data> +800002e4: 00052007 flw ft0,0(a0) +800002e8: 00452087 flw ft1,4(a0) +800002ec: 00852107 flw ft2,8(a0) +800002f0: 00c52683 lw a3,12(a0) +800002f4: c0001553 fcvt.w.s a0,ft0,rtz +800002f8: 001015f3 fsflags a1,zero +800002fc: 01000613 li a2,16 +80000300: 26d51c63 bne a0,a3,80000578 <fail> +80000304: 26c59a63 bne a1,a2,80000578 <fail> + +80000308 <test_12>: +80000308: 00c00193 li gp,12 +8000030c: 00002517 auipc a0,0x2 +80000310: d7450513 addi a0,a0,-652 # 80002080 <test_12_data> +80000314: 00052007 flw ft0,0(a0) +80000318: 00452087 flw ft1,4(a0) +8000031c: 00852107 flw ft2,8(a0) +80000320: 00c52683 lw a3,12(a0) +80000324: c0101553 fcvt.wu.s a0,ft0,rtz +80000328: 001015f3 fsflags a1,zero +8000032c: 01000613 li a2,16 +80000330: 24d51463 bne a0,a3,80000578 <fail> +80000334: 24c59263 bne a1,a2,80000578 <fail> + +80000338 <test_13>: +80000338: 00d00193 li gp,13 +8000033c: 00002517 auipc a0,0x2 +80000340: d5450513 addi a0,a0,-684 # 80002090 <test_13_data> +80000344: 00052007 flw ft0,0(a0) +80000348: 00452087 flw ft1,4(a0) +8000034c: 00852107 flw ft2,8(a0) +80000350: 00c52683 lw a3,12(a0) +80000354: c0101553 fcvt.wu.s a0,ft0,rtz +80000358: 001015f3 fsflags a1,zero +8000035c: 01000613 li a2,16 +80000360: 20d51c63 bne a0,a3,80000578 <fail> +80000364: 20c59a63 bne a1,a2,80000578 <fail> + +80000368 <test_14>: +80000368: 00e00193 li gp,14 +8000036c: 00002517 auipc a0,0x2 +80000370: d3450513 addi a0,a0,-716 # 800020a0 <test_14_data> +80000374: 00052007 flw ft0,0(a0) +80000378: 00452087 flw ft1,4(a0) +8000037c: 00852107 flw ft2,8(a0) +80000380: 00c52683 lw a3,12(a0) +80000384: c0101553 fcvt.wu.s a0,ft0,rtz +80000388: 001015f3 fsflags a1,zero +8000038c: 00100613 li a2,1 +80000390: 1ed51463 bne a0,a3,80000578 <fail> +80000394: 1ec59263 bne a1,a2,80000578 <fail> + +80000398 <test_15>: +80000398: 00f00193 li gp,15 +8000039c: 00002517 auipc a0,0x2 +800003a0: d1450513 addi a0,a0,-748 # 800020b0 <test_15_data> +800003a4: 00052007 flw ft0,0(a0) +800003a8: 00452087 flw ft1,4(a0) +800003ac: 00852107 flw ft2,8(a0) +800003b0: 00c52683 lw a3,12(a0) +800003b4: c0101553 fcvt.wu.s a0,ft0,rtz +800003b8: 001015f3 fsflags a1,zero +800003bc: 00100613 li a2,1 +800003c0: 1ad51c63 bne a0,a3,80000578 <fail> +800003c4: 1ac59a63 bne a1,a2,80000578 <fail> + +800003c8 <test_16>: +800003c8: 01000193 li gp,16 +800003cc: 00002517 auipc a0,0x2 +800003d0: cf450513 addi a0,a0,-780 # 800020c0 <test_16_data> +800003d4: 00052007 flw ft0,0(a0) +800003d8: 00452087 flw ft1,4(a0) +800003dc: 00852107 flw ft2,8(a0) +800003e0: 00c52683 lw a3,12(a0) +800003e4: c0101553 fcvt.wu.s a0,ft0,rtz +800003e8: 001015f3 fsflags a1,zero +800003ec: 00000613 li a2,0 +800003f0: 18d51463 bne a0,a3,80000578 <fail> +800003f4: 18c59263 bne a1,a2,80000578 <fail> + +800003f8 <test_17>: +800003f8: 01100193 li gp,17 +800003fc: 00002517 auipc a0,0x2 +80000400: cd450513 addi a0,a0,-812 # 800020d0 <test_17_data> +80000404: 00052007 flw ft0,0(a0) +80000408: 00452087 flw ft1,4(a0) +8000040c: 00852107 flw ft2,8(a0) +80000410: 00c52683 lw a3,12(a0) +80000414: c0101553 fcvt.wu.s a0,ft0,rtz +80000418: 001015f3 fsflags a1,zero +8000041c: 00100613 li a2,1 +80000420: 14d51c63 bne a0,a3,80000578 <fail> +80000424: 14c59a63 bne a1,a2,80000578 <fail> + +80000428 <test_18>: +80000428: 01200193 li gp,18 +8000042c: 00002517 auipc a0,0x2 +80000430: cb450513 addi a0,a0,-844 # 800020e0 <test_18_data> +80000434: 00052007 flw ft0,0(a0) +80000438: 00452087 flw ft1,4(a0) +8000043c: 00852107 flw ft2,8(a0) +80000440: 00c52683 lw a3,12(a0) +80000444: c0101553 fcvt.wu.s a0,ft0,rtz +80000448: 001015f3 fsflags a1,zero +8000044c: 01000613 li a2,16 +80000450: 12d51463 bne a0,a3,80000578 <fail> +80000454: 12c59263 bne a1,a2,80000578 <fail> + +80000458 <test_19>: +80000458: 01300193 li gp,19 +8000045c: 00002517 auipc a0,0x2 +80000460: c9450513 addi a0,a0,-876 # 800020f0 <test_19_data> +80000464: 00052007 flw ft0,0(a0) +80000468: 00452087 flw ft1,4(a0) +8000046c: 00852107 flw ft2,8(a0) +80000470: 00c52683 lw a3,12(a0) +80000474: c0101553 fcvt.wu.s a0,ft0,rtz +80000478: 001015f3 fsflags a1,zero +8000047c: 00000613 li a2,0 +80000480: 0ed51c63 bne a0,a3,80000578 <fail> +80000484: 0ec59a63 bne a1,a2,80000578 <fail> + +80000488 <test_42>: +80000488: 00002097 auipc ra,0x2 +8000048c: c7808093 addi ra,ra,-904 # 80002100 <begin_signature> +80000490: 0000a087 flw ft1,0(ra) +80000494: c000f0d3 fcvt.w.s ra,ft1 +80000498: 800003b7 lui t2,0x80000 +8000049c: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf> +800004a0: 02a00193 li gp,42 +800004a4: 0c709a63 bne ra,t2,80000578 <fail> + +800004a8 <test_44>: +800004a8: 00002097 auipc ra,0x2 +800004ac: c5808093 addi ra,ra,-936 # 80002100 <begin_signature> +800004b0: 0080a087 flw ft1,8(ra) +800004b4: c000f0d3 fcvt.w.s ra,ft1 +800004b8: 800003b7 lui t2,0x80000 +800004bc: 02c00193 li gp,44 +800004c0: 0a709c63 bne ra,t2,80000578 <fail> + +800004c4 <test_52>: +800004c4: 00002097 auipc ra,0x2 +800004c8: c3c08093 addi ra,ra,-964 # 80002100 <begin_signature> +800004cc: 0040a087 flw ft1,4(ra) +800004d0: c000f0d3 fcvt.w.s ra,ft1 +800004d4: 800003b7 lui t2,0x80000 +800004d8: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf> +800004dc: 03400193 li gp,52 +800004e0: 08709c63 bne ra,t2,80000578 <fail> + +800004e4 <test_54>: +800004e4: 00002097 auipc ra,0x2 +800004e8: c1c08093 addi ra,ra,-996 # 80002100 <begin_signature> +800004ec: 00c0a087 flw ft1,12(ra) +800004f0: c000f0d3 fcvt.w.s ra,ft1 +800004f4: 800003b7 lui t2,0x80000 +800004f8: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf> +800004fc: 03600193 li gp,54 +80000500: 06709c63 bne ra,t2,80000578 <fail> + +80000504 <test_62>: +80000504: 00002097 auipc ra,0x2 +80000508: bfc08093 addi ra,ra,-1028 # 80002100 <begin_signature> +8000050c: 0000a087 flw ft1,0(ra) +80000510: c010f0d3 fcvt.wu.s ra,ft1 +80000514: fff00393 li t2,-1 +80000518: 03e00193 li gp,62 +8000051c: 04709e63 bne ra,t2,80000578 <fail> + +80000520 <test_63>: +80000520: 00002097 auipc ra,0x2 +80000524: be008093 addi ra,ra,-1056 # 80002100 <begin_signature> +80000528: 0040a087 flw ft1,4(ra) +8000052c: c010f0d3 fcvt.wu.s ra,ft1 +80000530: fff00393 li t2,-1 +80000534: 03f00193 li gp,63 +80000538: 04709063 bne ra,t2,80000578 <fail> + +8000053c <test_64>: +8000053c: 00002097 auipc ra,0x2 +80000540: bc408093 addi ra,ra,-1084 # 80002100 <begin_signature> +80000544: 0080a087 flw ft1,8(ra) +80000548: c010f0d3 fcvt.wu.s ra,ft1 +8000054c: 00000393 li t2,0 +80000550: 04000193 li gp,64 +80000554: 02709263 bne ra,t2,80000578 <fail> + +80000558 <test_65>: +80000558: 00002097 auipc ra,0x2 +8000055c: ba808093 addi ra,ra,-1112 # 80002100 <begin_signature> +80000560: 00c0a087 flw ft1,12(ra) +80000564: c010f0d3 fcvt.wu.s ra,ft1 +80000568: fff00393 li t2,-1 +8000056c: 04100193 li gp,65 +80000570: 00709463 bne ra,t2,80000578 <fail> +80000574: 02301063 bne zero,gp,80000594 <pass> + +80000578 <fail>: +80000578: 0ff0000f fence +8000057c: 00018063 beqz gp,8000057c <fail+0x4> +80000580: 00119193 slli gp,gp,0x1 +80000584: 0011e193 ori gp,gp,1 +80000588: 05d00893 li a7,93 +8000058c: 00018513 mv a0,gp +80000590: 00000073 ecall + +80000594 <pass>: +80000594: 0ff0000f fence +80000598: 00100193 li gp,1 +8000059c: 05d00893 li a7,93 +800005a0: 00000513 li a0,0 +800005a4: 00000073 ecall +800005a8: c0001073 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: cccd beqz s1,800020ba <test_15_data+0xa> +80002002: bf8c fsd fa1,56(a5) +80002004: 0000 unimp +80002006: 0000 unimp +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: ffff 0xffff +8000200e: ffff 0xffff + +80002010 <test_3_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: ffff 0xffff +8000201e: ffff 0xffff + +80002020 <test_4_data>: +80002020: 6666 flw fa2,88(sp) +80002022: bf66 fsd fs9,440(sp) +80002024: 0000 unimp +80002026: 0000 unimp +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <test_5_data>: +80002030: 6666 flw fa2,88(sp) +80002032: 3f66 fld ft10,120(sp) +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_6_data>: +80002040: 0000 unimp +80002042: 3f80 fld fs0,56(a5) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0001 nop +8000204e: 0000 unimp + +80002050 <test_7_data>: +80002050: cccd beqz s1,8000210a <begin_signature+0xa> +80002052: 3f8c fld fa1,56(a5) +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0001 nop +8000205e: 0000 unimp + +80002060 <test_8_data>: +80002060: d05e sw s7,32(sp) +80002062: cf32 sw a2,156(sp) +80002064: 0000 unimp +80002066: 0000 unimp +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 8000 0x8000 + +80002070 <test_9_data>: +80002070: d05e sw s7,32(sp) +80002072: 4f32 lw t5,12(sp) +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: ffff 0xffff +8000207e: 7fff 0x7fff + +80002080 <test_12_data>: +80002080: 0000 unimp +80002082: c040 sw s0,4(s0) +80002084: 0000 unimp +80002086: 0000 unimp +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp + +80002090 <test_13_data>: +80002090: 0000 unimp +80002092: bf80 fsd fs0,56(a5) +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_14_data>: +800020a0: 6666 flw fa2,88(sp) +800020a2: bf66 fsd fs9,440(sp) +800020a4: 0000 unimp +800020a6: 0000 unimp +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp + +800020b0 <test_15_data>: +800020b0: 6666 flw fa2,88(sp) +800020b2: 3f66 fld ft10,120(sp) +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_16_data>: +800020c0: 0000 unimp +800020c2: 3f80 fld fs0,56(a5) +800020c4: 0000 unimp +800020c6: 0000 unimp +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0001 nop +800020ce: 0000 unimp + +800020d0 <test_17_data>: +800020d0: cccd beqz s1,8000218a <_end+0x5a> +800020d2: 3f8c fld fa1,56(a5) +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0001 nop +800020de: 0000 unimp + +800020e0 <test_18_data>: +800020e0: d05e sw s7,32(sp) +800020e2: cf32 sw a2,156(sp) +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp + +800020f0 <test_19_data>: +800020f0: d05e sw s7,32(sp) +800020f2: 4f32 lw t5,12(sp) +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 5e00 lw s0,56(a2) +800020fe: b2d0 fsd fa2,160(a3) + +80002100 <begin_signature>: +80002100: ffff 0xffff +80002102: ffff 0xffff +80002104: ffff 0xffff +80002106: 7fff 0x7fff +80002108: 0000 unimp +8000210a: ff80 fsw fs0,56(a5) +8000210c: 0000 unimp +8000210e: 7f80 flw fs0,56(a5) + +80002110 <tdat_d>: +80002110: ffff 0xffff +80002112: ffff 0xffff +80002114: ffff 0xffff +80002116: ffff 0xffff +80002118: ffff 0xffff +8000211a: ffff 0xffff +8000211c: ffff 0xffff +8000211e: 7fff 0x7fff +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: fff0 fsw fa2,124(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 7ff0 flw fa2,124(a5) diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fdiv.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fdiv.dump new file mode 100644 index 0000000..71c3cf4 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fdiv.dump @@ -0,0 +1,435 @@ + +rv32ud-p-fdiv: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdeff> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00053007 fld ft0,0(a0) +80000198: 00853087 fld ft1,8(a0) +8000019c: 01053107 fld ft2,16(a0) +800001a0: 01852683 lw a3,24(a0) +800001a4: 01c52303 lw t1,28(a0) +800001a8: 1a1071d3 fdiv.d ft3,ft0,ft1 +800001ac: 00353027 fsd ft3,0(a0) +800001b0: 00452383 lw t2,4(a0) +800001b4: 00052503 lw a0,0(a0) +800001b8: 001015f3 fsflags a1,zero +800001bc: 00100613 li a2,1 +800001c0: 1ed51663 bne a0,a3,800003ac <fail> +800001c4: 1e731463 bne t1,t2,800003ac <fail> +800001c8: 1ec59263 bne a1,a2,800003ac <fail> + +800001cc <test_3>: +800001cc: 00300193 li gp,3 +800001d0: 00002517 auipc a0,0x2 +800001d4: e5050513 addi a0,a0,-432 # 80002020 <test_3_data> +800001d8: 00053007 fld ft0,0(a0) +800001dc: 00853087 fld ft1,8(a0) +800001e0: 01053107 fld ft2,16(a0) +800001e4: 01852683 lw a3,24(a0) +800001e8: 01c52303 lw t1,28(a0) +800001ec: 1a1071d3 fdiv.d ft3,ft0,ft1 +800001f0: 00353027 fsd ft3,0(a0) +800001f4: 00452383 lw t2,4(a0) +800001f8: 00052503 lw a0,0(a0) +800001fc: 001015f3 fsflags a1,zero +80000200: 00100613 li a2,1 +80000204: 1ad51463 bne a0,a3,800003ac <fail> +80000208: 1a731263 bne t1,t2,800003ac <fail> +8000020c: 1ac59063 bne a1,a2,800003ac <fail> + +80000210 <test_4>: +80000210: 00400193 li gp,4 +80000214: 00002517 auipc a0,0x2 +80000218: e2c50513 addi a0,a0,-468 # 80002040 <test_4_data> +8000021c: 00053007 fld ft0,0(a0) +80000220: 00853087 fld ft1,8(a0) +80000224: 01053107 fld ft2,16(a0) +80000228: 01852683 lw a3,24(a0) +8000022c: 01c52303 lw t1,28(a0) +80000230: 1a1071d3 fdiv.d ft3,ft0,ft1 +80000234: 00353027 fsd ft3,0(a0) +80000238: 00452383 lw t2,4(a0) +8000023c: 00052503 lw a0,0(a0) +80000240: 001015f3 fsflags a1,zero +80000244: 00000613 li a2,0 +80000248: 16d51263 bne a0,a3,800003ac <fail> +8000024c: 16731063 bne t1,t2,800003ac <fail> +80000250: 14c59e63 bne a1,a2,800003ac <fail> + +80000254 <test_5>: +80000254: 00500193 li gp,5 +80000258: 00002517 auipc a0,0x2 +8000025c: e0850513 addi a0,a0,-504 # 80002060 <test_5_data> +80000260: 00053007 fld ft0,0(a0) +80000264: 00853087 fld ft1,8(a0) +80000268: 01053107 fld ft2,16(a0) +8000026c: 01852683 lw a3,24(a0) +80000270: 01c52303 lw t1,28(a0) +80000274: 5a0071d3 fsqrt.d ft3,ft0 +80000278: 00353027 fsd ft3,0(a0) +8000027c: 00452383 lw t2,4(a0) +80000280: 00052503 lw a0,0(a0) +80000284: 001015f3 fsflags a1,zero +80000288: 00100613 li a2,1 +8000028c: 12d51063 bne a0,a3,800003ac <fail> +80000290: 10731e63 bne t1,t2,800003ac <fail> +80000294: 10c59c63 bne a1,a2,800003ac <fail> + +80000298 <test_6>: +80000298: 00600193 li gp,6 +8000029c: 00002517 auipc a0,0x2 +800002a0: de450513 addi a0,a0,-540 # 80002080 <test_6_data> +800002a4: 00053007 fld ft0,0(a0) +800002a8: 00853087 fld ft1,8(a0) +800002ac: 01053107 fld ft2,16(a0) +800002b0: 01852683 lw a3,24(a0) +800002b4: 01c52303 lw t1,28(a0) +800002b8: 5a0071d3 fsqrt.d ft3,ft0 +800002bc: 00353027 fsd ft3,0(a0) +800002c0: 00452383 lw t2,4(a0) +800002c4: 00052503 lw a0,0(a0) +800002c8: 001015f3 fsflags a1,zero +800002cc: 00000613 li a2,0 +800002d0: 0cd51e63 bne a0,a3,800003ac <fail> +800002d4: 0c731c63 bne t1,t2,800003ac <fail> +800002d8: 0cc59a63 bne a1,a2,800003ac <fail> + +800002dc <test_16>: +800002dc: 01000193 li gp,16 +800002e0: 00002517 auipc a0,0x2 +800002e4: dc050513 addi a0,a0,-576 # 800020a0 <test_16_data> +800002e8: 00053007 fld ft0,0(a0) +800002ec: 00853087 fld ft1,8(a0) +800002f0: 01053107 fld ft2,16(a0) +800002f4: 01852683 lw a3,24(a0) +800002f8: 01c52303 lw t1,28(a0) +800002fc: 5a0071d3 fsqrt.d ft3,ft0 +80000300: 00353027 fsd ft3,0(a0) +80000304: 00452383 lw t2,4(a0) +80000308: 00052503 lw a0,0(a0) +8000030c: 001015f3 fsflags a1,zero +80000310: 01000613 li a2,16 +80000314: 08d51c63 bne a0,a3,800003ac <fail> +80000318: 08731a63 bne t1,t2,800003ac <fail> +8000031c: 08c59863 bne a1,a2,800003ac <fail> + +80000320 <test_7>: +80000320: 00700193 li gp,7 +80000324: 00002517 auipc a0,0x2 +80000328: d9c50513 addi a0,a0,-612 # 800020c0 <test_7_data> +8000032c: 00053007 fld ft0,0(a0) +80000330: 00853087 fld ft1,8(a0) +80000334: 01053107 fld ft2,16(a0) +80000338: 01852683 lw a3,24(a0) +8000033c: 01c52303 lw t1,28(a0) +80000340: 5a0071d3 fsqrt.d ft3,ft0 +80000344: 00353027 fsd ft3,0(a0) +80000348: 00452383 lw t2,4(a0) +8000034c: 00052503 lw a0,0(a0) +80000350: 001015f3 fsflags a1,zero +80000354: 00100613 li a2,1 +80000358: 04d51a63 bne a0,a3,800003ac <fail> +8000035c: 04731863 bne t1,t2,800003ac <fail> +80000360: 04c59663 bne a1,a2,800003ac <fail> + +80000364 <test_8>: +80000364: 00800193 li gp,8 +80000368: 00002517 auipc a0,0x2 +8000036c: d7850513 addi a0,a0,-648 # 800020e0 <test_8_data> +80000370: 00053007 fld ft0,0(a0) +80000374: 00853087 fld ft1,8(a0) +80000378: 01053107 fld ft2,16(a0) +8000037c: 01852683 lw a3,24(a0) +80000380: 01c52303 lw t1,28(a0) +80000384: 5a0071d3 fsqrt.d ft3,ft0 +80000388: 00353027 fsd ft3,0(a0) +8000038c: 00452383 lw t2,4(a0) +80000390: 00052503 lw a0,0(a0) +80000394: 001015f3 fsflags a1,zero +80000398: 00100613 li a2,1 +8000039c: 00d51863 bne a0,a3,800003ac <fail> +800003a0: 00731663 bne t1,t2,800003ac <fail> +800003a4: 00c59463 bne a1,a2,800003ac <fail> +800003a8: 02301063 bne zero,gp,800003c8 <pass> + +800003ac <fail>: +800003ac: 0ff0000f fence +800003b0: 00018063 beqz gp,800003b0 <fail+0x4> +800003b4: 00119193 slli gp,gp,0x1 +800003b8: 0011e193 ori gp,gp,1 +800003bc: 05d00893 li a7,93 +800003c0: 00018513 mv a0,gp +800003c4: 00000073 ecall + +800003c8 <pass>: +800003c8: 0ff0000f fence +800003cc: 00100193 li gp,1 +800003d0: 05d00893 li a7,93 +800003d4: 00000513 li a0,0 +800003d8: 00000073 ecall +800003dc: c0001073 unimp +800003e0: 0000 unimp +800003e2: 0000 unimp +800003e4: 0000 unimp +800003e6: 0000 unimp +800003e8: 0000 unimp +800003ea: 0000 unimp +800003ec: 0000 unimp +800003ee: 0000 unimp +800003f0: 0000 unimp +800003f2: 0000 unimp +800003f4: 0000 unimp +800003f6: 0000 unimp +800003f8: 0000 unimp +800003fa: 0000 unimp +800003fc: 0000 unimp +800003fe: 0000 unimp +80000400: 0000 unimp +80000402: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: d4f1 beqz s1,80001fcc <fromhost+0xf8c> +80002002: 53c8 lw a0,36(a5) +80002004: 400921fb 0x400921fb +80002008: b0dd j 800018ee <fromhost+0x8ae> +8000200a: 89f1 andi a1,a1,28 +8000200c: bf0a fsd ft2,440(sp) +8000200e: 4005 c.li zero,1 +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 83ec 0x83ec +8000201a: 7ddbf6c3 0x7ddbf6c3 +8000201e: 3ff2 fld ft11,312(sp) + +80002020 <test_3_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 4800 lw s0,16(s0) +80002026: 6666c093 xori ra,a3,1638 +8000202a: 6666 flw fa2,88(sp) +8000202c: 4c66 lw s8,88(sp) +8000202e: 00004093 xori ra,zero,0 +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 29a5 jal 800024b0 <_end+0x3b0> +8000203a: 3e19 jal 80001b50 <fromhost+0xb10> +8000203c: f8b4 fsw fa3,112(s1) +8000203e: jal t6,7ff1dd8c <_start-0xe2274> + +80002040 <test_4_data>: +80002040: d4f1 beqz s1,8000200c <test_2_data+0xc> +80002042: 53c8 lw a0,36(a5) +80002044: 400921fb 0x400921fb +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: 3ff0 fld fa2,248(a5) +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: d4f1 beqz s1,80002024 <test_3_data+0x4> +8000205a: 53c8 lw a0,36(a5) +8000205c: 400921fb 0x400921fb + +80002060 <test_5_data>: +80002060: d4f1 beqz s1,8000202c <test_3_data+0xc> +80002062: 53c8 lw a0,36(a5) +80002064: 400921fb 0x400921fb +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 916f587b 0x916f587b +8000207c: 5bf8 lw a4,116(a5) +8000207e: 3ffc fld fa5,248(a5) + +80002080 <test_6_data>: +80002080: 0000 unimp +80002082: 0000 unimp +80002084: 8800 0x8800 +80002086: 000040c3 fmadd.s ft1,ft0,ft0,ft0,rmm +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 4059 c.li zero,22 + +800020a0 <test_16_data>: +800020a0: 0000 unimp +800020a2: 0000 unimp +800020a4: 0000 unimp +800020a6: bff0 fsd fa2,248(a5) +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 7ff8 flw fa4,124(a5) + +800020c0 <test_7_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 6000 flw fs0,0(s0) +800020c6: 4065 c.li zero,25 +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 0000 unimp +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 74f5 lui s1,0xffffd +800020da: ce96 sw t0,92(sp) +800020dc: 2744 fld fs1,136(a4) +800020de: 402a 0x402a + +800020e0 <test_8_data>: +800020e0: a105 j 80002500 <_end+0x400> +800020e2: c70a sw sp,140(sp) +800020e4: 94df 3e85 0000 0x3e8594df +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 7f99 lui t6,0xfffe6 +800020fa: 4789c0e3 blt s3,s8,80002d5a <_end+0xc5a> +800020fe: 3f3a fld ft10,424(sp) diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fmadd.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fmadd.dump new file mode 100644 index 0000000..7bf600a --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fmadd.dump @@ -0,0 +1,583 @@ + +rv32ud-p-fmadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffde7f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00053007 fld ft0,0(a0) +80000198: 00853087 fld ft1,8(a0) +8000019c: 01053107 fld ft2,16(a0) +800001a0: 01852683 lw a3,24(a0) +800001a4: 01c52303 lw t1,28(a0) +800001a8: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +800001ac: 00353027 fsd ft3,0(a0) +800001b0: 00452383 lw t2,4(a0) +800001b4: 00052503 lw a0,0(a0) +800001b8: 001015f3 fsflags a1,zero +800001bc: 00000613 li a2,0 +800001c0: 2ed51e63 bne a0,a3,800004bc <fail> +800001c4: 2e731c63 bne t1,t2,800004bc <fail> +800001c8: 2ec59a63 bne a1,a2,800004bc <fail> + +800001cc <test_3>: +800001cc: 00300193 li gp,3 +800001d0: 00002517 auipc a0,0x2 +800001d4: e5050513 addi a0,a0,-432 # 80002020 <test_3_data> +800001d8: 00053007 fld ft0,0(a0) +800001dc: 00853087 fld ft1,8(a0) +800001e0: 01053107 fld ft2,16(a0) +800001e4: 01852683 lw a3,24(a0) +800001e8: 01c52303 lw t1,28(a0) +800001ec: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +800001f0: 00353027 fsd ft3,0(a0) +800001f4: 00452383 lw t2,4(a0) +800001f8: 00052503 lw a0,0(a0) +800001fc: 001015f3 fsflags a1,zero +80000200: 00100613 li a2,1 +80000204: 2ad51c63 bne a0,a3,800004bc <fail> +80000208: 2a731a63 bne t1,t2,800004bc <fail> +8000020c: 2ac59863 bne a1,a2,800004bc <fail> + +80000210 <test_4>: +80000210: 00400193 li gp,4 +80000214: 00002517 auipc a0,0x2 +80000218: e2c50513 addi a0,a0,-468 # 80002040 <test_4_data> +8000021c: 00053007 fld ft0,0(a0) +80000220: 00853087 fld ft1,8(a0) +80000224: 01053107 fld ft2,16(a0) +80000228: 01852683 lw a3,24(a0) +8000022c: 01c52303 lw t1,28(a0) +80000230: 121071c3 fmadd.d ft3,ft0,ft1,ft2 +80000234: 00353027 fsd ft3,0(a0) +80000238: 00452383 lw t2,4(a0) +8000023c: 00052503 lw a0,0(a0) +80000240: 001015f3 fsflags a1,zero +80000244: 00000613 li a2,0 +80000248: 26d51a63 bne a0,a3,800004bc <fail> +8000024c: 26731863 bne t1,t2,800004bc <fail> +80000250: 26c59663 bne a1,a2,800004bc <fail> + +80000254 <test_5>: +80000254: 00500193 li gp,5 +80000258: 00002517 auipc a0,0x2 +8000025c: e0850513 addi a0,a0,-504 # 80002060 <test_5_data> +80000260: 00053007 fld ft0,0(a0) +80000264: 00853087 fld ft1,8(a0) +80000268: 01053107 fld ft2,16(a0) +8000026c: 01852683 lw a3,24(a0) +80000270: 01c52303 lw t1,28(a0) +80000274: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +80000278: 00353027 fsd ft3,0(a0) +8000027c: 00452383 lw t2,4(a0) +80000280: 00052503 lw a0,0(a0) +80000284: 001015f3 fsflags a1,zero +80000288: 00000613 li a2,0 +8000028c: 22d51863 bne a0,a3,800004bc <fail> +80000290: 22731663 bne t1,t2,800004bc <fail> +80000294: 22c59463 bne a1,a2,800004bc <fail> + +80000298 <test_6>: +80000298: 00600193 li gp,6 +8000029c: 00002517 auipc a0,0x2 +800002a0: de450513 addi a0,a0,-540 # 80002080 <test_6_data> +800002a4: 00053007 fld ft0,0(a0) +800002a8: 00853087 fld ft1,8(a0) +800002ac: 01053107 fld ft2,16(a0) +800002b0: 01852683 lw a3,24(a0) +800002b4: 01c52303 lw t1,28(a0) +800002b8: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +800002bc: 00353027 fsd ft3,0(a0) +800002c0: 00452383 lw t2,4(a0) +800002c4: 00052503 lw a0,0(a0) +800002c8: 001015f3 fsflags a1,zero +800002cc: 00100613 li a2,1 +800002d0: 1ed51663 bne a0,a3,800004bc <fail> +800002d4: 1e731463 bne t1,t2,800004bc <fail> +800002d8: 1ec59263 bne a1,a2,800004bc <fail> + +800002dc <test_7>: +800002dc: 00700193 li gp,7 +800002e0: 00002517 auipc a0,0x2 +800002e4: dc050513 addi a0,a0,-576 # 800020a0 <test_7_data> +800002e8: 00053007 fld ft0,0(a0) +800002ec: 00853087 fld ft1,8(a0) +800002f0: 01053107 fld ft2,16(a0) +800002f4: 01852683 lw a3,24(a0) +800002f8: 01c52303 lw t1,28(a0) +800002fc: 121071cf fnmadd.d ft3,ft0,ft1,ft2 +80000300: 00353027 fsd ft3,0(a0) +80000304: 00452383 lw t2,4(a0) +80000308: 00052503 lw a0,0(a0) +8000030c: 001015f3 fsflags a1,zero +80000310: 00000613 li a2,0 +80000314: 1ad51463 bne a0,a3,800004bc <fail> +80000318: 1a731263 bne t1,t2,800004bc <fail> +8000031c: 1ac59063 bne a1,a2,800004bc <fail> + +80000320 <test_8>: +80000320: 00800193 li gp,8 +80000324: 00002517 auipc a0,0x2 +80000328: d9c50513 addi a0,a0,-612 # 800020c0 <test_8_data> +8000032c: 00053007 fld ft0,0(a0) +80000330: 00853087 fld ft1,8(a0) +80000334: 01053107 fld ft2,16(a0) +80000338: 01852683 lw a3,24(a0) +8000033c: 01c52303 lw t1,28(a0) +80000340: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +80000344: 00353027 fsd ft3,0(a0) +80000348: 00452383 lw t2,4(a0) +8000034c: 00052503 lw a0,0(a0) +80000350: 001015f3 fsflags a1,zero +80000354: 00000613 li a2,0 +80000358: 16d51263 bne a0,a3,800004bc <fail> +8000035c: 16731063 bne t1,t2,800004bc <fail> +80000360: 14c59e63 bne a1,a2,800004bc <fail> + +80000364 <test_9>: +80000364: 00900193 li gp,9 +80000368: 00002517 auipc a0,0x2 +8000036c: d7850513 addi a0,a0,-648 # 800020e0 <test_9_data> +80000370: 00053007 fld ft0,0(a0) +80000374: 00853087 fld ft1,8(a0) +80000378: 01053107 fld ft2,16(a0) +8000037c: 01852683 lw a3,24(a0) +80000380: 01c52303 lw t1,28(a0) +80000384: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +80000388: 00353027 fsd ft3,0(a0) +8000038c: 00452383 lw t2,4(a0) +80000390: 00052503 lw a0,0(a0) +80000394: 001015f3 fsflags a1,zero +80000398: 00100613 li a2,1 +8000039c: 12d51063 bne a0,a3,800004bc <fail> +800003a0: 10731e63 bne t1,t2,800004bc <fail> +800003a4: 10c59c63 bne a1,a2,800004bc <fail> + +800003a8 <test_10>: +800003a8: 00a00193 li gp,10 +800003ac: 00002517 auipc a0,0x2 +800003b0: d5450513 addi a0,a0,-684 # 80002100 <test_10_data> +800003b4: 00053007 fld ft0,0(a0) +800003b8: 00853087 fld ft1,8(a0) +800003bc: 01053107 fld ft2,16(a0) +800003c0: 01852683 lw a3,24(a0) +800003c4: 01c52303 lw t1,28(a0) +800003c8: 121071c7 fmsub.d ft3,ft0,ft1,ft2 +800003cc: 00353027 fsd ft3,0(a0) +800003d0: 00452383 lw t2,4(a0) +800003d4: 00052503 lw a0,0(a0) +800003d8: 001015f3 fsflags a1,zero +800003dc: 00000613 li a2,0 +800003e0: 0cd51e63 bne a0,a3,800004bc <fail> +800003e4: 0c731c63 bne t1,t2,800004bc <fail> +800003e8: 0cc59a63 bne a1,a2,800004bc <fail> + +800003ec <test_11>: +800003ec: 00b00193 li gp,11 +800003f0: 00002517 auipc a0,0x2 +800003f4: d3050513 addi a0,a0,-720 # 80002120 <test_11_data> +800003f8: 00053007 fld ft0,0(a0) +800003fc: 00853087 fld ft1,8(a0) +80000400: 01053107 fld ft2,16(a0) +80000404: 01852683 lw a3,24(a0) +80000408: 01c52303 lw t1,28(a0) +8000040c: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80000410: 00353027 fsd ft3,0(a0) +80000414: 00452383 lw t2,4(a0) +80000418: 00052503 lw a0,0(a0) +8000041c: 001015f3 fsflags a1,zero +80000420: 00000613 li a2,0 +80000424: 08d51c63 bne a0,a3,800004bc <fail> +80000428: 08731a63 bne t1,t2,800004bc <fail> +8000042c: 08c59863 bne a1,a2,800004bc <fail> + +80000430 <test_12>: +80000430: 00c00193 li gp,12 +80000434: 00002517 auipc a0,0x2 +80000438: d0c50513 addi a0,a0,-756 # 80002140 <test_12_data> +8000043c: 00053007 fld ft0,0(a0) +80000440: 00853087 fld ft1,8(a0) +80000444: 01053107 fld ft2,16(a0) +80000448: 01852683 lw a3,24(a0) +8000044c: 01c52303 lw t1,28(a0) +80000450: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80000454: 00353027 fsd ft3,0(a0) +80000458: 00452383 lw t2,4(a0) +8000045c: 00052503 lw a0,0(a0) +80000460: 001015f3 fsflags a1,zero +80000464: 00100613 li a2,1 +80000468: 04d51a63 bne a0,a3,800004bc <fail> +8000046c: 04731863 bne t1,t2,800004bc <fail> +80000470: 04c59663 bne a1,a2,800004bc <fail> + +80000474 <test_13>: +80000474: 00d00193 li gp,13 +80000478: 00002517 auipc a0,0x2 +8000047c: ce850513 addi a0,a0,-792 # 80002160 <test_13_data> +80000480: 00053007 fld ft0,0(a0) +80000484: 00853087 fld ft1,8(a0) +80000488: 01053107 fld ft2,16(a0) +8000048c: 01852683 lw a3,24(a0) +80000490: 01c52303 lw t1,28(a0) +80000494: 121071cb fnmsub.d ft3,ft0,ft1,ft2 +80000498: 00353027 fsd ft3,0(a0) +8000049c: 00452383 lw t2,4(a0) +800004a0: 00052503 lw a0,0(a0) +800004a4: 001015f3 fsflags a1,zero +800004a8: 00000613 li a2,0 +800004ac: 00d51863 bne a0,a3,800004bc <fail> +800004b0: 00731663 bne t1,t2,800004bc <fail> +800004b4: 00c59463 bne a1,a2,800004bc <fail> +800004b8: 02301063 bne zero,gp,800004d8 <pass> + +800004bc <fail>: +800004bc: 0ff0000f fence +800004c0: 00018063 beqz gp,800004c0 <fail+0x4> +800004c4: 00119193 slli gp,gp,0x1 +800004c8: 0011e193 ori gp,gp,1 +800004cc: 05d00893 li a7,93 +800004d0: 00018513 mv a0,gp +800004d4: 00000073 ecall + +800004d8 <pass>: +800004d8: 0ff0000f fence +800004dc: 00100193 li gp,1 +800004e0: 05d00893 li a7,93 +800004e4: 00000513 li a0,0 +800004e8: 00000073 ecall +800004ec: c0001073 unimp +800004f0: 0000 unimp +800004f2: 0000 unimp +800004f4: 0000 unimp +800004f6: 0000 unimp +800004f8: 0000 unimp +800004fa: 0000 unimp +800004fc: 0000 unimp +800004fe: 0000 unimp +80000500: 0000 unimp +80000502: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 3ff0 fld fa2,248(a5) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 4004 lw s1,0(s0) +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 3ff0 fld fa2,248(a5) +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 400c lw a1,0(s0) + +80002020 <test_3_data>: +80002020: 0000 unimp +80002022: 0000 unimp +80002024: 0000 unimp +80002026: bff0 fsd fa2,248(a5) +80002028: 6666 flw fa2,88(sp) +8000202a: 6666 flw fa2,88(sp) +8000202c: 4c66 lw s8,88(sp) +8000202e: 999ac093 xori ra,s5,-1639 +80002032: 9999 andi a1,a1,-26 +80002034: 9999 andi a1,a1,-26 +80002036: 3ff1 jal 80002012 <test_2_data+0x12> +80002038: cccc sw a1,28(s1) +8000203a: cccc sw a1,28(s1) +8000203c: 50cc lw a1,36(s1) +8000203e: xori ra,zero,0 + +80002040 <test_4_data>: +80002040: 0000 unimp +80002042: 0000 unimp +80002044: 0000 unimp +80002046: 4000 lw s0,0(s0) +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: c014 sw a3,0(s0) +80002050: 0000 unimp +80002052: 0000 unimp +80002054: 0000 unimp +80002056: c000 sw s0,0(s0) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: c028 sw a0,64(s0) + +80002060 <test_5_data>: +80002060: 0000 unimp +80002062: 0000 unimp +80002064: 0000 unimp +80002066: 3ff0 fld fa2,248(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 4004 lw s1,0(s0) +80002070: 0000 unimp +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 3ff0 fld fa2,248(a5) +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: c00c sw a1,0(s0) + +80002080 <test_6_data>: +80002080: 0000 unimp +80002082: 0000 unimp +80002084: 0000 unimp +80002086: bff0 fsd fa2,248(a5) +80002088: 6666 flw fa2,88(sp) +8000208a: 6666 flw fa2,88(sp) +8000208c: 4c66 lw s8,88(sp) +8000208e: 999ac093 xori ra,s5,-1639 +80002092: 9999 andi a1,a1,-26 +80002094: 9999 andi a1,a1,-26 +80002096: 3ff1 jal 80002072 <test_5_data+0x12> +80002098: cccc sw a1,28(s1) +8000209a: cccc sw a1,28(s1) +8000209c: 50cc lw a1,36(s1) +8000209e: xori ra,ra,0 + +800020a0 <test_7_data>: +800020a0: 0000 unimp +800020a2: 0000 unimp +800020a4: 0000 unimp +800020a6: 4000 lw s0,0(s0) +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: c014 sw a3,0(s0) +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: c000 sw s0,0(s0) +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 4028 lw a0,64(s0) + +800020c0 <test_8_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 0000 unimp +800020c6: 3ff0 fld fa2,248(a5) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 4004 lw s1,0(s0) +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 3ff0 fld fa2,248(a5) +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 3ff8 fld fa4,248(a5) + +800020e0 <test_9_data>: +800020e0: 0000 unimp +800020e2: 0000 unimp +800020e4: 0000 unimp +800020e6: bff0 fsd fa2,248(a5) +800020e8: 6666 flw fa2,88(sp) +800020ea: 6666 flw fa2,88(sp) +800020ec: 4c66 lw s8,88(sp) +800020ee: 999ac093 xori ra,s5,-1639 +800020f2: 9999 andi a1,a1,-26 +800020f4: 9999 andi a1,a1,-26 +800020f6: 3ff1 jal 800020d2 <test_8_data+0x12> +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 4800 lw s0,16(s0) +800020fe: xori ra,zero,0 + +80002100 <test_10_data>: +80002100: 0000 unimp +80002102: 0000 unimp +80002104: 0000 unimp +80002106: 4000 lw s0,0(s0) +80002108: 0000 unimp +8000210a: 0000 unimp +8000210c: 0000 unimp +8000210e: c014 sw a3,0(s0) +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: c000 sw s0,0(s0) +80002118: 0000 unimp +8000211a: 0000 unimp +8000211c: 0000 unimp +8000211e: c020 sw s0,64(s0) + +80002120 <test_11_data>: +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: 3ff0 fld fa2,248(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 4004 lw s1,0(s0) +80002130: 0000 unimp +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 3ff0 fld fa2,248(a5) +80002138: 0000 unimp +8000213a: 0000 unimp +8000213c: 0000 unimp +8000213e: bff8 fsd fa4,248(a5) + +80002140 <test_12_data>: +80002140: 0000 unimp +80002142: 0000 unimp +80002144: 0000 unimp +80002146: bff0 fsd fa2,248(a5) +80002148: 6666 flw fa2,88(sp) +8000214a: 6666 flw fa2,88(sp) +8000214c: 4c66 lw s8,88(sp) +8000214e: 999ac093 xori ra,s5,-1639 +80002152: 9999 andi a1,a1,-26 +80002154: 9999 andi a1,a1,-26 +80002156: 3ff1 jal 80002132 <test_11_data+0x12> +80002158: 0000 unimp +8000215a: 0000 unimp +8000215c: 4800 lw s0,16(s0) +8000215e: xori ra,ra,0 + +80002160 <test_13_data>: +80002160: 0000 unimp +80002162: 0000 unimp +80002164: 0000 unimp +80002166: 4000 lw s0,0(s0) +80002168: 0000 unimp +8000216a: 0000 unimp +8000216c: 0000 unimp +8000216e: c014 sw a3,0(s0) +80002170: 0000 unimp +80002172: 0000 unimp +80002174: 0000 unimp +80002176: c000 sw s0,0(s0) +80002178: 0000 unimp +8000217a: 0000 unimp +8000217c: 0000 unimp +8000217e: 4020 lw s0,64(s0) diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-fmin.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-fmin.dump new file mode 100644 index 0000000..e1234a2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-fmin.dump @@ -0,0 +1,820 @@ + +rv32ud-p-fmin: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffddbf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00053007 fld ft0,0(a0) +80000198: 00853087 fld ft1,8(a0) +8000019c: 01053107 fld ft2,16(a0) +800001a0: 01852683 lw a3,24(a0) +800001a4: 01c52303 lw t1,28(a0) +800001a8: 2a1001d3 fmin.d ft3,ft0,ft1 +800001ac: 00353027 fsd ft3,0(a0) +800001b0: 00452383 lw t2,4(a0) +800001b4: 00052503 lw a0,0(a0) +800001b8: 001015f3 fsflags a1,zero +800001bc: 00000613 li a2,0 +800001c0: 48d51a63 bne a0,a3,80000654 <fail> +800001c4: 48731863 bne t1,t2,80000654 <fail> +800001c8: 48c59663 bne a1,a2,80000654 <fail> + +800001cc <test_3>: +800001cc: 00300193 li gp,3 +800001d0: 00002517 auipc a0,0x2 +800001d4: e5050513 addi a0,a0,-432 # 80002020 <test_3_data> +800001d8: 00053007 fld ft0,0(a0) +800001dc: 00853087 fld ft1,8(a0) +800001e0: 01053107 fld ft2,16(a0) +800001e4: 01852683 lw a3,24(a0) +800001e8: 01c52303 lw t1,28(a0) +800001ec: 2a1001d3 fmin.d ft3,ft0,ft1 +800001f0: 00353027 fsd ft3,0(a0) +800001f4: 00452383 lw t2,4(a0) +800001f8: 00052503 lw a0,0(a0) +800001fc: 001015f3 fsflags a1,zero +80000200: 00000613 li a2,0 +80000204: 44d51863 bne a0,a3,80000654 <fail> +80000208: 44731663 bne t1,t2,80000654 <fail> +8000020c: 44c59463 bne a1,a2,80000654 <fail> + +80000210 <test_4>: +80000210: 00400193 li gp,4 +80000214: 00002517 auipc a0,0x2 +80000218: e2c50513 addi a0,a0,-468 # 80002040 <test_4_data> +8000021c: 00053007 fld ft0,0(a0) +80000220: 00853087 fld ft1,8(a0) +80000224: 01053107 fld ft2,16(a0) +80000228: 01852683 lw a3,24(a0) +8000022c: 01c52303 lw t1,28(a0) +80000230: 2a1001d3 fmin.d ft3,ft0,ft1 +80000234: 00353027 fsd ft3,0(a0) +80000238: 00452383 lw t2,4(a0) +8000023c: 00052503 lw a0,0(a0) +80000240: 001015f3 fsflags a1,zero +80000244: 00000613 li a2,0 +80000248: 40d51663 bne a0,a3,80000654 <fail> +8000024c: 40731463 bne t1,t2,80000654 <fail> +80000250: 40c59263 bne a1,a2,80000654 <fail> + +80000254 <test_5>: +80000254: 00500193 li gp,5 +80000258: 00002517 auipc a0,0x2 +8000025c: e0850513 addi a0,a0,-504 # 80002060 <test_5_data> +80000260: 00053007 fld ft0,0(a0) +80000264: 00853087 fld ft1,8(a0) +80000268: 01053107 fld ft2,16(a0) +8000026c: 01852683 lw a3,24(a0) +80000270: 01c52303 lw t1,28(a0) +80000274: 2a1001d3 fmin.d ft3,ft0,ft1 +80000278: 00353027 fsd ft3,0(a0) +8000027c: 00452383 lw t2,4(a0) +80000280: 00052503 lw a0,0(a0) +80000284: 001015f3 fsflags a1,zero +80000288: 00000613 li a2,0 +8000028c: 3cd51463 bne a0,a3,80000654 <fail> +80000290: 3c731263 bne t1,t2,80000654 <fail> +80000294: 3cc59063 bne a1,a2,80000654 <fail> + +80000298 <test_6>: +80000298: 00600193 li gp,6 +8000029c: 00002517 auipc a0,0x2 +800002a0: de450513 addi a0,a0,-540 # 80002080 <test_6_data> +800002a4: 00053007 fld ft0,0(a0) +800002a8: 00853087 fld ft1,8(a0) +800002ac: 01053107 fld ft2,16(a0) +800002b0: 01852683 lw a3,24(a0) +800002b4: 01c52303 lw t1,28(a0) +800002b8: 2a1001d3 fmin.d ft3,ft0,ft1 +800002bc: 00353027 fsd ft3,0(a0) +800002c0: 00452383 lw t2,4(a0) +800002c4: 00052503 lw a0,0(a0) +800002c8: 001015f3 fsflags a1,zero +800002cc: 00000613 li a2,0 +800002d0: 38d51263 bne a0,a3,80000654 <fail> +800002d4: 38731063 bne t1,t2,80000654 <fail> +800002d8: 36c59e63 bne a1,a2,80000654 <fail> + +800002dc <test_7>: +800002dc: 00700193 li gp,7 +800002e0: 00002517 auipc a0,0x2 +800002e4: dc050513 addi a0,a0,-576 # 800020a0 <test_7_data> +800002e8: 00053007 fld ft0,0(a0) +800002ec: 00853087 fld ft1,8(a0) +800002f0: 01053107 fld ft2,16(a0) +800002f4: 01852683 lw a3,24(a0) +800002f8: 01c52303 lw t1,28(a0) +800002fc: 2a1001d3 fmin.d ft3,ft0,ft1 +80000300: 00353027 fsd ft3,0(a0) +80000304: 00452383 lw t2,4(a0) +80000308: 00052503 lw a0,0(a0) +8000030c: 001015f3 fsflags a1,zero +80000310: 00000613 li a2,0 +80000314: 34d51063 bne a0,a3,80000654 <fail> +80000318: 32731e63 bne t1,t2,80000654 <fail> +8000031c: 32c59c63 bne a1,a2,80000654 <fail> + +80000320 <test_12>: +80000320: 00c00193 li gp,12 +80000324: 00002517 auipc a0,0x2 +80000328: d9c50513 addi a0,a0,-612 # 800020c0 <test_12_data> +8000032c: 00053007 fld ft0,0(a0) +80000330: 00853087 fld ft1,8(a0) +80000334: 01053107 fld ft2,16(a0) +80000338: 01852683 lw a3,24(a0) +8000033c: 01c52303 lw t1,28(a0) +80000340: 2a1011d3 fmax.d ft3,ft0,ft1 +80000344: 00353027 fsd ft3,0(a0) +80000348: 00452383 lw t2,4(a0) +8000034c: 00052503 lw a0,0(a0) +80000350: 001015f3 fsflags a1,zero +80000354: 00000613 li a2,0 +80000358: 2ed51e63 bne a0,a3,80000654 <fail> +8000035c: 2e731c63 bne t1,t2,80000654 <fail> +80000360: 2ec59a63 bne a1,a2,80000654 <fail> + +80000364 <test_13>: +80000364: 00d00193 li gp,13 +80000368: 00002517 auipc a0,0x2 +8000036c: d7850513 addi a0,a0,-648 # 800020e0 <test_13_data> +80000370: 00053007 fld ft0,0(a0) +80000374: 00853087 fld ft1,8(a0) +80000378: 01053107 fld ft2,16(a0) +8000037c: 01852683 lw a3,24(a0) +80000380: 01c52303 lw t1,28(a0) +80000384: 2a1011d3 fmax.d ft3,ft0,ft1 +80000388: 00353027 fsd ft3,0(a0) +8000038c: 00452383 lw t2,4(a0) +80000390: 00052503 lw a0,0(a0) +80000394: 001015f3 fsflags a1,zero +80000398: 00000613 li a2,0 +8000039c: 2ad51c63 bne a0,a3,80000654 <fail> +800003a0: 2a731a63 bne t1,t2,80000654 <fail> +800003a4: 2ac59863 bne a1,a2,80000654 <fail> + +800003a8 <test_14>: +800003a8: 00e00193 li gp,14 +800003ac: 00002517 auipc a0,0x2 +800003b0: d5450513 addi a0,a0,-684 # 80002100 <test_14_data> +800003b4: 00053007 fld ft0,0(a0) +800003b8: 00853087 fld ft1,8(a0) +800003bc: 01053107 fld ft2,16(a0) +800003c0: 01852683 lw a3,24(a0) +800003c4: 01c52303 lw t1,28(a0) +800003c8: 2a1011d3 fmax.d ft3,ft0,ft1 +800003cc: 00353027 fsd ft3,0(a0) +800003d0: 00452383 lw t2,4(a0) +800003d4: 00052503 lw a0,0(a0) +800003d8: 001015f3 fsflags a1,zero +800003dc: 00000613 li a2,0 +800003e0: 26d51a63 bne a0,a3,80000654 <fail> +800003e4: 26731863 bne t1,t2,80000654 <fail> +800003e8: 26c59663 bne a1,a2,80000654 <fail> + +800003ec <test_15>: +800003ec: 00f00193 li gp,15 +800003f0: 00002517 auipc a0,0x2 +800003f4: d3050513 addi a0,a0,-720 # 80002120 <test_15_data> +800003f8: 00053007 fld ft0,0(a0) +800003fc: 00853087 fld ft1,8(a0) +80000400: 01053107 fld ft2,16(a0) +80000404: 01852683 lw a3,24(a0) +80000408: 01c52303 lw t1,28(a0) +8000040c: 2a1011d3 fmax.d ft3,ft0,ft1 +80000410: 00353027 fsd ft3,0(a0) +80000414: 00452383 lw t2,4(a0) +80000418: 00052503 lw a0,0(a0) +8000041c: 001015f3 fsflags a1,zero +80000420: 00000613 li a2,0 +80000424: 22d51863 bne a0,a3,80000654 <fail> +80000428: 22731663 bne t1,t2,80000654 <fail> +8000042c: 22c59463 bne a1,a2,80000654 <fail> + +80000430 <test_16>: +80000430: 01000193 li gp,16 +80000434: 00002517 auipc a0,0x2 +80000438: d0c50513 addi a0,a0,-756 # 80002140 <test_16_data> +8000043c: 00053007 fld ft0,0(a0) +80000440: 00853087 fld ft1,8(a0) +80000444: 01053107 fld ft2,16(a0) +80000448: 01852683 lw a3,24(a0) +8000044c: 01c52303 lw t1,28(a0) +80000450: 2a1011d3 fmax.d ft3,ft0,ft1 +80000454: 00353027 fsd ft3,0(a0) +80000458: 00452383 lw t2,4(a0) +8000045c: 00052503 lw a0,0(a0) +80000460: 001015f3 fsflags a1,zero +80000464: 00000613 li a2,0 +80000468: 1ed51663 bne a0,a3,80000654 <fail> +8000046c: 1e731463 bne t1,t2,80000654 <fail> +80000470: 1ec59263 bne a1,a2,80000654 <fail> + +80000474 <test_17>: +80000474: 01100193 li gp,17 +80000478: 00002517 auipc a0,0x2 +8000047c: ce850513 addi a0,a0,-792 # 80002160 <test_17_data> +80000480: 00053007 fld ft0,0(a0) +80000484: 00853087 fld ft1,8(a0) +80000488: 01053107 fld ft2,16(a0) +8000048c: 01852683 lw a3,24(a0) +80000490: 01c52303 lw t1,28(a0) +80000494: 2a1011d3 fmax.d ft3,ft0,ft1 +80000498: 00353027 fsd ft3,0(a0) +8000049c: 00452383 lw t2,4(a0) +800004a0: 00052503 lw a0,0(a0) +800004a4: 001015f3 fsflags a1,zero +800004a8: 00000613 li a2,0 +800004ac: 1ad51463 bne a0,a3,80000654 <fail> +800004b0: 1a731263 bne t1,t2,80000654 <fail> +800004b4: 1ac59063 bne a1,a2,80000654 <fail> + +800004b8 <test_20>: +800004b8: 01400193 li gp,20 +800004bc: 00002517 auipc a0,0x2 +800004c0: cc450513 addi a0,a0,-828 # 80002180 <test_20_data> +800004c4: 00053007 fld ft0,0(a0) +800004c8: 00853087 fld ft1,8(a0) +800004cc: 01053107 fld ft2,16(a0) +800004d0: 01852683 lw a3,24(a0) +800004d4: 01c52303 lw t1,28(a0) +800004d8: 2a1011d3 fmax.d ft3,ft0,ft1 +800004dc: 00353027 fsd ft3,0(a0) +800004e0: 00452383 lw t2,4(a0) +800004e4: 00052503 lw a0,0(a0) +800004e8: 001015f3 fsflags a1,zero +800004ec: 01000613 li a2,16 +800004f0: 16d51263 bne a0,a3,80000654 <fail> +800004f4: 16731063 bne t1,t2,80000654 <fail> +800004f8: 14c59e63 bne a1,a2,80000654 <fail> + +800004fc <test_21>: +800004fc: 01500193 li gp,21 +80000500: 00002517 auipc a0,0x2 +80000504: ca050513 addi a0,a0,-864 # 800021a0 <test_21_data> +80000508: 00053007 fld ft0,0(a0) +8000050c: 00853087 fld ft1,8(a0) +80000510: 01053107 fld ft2,16(a0) +80000514: 01852683 lw a3,24(a0) +80000518: 01c52303 lw t1,28(a0) +8000051c: 2a1011d3 fmax.d ft3,ft0,ft1 +80000520: 00353027 fsd ft3,0(a0) +80000524: 00452383 lw t2,4(a0) +80000528: 00052503 lw a0,0(a0) +8000052c: 001015f3 fsflags a1,zero +80000530: 00000613 li a2,0 +80000534: 12d51063 bne a0,a3,80000654 <fail> +80000538: 10731e63 bne t1,t2,80000654 <fail> +8000053c: 10c59c63 bne a1,a2,80000654 <fail> + +80000540 <test_30>: +80000540: 01e00193 li gp,30 +80000544: 00002517 auipc a0,0x2 +80000548: c7c50513 addi a0,a0,-900 # 800021c0 <test_30_data> +8000054c: 00053007 fld ft0,0(a0) +80000550: 00853087 fld ft1,8(a0) +80000554: 01053107 fld ft2,16(a0) +80000558: 01852683 lw a3,24(a0) +8000055c: 01c52303 lw t1,28(a0) +80000560: 2a1001d3 fmin.d ft3,ft0,ft1 +80000564: 00353027 fsd ft3,0(a0) +80000568: 00452383 lw t2,4(a0) +8000056c: 00052503 lw a0,0(a0) +80000570: 001015f3 fsflags a1,zero +80000574: 00000613 li a2,0 +80000578: 0cd51e63 bne a0,a3,80000654 <fail> +8000057c: 0c731c63 bne t1,t2,80000654 <fail> +80000580: 0cc59a63 bne a1,a2,80000654 <fail> + +80000584 <test_31>: +80000584: 01f00193 li gp,31 +80000588: 00002517 auipc a0,0x2 +8000058c: c5850513 addi a0,a0,-936 # 800021e0 <test_31_data> +80000590: 00053007 fld ft0,0(a0) +80000594: 00853087 fld ft1,8(a0) +80000598: 01053107 fld ft2,16(a0) +8000059c: 01852683 lw a3,24(a0) +800005a0: 01c52303 lw t1,28(a0) +800005a4: 2a1001d3 fmin.d ft3,ft0,ft1 +800005a8: 00353027 fsd ft3,0(a0) +800005ac: 00452383 lw t2,4(a0) +800005b0: 00052503 lw a0,0(a0) +800005b4: 001015f3 fsflags a1,zero +800005b8: 00000613 li a2,0 +800005bc: 08d51c63 bne a0,a3,80000654 <fail> +800005c0: 08731a63 bne t1,t2,80000654 <fail> +800005c4: 08c59863 bne a1,a2,80000654 <fail> + +800005c8 <test_32>: +800005c8: 02000193 li gp,32 +800005cc: 00002517 auipc a0,0x2 +800005d0: c3450513 addi a0,a0,-972 # 80002200 <test_32_data> +800005d4: 00053007 fld ft0,0(a0) +800005d8: 00853087 fld ft1,8(a0) +800005dc: 01053107 fld ft2,16(a0) +800005e0: 01852683 lw a3,24(a0) +800005e4: 01c52303 lw t1,28(a0) +800005e8: 2a1011d3 fmax.d ft3,ft0,ft1 +800005ec: 00353027 fsd ft3,0(a0) +800005f0: 00452383 lw t2,4(a0) +800005f4: 00052503 lw a0,0(a0) +800005f8: 001015f3 fsflags a1,zero +800005fc: 00000613 li a2,0 +80000600: 04d51a63 bne a0,a3,80000654 <fail> +80000604: 04731863 bne t1,t2,80000654 <fail> +80000608: 04c59663 bne a1,a2,80000654 <fail> + +8000060c <test_33>: +8000060c: 02100193 li gp,33 +80000610: 00002517 auipc a0,0x2 +80000614: c1050513 addi a0,a0,-1008 # 80002220 <test_33_data> +80000618: 00053007 fld ft0,0(a0) +8000061c: 00853087 fld ft1,8(a0) +80000620: 01053107 fld ft2,16(a0) +80000624: 01852683 lw a3,24(a0) +80000628: 01c52303 lw t1,28(a0) +8000062c: 2a1011d3 fmax.d ft3,ft0,ft1 +80000630: 00353027 fsd ft3,0(a0) +80000634: 00452383 lw t2,4(a0) +80000638: 00052503 lw a0,0(a0) +8000063c: 001015f3 fsflags a1,zero +80000640: 00000613 li a2,0 +80000644: 00d51863 bne a0,a3,80000654 <fail> +80000648: 00731663 bne t1,t2,80000654 <fail> +8000064c: 00c59463 bne a1,a2,80000654 <fail> +80000650: 02301063 bne zero,gp,80000670 <pass> + +80000654 <fail>: +80000654: 0ff0000f fence +80000658: 00018063 beqz gp,80000658 <fail+0x4> +8000065c: 00119193 slli gp,gp,0x1 +80000660: 0011e193 ori gp,gp,1 +80000664: 05d00893 li a7,93 +80000668: 00018513 mv a0,gp +8000066c: 00000073 ecall + +80000670 <pass>: +80000670: 0ff0000f fence +80000674: 00100193 li gp,1 +80000678: 05d00893 li a7,93 +8000067c: 00000513 li a0,0 +80000680: 00000073 ecall +80000684: c0001073 unimp +80000688: 0000 unimp +8000068a: 0000 unimp +8000068c: 0000 unimp +8000068e: 0000 unimp +80000690: 0000 unimp +80000692: 0000 unimp +80000694: 0000 unimp +80000696: 0000 unimp +80000698: 0000 unimp +8000069a: 0000 unimp +8000069c: 0000 unimp +8000069e: 0000 unimp +800006a0: 0000 unimp +800006a2: 0000 unimp +800006a4: 0000 unimp +800006a6: 0000 unimp +800006a8: 0000 unimp +800006aa: 0000 unimp +800006ac: 0000 unimp +800006ae: 0000 unimp +800006b0: 0000 unimp +800006b2: 0000 unimp +800006b4: 0000 unimp +800006b6: 0000 unimp +800006b8: 0000 unimp +800006ba: 0000 unimp +800006bc: 0000 unimp +800006be: 0000 unimp +800006c0: 0000 unimp +800006c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 0000 unimp +80002004: 0000 unimp +80002006: 4004 lw s1,0(s0) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 3ff0 fld fa2,248(a5) +80002010: 0000 unimp +80002012: 0000 unimp +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 3ff0 fld fa2,248(a5) + +80002020 <test_3_data>: +80002020: 6666 flw fa2,88(sp) +80002022: 6666 flw fa2,88(sp) +80002024: 4c66 lw s8,88(sp) +80002026: 999ac093 xori ra,s5,-1639 +8000202a: 9999 andi a1,a1,-26 +8000202c: 9999 andi a1,a1,-26 +8000202e: 3ff1 jal 8000200a <test_2_data+0xa> +80002030: 0000 unimp +80002032: 0000 unimp +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 6666 flw fa2,88(sp) +8000203a: 6666 flw fa2,88(sp) +8000203c: 4c66 lw s8,88(sp) +8000203e: xori ra,s5,-1639 + +80002040 <test_4_data>: +80002040: 999a add s3,s3,t1 +80002042: 9999 andi a1,a1,-26 +80002044: 9999 andi a1,a1,-26 +80002046: 3ff1 jal 80002022 <test_3_data+0x2> +80002048: 6666 flw fa2,88(sp) +8000204a: 6666 flw fa2,88(sp) +8000204c: 4c66 lw s8,88(sp) +8000204e: 0000c093 xori ra,ra,0 +80002052: 0000 unimp +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 6666 flw fa2,88(sp) +8000205a: 6666 flw fa2,88(sp) +8000205c: 4c66 lw s8,88(sp) +8000205e: not ra,t6 + +80002060 <test_5_data>: +80002060: ffff 0xffff +80002062: ffff 0xffff +80002064: ffff 0xffff +80002066: 7fff 0x7fff +80002068: 6666 flw fa2,88(sp) +8000206a: 6666 flw fa2,88(sp) +8000206c: 4c66 lw s8,88(sp) +8000206e: 0000c093 xori ra,ra,0 +80002072: 0000 unimp +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 6666 flw fa2,88(sp) +8000207a: 6666 flw fa2,88(sp) +8000207c: 4c66 lw s8,88(sp) +8000207e: xori ra,gp,-689 + +80002080 <test_6_data>: +80002080: d4f1 beqz s1,8000204c <test_4_data+0xc> +80002082: 53c8 lw a0,36(a5) +80002084: 400921fb 0x400921fb +80002088: 8c3a mv s8,a4 +8000208a: e230 fsw fa2,64(a2) +8000208c: 798e flw fs3,224(sp) +8000208e: 3e45 jal 80001c3e <fromhost+0xbfe> +80002090: 0000 unimp +80002092: 0000 unimp +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 8c3a mv s8,a4 +8000209a: e230 fsw fa2,64(a2) +8000209c: 798e flw fs3,224(sp) +8000209e: 3e45 jal 80001c4e <fromhost+0xc0e> + +800020a0 <test_7_data>: +800020a0: 0000 unimp +800020a2: 0000 unimp +800020a4: 0000 unimp +800020a6: bff0 fsd fa2,248(a5) +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: c000 sw s0,0(s0) +800020b0: 0000 unimp +800020b2: 0000 unimp +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: c000 sw s0,0(s0) + +800020c0 <test_12_data>: +800020c0: 0000 unimp +800020c2: 0000 unimp +800020c4: 0000 unimp +800020c6: 4004 lw s1,0(s0) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 3ff0 fld fa2,248(a5) +800020d0: 0000 unimp +800020d2: 0000 unimp +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 4004 lw s1,0(s0) + +800020e0 <test_13_data>: +800020e0: 6666 flw fa2,88(sp) +800020e2: 6666 flw fa2,88(sp) +800020e4: 4c66 lw s8,88(sp) +800020e6: 999ac093 xori ra,s5,-1639 +800020ea: 9999 andi a1,a1,-26 +800020ec: 9999 andi a1,a1,-26 +800020ee: 3ff1 jal 800020ca <test_12_data+0xa> +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 999a add s3,s3,t1 +800020fa: 9999 andi a1,a1,-26 +800020fc: 9999 andi a1,a1,-26 +800020fe: 3ff1 jal 800020da <test_12_data+0x1a> + +80002100 <test_14_data>: +80002100: 999a add s3,s3,t1 +80002102: 9999 andi a1,a1,-26 +80002104: 9999 andi a1,a1,-26 +80002106: 3ff1 jal 800020e2 <test_13_data+0x2> +80002108: 6666 flw fa2,88(sp) +8000210a: 6666 flw fa2,88(sp) +8000210c: 4c66 lw s8,88(sp) +8000210e: 0000c093 xori ra,ra,0 +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 0000 unimp +80002118: 999a add s3,s3,t1 +8000211a: 9999 andi a1,a1,-26 +8000211c: 9999 andi a1,a1,-26 +8000211e: 3ff1 jal 800020fa <test_13_data+0x1a> + +80002120 <test_15_data>: +80002120: ffff 0xffff +80002122: ffff 0xffff +80002124: ffff 0xffff +80002126: 7fff 0x7fff +80002128: 6666 flw fa2,88(sp) +8000212a: 6666 flw fa2,88(sp) +8000212c: 4c66 lw s8,88(sp) +8000212e: 0000c093 xori ra,ra,0 +80002132: 0000 unimp +80002134: 0000 unimp +80002136: 0000 unimp +80002138: 6666 flw fa2,88(sp) +8000213a: 6666 flw fa2,88(sp) +8000213c: 4c66 lw s8,88(sp) +8000213e: xori ra,gp,-689 + +80002140 <test_16_data>: +80002140: d4f1 beqz s1,8000210c <test_14_data+0xc> +80002142: 53c8 lw a0,36(a5) +80002144: 400921fb 0x400921fb +80002148: 8c3a mv s8,a4 +8000214a: e230 fsw fa2,64(a2) +8000214c: 798e flw fs3,224(sp) +8000214e: 3e45 jal 80001cfe <fromhost+0xcbe> +80002150: 0000 unimp +80002152: 0000 unimp +80002154: 0000 unimp +80002156: 0000 unimp +80002158: d4f1 beqz s1,80002124 <test_15_data+0x4> +8000215a: 53c8 lw a0,36(a5) +8000215c: 400921fb 0x400921fb + +80002160 <test_17_data>: +80002160: 0000 unimp +80002162: 0000 unimp +80002164: 0000 unimp +80002166: bff0 fsd fa2,248(a5) +80002168: 0000 unimp +8000216a: 0000 unimp +8000216c: 0000 unimp +8000216e: c000 sw s0,0(s0) +80002170: 0000 unimp +80002172: 0000 unimp +80002174: 0000 unimp +80002176: 0000 unimp +80002178: 0000 unimp +8000217a: 0000 unimp +8000217c: 0000 unimp +8000217e: bff0 fsd fa2,248(a5) + +80002180 <test_20_data>: +80002180: 0001 nop +80002182: 0000 unimp +80002184: 0000 unimp +80002186: 7ff0 flw fa2,124(a5) +80002188: 0000 unimp +8000218a: 0000 unimp +8000218c: 0000 unimp +8000218e: 3ff0 fld fa2,248(a5) +80002190: 0000 unimp +80002192: 0000 unimp +80002194: 0000 unimp +80002196: 0000 unimp +80002198: 0000 unimp +8000219a: 0000 unimp +8000219c: 0000 unimp +8000219e: 3ff0 fld fa2,248(a5) + +800021a0 <test_21_data>: +800021a0: ffff 0xffff +800021a2: ffff 0xffff +800021a4: ffff 0xffff +800021a6: 7fff 0x7fff +800021a8: ffff 0xffff +800021aa: ffff 0xffff +800021ac: ffff 0xffff +800021ae: 7fff 0x7fff +800021b0: 0000 unimp +800021b2: 0000 unimp +800021b4: 0000 unimp +800021b6: 0000 unimp +800021b8: 0000 unimp +800021ba: 0000 unimp +800021bc: 0000 unimp +800021be: 7ff8 flw fa4,124(a5) + +800021c0 <test_30_data>: +800021c0: 0000 unimp +800021c2: 0000 unimp +800021c4: 0000 unimp +800021c6: 8000 0x8000 +800021c8: 0000 unimp +800021ca: 0000 unimp +800021cc: 0000 unimp +800021ce: 0000 unimp +800021d0: 0000 unimp +800021d2: 0000 unimp +800021d4: 0000 unimp +800021d6: 0000 unimp +800021d8: 0000 unimp +800021da: 0000 unimp +800021dc: 0000 unimp +800021de: 8000 0x8000 + +800021e0 <test_31_data>: +800021e0: 0000 unimp +800021e2: 0000 unimp +800021e4: 0000 unimp +800021e6: 0000 unimp +800021e8: 0000 unimp +800021ea: 0000 unimp +800021ec: 0000 unimp +800021ee: 8000 0x8000 +800021f0: 0000 unimp +800021f2: 0000 unimp +800021f4: 0000 unimp +800021f6: 0000 unimp +800021f8: 0000 unimp +800021fa: 0000 unimp +800021fc: 0000 unimp +800021fe: 8000 0x8000 + +80002200 <test_32_data>: +80002200: 0000 unimp +80002202: 0000 unimp +80002204: 0000 unimp +80002206: 8000 0x8000 +80002208: 0000 unimp +8000220a: 0000 unimp +8000220c: 0000 unimp +8000220e: 0000 unimp +80002210: 0000 unimp +80002212: 0000 unimp +80002214: 0000 unimp +80002216: 0000 unimp +80002218: 0000 unimp +8000221a: 0000 unimp +8000221c: 0000 unimp +8000221e: 0000 unimp + +80002220 <test_33_data>: +80002220: 0000 unimp +80002222: 0000 unimp +80002224: 0000 unimp +80002226: 0000 unimp +80002228: 0000 unimp +8000222a: 0000 unimp +8000222c: 0000 unimp +8000222e: 8000 0x8000 +80002230: 0000 unimp +80002232: 0000 unimp +80002234: 0000 unimp +80002236: 0000 unimp +80002238: 0000 unimp +8000223a: 0000 unimp +8000223c: 0000 unimp +8000223e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-ldst.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-ldst.dump new file mode 100644 index 0000000..d17d1b6 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-ldst.dump @@ -0,0 +1,267 @@ + +rv32ud-p-ldst: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfaf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <reset_vector+0x13c> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret +80000188: 00002417 auipc s0,0x2 +8000018c: ea840413 addi s0,s0,-344 # 80002030 <begin_signature> + +80000190 <test_2>: +80000190: 00043107 fld ft2,0(s0) +80000194: 00243827 fsd ft2,16(s0) +80000198: 01042503 lw a0,16(s0) +8000019c: 01442583 lw a1,20(s0) +800001a0: 00002797 auipc a5,0x2 +800001a4: e6078793 addi a5,a5,-416 # 80002000 <test_2_data> +800001a8: 0007a383 lw t2,0(a5) +800001ac: 0047a783 lw a5,4(a5) +800001b0: 00200193 li gp,2 +800001b4: 0a751e63 bne a0,t2,80000270 <fail> +800001b8: 0af59c63 bne a1,a5,80000270 <fail> + +800001bc <test_3>: +800001bc: 00043107 fld ft2,0(s0) +800001c0: 00242827 fsw ft2,16(s0) +800001c4: 01042503 lw a0,16(s0) +800001c8: 01442583 lw a1,20(s0) +800001cc: 00002797 auipc a5,0x2 +800001d0: e3c78793 addi a5,a5,-452 # 80002008 <test_3_data> +800001d4: 0007a383 lw t2,0(a5) +800001d8: 0047a783 lw a5,4(a5) +800001dc: 00300193 li gp,3 +800001e0: 08751863 bne a0,t2,80000270 <fail> +800001e4: 08f59663 bne a1,a5,80000270 <fail> + +800001e8 <test_4>: +800001e8: 00042107 flw ft2,0(s0) +800001ec: 00242827 fsw ft2,16(s0) +800001f0: 01042503 lw a0,16(s0) +800001f4: 01442583 lw a1,20(s0) +800001f8: 00002797 auipc a5,0x2 +800001fc: e1878793 addi a5,a5,-488 # 80002010 <test_4_data> +80000200: 0007a383 lw t2,0(a5) +80000204: 0047a783 lw a5,4(a5) +80000208: 00400193 li gp,4 +8000020c: 06751263 bne a0,t2,80000270 <fail> +80000210: 06f59063 bne a1,a5,80000270 <fail> + +80000214 <test_5>: +80000214: 00843107 fld ft2,8(s0) +80000218: 00243827 fsd ft2,16(s0) +8000021c: 01042503 lw a0,16(s0) +80000220: 01442583 lw a1,20(s0) +80000224: 00002797 auipc a5,0x2 +80000228: df478793 addi a5,a5,-524 # 80002018 <test_5_data> +8000022c: 0007a383 lw t2,0(a5) +80000230: 0047a783 lw a5,4(a5) +80000234: 00500193 li gp,5 +80000238: 02751c63 bne a0,t2,80000270 <fail> +8000023c: 02f59a63 bne a1,a5,80000270 <fail> + +80000240 <test_6>: +80000240: 00842107 flw ft2,8(s0) +80000244: 00243827 fsd ft2,16(s0) +80000248: 01042503 lw a0,16(s0) +8000024c: 01442583 lw a1,20(s0) +80000250: 00002797 auipc a5,0x2 +80000254: dd078793 addi a5,a5,-560 # 80002020 <test_6_data> +80000258: 0007a383 lw t2,0(a5) +8000025c: 0047a783 lw a5,4(a5) +80000260: 00600193 li gp,6 +80000264: 00751663 bne a0,t2,80000270 <fail> +80000268: 00f59463 bne a1,a5,80000270 <fail> +8000026c: 02301063 bne zero,gp,8000028c <pass> + +80000270 <fail>: +80000270: 0ff0000f fence +80000274: 00018063 beqz gp,80000274 <fail+0x4> +80000278: 00119193 slli gp,gp,0x1 +8000027c: 0011e193 ori gp,gp,1 +80000280: 05d00893 li a7,93 +80000284: 00018513 mv a0,gp +80000288: 00000073 ecall + +8000028c <pass>: +8000028c: 0ff0000f fence +80000290: 00100193 li gp,1 +80000294: 05d00893 li a7,93 +80000298: 00000513 li a0,0 +8000029c: 00000073 ecall +800002a0: c0001073 unimp +800002a4: 0000 unimp +800002a6: 0000 unimp +800002a8: 0000 unimp +800002aa: 0000 unimp +800002ac: 0000 unimp +800002ae: 0000 unimp +800002b0: 0000 unimp +800002b2: 0000 unimp +800002b4: 0000 unimp +800002b6: 0000 unimp +800002b8: 0000 unimp +800002ba: 0000 unimp +800002bc: 0000 unimp +800002be: 0000 unimp +800002c0: 0000 unimp +800002c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: bf80 fsd fs0,56(a5) +80002004: 0000 unimp +80002006: 4000 lw s0,0(s0) + +80002008 <test_3_data>: +80002008: 0000 unimp +8000200a: bf80 fsd fs0,56(a5) +8000200c: 0000 unimp +8000200e: 4000 lw s0,0(s0) + +80002010 <test_4_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: 0000 unimp +80002016: 4000 lw s0,0(s0) + +80002018 <test_5_data>: +80002018: 0000 unimp +8000201a: 4040 lw s0,4(s0) +8000201c: 0000 unimp +8000201e: c080 sw s0,0(s1) + +80002020 <test_6_data>: +80002020: 0000 unimp +80002022: 4040 lw s0,4(s0) +80002024: ffff 0xffff +80002026: ffff 0xffff +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <begin_signature>: +80002030: 0000 unimp +80002032: bf80 fsd fs0,56(a5) +80002034: 0000 unimp +80002036: 4000 lw s0,0(s0) +80002038: 0000 unimp +8000203a: 4040 lw s0,4(s0) +8000203c: 0000 unimp +8000203e: c080 sw s0,0(s1) +80002040: deadbeef jal t4,7ffdd62a <_start-0x229d6> +80002044: babe fsd fa5,368(sp) +80002046: cafe sw t6,84(sp) +80002048: 1dea slli s11,s11,0x3a +8000204a: abad j 800025c4 <_end+0x574> +8000204c: d00d beqz s0,80001f6e <fromhost+0xf2e> +8000204e: lui t1,0x1 diff --git a/VexRiscv/src/test/resources/asm/rv32ud-p-recoding.dump b/VexRiscv/src/test/resources/asm/rv32ud-p-recoding.dump new file mode 100644 index 0000000..1136439 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ud-p-recoding.dump @@ -0,0 +1,190 @@ + +rv32ud-p-recoding: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <reset_vector+0x13c> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret +80000188: 00002517 auipc a0,0x2 +8000018c: e7852007 flw ft0,-392(a0) # 80002000 <begin_signature> +80000190: 00002517 auipc a0,0x2 +80000194: e7452087 flw ft1,-396(a0) # 80002004 <three> +80000198: 1000f0d3 fmul.s ft1,ft1,ft0 + +8000019c <test_2>: +8000019c: a0102553 feq.s a0,ft0,ft1 +800001a0: 00100393 li t2,1 +800001a4: 00200193 li gp,2 +800001a8: 06751463 bne a0,t2,80000210 <fail> + +800001ac <test_3>: +800001ac: a0100553 fle.s a0,ft0,ft1 +800001b0: 00100393 li t2,1 +800001b4: 00300193 li gp,3 +800001b8: 04751c63 bne a0,t2,80000210 <fail> + +800001bc <test_4>: +800001bc: a0101553 flt.s a0,ft0,ft1 +800001c0: 00000393 li t2,0 +800001c4: 00400193 li gp,4 +800001c8: 04751463 bne a0,t2,80000210 <fail> +800001cc: d0007053 fcvt.s.w ft0,zero +800001d0: 00100513 li a0,1 +800001d4: d00570d3 fcvt.s.w ft1,a0 +800001d8: 1000f0d3 fmul.s ft1,ft1,ft0 + +800001dc <test_5>: +800001dc: a0102553 feq.s a0,ft0,ft1 +800001e0: 00100393 li t2,1 +800001e4: 00500193 li gp,5 +800001e8: 02751463 bne a0,t2,80000210 <fail> + +800001ec <test_6>: +800001ec: a0100553 fle.s a0,ft0,ft1 +800001f0: 00100393 li t2,1 +800001f4: 00600193 li gp,6 +800001f8: 00751c63 bne a0,t2,80000210 <fail> + +800001fc <test_7>: +800001fc: a0101553 flt.s a0,ft0,ft1 +80000200: 00000393 li t2,0 +80000204: 00700193 li gp,7 +80000208: 00751463 bne a0,t2,80000210 <fail> +8000020c: 02301063 bne zero,gp,8000022c <pass> + +80000210 <fail>: +80000210: 0ff0000f fence +80000214: 00018063 beqz gp,80000214 <fail+0x4> +80000218: 00119193 slli gp,gp,0x1 +8000021c: 0011e193 ori gp,gp,1 +80000220: 05d00893 li a7,93 +80000224: 00018513 mv a0,gp +80000228: 00000073 ecall + +8000022c <pass>: +8000022c: 0ff0000f fence +80000230: 00100193 li gp,1 +80000234: 05d00893 li a7,93 +80000238: 00000513 li a0,0 +8000023c: 00000073 ecall +80000240: c0001073 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 0000 unimp +80002002: ff80 fsw fs0,56(a5) + +80002004 <three>: +80002004: 0000 unimp +80002006: 4040 lw s0,4(s0) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fadd.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fadd.dump new file mode 100644 index 0000000..af247c2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fadd.dump @@ -0,0 +1,402 @@ + +rv32uf-p-fadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf5f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: 001071d3 fadd.s ft3,ft0,ft1 +800001a8: e0018553 fmv.x.w a0,ft3 +800001ac: 001015f3 fsflags a1,zero +800001b0: 00000613 li a2,0 +800001b4: 1ed51063 bne a0,a3,80000394 <fail> +800001b8: 1cc59e63 bne a1,a2,80000394 <fail> + +800001bc <test_3>: +800001bc: 00300193 li gp,3 +800001c0: 00002517 auipc a0,0x2 +800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data> +800001c8: 00052007 flw ft0,0(a0) +800001cc: 00452087 flw ft1,4(a0) +800001d0: 00852107 flw ft2,8(a0) +800001d4: 00c52683 lw a3,12(a0) +800001d8: 001071d3 fadd.s ft3,ft0,ft1 +800001dc: e0018553 fmv.x.w a0,ft3 +800001e0: 001015f3 fsflags a1,zero +800001e4: 00100613 li a2,1 +800001e8: 1ad51663 bne a0,a3,80000394 <fail> +800001ec: 1ac59463 bne a1,a2,80000394 <fail> + +800001f0 <test_4>: +800001f0: 00400193 li gp,4 +800001f4: 00002517 auipc a0,0x2 +800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data> +800001fc: 00052007 flw ft0,0(a0) +80000200: 00452087 flw ft1,4(a0) +80000204: 00852107 flw ft2,8(a0) +80000208: 00c52683 lw a3,12(a0) +8000020c: 001071d3 fadd.s ft3,ft0,ft1 +80000210: e0018553 fmv.x.w a0,ft3 +80000214: 001015f3 fsflags a1,zero +80000218: 00100613 li a2,1 +8000021c: 16d51c63 bne a0,a3,80000394 <fail> +80000220: 16c59a63 bne a1,a2,80000394 <fail> + +80000224 <test_5>: +80000224: 00500193 li gp,5 +80000228: 00002517 auipc a0,0x2 +8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data> +80000230: 00052007 flw ft0,0(a0) +80000234: 00452087 flw ft1,4(a0) +80000238: 00852107 flw ft2,8(a0) +8000023c: 00c52683 lw a3,12(a0) +80000240: 081071d3 fsub.s ft3,ft0,ft1 +80000244: e0018553 fmv.x.w a0,ft3 +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 14d51263 bne a0,a3,80000394 <fail> +80000254: 14c59063 bne a1,a2,80000394 <fail> + +80000258 <test_6>: +80000258: 00600193 li gp,6 +8000025c: 00002517 auipc a0,0x2 +80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: 081071d3 fsub.s ft3,ft0,ft1 +80000278: e0018553 fmv.x.w a0,ft3 +8000027c: 001015f3 fsflags a1,zero +80000280: 00100613 li a2,1 +80000284: 10d51863 bne a0,a3,80000394 <fail> +80000288: 10c59663 bne a1,a2,80000394 <fail> + +8000028c <test_7>: +8000028c: 00700193 li gp,7 +80000290: 00002517 auipc a0,0x2 +80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data> +80000298: 00052007 flw ft0,0(a0) +8000029c: 00452087 flw ft1,4(a0) +800002a0: 00852107 flw ft2,8(a0) +800002a4: 00c52683 lw a3,12(a0) +800002a8: 081071d3 fsub.s ft3,ft0,ft1 +800002ac: e0018553 fmv.x.w a0,ft3 +800002b0: 001015f3 fsflags a1,zero +800002b4: 00100613 li a2,1 +800002b8: 0cd51e63 bne a0,a3,80000394 <fail> +800002bc: 0cc59c63 bne a1,a2,80000394 <fail> + +800002c0 <test_8>: +800002c0: 00800193 li gp,8 +800002c4: 00002517 auipc a0,0x2 +800002c8: d9c50513 addi a0,a0,-612 # 80002060 <test_8_data> +800002cc: 00052007 flw ft0,0(a0) +800002d0: 00452087 flw ft1,4(a0) +800002d4: 00852107 flw ft2,8(a0) +800002d8: 00c52683 lw a3,12(a0) +800002dc: 101071d3 fmul.s ft3,ft0,ft1 +800002e0: e0018553 fmv.x.w a0,ft3 +800002e4: 001015f3 fsflags a1,zero +800002e8: 00000613 li a2,0 +800002ec: 0ad51463 bne a0,a3,80000394 <fail> +800002f0: 0ac59263 bne a1,a2,80000394 <fail> + +800002f4 <test_9>: +800002f4: 00900193 li gp,9 +800002f8: 00002517 auipc a0,0x2 +800002fc: d7850513 addi a0,a0,-648 # 80002070 <test_9_data> +80000300: 00052007 flw ft0,0(a0) +80000304: 00452087 flw ft1,4(a0) +80000308: 00852107 flw ft2,8(a0) +8000030c: 00c52683 lw a3,12(a0) +80000310: 101071d3 fmul.s ft3,ft0,ft1 +80000314: e0018553 fmv.x.w a0,ft3 +80000318: 001015f3 fsflags a1,zero +8000031c: 00100613 li a2,1 +80000320: 06d51a63 bne a0,a3,80000394 <fail> +80000324: 06c59863 bne a1,a2,80000394 <fail> + +80000328 <test_10>: +80000328: 00a00193 li gp,10 +8000032c: 00002517 auipc a0,0x2 +80000330: d5450513 addi a0,a0,-684 # 80002080 <test_10_data> +80000334: 00052007 flw ft0,0(a0) +80000338: 00452087 flw ft1,4(a0) +8000033c: 00852107 flw ft2,8(a0) +80000340: 00c52683 lw a3,12(a0) +80000344: 101071d3 fmul.s ft3,ft0,ft1 +80000348: e0018553 fmv.x.w a0,ft3 +8000034c: 001015f3 fsflags a1,zero +80000350: 00100613 li a2,1 +80000354: 04d51063 bne a0,a3,80000394 <fail> +80000358: 02c59e63 bne a1,a2,80000394 <fail> + +8000035c <test_11>: +8000035c: 00b00193 li gp,11 +80000360: 00002517 auipc a0,0x2 +80000364: d3050513 addi a0,a0,-720 # 80002090 <test_11_data> +80000368: 00052007 flw ft0,0(a0) +8000036c: 00452087 flw ft1,4(a0) +80000370: 00852107 flw ft2,8(a0) +80000374: 00c52683 lw a3,12(a0) +80000378: 081071d3 fsub.s ft3,ft0,ft1 +8000037c: e0018553 fmv.x.w a0,ft3 +80000380: 001015f3 fsflags a1,zero +80000384: 01000613 li a2,16 +80000388: 00d51663 bne a0,a3,80000394 <fail> +8000038c: 00c59463 bne a1,a2,80000394 <fail> +80000390: 02301063 bne zero,gp,800003b0 <pass> + +80000394 <fail>: +80000394: 0ff0000f fence +80000398: 00018063 beqz gp,80000398 <fail+0x4> +8000039c: 00119193 slli gp,gp,0x1 +800003a0: 0011e193 ori gp,gp,1 +800003a4: 05d00893 li a7,93 +800003a8: 00018513 mv a0,gp +800003ac: 00000073 ecall + +800003b0 <pass>: +800003b0: 0ff0000f fence +800003b4: 00100193 li gp,1 +800003b8: 05d00893 li a7,93 +800003bc: 00000513 li a0,0 +800003c0: 00000073 ecall +800003c4: c0001073 unimp +800003c8: 0000 unimp +800003ca: 0000 unimp +800003cc: 0000 unimp +800003ce: 0000 unimp +800003d0: 0000 unimp +800003d2: 0000 unimp +800003d4: 0000 unimp +800003d6: 0000 unimp +800003d8: 0000 unimp +800003da: 0000 unimp +800003dc: 0000 unimp +800003de: 0000 unimp +800003e0: 0000 unimp +800003e2: 0000 unimp +800003e4: 0000 unimp +800003e6: 0000 unimp +800003e8: 0000 unimp +800003ea: 0000 unimp +800003ec: 0000 unimp +800003ee: 0000 unimp +800003f0: 0000 unimp +800003f2: 0000 unimp +800003f4: 0000 unimp +800003f6: 0000 unimp +800003f8: 0000 unimp +800003fa: 0000 unimp +800003fc: 0000 unimp +800003fe: 0000 unimp +80000400: 0000 unimp +80000402: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 4020 lw s0,64(s0) +80002004: 0000 unimp +80002006: 3f80 fld fs0,56(a5) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 4060 lw s0,68(s0) + +80002010 <test_3_data>: +80002010: c49a6333 0xc49a6333 +80002014: cccd beqz s1,800020ce <_end+0x2e> +80002016: 3f8c fld fa1,56(a5) +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 4000 lw s0,0(s0) +8000201e: c49a sw t1,72(sp) + +80002020 <test_4_data>: +80002020: 40490fdb 0x40490fdb +80002024: 322bcc77 0x322bcc77 +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 40490fdb 0x40490fdb + +80002030 <test_5_data>: +80002030: 0000 unimp +80002032: 4020 lw s0,64(s0) +80002034: 0000 unimp +80002036: 3f80 fld fs0,56(a5) +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 3fc0 fld fs0,184(a5) + +80002040 <test_6_data>: +80002040: c49a6333 0xc49a6333 +80002044: cccd beqz s1,800020fe <_end+0x5e> +80002046: bf8c fsd fa1,56(a5) +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 4000 lw s0,0(s0) +8000204e: c49a sw t1,72(sp) + +80002050 <test_7_data>: +80002050: 40490fdb 0x40490fdb +80002054: 322bcc77 0x322bcc77 +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 40490fdb 0x40490fdb + +80002060 <test_8_data>: +80002060: 0000 unimp +80002062: 4020 lw s0,64(s0) +80002064: 0000 unimp +80002066: 3f80 fld fs0,56(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 4020 lw s0,64(s0) + +80002070 <test_9_data>: +80002070: c49a6333 0xc49a6333 +80002074: cccd beqz s1,8000212e <_end+0x8e> +80002076: bf8c fsd fa1,56(a5) +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: d385 beqz a5,80001f9c <fromhost+0xf5c> +8000207e: 44a9 li s1,10 + +80002080 <test_10_data>: +80002080: 40490fdb 0x40490fdb +80002084: 322bcc77 0x322bcc77 +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: ee2d bnez a2,80002106 <_end+0x66> +8000208e: 3306 fld ft6,96(sp) + +80002090 <test_11_data>: +80002090: 0000 unimp +80002092: 7f80 flw fs0,56(a5) +80002094: 0000 unimp +80002096: 7f80 flw fs0,56(a5) +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 7fc0 flw fs0,60(a5) diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fclass.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fclass.dump new file mode 100644 index 0000000..38e8286 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fclass.dump @@ -0,0 +1,218 @@ + +rv32uf-p-fclass: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: ff800537 lui a0,0xff800 +8000018c: f0050553 fmv.w.x fa0,a0 +80000190: e0051553 fclass.s a0,fa0 +80000194: 00100393 li t2,1 +80000198: 00200193 li gp,2 +8000019c: 0e751663 bne a0,t2,80000288 <fail> + +800001a0 <test_3>: +800001a0: bf800537 lui a0,0xbf800 +800001a4: f0050553 fmv.w.x fa0,a0 +800001a8: e0051553 fclass.s a0,fa0 +800001ac: 00200393 li t2,2 +800001b0: 00300193 li gp,3 +800001b4: 0c751a63 bne a0,t2,80000288 <fail> + +800001b8 <test_4>: +800001b8: 80800537 lui a0,0x80800 +800001bc: fff50513 addi a0,a0,-1 # 807fffff <_end+0x7fdfff> +800001c0: f0050553 fmv.w.x fa0,a0 +800001c4: e0051553 fclass.s a0,fa0 +800001c8: 00400393 li t2,4 +800001cc: 00400193 li gp,4 +800001d0: 0a751c63 bne a0,t2,80000288 <fail> + +800001d4 <test_5>: +800001d4: 80000537 lui a0,0x80000 +800001d8: f0050553 fmv.w.x fa0,a0 +800001dc: e0051553 fclass.s a0,fa0 +800001e0: 00800393 li t2,8 +800001e4: 00500193 li gp,5 +800001e8: 0a751063 bne a0,t2,80000288 <fail> + +800001ec <test_6>: +800001ec: 00000513 li a0,0 +800001f0: f0050553 fmv.w.x fa0,a0 +800001f4: e0051553 fclass.s a0,fa0 +800001f8: 01000393 li t2,16 +800001fc: 00600193 li gp,6 +80000200: 08751463 bne a0,t2,80000288 <fail> + +80000204 <test_7>: +80000204: 00800537 lui a0,0x800 +80000208: fff50513 addi a0,a0,-1 # 7fffff <_start-0x7f800001> +8000020c: f0050553 fmv.w.x fa0,a0 +80000210: e0051553 fclass.s a0,fa0 +80000214: 02000393 li t2,32 +80000218: 00700193 li gp,7 +8000021c: 06751663 bne a0,t2,80000288 <fail> + +80000220 <test_8>: +80000220: 3f800537 lui a0,0x3f800 +80000224: f0050553 fmv.w.x fa0,a0 +80000228: e0051553 fclass.s a0,fa0 +8000022c: 04000393 li t2,64 +80000230: 00800193 li gp,8 +80000234: 04751a63 bne a0,t2,80000288 <fail> + +80000238 <test_9>: +80000238: 7f800537 lui a0,0x7f800 +8000023c: f0050553 fmv.w.x fa0,a0 +80000240: e0051553 fclass.s a0,fa0 +80000244: 08000393 li t2,128 +80000248: 00900193 li gp,9 +8000024c: 02751e63 bne a0,t2,80000288 <fail> + +80000250 <test_10>: +80000250: 7f800537 lui a0,0x7f800 +80000254: 00150513 addi a0,a0,1 # 7f800001 <_start-0x7fffff> +80000258: f0050553 fmv.w.x fa0,a0 +8000025c: e0051553 fclass.s a0,fa0 +80000260: 10000393 li t2,256 +80000264: 00a00193 li gp,10 +80000268: 02751063 bne a0,t2,80000288 <fail> + +8000026c <test_11>: +8000026c: 7fc00537 lui a0,0x7fc00 +80000270: f0050553 fmv.w.x fa0,a0 +80000274: e0051553 fclass.s a0,fa0 +80000278: 20000393 li t2,512 +8000027c: 00b00193 li gp,11 +80000280: 00751463 bne a0,t2,80000288 <fail> +80000284: 02301063 bne zero,gp,800002a4 <pass> + +80000288 <fail>: +80000288: 0ff0000f fence +8000028c: 00018063 beqz gp,8000028c <fail+0x4> +80000290: 00119193 slli gp,gp,0x1 +80000294: 0011e193 ori gp,gp,1 +80000298: 05d00893 li a7,93 +8000029c: 00018513 mv a0,gp +800002a0: 00000073 ecall + +800002a4 <pass>: +800002a4: 0ff0000f fence +800002a8: 00100193 li gp,1 +800002ac: 05d00893 li a7,93 +800002b0: 00000513 li a0,0 +800002b4: 00000073 ecall +800002b8: c0001073 unimp +800002bc: 0000 unimp +800002be: 0000 unimp +800002c0: 0000 unimp +800002c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fcmp.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fcmp.dump new file mode 100644 index 0000000..50d7524 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fcmp.dump @@ -0,0 +1,510 @@ + +rv32uf-p-fcmp: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf0f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: a0102553 feq.s a0,ft0,ft1 +800001a8: 001015f3 fsflags a1,zero +800001ac: 00000613 li a2,0 +800001b0: 2ad51663 bne a0,a3,8000045c <fail> +800001b4: 2ac59463 bne a1,a2,8000045c <fail> + +800001b8 <test_3>: +800001b8: 00300193 li gp,3 +800001bc: 00002517 auipc a0,0x2 +800001c0: e5450513 addi a0,a0,-428 # 80002010 <test_3_data> +800001c4: 00052007 flw ft0,0(a0) +800001c8: 00452087 flw ft1,4(a0) +800001cc: 00852107 flw ft2,8(a0) +800001d0: 00c52683 lw a3,12(a0) +800001d4: a0100553 fle.s a0,ft0,ft1 +800001d8: 001015f3 fsflags a1,zero +800001dc: 00000613 li a2,0 +800001e0: 26d51e63 bne a0,a3,8000045c <fail> +800001e4: 26c59c63 bne a1,a2,8000045c <fail> + +800001e8 <test_4>: +800001e8: 00400193 li gp,4 +800001ec: 00002517 auipc a0,0x2 +800001f0: e3450513 addi a0,a0,-460 # 80002020 <test_4_data> +800001f4: 00052007 flw ft0,0(a0) +800001f8: 00452087 flw ft1,4(a0) +800001fc: 00852107 flw ft2,8(a0) +80000200: 00c52683 lw a3,12(a0) +80000204: a0101553 flt.s a0,ft0,ft1 +80000208: 001015f3 fsflags a1,zero +8000020c: 00000613 li a2,0 +80000210: 24d51663 bne a0,a3,8000045c <fail> +80000214: 24c59463 bne a1,a2,8000045c <fail> + +80000218 <test_5>: +80000218: 00500193 li gp,5 +8000021c: 00002517 auipc a0,0x2 +80000220: e1450513 addi a0,a0,-492 # 80002030 <test_5_data> +80000224: 00052007 flw ft0,0(a0) +80000228: 00452087 flw ft1,4(a0) +8000022c: 00852107 flw ft2,8(a0) +80000230: 00c52683 lw a3,12(a0) +80000234: a0102553 feq.s a0,ft0,ft1 +80000238: 001015f3 fsflags a1,zero +8000023c: 00000613 li a2,0 +80000240: 20d51e63 bne a0,a3,8000045c <fail> +80000244: 20c59c63 bne a1,a2,8000045c <fail> + +80000248 <test_6>: +80000248: 00600193 li gp,6 +8000024c: 00002517 auipc a0,0x2 +80000250: df450513 addi a0,a0,-524 # 80002040 <test_6_data> +80000254: 00052007 flw ft0,0(a0) +80000258: 00452087 flw ft1,4(a0) +8000025c: 00852107 flw ft2,8(a0) +80000260: 00c52683 lw a3,12(a0) +80000264: a0100553 fle.s a0,ft0,ft1 +80000268: 001015f3 fsflags a1,zero +8000026c: 00000613 li a2,0 +80000270: 1ed51663 bne a0,a3,8000045c <fail> +80000274: 1ec59463 bne a1,a2,8000045c <fail> + +80000278 <test_7>: +80000278: 00700193 li gp,7 +8000027c: 00002517 auipc a0,0x2 +80000280: dd450513 addi a0,a0,-556 # 80002050 <test_7_data> +80000284: 00052007 flw ft0,0(a0) +80000288: 00452087 flw ft1,4(a0) +8000028c: 00852107 flw ft2,8(a0) +80000290: 00c52683 lw a3,12(a0) +80000294: a0101553 flt.s a0,ft0,ft1 +80000298: 001015f3 fsflags a1,zero +8000029c: 00000613 li a2,0 +800002a0: 1ad51e63 bne a0,a3,8000045c <fail> +800002a4: 1ac59c63 bne a1,a2,8000045c <fail> + +800002a8 <test_8>: +800002a8: 00800193 li gp,8 +800002ac: 00002517 auipc a0,0x2 +800002b0: db450513 addi a0,a0,-588 # 80002060 <test_8_data> +800002b4: 00052007 flw ft0,0(a0) +800002b8: 00452087 flw ft1,4(a0) +800002bc: 00852107 flw ft2,8(a0) +800002c0: 00c52683 lw a3,12(a0) +800002c4: a0102553 feq.s a0,ft0,ft1 +800002c8: 001015f3 fsflags a1,zero +800002cc: 00000613 li a2,0 +800002d0: 18d51663 bne a0,a3,8000045c <fail> +800002d4: 18c59463 bne a1,a2,8000045c <fail> + +800002d8 <test_9>: +800002d8: 00900193 li gp,9 +800002dc: 00002517 auipc a0,0x2 +800002e0: d9450513 addi a0,a0,-620 # 80002070 <test_9_data> +800002e4: 00052007 flw ft0,0(a0) +800002e8: 00452087 flw ft1,4(a0) +800002ec: 00852107 flw ft2,8(a0) +800002f0: 00c52683 lw a3,12(a0) +800002f4: a0102553 feq.s a0,ft0,ft1 +800002f8: 001015f3 fsflags a1,zero +800002fc: 00000613 li a2,0 +80000300: 14d51e63 bne a0,a3,8000045c <fail> +80000304: 14c59c63 bne a1,a2,8000045c <fail> + +80000308 <test_10>: +80000308: 00a00193 li gp,10 +8000030c: 00002517 auipc a0,0x2 +80000310: d7450513 addi a0,a0,-652 # 80002080 <test_10_data> +80000314: 00052007 flw ft0,0(a0) +80000318: 00452087 flw ft1,4(a0) +8000031c: 00852107 flw ft2,8(a0) +80000320: 00c52683 lw a3,12(a0) +80000324: a0102553 feq.s a0,ft0,ft1 +80000328: 001015f3 fsflags a1,zero +8000032c: 01000613 li a2,16 +80000330: 12d51663 bne a0,a3,8000045c <fail> +80000334: 12c59463 bne a1,a2,8000045c <fail> + +80000338 <test_11>: +80000338: 00b00193 li gp,11 +8000033c: 00002517 auipc a0,0x2 +80000340: d5450513 addi a0,a0,-684 # 80002090 <test_11_data> +80000344: 00052007 flw ft0,0(a0) +80000348: 00452087 flw ft1,4(a0) +8000034c: 00852107 flw ft2,8(a0) +80000350: 00c52683 lw a3,12(a0) +80000354: a0101553 flt.s a0,ft0,ft1 +80000358: 001015f3 fsflags a1,zero +8000035c: 01000613 li a2,16 +80000360: 0ed51e63 bne a0,a3,8000045c <fail> +80000364: 0ec59c63 bne a1,a2,8000045c <fail> + +80000368 <test_12>: +80000368: 00c00193 li gp,12 +8000036c: 00002517 auipc a0,0x2 +80000370: d3450513 addi a0,a0,-716 # 800020a0 <test_12_data> +80000374: 00052007 flw ft0,0(a0) +80000378: 00452087 flw ft1,4(a0) +8000037c: 00852107 flw ft2,8(a0) +80000380: 00c52683 lw a3,12(a0) +80000384: a0101553 flt.s a0,ft0,ft1 +80000388: 001015f3 fsflags a1,zero +8000038c: 01000613 li a2,16 +80000390: 0cd51663 bne a0,a3,8000045c <fail> +80000394: 0cc59463 bne a1,a2,8000045c <fail> + +80000398 <test_13>: +80000398: 00d00193 li gp,13 +8000039c: 00002517 auipc a0,0x2 +800003a0: d1450513 addi a0,a0,-748 # 800020b0 <test_13_data> +800003a4: 00052007 flw ft0,0(a0) +800003a8: 00452087 flw ft1,4(a0) +800003ac: 00852107 flw ft2,8(a0) +800003b0: 00c52683 lw a3,12(a0) +800003b4: a0101553 flt.s a0,ft0,ft1 +800003b8: 001015f3 fsflags a1,zero +800003bc: 01000613 li a2,16 +800003c0: 08d51e63 bne a0,a3,8000045c <fail> +800003c4: 08c59c63 bne a1,a2,8000045c <fail> + +800003c8 <test_14>: +800003c8: 00e00193 li gp,14 +800003cc: 00002517 auipc a0,0x2 +800003d0: cf450513 addi a0,a0,-780 # 800020c0 <test_14_data> +800003d4: 00052007 flw ft0,0(a0) +800003d8: 00452087 flw ft1,4(a0) +800003dc: 00852107 flw ft2,8(a0) +800003e0: 00c52683 lw a3,12(a0) +800003e4: a0100553 fle.s a0,ft0,ft1 +800003e8: 001015f3 fsflags a1,zero +800003ec: 01000613 li a2,16 +800003f0: 06d51663 bne a0,a3,8000045c <fail> +800003f4: 06c59463 bne a1,a2,8000045c <fail> + +800003f8 <test_15>: +800003f8: 00f00193 li gp,15 +800003fc: 00002517 auipc a0,0x2 +80000400: cd450513 addi a0,a0,-812 # 800020d0 <test_15_data> +80000404: 00052007 flw ft0,0(a0) +80000408: 00452087 flw ft1,4(a0) +8000040c: 00852107 flw ft2,8(a0) +80000410: 00c52683 lw a3,12(a0) +80000414: a0100553 fle.s a0,ft0,ft1 +80000418: 001015f3 fsflags a1,zero +8000041c: 01000613 li a2,16 +80000420: 02d51e63 bne a0,a3,8000045c <fail> +80000424: 02c59c63 bne a1,a2,8000045c <fail> + +80000428 <test_16>: +80000428: 01000193 li gp,16 +8000042c: 00002517 auipc a0,0x2 +80000430: cb450513 addi a0,a0,-844 # 800020e0 <test_16_data> +80000434: 00052007 flw ft0,0(a0) +80000438: 00452087 flw ft1,4(a0) +8000043c: 00852107 flw ft2,8(a0) +80000440: 00c52683 lw a3,12(a0) +80000444: a0100553 fle.s a0,ft0,ft1 +80000448: 001015f3 fsflags a1,zero +8000044c: 01000613 li a2,16 +80000450: 00d51663 bne a0,a3,8000045c <fail> +80000454: 00c59463 bne a1,a2,8000045c <fail> +80000458: 02301063 bne zero,gp,80000478 <pass> + +8000045c <fail>: +8000045c: 0ff0000f fence +80000460: 00018063 beqz gp,80000460 <fail+0x4> +80000464: 00119193 slli gp,gp,0x1 +80000468: 0011e193 ori gp,gp,1 +8000046c: 05d00893 li a7,93 +80000470: 00018513 mv a0,gp +80000474: 00000073 ecall + +80000478 <pass>: +80000478: 0ff0000f fence +8000047c: 00100193 li gp,1 +80000480: 05d00893 li a7,93 +80000484: 00000513 li a0,0 +80000488: 00000073 ecall +8000048c: c0001073 unimp +80000490: 0000 unimp +80000492: 0000 unimp +80000494: 0000 unimp +80000496: 0000 unimp +80000498: 0000 unimp +8000049a: 0000 unimp +8000049c: 0000 unimp +8000049e: 0000 unimp +800004a0: 0000 unimp +800004a2: 0000 unimp +800004a4: 0000 unimp +800004a6: 0000 unimp +800004a8: 0000 unimp +800004aa: 0000 unimp +800004ac: 0000 unimp +800004ae: 0000 unimp +800004b0: 0000 unimp +800004b2: 0000 unimp +800004b4: 0000 unimp +800004b6: 0000 unimp +800004b8: 0000 unimp +800004ba: 0000 unimp +800004bc: 0000 unimp +800004be: 0000 unimp +800004c0: 0000 unimp +800004c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: bfae147b 0xbfae147b +80002004: bfae147b 0xbfae147b +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0001 nop +8000200e: 0000 unimp + +80002010 <test_3_data>: +80002010: bfae147b 0xbfae147b +80002014: bfae147b 0xbfae147b +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0001 nop +8000201e: 0000 unimp + +80002020 <test_4_data>: +80002020: bfae147b 0xbfae147b +80002024: bfae147b 0xbfae147b +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <test_5_data>: +80002030: 5c29 li s8,-22 +80002032: 147bbfaf 0x147bbfaf +80002036: bfae fsd fa1,504(sp) +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_6_data>: +80002040: 5c29 li s8,-22 +80002042: 147bbfaf 0x147bbfaf +80002046: bfae fsd fa1,504(sp) +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0001 nop +8000204e: 0000 unimp + +80002050 <test_7_data>: +80002050: 5c29 li s8,-22 +80002052: 147bbfaf 0x147bbfaf +80002056: bfae fsd fa1,504(sp) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0001 nop +8000205e: 0000 unimp + +80002060 <test_8_data>: +80002060: ffff 0xffff +80002062: 7fff 0x7fff +80002064: 0000 unimp +80002066: 0000 unimp +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp + +80002070 <test_9_data>: +80002070: ffff 0xffff +80002072: 7fff 0x7fff +80002074: ffff 0xffff +80002076: 7fff 0x7fff +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 0000 unimp + +80002080 <test_10_data>: +80002080: 0001 nop +80002082: 7f80 flw fs0,56(a5) +80002084: 0000 unimp +80002086: 0000 unimp +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp + +80002090 <test_11_data>: +80002090: ffff 0xffff +80002092: 7fff 0x7fff +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_12_data>: +800020a0: ffff 0xffff +800020a2: 7fff 0x7fff +800020a4: ffff 0xffff +800020a6: 7fff 0x7fff +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp + +800020b0 <test_13_data>: +800020b0: 0001 nop +800020b2: 7f80 flw fs0,56(a5) +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_14_data>: +800020c0: ffff 0xffff +800020c2: 7fff 0x7fff +800020c4: 0000 unimp +800020c6: 0000 unimp +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 0000 unimp + +800020d0 <test_15_data>: +800020d0: ffff 0xffff +800020d2: 7fff 0x7fff +800020d4: ffff 0xffff +800020d6: 7fff 0x7fff +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 0000 unimp + +800020e0 <test_16_data>: +800020e0: 0001 nop +800020e2: 7f80 flw fs0,56(a5) +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fcvt.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fcvt.dump new file mode 100644 index 0000000..2b648da --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fcvt.dump @@ -0,0 +1,219 @@ + +rv32uf-p-fcvt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052683 lw a3,0(a0) +80000198: 00200513 li a0,2 +8000019c: d0057053 fcvt.s.w ft0,a0 +800001a0: 00101073 fsflags zero +800001a4: e0000553 fmv.x.w a0,ft0 +800001a8: 06d51a63 bne a0,a3,8000021c <fail> + +800001ac <test_3>: +800001ac: 00300193 li gp,3 +800001b0: 00002517 auipc a0,0x2 +800001b4: e5450513 addi a0,a0,-428 # 80002004 <test_3_data> +800001b8: 00052683 lw a3,0(a0) +800001bc: ffe00513 li a0,-2 +800001c0: d0057053 fcvt.s.w ft0,a0 +800001c4: 00101073 fsflags zero +800001c8: e0000553 fmv.x.w a0,ft0 +800001cc: 04d51863 bne a0,a3,8000021c <fail> + +800001d0 <test_4>: +800001d0: 00400193 li gp,4 +800001d4: 00002517 auipc a0,0x2 +800001d8: e3450513 addi a0,a0,-460 # 80002008 <test_4_data> +800001dc: 00052683 lw a3,0(a0) +800001e0: 00200513 li a0,2 +800001e4: d0157053 fcvt.s.wu ft0,a0 +800001e8: 00101073 fsflags zero +800001ec: e0000553 fmv.x.w a0,ft0 +800001f0: 02d51663 bne a0,a3,8000021c <fail> + +800001f4 <test_5>: +800001f4: 00500193 li gp,5 +800001f8: 00002517 auipc a0,0x2 +800001fc: e1450513 addi a0,a0,-492 # 8000200c <test_5_data> +80000200: 00052683 lw a3,0(a0) +80000204: ffe00513 li a0,-2 +80000208: d0157053 fcvt.s.wu ft0,a0 +8000020c: 00101073 fsflags zero +80000210: e0000553 fmv.x.w a0,ft0 +80000214: 00d51463 bne a0,a3,8000021c <fail> +80000218: 02301063 bne zero,gp,80000238 <pass> + +8000021c <fail>: +8000021c: 0ff0000f fence +80000220: 00018063 beqz gp,80000220 <fail+0x4> +80000224: 00119193 slli gp,gp,0x1 +80000228: 0011e193 ori gp,gp,1 +8000022c: 05d00893 li a7,93 +80000230: 00018513 mv a0,gp +80000234: 00000073 ecall + +80000238 <pass>: +80000238: 0ff0000f fence +8000023c: 00100193 li gp,1 +80000240: 05d00893 li a7,93 +80000244: 00000513 li a0,0 +80000248: 00000073 ecall +8000024c: c0001073 unimp +80000250: 0000 unimp +80000252: 0000 unimp +80000254: 0000 unimp +80000256: 0000 unimp +80000258: 0000 unimp +8000025a: 0000 unimp +8000025c: 0000 unimp +8000025e: 0000 unimp +80000260: 0000 unimp +80000262: 0000 unimp +80000264: 0000 unimp +80000266: 0000 unimp +80000268: 0000 unimp +8000026a: 0000 unimp +8000026c: 0000 unimp +8000026e: 0000 unimp +80000270: 0000 unimp +80000272: 0000 unimp +80000274: 0000 unimp +80000276: 0000 unimp +80000278: 0000 unimp +8000027a: 0000 unimp +8000027c: 0000 unimp +8000027e: 0000 unimp +80000280: 0000 unimp +80000282: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 4000 lw s0,0(s0) + +80002004 <test_3_data>: +80002004: 0000 unimp +80002006: c000 sw s0,0(s0) + +80002008 <test_4_data>: +80002008: 0000 unimp +8000200a: 4000 lw s0,0(s0) + +8000200c <test_5_data>: +8000200c: 0000 unimp +8000200e: 4f80 lw s0,24(a5) diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fcvt_w.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fcvt_w.dump new file mode 100644 index 0000000..48a51a3 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fcvt_w.dump @@ -0,0 +1,632 @@ + +rv32uf-p-fcvt_w: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdecf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: c0001553 fcvt.w.s a0,ft0,rtz +800001a8: 001015f3 fsflags a1,zero +800001ac: 00100613 li a2,1 +800001b0: 3cd51463 bne a0,a3,80000578 <fail> +800001b4: 3cc59263 bne a1,a2,80000578 <fail> + +800001b8 <test_3>: +800001b8: 00300193 li gp,3 +800001bc: 00002517 auipc a0,0x2 +800001c0: e5450513 addi a0,a0,-428 # 80002010 <test_3_data> +800001c4: 00052007 flw ft0,0(a0) +800001c8: 00452087 flw ft1,4(a0) +800001cc: 00852107 flw ft2,8(a0) +800001d0: 00c52683 lw a3,12(a0) +800001d4: c0001553 fcvt.w.s a0,ft0,rtz +800001d8: 001015f3 fsflags a1,zero +800001dc: 00000613 li a2,0 +800001e0: 38d51c63 bne a0,a3,80000578 <fail> +800001e4: 38c59a63 bne a1,a2,80000578 <fail> + +800001e8 <test_4>: +800001e8: 00400193 li gp,4 +800001ec: 00002517 auipc a0,0x2 +800001f0: e3450513 addi a0,a0,-460 # 80002020 <test_4_data> +800001f4: 00052007 flw ft0,0(a0) +800001f8: 00452087 flw ft1,4(a0) +800001fc: 00852107 flw ft2,8(a0) +80000200: 00c52683 lw a3,12(a0) +80000204: c0001553 fcvt.w.s a0,ft0,rtz +80000208: 001015f3 fsflags a1,zero +8000020c: 00100613 li a2,1 +80000210: 36d51463 bne a0,a3,80000578 <fail> +80000214: 36c59263 bne a1,a2,80000578 <fail> + +80000218 <test_5>: +80000218: 00500193 li gp,5 +8000021c: 00002517 auipc a0,0x2 +80000220: e1450513 addi a0,a0,-492 # 80002030 <test_5_data> +80000224: 00052007 flw ft0,0(a0) +80000228: 00452087 flw ft1,4(a0) +8000022c: 00852107 flw ft2,8(a0) +80000230: 00c52683 lw a3,12(a0) +80000234: c0001553 fcvt.w.s a0,ft0,rtz +80000238: 001015f3 fsflags a1,zero +8000023c: 00100613 li a2,1 +80000240: 32d51c63 bne a0,a3,80000578 <fail> +80000244: 32c59a63 bne a1,a2,80000578 <fail> + +80000248 <test_6>: +80000248: 00600193 li gp,6 +8000024c: 00002517 auipc a0,0x2 +80000250: df450513 addi a0,a0,-524 # 80002040 <test_6_data> +80000254: 00052007 flw ft0,0(a0) +80000258: 00452087 flw ft1,4(a0) +8000025c: 00852107 flw ft2,8(a0) +80000260: 00c52683 lw a3,12(a0) +80000264: c0001553 fcvt.w.s a0,ft0,rtz +80000268: 001015f3 fsflags a1,zero +8000026c: 00000613 li a2,0 +80000270: 30d51463 bne a0,a3,80000578 <fail> +80000274: 30c59263 bne a1,a2,80000578 <fail> + +80000278 <test_7>: +80000278: 00700193 li gp,7 +8000027c: 00002517 auipc a0,0x2 +80000280: dd450513 addi a0,a0,-556 # 80002050 <test_7_data> +80000284: 00052007 flw ft0,0(a0) +80000288: 00452087 flw ft1,4(a0) +8000028c: 00852107 flw ft2,8(a0) +80000290: 00c52683 lw a3,12(a0) +80000294: c0001553 fcvt.w.s a0,ft0,rtz +80000298: 001015f3 fsflags a1,zero +8000029c: 00100613 li a2,1 +800002a0: 2cd51c63 bne a0,a3,80000578 <fail> +800002a4: 2cc59a63 bne a1,a2,80000578 <fail> + +800002a8 <test_8>: +800002a8: 00800193 li gp,8 +800002ac: 00002517 auipc a0,0x2 +800002b0: db450513 addi a0,a0,-588 # 80002060 <test_8_data> +800002b4: 00052007 flw ft0,0(a0) +800002b8: 00452087 flw ft1,4(a0) +800002bc: 00852107 flw ft2,8(a0) +800002c0: 00c52683 lw a3,12(a0) +800002c4: c0001553 fcvt.w.s a0,ft0,rtz +800002c8: 001015f3 fsflags a1,zero +800002cc: 01000613 li a2,16 +800002d0: 2ad51463 bne a0,a3,80000578 <fail> +800002d4: 2ac59263 bne a1,a2,80000578 <fail> + +800002d8 <test_9>: +800002d8: 00900193 li gp,9 +800002dc: 00002517 auipc a0,0x2 +800002e0: d9450513 addi a0,a0,-620 # 80002070 <test_9_data> +800002e4: 00052007 flw ft0,0(a0) +800002e8: 00452087 flw ft1,4(a0) +800002ec: 00852107 flw ft2,8(a0) +800002f0: 00c52683 lw a3,12(a0) +800002f4: c0001553 fcvt.w.s a0,ft0,rtz +800002f8: 001015f3 fsflags a1,zero +800002fc: 01000613 li a2,16 +80000300: 26d51c63 bne a0,a3,80000578 <fail> +80000304: 26c59a63 bne a1,a2,80000578 <fail> + +80000308 <test_12>: +80000308: 00c00193 li gp,12 +8000030c: 00002517 auipc a0,0x2 +80000310: d7450513 addi a0,a0,-652 # 80002080 <test_12_data> +80000314: 00052007 flw ft0,0(a0) +80000318: 00452087 flw ft1,4(a0) +8000031c: 00852107 flw ft2,8(a0) +80000320: 00c52683 lw a3,12(a0) +80000324: c0101553 fcvt.wu.s a0,ft0,rtz +80000328: 001015f3 fsflags a1,zero +8000032c: 01000613 li a2,16 +80000330: 24d51463 bne a0,a3,80000578 <fail> +80000334: 24c59263 bne a1,a2,80000578 <fail> + +80000338 <test_13>: +80000338: 00d00193 li gp,13 +8000033c: 00002517 auipc a0,0x2 +80000340: d5450513 addi a0,a0,-684 # 80002090 <test_13_data> +80000344: 00052007 flw ft0,0(a0) +80000348: 00452087 flw ft1,4(a0) +8000034c: 00852107 flw ft2,8(a0) +80000350: 00c52683 lw a3,12(a0) +80000354: c0101553 fcvt.wu.s a0,ft0,rtz +80000358: 001015f3 fsflags a1,zero +8000035c: 01000613 li a2,16 +80000360: 20d51c63 bne a0,a3,80000578 <fail> +80000364: 20c59a63 bne a1,a2,80000578 <fail> + +80000368 <test_14>: +80000368: 00e00193 li gp,14 +8000036c: 00002517 auipc a0,0x2 +80000370: d3450513 addi a0,a0,-716 # 800020a0 <test_14_data> +80000374: 00052007 flw ft0,0(a0) +80000378: 00452087 flw ft1,4(a0) +8000037c: 00852107 flw ft2,8(a0) +80000380: 00c52683 lw a3,12(a0) +80000384: c0101553 fcvt.wu.s a0,ft0,rtz +80000388: 001015f3 fsflags a1,zero +8000038c: 00100613 li a2,1 +80000390: 1ed51463 bne a0,a3,80000578 <fail> +80000394: 1ec59263 bne a1,a2,80000578 <fail> + +80000398 <test_15>: +80000398: 00f00193 li gp,15 +8000039c: 00002517 auipc a0,0x2 +800003a0: d1450513 addi a0,a0,-748 # 800020b0 <test_15_data> +800003a4: 00052007 flw ft0,0(a0) +800003a8: 00452087 flw ft1,4(a0) +800003ac: 00852107 flw ft2,8(a0) +800003b0: 00c52683 lw a3,12(a0) +800003b4: c0101553 fcvt.wu.s a0,ft0,rtz +800003b8: 001015f3 fsflags a1,zero +800003bc: 00100613 li a2,1 +800003c0: 1ad51c63 bne a0,a3,80000578 <fail> +800003c4: 1ac59a63 bne a1,a2,80000578 <fail> + +800003c8 <test_16>: +800003c8: 01000193 li gp,16 +800003cc: 00002517 auipc a0,0x2 +800003d0: cf450513 addi a0,a0,-780 # 800020c0 <test_16_data> +800003d4: 00052007 flw ft0,0(a0) +800003d8: 00452087 flw ft1,4(a0) +800003dc: 00852107 flw ft2,8(a0) +800003e0: 00c52683 lw a3,12(a0) +800003e4: c0101553 fcvt.wu.s a0,ft0,rtz +800003e8: 001015f3 fsflags a1,zero +800003ec: 00000613 li a2,0 +800003f0: 18d51463 bne a0,a3,80000578 <fail> +800003f4: 18c59263 bne a1,a2,80000578 <fail> + +800003f8 <test_17>: +800003f8: 01100193 li gp,17 +800003fc: 00002517 auipc a0,0x2 +80000400: cd450513 addi a0,a0,-812 # 800020d0 <test_17_data> +80000404: 00052007 flw ft0,0(a0) +80000408: 00452087 flw ft1,4(a0) +8000040c: 00852107 flw ft2,8(a0) +80000410: 00c52683 lw a3,12(a0) +80000414: c0101553 fcvt.wu.s a0,ft0,rtz +80000418: 001015f3 fsflags a1,zero +8000041c: 00100613 li a2,1 +80000420: 14d51c63 bne a0,a3,80000578 <fail> +80000424: 14c59a63 bne a1,a2,80000578 <fail> + +80000428 <test_18>: +80000428: 01200193 li gp,18 +8000042c: 00002517 auipc a0,0x2 +80000430: cb450513 addi a0,a0,-844 # 800020e0 <test_18_data> +80000434: 00052007 flw ft0,0(a0) +80000438: 00452087 flw ft1,4(a0) +8000043c: 00852107 flw ft2,8(a0) +80000440: 00c52683 lw a3,12(a0) +80000444: c0101553 fcvt.wu.s a0,ft0,rtz +80000448: 001015f3 fsflags a1,zero +8000044c: 01000613 li a2,16 +80000450: 12d51463 bne a0,a3,80000578 <fail> +80000454: 12c59263 bne a1,a2,80000578 <fail> + +80000458 <test_19>: +80000458: 01300193 li gp,19 +8000045c: 00002517 auipc a0,0x2 +80000460: c9450513 addi a0,a0,-876 # 800020f0 <test_19_data> +80000464: 00052007 flw ft0,0(a0) +80000468: 00452087 flw ft1,4(a0) +8000046c: 00852107 flw ft2,8(a0) +80000470: 00c52683 lw a3,12(a0) +80000474: c0101553 fcvt.wu.s a0,ft0,rtz +80000478: 001015f3 fsflags a1,zero +8000047c: 00000613 li a2,0 +80000480: 0ed51c63 bne a0,a3,80000578 <fail> +80000484: 0ec59a63 bne a1,a2,80000578 <fail> + +80000488 <test_42>: +80000488: 00002097 auipc ra,0x2 +8000048c: c7808093 addi ra,ra,-904 # 80002100 <begin_signature> +80000490: 0000a087 flw ft1,0(ra) +80000494: c000f0d3 fcvt.w.s ra,ft1 +80000498: 800003b7 lui t2,0x80000 +8000049c: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf> +800004a0: 02a00193 li gp,42 +800004a4: 0c709a63 bne ra,t2,80000578 <fail> + +800004a8 <test_44>: +800004a8: 00002097 auipc ra,0x2 +800004ac: c5808093 addi ra,ra,-936 # 80002100 <begin_signature> +800004b0: 0080a087 flw ft1,8(ra) +800004b4: c000f0d3 fcvt.w.s ra,ft1 +800004b8: 800003b7 lui t2,0x80000 +800004bc: 02c00193 li gp,44 +800004c0: 0a709c63 bne ra,t2,80000578 <fail> + +800004c4 <test_52>: +800004c4: 00002097 auipc ra,0x2 +800004c8: c3c08093 addi ra,ra,-964 # 80002100 <begin_signature> +800004cc: 0040a087 flw ft1,4(ra) +800004d0: c000f0d3 fcvt.w.s ra,ft1 +800004d4: 800003b7 lui t2,0x80000 +800004d8: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf> +800004dc: 03400193 li gp,52 +800004e0: 08709c63 bne ra,t2,80000578 <fail> + +800004e4 <test_54>: +800004e4: 00002097 auipc ra,0x2 +800004e8: c1c08093 addi ra,ra,-996 # 80002100 <begin_signature> +800004ec: 00c0a087 flw ft1,12(ra) +800004f0: c000f0d3 fcvt.w.s ra,ft1 +800004f4: 800003b7 lui t2,0x80000 +800004f8: fff38393 addi t2,t2,-1 # 7fffffff <_end+0xffffdecf> +800004fc: 03600193 li gp,54 +80000500: 06709c63 bne ra,t2,80000578 <fail> + +80000504 <test_62>: +80000504: 00002097 auipc ra,0x2 +80000508: bfc08093 addi ra,ra,-1028 # 80002100 <begin_signature> +8000050c: 0000a087 flw ft1,0(ra) +80000510: c010f0d3 fcvt.wu.s ra,ft1 +80000514: fff00393 li t2,-1 +80000518: 03e00193 li gp,62 +8000051c: 04709e63 bne ra,t2,80000578 <fail> + +80000520 <test_63>: +80000520: 00002097 auipc ra,0x2 +80000524: be008093 addi ra,ra,-1056 # 80002100 <begin_signature> +80000528: 0040a087 flw ft1,4(ra) +8000052c: c010f0d3 fcvt.wu.s ra,ft1 +80000530: fff00393 li t2,-1 +80000534: 03f00193 li gp,63 +80000538: 04709063 bne ra,t2,80000578 <fail> + +8000053c <test_64>: +8000053c: 00002097 auipc ra,0x2 +80000540: bc408093 addi ra,ra,-1084 # 80002100 <begin_signature> +80000544: 0080a087 flw ft1,8(ra) +80000548: c010f0d3 fcvt.wu.s ra,ft1 +8000054c: 00000393 li t2,0 +80000550: 04000193 li gp,64 +80000554: 02709263 bne ra,t2,80000578 <fail> + +80000558 <test_65>: +80000558: 00002097 auipc ra,0x2 +8000055c: ba808093 addi ra,ra,-1112 # 80002100 <begin_signature> +80000560: 00c0a087 flw ft1,12(ra) +80000564: c010f0d3 fcvt.wu.s ra,ft1 +80000568: fff00393 li t2,-1 +8000056c: 04100193 li gp,65 +80000570: 00709463 bne ra,t2,80000578 <fail> +80000574: 02301063 bne zero,gp,80000594 <pass> + +80000578 <fail>: +80000578: 0ff0000f fence +8000057c: 00018063 beqz gp,8000057c <fail+0x4> +80000580: 00119193 slli gp,gp,0x1 +80000584: 0011e193 ori gp,gp,1 +80000588: 05d00893 li a7,93 +8000058c: 00018513 mv a0,gp +80000590: 00000073 ecall + +80000594 <pass>: +80000594: 0ff0000f fence +80000598: 00100193 li gp,1 +8000059c: 05d00893 li a7,93 +800005a0: 00000513 li a0,0 +800005a4: 00000073 ecall +800005a8: c0001073 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: cccd beqz s1,800020ba <test_15_data+0xa> +80002002: bf8c fsd fa1,56(a5) +80002004: 0000 unimp +80002006: 0000 unimp +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: ffff 0xffff +8000200e: ffff 0xffff + +80002010 <test_3_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: 0000 unimp +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: ffff 0xffff +8000201e: ffff 0xffff + +80002020 <test_4_data>: +80002020: 6666 flw fa2,88(sp) +80002022: bf66 fsd fs9,440(sp) +80002024: 0000 unimp +80002026: 0000 unimp +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp + +80002030 <test_5_data>: +80002030: 6666 flw fa2,88(sp) +80002032: 3f66 fld ft10,120(sp) +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: 0000 unimp +8000203e: 0000 unimp + +80002040 <test_6_data>: +80002040: 0000 unimp +80002042: 3f80 fld fs0,56(a5) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0001 nop +8000204e: 0000 unimp + +80002050 <test_7_data>: +80002050: cccd beqz s1,8000210a <begin_signature+0xa> +80002052: 3f8c fld fa1,56(a5) +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0001 nop +8000205e: 0000 unimp + +80002060 <test_8_data>: +80002060: d05e sw s7,32(sp) +80002062: cf32 sw a2,156(sp) +80002064: 0000 unimp +80002066: 0000 unimp +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 8000 0x8000 + +80002070 <test_9_data>: +80002070: d05e sw s7,32(sp) +80002072: 4f32 lw t5,12(sp) +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: ffff 0xffff +8000207e: 7fff 0x7fff + +80002080 <test_12_data>: +80002080: 0000 unimp +80002082: c040 sw s0,4(s0) +80002084: 0000 unimp +80002086: 0000 unimp +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: 0000 unimp +8000208e: 0000 unimp + +80002090 <test_13_data>: +80002090: 0000 unimp +80002092: bf80 fsd fs0,56(a5) +80002094: 0000 unimp +80002096: 0000 unimp +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: 0000 unimp +8000209e: 0000 unimp + +800020a0 <test_14_data>: +800020a0: 6666 flw fa2,88(sp) +800020a2: bf66 fsd fs9,440(sp) +800020a4: 0000 unimp +800020a6: 0000 unimp +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 0000 unimp +800020ae: 0000 unimp + +800020b0 <test_15_data>: +800020b0: 6666 flw fa2,88(sp) +800020b2: 3f66 fld ft10,120(sp) +800020b4: 0000 unimp +800020b6: 0000 unimp +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: 0000 unimp + +800020c0 <test_16_data>: +800020c0: 0000 unimp +800020c2: 3f80 fld fs0,56(a5) +800020c4: 0000 unimp +800020c6: 0000 unimp +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0001 nop +800020ce: 0000 unimp + +800020d0 <test_17_data>: +800020d0: cccd beqz s1,8000218a <_end+0x5a> +800020d2: 3f8c fld fa1,56(a5) +800020d4: 0000 unimp +800020d6: 0000 unimp +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0001 nop +800020de: 0000 unimp + +800020e0 <test_18_data>: +800020e0: d05e sw s7,32(sp) +800020e2: cf32 sw a2,156(sp) +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 0000 unimp + +800020f0 <test_19_data>: +800020f0: d05e sw s7,32(sp) +800020f2: 4f32 lw t5,12(sp) +800020f4: 0000 unimp +800020f6: 0000 unimp +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 5e00 lw s0,56(a2) +800020fe: b2d0 fsd fa2,160(a3) + +80002100 <begin_signature>: +80002100: ffff 0xffff +80002102: ffff 0xffff +80002104: ffff 0xffff +80002106: 7fff 0x7fff +80002108: 0000 unimp +8000210a: ff80 fsw fs0,56(a5) +8000210c: 0000 unimp +8000210e: 7f80 flw fs0,56(a5) + +80002110 <tdat_d>: +80002110: ffff 0xffff +80002112: ffff 0xffff +80002114: ffff 0xffff +80002116: ffff 0xffff +80002118: ffff 0xffff +8000211a: ffff 0xffff +8000211c: ffff 0xffff +8000211e: 7fff 0x7fff +80002120: 0000 unimp +80002122: 0000 unimp +80002124: 0000 unimp +80002126: fff0 fsw fa2,124(a5) +80002128: 0000 unimp +8000212a: 0000 unimp +8000212c: 0000 unimp +8000212e: 7ff0 flw fa2,124(a5) diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fdiv.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fdiv.dump new file mode 100644 index 0000000..0f13dda --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fdiv.dump @@ -0,0 +1,322 @@ + +rv32uf-p-fdiv: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf7f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: 181071d3 fdiv.s ft3,ft0,ft1 +800001a8: e0018553 fmv.x.w a0,ft3 +800001ac: 001015f3 fsflags a1,zero +800001b0: 00100613 li a2,1 +800001b4: 14d51263 bne a0,a3,800002f8 <fail> +800001b8: 14c59063 bne a1,a2,800002f8 <fail> + +800001bc <test_3>: +800001bc: 00300193 li gp,3 +800001c0: 00002517 auipc a0,0x2 +800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data> +800001c8: 00052007 flw ft0,0(a0) +800001cc: 00452087 flw ft1,4(a0) +800001d0: 00852107 flw ft2,8(a0) +800001d4: 00c52683 lw a3,12(a0) +800001d8: 181071d3 fdiv.s ft3,ft0,ft1 +800001dc: e0018553 fmv.x.w a0,ft3 +800001e0: 001015f3 fsflags a1,zero +800001e4: 00100613 li a2,1 +800001e8: 10d51863 bne a0,a3,800002f8 <fail> +800001ec: 10c59663 bne a1,a2,800002f8 <fail> + +800001f0 <test_4>: +800001f0: 00400193 li gp,4 +800001f4: 00002517 auipc a0,0x2 +800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data> +800001fc: 00052007 flw ft0,0(a0) +80000200: 00452087 flw ft1,4(a0) +80000204: 00852107 flw ft2,8(a0) +80000208: 00c52683 lw a3,12(a0) +8000020c: 181071d3 fdiv.s ft3,ft0,ft1 +80000210: e0018553 fmv.x.w a0,ft3 +80000214: 001015f3 fsflags a1,zero +80000218: 00000613 li a2,0 +8000021c: 0cd51e63 bne a0,a3,800002f8 <fail> +80000220: 0cc59c63 bne a1,a2,800002f8 <fail> + +80000224 <test_5>: +80000224: 00500193 li gp,5 +80000228: 00002517 auipc a0,0x2 +8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data> +80000230: 00052007 flw ft0,0(a0) +80000234: 00452087 flw ft1,4(a0) +80000238: 00852107 flw ft2,8(a0) +8000023c: 00c52683 lw a3,12(a0) +80000240: 580071d3 fsqrt.s ft3,ft0 +80000244: e0018553 fmv.x.w a0,ft3 +80000248: 001015f3 fsflags a1,zero +8000024c: 00100613 li a2,1 +80000250: 0ad51463 bne a0,a3,800002f8 <fail> +80000254: 0ac59263 bne a1,a2,800002f8 <fail> + +80000258 <test_6>: +80000258: 00600193 li gp,6 +8000025c: 00002517 auipc a0,0x2 +80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: 580071d3 fsqrt.s ft3,ft0 +80000278: e0018553 fmv.x.w a0,ft3 +8000027c: 001015f3 fsflags a1,zero +80000280: 00000613 li a2,0 +80000284: 06d51a63 bne a0,a3,800002f8 <fail> +80000288: 06c59863 bne a1,a2,800002f8 <fail> + +8000028c <test_7>: +8000028c: 00700193 li gp,7 +80000290: 00002517 auipc a0,0x2 +80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data> +80000298: 00052007 flw ft0,0(a0) +8000029c: 00452087 flw ft1,4(a0) +800002a0: 00852107 flw ft2,8(a0) +800002a4: 00c52683 lw a3,12(a0) +800002a8: 580071d3 fsqrt.s ft3,ft0 +800002ac: e0018553 fmv.x.w a0,ft3 +800002b0: 001015f3 fsflags a1,zero +800002b4: 01000613 li a2,16 +800002b8: 04d51063 bne a0,a3,800002f8 <fail> +800002bc: 02c59e63 bne a1,a2,800002f8 <fail> + +800002c0 <test_8>: +800002c0: 00800193 li gp,8 +800002c4: 00002517 auipc a0,0x2 +800002c8: da050513 addi a0,a0,-608 # 80002064 <test_8_data> +800002cc: 00052007 flw ft0,0(a0) +800002d0: 00452087 flw ft1,4(a0) +800002d4: 00852107 flw ft2,8(a0) +800002d8: 00c52683 lw a3,12(a0) +800002dc: 580071d3 fsqrt.s ft3,ft0 +800002e0: e0018553 fmv.x.w a0,ft3 +800002e4: 001015f3 fsflags a1,zero +800002e8: 00100613 li a2,1 +800002ec: 00d51663 bne a0,a3,800002f8 <fail> +800002f0: 00c59463 bne a1,a2,800002f8 <fail> +800002f4: 02301063 bne zero,gp,80000314 <pass> + +800002f8 <fail>: +800002f8: 0ff0000f fence +800002fc: 00018063 beqz gp,800002fc <fail+0x4> +80000300: 00119193 slli gp,gp,0x1 +80000304: 0011e193 ori gp,gp,1 +80000308: 05d00893 li a7,93 +8000030c: 00018513 mv a0,gp +80000310: 00000073 ecall + +80000314 <pass>: +80000314: 0ff0000f fence +80000318: 00100193 li gp,1 +8000031c: 05d00893 li a7,93 +80000320: 00000513 li a0,0 +80000324: 00000073 ecall +80000328: c0001073 unimp +8000032c: 0000 unimp +8000032e: 0000 unimp +80000330: 0000 unimp +80000332: 0000 unimp +80000334: 0000 unimp +80000336: 0000 unimp +80000338: 0000 unimp +8000033a: 0000 unimp +8000033c: 0000 unimp +8000033e: 0000 unimp +80000340: 0000 unimp +80000342: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 40490fdb 0x40490fdb +80002004: f854 fsw fa3,52(s0) +80002006: 402d c.li zero,11 +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: eee0 fsw fs0,92(a3) +8000200e: sltiu t6,zero,1024 + +80002010 <test_3_data>: +80002010: 4000 lw s0,0(s0) +80002012: c49a sw t1,72(sp) +80002014: 449a6333 0x449a6333 +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: c5a2 sw s0,200(sp) +8000201e: bf7f 0xbf7f + +80002020 <test_4_data>: +80002020: 40490fdb 0x40490fdb +80002024: 0000 unimp +80002026: 3f80 fld fs0,56(a5) +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 40490fdb 0x40490fdb + +80002030 <test_5_data>: +80002030: 40490fdb 0x40490fdb +80002034: 0000 unimp +80002036: 0000 unimp +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: dfc5 beqz a5,80001ff4 <fromhost+0xfb4> +8000203e: 3fe2 fld ft11,56(sp) + +80002040 <test_6_data>: +80002040: 4000 lw s0,0(s0) +80002042: 461c lw a5,8(a2) +80002044: 0000 unimp +80002046: 0000 unimp +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 0000 unimp +8000204e: 42c8 lw a0,4(a3) + +80002050 <test_7_data>: +80002050: 0000 unimp +80002052: bf80 fsd fs0,56(a5) +80002054: 0000 unimp +80002056: 0000 unimp +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: 7fc0 flw fs0,60(a5) +80002060: 0000 unimp +80002062: 0000 unimp + +80002064 <test_8_data>: +80002064: 0000 unimp +80002066: 0000432b 0x432b +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 0000 unimp +80002070: 3a26 fld fs4,104(sp) +80002072: 4151 li sp,20 +80002074: 0000 unimp +80002076: 0000 unimp +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: 0000 unimp +8000207e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fmadd.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fmadd.dump new file mode 100644 index 0000000..bfec06c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fmadd.dump @@ -0,0 +1,439 @@ + +rv32uf-p-fmadd: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdf3f> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +800001a8: e0018553 fmv.x.w a0,ft3 +800001ac: 001015f3 fsflags a1,zero +800001b0: 00000613 li a2,0 +800001b4: 24d51463 bne a0,a3,800003fc <fail> +800001b8: 24c59263 bne a1,a2,800003fc <fail> + +800001bc <test_3>: +800001bc: 00300193 li gp,3 +800001c0: 00002517 auipc a0,0x2 +800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data> +800001c8: 00052007 flw ft0,0(a0) +800001cc: 00452087 flw ft1,4(a0) +800001d0: 00852107 flw ft2,8(a0) +800001d4: 00c52683 lw a3,12(a0) +800001d8: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +800001dc: e0018553 fmv.x.w a0,ft3 +800001e0: 001015f3 fsflags a1,zero +800001e4: 00100613 li a2,1 +800001e8: 20d51a63 bne a0,a3,800003fc <fail> +800001ec: 20c59863 bne a1,a2,800003fc <fail> + +800001f0 <test_4>: +800001f0: 00400193 li gp,4 +800001f4: 00002517 auipc a0,0x2 +800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data> +800001fc: 00052007 flw ft0,0(a0) +80000200: 00452087 flw ft1,4(a0) +80000204: 00852107 flw ft2,8(a0) +80000208: 00c52683 lw a3,12(a0) +8000020c: 101071c3 fmadd.s ft3,ft0,ft1,ft2 +80000210: e0018553 fmv.x.w a0,ft3 +80000214: 001015f3 fsflags a1,zero +80000218: 00000613 li a2,0 +8000021c: 1ed51063 bne a0,a3,800003fc <fail> +80000220: 1cc59e63 bne a1,a2,800003fc <fail> + +80000224 <test_5>: +80000224: 00500193 li gp,5 +80000228: 00002517 auipc a0,0x2 +8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data> +80000230: 00052007 flw ft0,0(a0) +80000234: 00452087 flw ft1,4(a0) +80000238: 00852107 flw ft2,8(a0) +8000023c: 00c52683 lw a3,12(a0) +80000240: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +80000244: e0018553 fmv.x.w a0,ft3 +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 1ad51663 bne a0,a3,800003fc <fail> +80000254: 1ac59463 bne a1,a2,800003fc <fail> + +80000258 <test_6>: +80000258: 00600193 li gp,6 +8000025c: 00002517 auipc a0,0x2 +80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +80000278: e0018553 fmv.x.w a0,ft3 +8000027c: 001015f3 fsflags a1,zero +80000280: 00100613 li a2,1 +80000284: 16d51c63 bne a0,a3,800003fc <fail> +80000288: 16c59a63 bne a1,a2,800003fc <fail> + +8000028c <test_7>: +8000028c: 00700193 li gp,7 +80000290: 00002517 auipc a0,0x2 +80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data> +80000298: 00052007 flw ft0,0(a0) +8000029c: 00452087 flw ft1,4(a0) +800002a0: 00852107 flw ft2,8(a0) +800002a4: 00c52683 lw a3,12(a0) +800002a8: 101071cf fnmadd.s ft3,ft0,ft1,ft2 +800002ac: e0018553 fmv.x.w a0,ft3 +800002b0: 001015f3 fsflags a1,zero +800002b4: 00000613 li a2,0 +800002b8: 14d51263 bne a0,a3,800003fc <fail> +800002bc: 14c59063 bne a1,a2,800003fc <fail> + +800002c0 <test_8>: +800002c0: 00800193 li gp,8 +800002c4: 00002517 auipc a0,0x2 +800002c8: d9c50513 addi a0,a0,-612 # 80002060 <test_8_data> +800002cc: 00052007 flw ft0,0(a0) +800002d0: 00452087 flw ft1,4(a0) +800002d4: 00852107 flw ft2,8(a0) +800002d8: 00c52683 lw a3,12(a0) +800002dc: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +800002e0: e0018553 fmv.x.w a0,ft3 +800002e4: 001015f3 fsflags a1,zero +800002e8: 00000613 li a2,0 +800002ec: 10d51863 bne a0,a3,800003fc <fail> +800002f0: 10c59663 bne a1,a2,800003fc <fail> + +800002f4 <test_9>: +800002f4: 00900193 li gp,9 +800002f8: 00002517 auipc a0,0x2 +800002fc: d7850513 addi a0,a0,-648 # 80002070 <test_9_data> +80000300: 00052007 flw ft0,0(a0) +80000304: 00452087 flw ft1,4(a0) +80000308: 00852107 flw ft2,8(a0) +8000030c: 00c52683 lw a3,12(a0) +80000310: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80000314: e0018553 fmv.x.w a0,ft3 +80000318: 001015f3 fsflags a1,zero +8000031c: 00100613 li a2,1 +80000320: 0cd51e63 bne a0,a3,800003fc <fail> +80000324: 0cc59c63 bne a1,a2,800003fc <fail> + +80000328 <test_10>: +80000328: 00a00193 li gp,10 +8000032c: 00002517 auipc a0,0x2 +80000330: d5450513 addi a0,a0,-684 # 80002080 <test_10_data> +80000334: 00052007 flw ft0,0(a0) +80000338: 00452087 flw ft1,4(a0) +8000033c: 00852107 flw ft2,8(a0) +80000340: 00c52683 lw a3,12(a0) +80000344: 101071c7 fmsub.s ft3,ft0,ft1,ft2 +80000348: e0018553 fmv.x.w a0,ft3 +8000034c: 001015f3 fsflags a1,zero +80000350: 00000613 li a2,0 +80000354: 0ad51463 bne a0,a3,800003fc <fail> +80000358: 0ac59263 bne a1,a2,800003fc <fail> + +8000035c <test_11>: +8000035c: 00b00193 li gp,11 +80000360: 00002517 auipc a0,0x2 +80000364: d3050513 addi a0,a0,-720 # 80002090 <test_11_data> +80000368: 00052007 flw ft0,0(a0) +8000036c: 00452087 flw ft1,4(a0) +80000370: 00852107 flw ft2,8(a0) +80000374: 00c52683 lw a3,12(a0) +80000378: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +8000037c: e0018553 fmv.x.w a0,ft3 +80000380: 001015f3 fsflags a1,zero +80000384: 00000613 li a2,0 +80000388: 06d51a63 bne a0,a3,800003fc <fail> +8000038c: 06c59863 bne a1,a2,800003fc <fail> + +80000390 <test_12>: +80000390: 00c00193 li gp,12 +80000394: 00002517 auipc a0,0x2 +80000398: d0c50513 addi a0,a0,-756 # 800020a0 <test_12_data> +8000039c: 00052007 flw ft0,0(a0) +800003a0: 00452087 flw ft1,4(a0) +800003a4: 00852107 flw ft2,8(a0) +800003a8: 00c52683 lw a3,12(a0) +800003ac: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +800003b0: e0018553 fmv.x.w a0,ft3 +800003b4: 001015f3 fsflags a1,zero +800003b8: 00100613 li a2,1 +800003bc: 04d51063 bne a0,a3,800003fc <fail> +800003c0: 02c59e63 bne a1,a2,800003fc <fail> + +800003c4 <test_13>: +800003c4: 00d00193 li gp,13 +800003c8: 00002517 auipc a0,0x2 +800003cc: ce850513 addi a0,a0,-792 # 800020b0 <test_13_data> +800003d0: 00052007 flw ft0,0(a0) +800003d4: 00452087 flw ft1,4(a0) +800003d8: 00852107 flw ft2,8(a0) +800003dc: 00c52683 lw a3,12(a0) +800003e0: 101071cb fnmsub.s ft3,ft0,ft1,ft2 +800003e4: e0018553 fmv.x.w a0,ft3 +800003e8: 001015f3 fsflags a1,zero +800003ec: 00000613 li a2,0 +800003f0: 00d51663 bne a0,a3,800003fc <fail> +800003f4: 00c59463 bne a1,a2,800003fc <fail> +800003f8: 02301063 bne zero,gp,80000418 <pass> + +800003fc <fail>: +800003fc: 0ff0000f fence +80000400: 00018063 beqz gp,80000400 <fail+0x4> +80000404: 00119193 slli gp,gp,0x1 +80000408: 0011e193 ori gp,gp,1 +8000040c: 05d00893 li a7,93 +80000410: 00018513 mv a0,gp +80000414: 00000073 ecall + +80000418 <pass>: +80000418: 0ff0000f fence +8000041c: 00100193 li gp,1 +80000420: 05d00893 li a7,93 +80000424: 00000513 li a0,0 +80000428: 00000073 ecall +8000042c: c0001073 unimp +80000430: 0000 unimp +80000432: 0000 unimp +80000434: 0000 unimp +80000436: 0000 unimp +80000438: 0000 unimp +8000043a: 0000 unimp +8000043c: 0000 unimp +8000043e: 0000 unimp +80000440: 0000 unimp +80000442: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 3f80 fld fs0,56(a5) +80002004: 0000 unimp +80002006: 4020 lw s0,64(s0) +80002008: 0000 unimp +8000200a: 3f80 fld fs0,56(a5) +8000200c: 0000 unimp +8000200e: 4060 lw s0,68(s0) + +80002010 <test_3_data>: +80002010: 0000 unimp +80002012: bf80 fsd fs0,56(a5) +80002014: c49a6333 0xc49a6333 +80002018: cccd beqz s1,800020d2 <_end+0x12> +8000201a: 3f8c fld fa1,56(a5) +8000201c: 8666 mv a2,s9 +8000201e: 449a lw s1,132(sp) + +80002020 <test_4_data>: +80002020: 0000 unimp +80002022: 4000 lw s0,0(s0) +80002024: 0000 unimp +80002026: c0a0 sw s0,64(s1) +80002028: 0000 unimp +8000202a: c000 sw s0,0(s0) +8000202c: 0000 unimp +8000202e: c140 sw s0,4(a0) + +80002030 <test_5_data>: +80002030: 0000 unimp +80002032: 3f80 fld fs0,56(a5) +80002034: 0000 unimp +80002036: 4020 lw s0,64(s0) +80002038: 0000 unimp +8000203a: 3f80 fld fs0,56(a5) +8000203c: 0000 unimp +8000203e: c060 sw s0,68(s0) + +80002040 <test_6_data>: +80002040: 0000 unimp +80002042: bf80 fsd fs0,56(a5) +80002044: c49a6333 0xc49a6333 +80002048: cccd beqz s1,80002102 <_end+0x42> +8000204a: 3f8c fld fa1,56(a5) +8000204c: 8666 mv a2,s9 +8000204e: c49a sw t1,72(sp) + +80002050 <test_7_data>: +80002050: 0000 unimp +80002052: 4000 lw s0,0(s0) +80002054: 0000 unimp +80002056: c0a0 sw s0,64(s1) +80002058: 0000 unimp +8000205a: c000 sw s0,0(s0) +8000205c: 0000 unimp +8000205e: 4140 lw s0,4(a0) + +80002060 <test_8_data>: +80002060: 0000 unimp +80002062: 3f80 fld fs0,56(a5) +80002064: 0000 unimp +80002066: 4020 lw s0,64(s0) +80002068: 0000 unimp +8000206a: 3f80 fld fs0,56(a5) +8000206c: 0000 unimp +8000206e: 3fc0 fld fs0,184(a5) + +80002070 <test_9_data>: +80002070: 0000 unimp +80002072: bf80 fsd fs0,56(a5) +80002074: c49a6333 0xc49a6333 +80002078: cccd beqz s1,80002132 <_end+0x72> +8000207a: 3f8c fld fa1,56(a5) +8000207c: 4000 lw s0,0(s0) +8000207e: 449a lw s1,132(sp) + +80002080 <test_10_data>: +80002080: 0000 unimp +80002082: 4000 lw s0,0(s0) +80002084: 0000 unimp +80002086: c0a0 sw s0,64(s1) +80002088: 0000 unimp +8000208a: c000 sw s0,0(s0) +8000208c: 0000 unimp +8000208e: c100 sw s0,0(a0) + +80002090 <test_11_data>: +80002090: 0000 unimp +80002092: 3f80 fld fs0,56(a5) +80002094: 0000 unimp +80002096: 4020 lw s0,64(s0) +80002098: 0000 unimp +8000209a: 3f80 fld fs0,56(a5) +8000209c: 0000 unimp +8000209e: bfc0 fsd fs0,184(a5) + +800020a0 <test_12_data>: +800020a0: 0000 unimp +800020a2: bf80 fsd fs0,56(a5) +800020a4: c49a6333 0xc49a6333 +800020a8: cccd beqz s1,80002162 <_end+0xa2> +800020aa: 3f8c fld fa1,56(a5) +800020ac: 4000 lw s0,0(s0) +800020ae: c49a sw t1,72(sp) + +800020b0 <test_13_data>: +800020b0: 0000 unimp +800020b2: 4000 lw s0,0(s0) +800020b4: 0000 unimp +800020b6: c0a0 sw s0,64(s1) +800020b8: 0000 unimp +800020ba: c000 sw s0,0(s0) +800020bc: 0000 unimp +800020be: 4100 lw s0,0(a0) diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-fmin.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-fmin.dump new file mode 100644 index 0000000..7d75180 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-fmin.dump @@ -0,0 +1,581 @@ + +rv32uf-p-fmin: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdedf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00200193 li gp,2 +8000018c: 00002517 auipc a0,0x2 +80000190: e7450513 addi a0,a0,-396 # 80002000 <test_2_data> +80000194: 00052007 flw ft0,0(a0) +80000198: 00452087 flw ft1,4(a0) +8000019c: 00852107 flw ft2,8(a0) +800001a0: 00c52683 lw a3,12(a0) +800001a4: 281001d3 fmin.s ft3,ft0,ft1 +800001a8: e0018553 fmv.x.w a0,ft3 +800001ac: 001015f3 fsflags a1,zero +800001b0: 00000613 li a2,0 +800001b4: 38d51063 bne a0,a3,80000534 <fail> +800001b8: 36c59e63 bne a1,a2,80000534 <fail> + +800001bc <test_3>: +800001bc: 00300193 li gp,3 +800001c0: 00002517 auipc a0,0x2 +800001c4: e5050513 addi a0,a0,-432 # 80002010 <test_3_data> +800001c8: 00052007 flw ft0,0(a0) +800001cc: 00452087 flw ft1,4(a0) +800001d0: 00852107 flw ft2,8(a0) +800001d4: 00c52683 lw a3,12(a0) +800001d8: 281001d3 fmin.s ft3,ft0,ft1 +800001dc: e0018553 fmv.x.w a0,ft3 +800001e0: 001015f3 fsflags a1,zero +800001e4: 00000613 li a2,0 +800001e8: 34d51663 bne a0,a3,80000534 <fail> +800001ec: 34c59463 bne a1,a2,80000534 <fail> + +800001f0 <test_4>: +800001f0: 00400193 li gp,4 +800001f4: 00002517 auipc a0,0x2 +800001f8: e2c50513 addi a0,a0,-468 # 80002020 <test_4_data> +800001fc: 00052007 flw ft0,0(a0) +80000200: 00452087 flw ft1,4(a0) +80000204: 00852107 flw ft2,8(a0) +80000208: 00c52683 lw a3,12(a0) +8000020c: 281001d3 fmin.s ft3,ft0,ft1 +80000210: e0018553 fmv.x.w a0,ft3 +80000214: 001015f3 fsflags a1,zero +80000218: 00000613 li a2,0 +8000021c: 30d51c63 bne a0,a3,80000534 <fail> +80000220: 30c59a63 bne a1,a2,80000534 <fail> + +80000224 <test_5>: +80000224: 00500193 li gp,5 +80000228: 00002517 auipc a0,0x2 +8000022c: e0850513 addi a0,a0,-504 # 80002030 <test_5_data> +80000230: 00052007 flw ft0,0(a0) +80000234: 00452087 flw ft1,4(a0) +80000238: 00852107 flw ft2,8(a0) +8000023c: 00c52683 lw a3,12(a0) +80000240: 281001d3 fmin.s ft3,ft0,ft1 +80000244: e0018553 fmv.x.w a0,ft3 +80000248: 001015f3 fsflags a1,zero +8000024c: 00000613 li a2,0 +80000250: 2ed51263 bne a0,a3,80000534 <fail> +80000254: 2ec59063 bne a1,a2,80000534 <fail> + +80000258 <test_6>: +80000258: 00600193 li gp,6 +8000025c: 00002517 auipc a0,0x2 +80000260: de450513 addi a0,a0,-540 # 80002040 <test_6_data> +80000264: 00052007 flw ft0,0(a0) +80000268: 00452087 flw ft1,4(a0) +8000026c: 00852107 flw ft2,8(a0) +80000270: 00c52683 lw a3,12(a0) +80000274: 281001d3 fmin.s ft3,ft0,ft1 +80000278: e0018553 fmv.x.w a0,ft3 +8000027c: 001015f3 fsflags a1,zero +80000280: 00000613 li a2,0 +80000284: 2ad51863 bne a0,a3,80000534 <fail> +80000288: 2ac59663 bne a1,a2,80000534 <fail> + +8000028c <test_7>: +8000028c: 00700193 li gp,7 +80000290: 00002517 auipc a0,0x2 +80000294: dc050513 addi a0,a0,-576 # 80002050 <test_7_data> +80000298: 00052007 flw ft0,0(a0) +8000029c: 00452087 flw ft1,4(a0) +800002a0: 00852107 flw ft2,8(a0) +800002a4: 00c52683 lw a3,12(a0) +800002a8: 281001d3 fmin.s ft3,ft0,ft1 +800002ac: e0018553 fmv.x.w a0,ft3 +800002b0: 001015f3 fsflags a1,zero +800002b4: 00000613 li a2,0 +800002b8: 26d51e63 bne a0,a3,80000534 <fail> +800002bc: 26c59c63 bne a1,a2,80000534 <fail> + +800002c0 <test_12>: +800002c0: 00c00193 li gp,12 +800002c4: 00002517 auipc a0,0x2 +800002c8: d9c50513 addi a0,a0,-612 # 80002060 <test_12_data> +800002cc: 00052007 flw ft0,0(a0) +800002d0: 00452087 flw ft1,4(a0) +800002d4: 00852107 flw ft2,8(a0) +800002d8: 00c52683 lw a3,12(a0) +800002dc: 281011d3 fmax.s ft3,ft0,ft1 +800002e0: e0018553 fmv.x.w a0,ft3 +800002e4: 001015f3 fsflags a1,zero +800002e8: 00000613 li a2,0 +800002ec: 24d51463 bne a0,a3,80000534 <fail> +800002f0: 24c59263 bne a1,a2,80000534 <fail> + +800002f4 <test_13>: +800002f4: 00d00193 li gp,13 +800002f8: 00002517 auipc a0,0x2 +800002fc: d7850513 addi a0,a0,-648 # 80002070 <test_13_data> +80000300: 00052007 flw ft0,0(a0) +80000304: 00452087 flw ft1,4(a0) +80000308: 00852107 flw ft2,8(a0) +8000030c: 00c52683 lw a3,12(a0) +80000310: 281011d3 fmax.s ft3,ft0,ft1 +80000314: e0018553 fmv.x.w a0,ft3 +80000318: 001015f3 fsflags a1,zero +8000031c: 00000613 li a2,0 +80000320: 20d51a63 bne a0,a3,80000534 <fail> +80000324: 20c59863 bne a1,a2,80000534 <fail> + +80000328 <test_14>: +80000328: 00e00193 li gp,14 +8000032c: 00002517 auipc a0,0x2 +80000330: d5450513 addi a0,a0,-684 # 80002080 <test_14_data> +80000334: 00052007 flw ft0,0(a0) +80000338: 00452087 flw ft1,4(a0) +8000033c: 00852107 flw ft2,8(a0) +80000340: 00c52683 lw a3,12(a0) +80000344: 281011d3 fmax.s ft3,ft0,ft1 +80000348: e0018553 fmv.x.w a0,ft3 +8000034c: 001015f3 fsflags a1,zero +80000350: 00000613 li a2,0 +80000354: 1ed51063 bne a0,a3,80000534 <fail> +80000358: 1cc59e63 bne a1,a2,80000534 <fail> + +8000035c <test_15>: +8000035c: 00f00193 li gp,15 +80000360: 00002517 auipc a0,0x2 +80000364: d3050513 addi a0,a0,-720 # 80002090 <test_15_data> +80000368: 00052007 flw ft0,0(a0) +8000036c: 00452087 flw ft1,4(a0) +80000370: 00852107 flw ft2,8(a0) +80000374: 00c52683 lw a3,12(a0) +80000378: 281011d3 fmax.s ft3,ft0,ft1 +8000037c: e0018553 fmv.x.w a0,ft3 +80000380: 001015f3 fsflags a1,zero +80000384: 00000613 li a2,0 +80000388: 1ad51663 bne a0,a3,80000534 <fail> +8000038c: 1ac59463 bne a1,a2,80000534 <fail> + +80000390 <test_16>: +80000390: 01000193 li gp,16 +80000394: 00002517 auipc a0,0x2 +80000398: d0c50513 addi a0,a0,-756 # 800020a0 <test_16_data> +8000039c: 00052007 flw ft0,0(a0) +800003a0: 00452087 flw ft1,4(a0) +800003a4: 00852107 flw ft2,8(a0) +800003a8: 00c52683 lw a3,12(a0) +800003ac: 281011d3 fmax.s ft3,ft0,ft1 +800003b0: e0018553 fmv.x.w a0,ft3 +800003b4: 001015f3 fsflags a1,zero +800003b8: 00000613 li a2,0 +800003bc: 16d51c63 bne a0,a3,80000534 <fail> +800003c0: 16c59a63 bne a1,a2,80000534 <fail> + +800003c4 <test_17>: +800003c4: 01100193 li gp,17 +800003c8: 00002517 auipc a0,0x2 +800003cc: ce850513 addi a0,a0,-792 # 800020b0 <test_17_data> +800003d0: 00052007 flw ft0,0(a0) +800003d4: 00452087 flw ft1,4(a0) +800003d8: 00852107 flw ft2,8(a0) +800003dc: 00c52683 lw a3,12(a0) +800003e0: 281011d3 fmax.s ft3,ft0,ft1 +800003e4: e0018553 fmv.x.w a0,ft3 +800003e8: 001015f3 fsflags a1,zero +800003ec: 00000613 li a2,0 +800003f0: 14d51263 bne a0,a3,80000534 <fail> +800003f4: 14c59063 bne a1,a2,80000534 <fail> + +800003f8 <test_20>: +800003f8: 01400193 li gp,20 +800003fc: 00002517 auipc a0,0x2 +80000400: cc450513 addi a0,a0,-828 # 800020c0 <test_20_data> +80000404: 00052007 flw ft0,0(a0) +80000408: 00452087 flw ft1,4(a0) +8000040c: 00852107 flw ft2,8(a0) +80000410: 00c52683 lw a3,12(a0) +80000414: 281011d3 fmax.s ft3,ft0,ft1 +80000418: e0018553 fmv.x.w a0,ft3 +8000041c: 001015f3 fsflags a1,zero +80000420: 01000613 li a2,16 +80000424: 10d51863 bne a0,a3,80000534 <fail> +80000428: 10c59663 bne a1,a2,80000534 <fail> + +8000042c <test_21>: +8000042c: 01500193 li gp,21 +80000430: 00002517 auipc a0,0x2 +80000434: ca050513 addi a0,a0,-864 # 800020d0 <test_21_data> +80000438: 00052007 flw ft0,0(a0) +8000043c: 00452087 flw ft1,4(a0) +80000440: 00852107 flw ft2,8(a0) +80000444: 00c52683 lw a3,12(a0) +80000448: 281011d3 fmax.s ft3,ft0,ft1 +8000044c: e0018553 fmv.x.w a0,ft3 +80000450: 001015f3 fsflags a1,zero +80000454: 00000613 li a2,0 +80000458: 0cd51e63 bne a0,a3,80000534 <fail> +8000045c: 0cc59c63 bne a1,a2,80000534 <fail> + +80000460 <test_30>: +80000460: 01e00193 li gp,30 +80000464: 00002517 auipc a0,0x2 +80000468: c7c50513 addi a0,a0,-900 # 800020e0 <test_30_data> +8000046c: 00052007 flw ft0,0(a0) +80000470: 00452087 flw ft1,4(a0) +80000474: 00852107 flw ft2,8(a0) +80000478: 00c52683 lw a3,12(a0) +8000047c: 281001d3 fmin.s ft3,ft0,ft1 +80000480: e0018553 fmv.x.w a0,ft3 +80000484: 001015f3 fsflags a1,zero +80000488: 00000613 li a2,0 +8000048c: 0ad51463 bne a0,a3,80000534 <fail> +80000490: 0ac59263 bne a1,a2,80000534 <fail> + +80000494 <test_31>: +80000494: 01f00193 li gp,31 +80000498: 00002517 auipc a0,0x2 +8000049c: c5850513 addi a0,a0,-936 # 800020f0 <test_31_data> +800004a0: 00052007 flw ft0,0(a0) +800004a4: 00452087 flw ft1,4(a0) +800004a8: 00852107 flw ft2,8(a0) +800004ac: 00c52683 lw a3,12(a0) +800004b0: 281001d3 fmin.s ft3,ft0,ft1 +800004b4: e0018553 fmv.x.w a0,ft3 +800004b8: 001015f3 fsflags a1,zero +800004bc: 00000613 li a2,0 +800004c0: 06d51a63 bne a0,a3,80000534 <fail> +800004c4: 06c59863 bne a1,a2,80000534 <fail> + +800004c8 <test_32>: +800004c8: 02000193 li gp,32 +800004cc: 00002517 auipc a0,0x2 +800004d0: c3450513 addi a0,a0,-972 # 80002100 <test_32_data> +800004d4: 00052007 flw ft0,0(a0) +800004d8: 00452087 flw ft1,4(a0) +800004dc: 00852107 flw ft2,8(a0) +800004e0: 00c52683 lw a3,12(a0) +800004e4: 281011d3 fmax.s ft3,ft0,ft1 +800004e8: e0018553 fmv.x.w a0,ft3 +800004ec: 001015f3 fsflags a1,zero +800004f0: 00000613 li a2,0 +800004f4: 04d51063 bne a0,a3,80000534 <fail> +800004f8: 02c59e63 bne a1,a2,80000534 <fail> + +800004fc <test_33>: +800004fc: 02100193 li gp,33 +80000500: 00002517 auipc a0,0x2 +80000504: c1050513 addi a0,a0,-1008 # 80002110 <test_33_data> +80000508: 00052007 flw ft0,0(a0) +8000050c: 00452087 flw ft1,4(a0) +80000510: 00852107 flw ft2,8(a0) +80000514: 00c52683 lw a3,12(a0) +80000518: 281011d3 fmax.s ft3,ft0,ft1 +8000051c: e0018553 fmv.x.w a0,ft3 +80000520: 001015f3 fsflags a1,zero +80000524: 00000613 li a2,0 +80000528: 00d51663 bne a0,a3,80000534 <fail> +8000052c: 00c59463 bne a1,a2,80000534 <fail> +80000530: 02301063 bne zero,gp,80000550 <pass> + +80000534 <fail>: +80000534: 0ff0000f fence +80000538: 00018063 beqz gp,80000538 <fail+0x4> +8000053c: 00119193 slli gp,gp,0x1 +80000540: 0011e193 ori gp,gp,1 +80000544: 05d00893 li a7,93 +80000548: 00018513 mv a0,gp +8000054c: 00000073 ecall + +80000550 <pass>: +80000550: 0ff0000f fence +80000554: 00100193 li gp,1 +80000558: 05d00893 li a7,93 +8000055c: 00000513 li a0,0 +80000560: 00000073 ecall +80000564: c0001073 unimp +80000568: 0000 unimp +8000056a: 0000 unimp +8000056c: 0000 unimp +8000056e: 0000 unimp +80000570: 0000 unimp +80000572: 0000 unimp +80000574: 0000 unimp +80000576: 0000 unimp +80000578: 0000 unimp +8000057a: 0000 unimp +8000057c: 0000 unimp +8000057e: 0000 unimp +80000580: 0000 unimp +80000582: 0000 unimp + +Disassembly of section .data: + +80002000 <test_2_data>: +80002000: 0000 unimp +80002002: 4020 lw s0,64(s0) +80002004: 0000 unimp +80002006: 3f80 fld fs0,56(a5) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 3f80 fld fs0,56(a5) + +80002010 <test_3_data>: +80002010: c49a6333 0xc49a6333 +80002014: cccd beqz s1,800020ce <test_20_data+0xe> +80002016: 3f8c fld fa1,56(a5) +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: c49a6333 0xc49a6333 + +80002020 <test_4_data>: +80002020: cccd beqz s1,800020da <test_21_data+0xa> +80002022: 3f8c fld fa1,56(a5) +80002024: c49a6333 0xc49a6333 +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: c49a6333 0xc49a6333 + +80002030 <test_5_data>: +80002030: ffff 0xffff +80002032: 7fff 0x7fff +80002034: c49a6333 0xc49a6333 +80002038: 0000 unimp +8000203a: 0000 unimp +8000203c: c49a6333 0xc49a6333 + +80002040 <test_6_data>: +80002040: 40490fdb 0x40490fdb +80002044: 322bcc77 0x322bcc77 +80002048: 0000 unimp +8000204a: 0000 unimp +8000204c: 322bcc77 0x322bcc77 + +80002050 <test_7_data>: +80002050: 0000 unimp +80002052: bf80 fsd fs0,56(a5) +80002054: 0000 unimp +80002056: c000 sw s0,0(s0) +80002058: 0000 unimp +8000205a: 0000 unimp +8000205c: 0000 unimp +8000205e: c000 sw s0,0(s0) + +80002060 <test_12_data>: +80002060: 0000 unimp +80002062: 4020 lw s0,64(s0) +80002064: 0000 unimp +80002066: 3f80 fld fs0,56(a5) +80002068: 0000 unimp +8000206a: 0000 unimp +8000206c: 0000 unimp +8000206e: 4020 lw s0,64(s0) + +80002070 <test_13_data>: +80002070: c49a6333 0xc49a6333 +80002074: cccd beqz s1,8000212e <_end+0xe> +80002076: 3f8c fld fa1,56(a5) +80002078: 0000 unimp +8000207a: 0000 unimp +8000207c: cccd beqz s1,80002136 <_end+0x16> +8000207e: 3f8c fld fa1,56(a5) + +80002080 <test_14_data>: +80002080: cccd beqz s1,8000213a <_end+0x1a> +80002082: 3f8c fld fa1,56(a5) +80002084: c49a6333 0xc49a6333 +80002088: 0000 unimp +8000208a: 0000 unimp +8000208c: cccd beqz s1,80002146 <_end+0x26> +8000208e: 3f8c fld fa1,56(a5) + +80002090 <test_15_data>: +80002090: ffff 0xffff +80002092: 7fff 0x7fff +80002094: c49a6333 0xc49a6333 +80002098: 0000 unimp +8000209a: 0000 unimp +8000209c: c49a6333 0xc49a6333 + +800020a0 <test_16_data>: +800020a0: 40490fdb 0x40490fdb +800020a4: 322bcc77 0x322bcc77 +800020a8: 0000 unimp +800020aa: 0000 unimp +800020ac: 40490fdb 0x40490fdb + +800020b0 <test_17_data>: +800020b0: 0000 unimp +800020b2: bf80 fsd fs0,56(a5) +800020b4: 0000 unimp +800020b6: c000 sw s0,0(s0) +800020b8: 0000 unimp +800020ba: 0000 unimp +800020bc: 0000 unimp +800020be: bf80 fsd fs0,56(a5) + +800020c0 <test_20_data>: +800020c0: 0001 nop +800020c2: 7f80 flw fs0,56(a5) +800020c4: 0000 unimp +800020c6: 3f80 fld fs0,56(a5) +800020c8: 0000 unimp +800020ca: 0000 unimp +800020cc: 0000 unimp +800020ce: 3f80 fld fs0,56(a5) + +800020d0 <test_21_data>: +800020d0: ffff 0xffff +800020d2: 7fff 0x7fff +800020d4: ffff 0xffff +800020d6: 7fff 0x7fff +800020d8: 0000 unimp +800020da: 0000 unimp +800020dc: 0000 unimp +800020de: 7fc0 flw fs0,60(a5) + +800020e0 <test_30_data>: +800020e0: 0000 unimp +800020e2: 8000 0x8000 +800020e4: 0000 unimp +800020e6: 0000 unimp +800020e8: 0000 unimp +800020ea: 0000 unimp +800020ec: 0000 unimp +800020ee: 8000 0x8000 + +800020f0 <test_31_data>: +800020f0: 0000 unimp +800020f2: 0000 unimp +800020f4: 0000 unimp +800020f6: 8000 0x8000 +800020f8: 0000 unimp +800020fa: 0000 unimp +800020fc: 0000 unimp +800020fe: 8000 0x8000 + +80002100 <test_32_data>: +80002100: 0000 unimp +80002102: 8000 0x8000 +80002104: 0000 unimp +80002106: 0000 unimp +80002108: 0000 unimp +8000210a: 0000 unimp +8000210c: 0000 unimp +8000210e: 0000 unimp + +80002110 <test_33_data>: +80002110: 0000 unimp +80002112: 0000 unimp +80002114: 0000 unimp +80002116: 8000 0x8000 +80002118: 0000 unimp +8000211a: 0000 unimp +8000211c: 0000 unimp +8000211e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-ldst.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-ldst.dump new file mode 100644 index 0000000..7550b73 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-ldst.dump @@ -0,0 +1,172 @@ + +rv32uf-p-ldst: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfdf> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 00002597 auipc a1,0x2 +8000018c: e7858593 addi a1,a1,-392 # 80002000 <begin_signature> +80000190: 0045a087 flw ft1,4(a1) +80000194: 0015aa27 fsw ft1,20(a1) +80000198: 0145a503 lw a0,20(a1) +8000019c: 400003b7 lui t2,0x40000 +800001a0: 00200193 li gp,2 +800001a4: 02751463 bne a0,t2,800001cc <fail> + +800001a8 <test_3>: +800001a8: 00002597 auipc a1,0x2 +800001ac: e5858593 addi a1,a1,-424 # 80002000 <begin_signature> +800001b0: 0005a087 flw ft1,0(a1) +800001b4: 0015ac27 fsw ft1,24(a1) +800001b8: 0185a503 lw a0,24(a1) +800001bc: bf8003b7 lui t2,0xbf800 +800001c0: 00300193 li gp,3 +800001c4: 00751463 bne a0,t2,800001cc <fail> +800001c8: 02301063 bne zero,gp,800001e8 <pass> + +800001cc <fail>: +800001cc: 0ff0000f fence +800001d0: 00018063 beqz gp,800001d0 <fail+0x4> +800001d4: 00119193 slli gp,gp,0x1 +800001d8: 0011e193 ori gp,gp,1 +800001dc: 05d00893 li a7,93 +800001e0: 00018513 mv a0,gp +800001e4: 00000073 ecall + +800001e8 <pass>: +800001e8: 0ff0000f fence +800001ec: 00100193 li gp,1 +800001f0: 05d00893 li a7,93 +800001f4: 00000513 li a0,0 +800001f8: 00000073 ecall +800001fc: c0001073 unimp +80000200: 0000 unimp +80000202: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 0000 unimp +80002002: bf80 fsd fs0,56(a5) +80002004: 0000 unimp +80002006: 4000 lw s0,0(s0) +80002008: 0000 unimp +8000200a: 4040 lw s0,4(s0) +8000200c: 0000 unimp +8000200e: c080 sw s0,0(s1) +80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06> +80002014: babe fsd fa5,368(sp) +80002016: cafe sw t6,84(sp) +80002018: 1dea slli s11,s11,0x3a +8000201a: abad j 80002594 <_end+0x574> +8000201c: d00d beqz s0,80001f3e <fromhost+0xefe> +8000201e: lui t1,0x1 diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-move.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-move.dump new file mode 100644 index 0000000..045df28 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-move.dump @@ -0,0 +1,360 @@ + +rv32uf-p-move: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfff> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <test_2> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret + +80000188 <test_2>: +80000188: 0030d073 csrwi fcsr,1 +8000018c: 00001537 lui a0,0x1 +80000190: 23450513 addi a0,a0,564 # 1234 <_start-0x7fffedcc> +80000194: 003515f3 fscsr a1,a0 +80000198: 00100393 li t2,1 +8000019c: 00200193 li gp,2 +800001a0: 26759c63 bne a1,t2,80000418 <fail> + +800001a4 <test_3>: +800001a4: 00302573 frcsr a0 +800001a8: 03400393 li t2,52 +800001ac: 00300193 li gp,3 +800001b0: 26751463 bne a0,t2,80000418 <fail> + +800001b4 <test_4>: +800001b4: 00102573 frflags a0 +800001b8: 01400393 li t2,20 +800001bc: 00400193 li gp,4 +800001c0: 24751c63 bne a0,t2,80000418 <fail> + +800001c4 <test_5>: +800001c4: 00215573 fsrmi a0,2 +800001c8: 00100393 li t2,1 +800001cc: 00500193 li gp,5 +800001d0: 24751463 bne a0,t2,80000418 <fail> + +800001d4 <test_6>: +800001d4: 00302573 frcsr a0 +800001d8: 05400393 li t2,84 +800001dc: 00600193 li gp,6 +800001e0: 22751c63 bne a0,t2,80000418 <fail> + +800001e4 <test_7>: +800001e4: 00127573 csrrci a0,fflags,4 +800001e8: 01400393 li t2,20 +800001ec: 00700193 li gp,7 +800001f0: 22751463 bne a0,t2,80000418 <fail> + +800001f4 <test_8>: +800001f4: 00302573 frcsr a0 +800001f8: 05000393 li t2,80 +800001fc: 00800193 li gp,8 +80000200: 20751c63 bne a0,t2,80000418 <fail> + +80000204 <test_10>: +80000204: 123455b7 lui a1,0x12345 +80000208: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +8000020c: 00000613 li a2,0 +80000210: f00580d3 fmv.w.x ft1,a1 +80000214: f0060153 fmv.w.x ft2,a2 +80000218: 20208053 fsgnj.s ft0,ft1,ft2 +8000021c: e0000553 fmv.x.w a0,ft0 +80000220: 123453b7 lui t2,0x12345 +80000224: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +80000228: 00a00193 li gp,10 +8000022c: 1e751663 bne a0,t2,80000418 <fail> + +80000230 <test_11>: +80000230: 123455b7 lui a1,0x12345 +80000234: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +80000238: fff00613 li a2,-1 +8000023c: f00580d3 fmv.w.x ft1,a1 +80000240: f0060153 fmv.w.x ft2,a2 +80000244: 20208053 fsgnj.s ft0,ft1,ft2 +80000248: e0000553 fmv.x.w a0,ft0 +8000024c: 923453b7 lui t2,0x92345 +80000250: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +80000254: 00b00193 li gp,11 +80000258: 1c751063 bne a0,t2,80000418 <fail> + +8000025c <test_12>: +8000025c: 923455b7 lui a1,0x92345 +80000260: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +80000264: 00000613 li a2,0 +80000268: f00580d3 fmv.w.x ft1,a1 +8000026c: f0060153 fmv.w.x ft2,a2 +80000270: 20208053 fsgnj.s ft0,ft1,ft2 +80000274: e0000553 fmv.x.w a0,ft0 +80000278: 123453b7 lui t2,0x12345 +8000027c: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +80000280: 00c00193 li gp,12 +80000284: 18751a63 bne a0,t2,80000418 <fail> + +80000288 <test_13>: +80000288: 923455b7 lui a1,0x92345 +8000028c: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +80000290: fff00613 li a2,-1 +80000294: f00580d3 fmv.w.x ft1,a1 +80000298: f0060153 fmv.w.x ft2,a2 +8000029c: 20208053 fsgnj.s ft0,ft1,ft2 +800002a0: e0000553 fmv.x.w a0,ft0 +800002a4: 923453b7 lui t2,0x92345 +800002a8: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +800002ac: 00d00193 li gp,13 +800002b0: 16751463 bne a0,t2,80000418 <fail> + +800002b4 <test_20>: +800002b4: 123455b7 lui a1,0x12345 +800002b8: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +800002bc: 00000613 li a2,0 +800002c0: f00580d3 fmv.w.x ft1,a1 +800002c4: f0060153 fmv.w.x ft2,a2 +800002c8: 20209053 fsgnjn.s ft0,ft1,ft2 +800002cc: e0000553 fmv.x.w a0,ft0 +800002d0: 923453b7 lui t2,0x92345 +800002d4: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +800002d8: 01400193 li gp,20 +800002dc: 12751e63 bne a0,t2,80000418 <fail> + +800002e0 <test_21>: +800002e0: 123455b7 lui a1,0x12345 +800002e4: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +800002e8: fff00613 li a2,-1 +800002ec: f00580d3 fmv.w.x ft1,a1 +800002f0: f0060153 fmv.w.x ft2,a2 +800002f4: 20209053 fsgnjn.s ft0,ft1,ft2 +800002f8: e0000553 fmv.x.w a0,ft0 +800002fc: 123453b7 lui t2,0x12345 +80000300: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +80000304: 01500193 li gp,21 +80000308: 10751863 bne a0,t2,80000418 <fail> + +8000030c <test_22>: +8000030c: 923455b7 lui a1,0x92345 +80000310: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +80000314: 00000613 li a2,0 +80000318: f00580d3 fmv.w.x ft1,a1 +8000031c: f0060153 fmv.w.x ft2,a2 +80000320: 20209053 fsgnjn.s ft0,ft1,ft2 +80000324: e0000553 fmv.x.w a0,ft0 +80000328: 923453b7 lui t2,0x92345 +8000032c: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +80000330: 01600193 li gp,22 +80000334: 0e751263 bne a0,t2,80000418 <fail> + +80000338 <test_23>: +80000338: 923455b7 lui a1,0x92345 +8000033c: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +80000340: fff00613 li a2,-1 +80000344: f00580d3 fmv.w.x ft1,a1 +80000348: f0060153 fmv.w.x ft2,a2 +8000034c: 20209053 fsgnjn.s ft0,ft1,ft2 +80000350: e0000553 fmv.x.w a0,ft0 +80000354: 123453b7 lui t2,0x12345 +80000358: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +8000035c: 01700193 li gp,23 +80000360: 0a751c63 bne a0,t2,80000418 <fail> + +80000364 <test_30>: +80000364: 123455b7 lui a1,0x12345 +80000368: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +8000036c: 00000613 li a2,0 +80000370: f00580d3 fmv.w.x ft1,a1 +80000374: f0060153 fmv.w.x ft2,a2 +80000378: 2020a053 fsgnjx.s ft0,ft1,ft2 +8000037c: e0000553 fmv.x.w a0,ft0 +80000380: 123453b7 lui t2,0x12345 +80000384: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +80000388: 01e00193 li gp,30 +8000038c: 08751663 bne a0,t2,80000418 <fail> + +80000390 <test_31>: +80000390: 123455b7 lui a1,0x12345 +80000394: 67858593 addi a1,a1,1656 # 12345678 <_start-0x6dcba988> +80000398: fff00613 li a2,-1 +8000039c: f00580d3 fmv.w.x ft1,a1 +800003a0: f0060153 fmv.w.x ft2,a2 +800003a4: 2020a053 fsgnjx.s ft0,ft1,ft2 +800003a8: e0000553 fmv.x.w a0,ft0 +800003ac: 923453b7 lui t2,0x92345 +800003b0: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +800003b4: 01f00193 li gp,31 +800003b8: 06751063 bne a0,t2,80000418 <fail> + +800003bc <test_32>: +800003bc: 923455b7 lui a1,0x92345 +800003c0: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +800003c4: 00000613 li a2,0 +800003c8: f00580d3 fmv.w.x ft1,a1 +800003cc: f0060153 fmv.w.x ft2,a2 +800003d0: 2020a053 fsgnjx.s ft0,ft1,ft2 +800003d4: e0000553 fmv.x.w a0,ft0 +800003d8: 923453b7 lui t2,0x92345 +800003dc: 67838393 addi t2,t2,1656 # 92345678 <_end+0x12343678> +800003e0: 02000193 li gp,32 +800003e4: 02751a63 bne a0,t2,80000418 <fail> + +800003e8 <test_33>: +800003e8: 923455b7 lui a1,0x92345 +800003ec: 67858593 addi a1,a1,1656 # 92345678 <_end+0x12343678> +800003f0: fff00613 li a2,-1 +800003f4: f00580d3 fmv.w.x ft1,a1 +800003f8: f0060153 fmv.w.x ft2,a2 +800003fc: 2020a053 fsgnjx.s ft0,ft1,ft2 +80000400: e0000553 fmv.x.w a0,ft0 +80000404: 123453b7 lui t2,0x12345 +80000408: 67838393 addi t2,t2,1656 # 12345678 <_start-0x6dcba988> +8000040c: 02100193 li gp,33 +80000410: 00751463 bne a0,t2,80000418 <fail> +80000414: 02301063 bne zero,gp,80000434 <pass> + +80000418 <fail>: +80000418: 0ff0000f fence +8000041c: 00018063 beqz gp,8000041c <fail+0x4> +80000420: 00119193 slli gp,gp,0x1 +80000424: 0011e193 ori gp,gp,1 +80000428: 05d00893 li a7,93 +8000042c: 00018513 mv a0,gp +80000430: 00000073 ecall + +80000434 <pass>: +80000434: 0ff0000f fence +80000438: 00100193 li gp,1 +8000043c: 05d00893 li a7,93 +80000440: 00000513 li a0,0 +80000444: 00000073 ecall +80000448: c0001073 unimp +8000044c: 0000 unimp +8000044e: 0000 unimp +80000450: 0000 unimp +80000452: 0000 unimp +80000454: 0000 unimp +80000456: 0000 unimp +80000458: 0000 unimp +8000045a: 0000 unimp +8000045c: 0000 unimp +8000045e: 0000 unimp +80000460: 0000 unimp +80000462: 0000 unimp +80000464: 0000 unimp +80000466: 0000 unimp +80000468: 0000 unimp +8000046a: 0000 unimp +8000046c: 0000 unimp +8000046e: 0000 unimp +80000470: 0000 unimp +80000472: 0000 unimp +80000474: 0000 unimp +80000476: 0000 unimp +80000478: 0000 unimp +8000047a: 0000 unimp +8000047c: 0000 unimp +8000047e: 0000 unimp +80000480: 0000 unimp +80000482: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32uf-p-recoding.dump b/VexRiscv/src/test/resources/asm/rv32uf-p-recoding.dump new file mode 100644 index 0000000..12d0f41 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32uf-p-recoding.dump @@ -0,0 +1,190 @@ + +rv32uf-p-recoding: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 5391e193 ori gp,gp,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fc3f2023 sw gp,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: 00000093 li ra,0 +80000050: 00000113 li sp,0 +80000054: 00000193 li gp,0 +80000058: 00000213 li tp,0 +8000005c: 00000293 li t0,0 +80000060: 00000313 li t1,0 +80000064: 00000393 li t2,0 +80000068: 00000413 li s0,0 +8000006c: 00000493 li s1,0 +80000070: 00000513 li a0,0 +80000074: 00000593 li a1,0 +80000078: 00000613 li a2,0 +8000007c: 00000693 li a3,0 +80000080: 00000713 li a4,0 +80000084: 00000793 li a5,0 +80000088: 00000813 li a6,0 +8000008c: 00000893 li a7,0 +80000090: 00000913 li s2,0 +80000094: 00000993 li s3,0 +80000098: 00000a13 li s4,0 +8000009c: 00000a93 li s5,0 +800000a0: 00000b13 li s6,0 +800000a4: 00000b93 li s7,0 +800000a8: 00000c13 li s8,0 +800000ac: 00000c93 li s9,0 +800000b0: 00000d13 li s10,0 +800000b4: 00000d93 li s11,0 +800000b8: 00000e13 li t3,0 +800000bc: 00000e93 li t4,0 +800000c0: 00000f13 li t5,0 +800000c4: 00000f93 li t6,0 +800000c8: f1402573 csrr a0,mhartid +800000cc: 00051063 bnez a0,800000cc <reset_vector+0x80> +800000d0: 00000297 auipc t0,0x0 +800000d4: 01028293 addi t0,t0,16 # 800000e0 <reset_vector+0x94> +800000d8: 30529073 csrw mtvec,t0 +800000dc: 18005073 csrwi satp,0 +800000e0: 00000297 auipc t0,0x0 +800000e4: 02028293 addi t0,t0,32 # 80000100 <reset_vector+0xb4> +800000e8: 30529073 csrw mtvec,t0 +800000ec: 800002b7 lui t0,0x80000 +800000f0: fff28293 addi t0,t0,-1 # 7fffffff <_end+0xffffdfef> +800000f4: 3b029073 csrw pmpaddr0,t0 +800000f8: 01f00293 li t0,31 +800000fc: 3a029073 csrw pmpcfg0,t0 +80000100: 30405073 csrwi mie,0 +80000104: 00000297 auipc t0,0x0 +80000108: 01428293 addi t0,t0,20 # 80000118 <reset_vector+0xcc> +8000010c: 30529073 csrw mtvec,t0 +80000110: 30205073 csrwi medeleg,0 +80000114: 30305073 csrwi mideleg,0 +80000118: 00000193 li gp,0 +8000011c: 00000297 auipc t0,0x0 +80000120: ee828293 addi t0,t0,-280 # 80000004 <trap_vector> +80000124: 30529073 csrw mtvec,t0 +80000128: 00100513 li a0,1 +8000012c: 01f51513 slli a0,a0,0x1f +80000130: 00054c63 bltz a0,80000148 <reset_vector+0xfc> +80000134: 0ff0000f fence +80000138: 00100193 li gp,1 +8000013c: 05d00893 li a7,93 +80000140: 00000513 li a0,0 +80000144: 00000073 ecall +80000148: 80000297 auipc t0,0x80000 +8000014c: eb828293 addi t0,t0,-328 # 0 <_start-0x80000000> +80000150: 00028a63 beqz t0,80000164 <reset_vector+0x118> +80000154: 10529073 csrw stvec,t0 +80000158: 0000b2b7 lui t0,0xb +8000015c: 10928293 addi t0,t0,265 # b109 <_start-0x7fff4ef7> +80000160: 30229073 csrw medeleg,t0 +80000164: 30005073 csrwi mstatus,0 +80000168: 00002537 lui a0,0x2 +8000016c: 30052073 csrs mstatus,a0 +80000170: 00305073 csrwi fcsr,0 +80000174: 00000297 auipc t0,0x0 +80000178: 01428293 addi t0,t0,20 # 80000188 <reset_vector+0x13c> +8000017c: 34129073 csrw mepc,t0 +80000180: f1402573 csrr a0,mhartid +80000184: 30200073 mret +80000188: 00002517 auipc a0,0x2 +8000018c: e7852007 flw ft0,-392(a0) # 80002000 <begin_signature> +80000190: 00002517 auipc a0,0x2 +80000194: e7452087 flw ft1,-396(a0) # 80002004 <three> +80000198: 1000f0d3 fmul.s ft1,ft1,ft0 + +8000019c <test_2>: +8000019c: a0102553 feq.s a0,ft0,ft1 +800001a0: 00100393 li t2,1 +800001a4: 00200193 li gp,2 +800001a8: 06751463 bne a0,t2,80000210 <fail> + +800001ac <test_3>: +800001ac: a0100553 fle.s a0,ft0,ft1 +800001b0: 00100393 li t2,1 +800001b4: 00300193 li gp,3 +800001b8: 04751c63 bne a0,t2,80000210 <fail> + +800001bc <test_4>: +800001bc: a0101553 flt.s a0,ft0,ft1 +800001c0: 00000393 li t2,0 +800001c4: 00400193 li gp,4 +800001c8: 04751463 bne a0,t2,80000210 <fail> +800001cc: d0007053 fcvt.s.w ft0,zero +800001d0: 00100513 li a0,1 +800001d4: d00570d3 fcvt.s.w ft1,a0 +800001d8: 1000f0d3 fmul.s ft1,ft1,ft0 + +800001dc <test_5>: +800001dc: a0102553 feq.s a0,ft0,ft1 +800001e0: 00100393 li t2,1 +800001e4: 00500193 li gp,5 +800001e8: 02751463 bne a0,t2,80000210 <fail> + +800001ec <test_6>: +800001ec: a0100553 fle.s a0,ft0,ft1 +800001f0: 00100393 li t2,1 +800001f4: 00600193 li gp,6 +800001f8: 00751c63 bne a0,t2,80000210 <fail> + +800001fc <test_7>: +800001fc: a0101553 flt.s a0,ft0,ft1 +80000200: 00000393 li t2,0 +80000204: 00700193 li gp,7 +80000208: 00751463 bne a0,t2,80000210 <fail> +8000020c: 02301063 bne zero,gp,8000022c <pass> + +80000210 <fail>: +80000210: 0ff0000f fence +80000214: 00018063 beqz gp,80000214 <fail+0x4> +80000218: 00119193 slli gp,gp,0x1 +8000021c: 0011e193 ori gp,gp,1 +80000220: 05d00893 li a7,93 +80000224: 00018513 mv a0,gp +80000228: 00000073 ecall + +8000022c <pass>: +8000022c: 0ff0000f fence +80000230: 00100193 li gp,1 +80000234: 05d00893 li a7,93 +80000238: 00000513 li a0,0 +8000023c: 00000073 ecall +80000240: c0001073 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 0000 unimp +80002002: ff80 fsw fs0,56(a5) + +80002004 <three>: +80002004: 0000 unimp +80002006: 4040 lw s0,4(s0) +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-add.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-add.dump new file mode 100644 index 0000000..00fa611 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-add.dump @@ -0,0 +1,463 @@ + +rv32ui-p-add: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 002081b3 add gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4dd19663 bne gp,t4,8000059c <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 002081b3 add gp,ra,sp +800000e0: 00200e93 li t4,2 +800000e4: 00300e13 li t3,3 +800000e8: 4bd19a63 bne gp,t4,8000059c <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 002081b3 add gp,ra,sp +800000f8: 00a00e93 li t4,10 +800000fc: 00400e13 li t3,4 +80000100: 49d19e63 bne gp,t4,8000059c <fail> + +80000104 <test_5>: +80000104: 00000093 li ra,0 +80000108: ffff8137 lui sp,0xffff8 +8000010c: 002081b3 add gp,ra,sp +80000110: ffff8eb7 lui t4,0xffff8 +80000114: 00500e13 li t3,5 +80000118: 49d19263 bne gp,t4,8000059c <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00000113 li sp,0 +80000124: 002081b3 add gp,ra,sp +80000128: 80000eb7 lui t4,0x80000 +8000012c: 00600e13 li t3,6 +80000130: 47d19663 bne gp,t4,8000059c <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: ffff8137 lui sp,0xffff8 +8000013c: 002081b3 add gp,ra,sp +80000140: 7fff8eb7 lui t4,0x7fff8 +80000144: 00700e13 li t3,7 +80000148: 45d19a63 bne gp,t4,8000059c <fail> + +8000014c <test_8>: +8000014c: 00000093 li ra,0 +80000150: 00008137 lui sp,0x8 +80000154: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000158: 002081b3 add gp,ra,sp +8000015c: 00008eb7 lui t4,0x8 +80000160: fffe8e93 addi t4,t4,-1 # 7fff <_start-0x7fff8001> +80000164: 00800e13 li t3,8 +80000168: 43d19a63 bne gp,t4,8000059c <fail> + +8000016c <test_9>: +8000016c: 800000b7 lui ra,0x80000 +80000170: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000174: 00000113 li sp,0 +80000178: 002081b3 add gp,ra,sp +8000017c: 80000eb7 lui t4,0x80000 +80000180: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000184: 00900e13 li t3,9 +80000188: 41d19a63 bne gp,t4,8000059c <fail> + +8000018c <test_10>: +8000018c: 800000b7 lui ra,0x80000 +80000190: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000194: 00008137 lui sp,0x8 +80000198: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +8000019c: 002081b3 add gp,ra,sp +800001a0: 80008eb7 lui t4,0x80008 +800001a4: ffee8e93 addi t4,t4,-2 # 80007ffe <begin_signature+0x5ffe> +800001a8: 00a00e13 li t3,10 +800001ac: 3fd19863 bne gp,t4,8000059c <fail> + +800001b0 <test_11>: +800001b0: 800000b7 lui ra,0x80000 +800001b4: 00008137 lui sp,0x8 +800001b8: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001bc: 002081b3 add gp,ra,sp +800001c0: 80008eb7 lui t4,0x80008 +800001c4: fffe8e93 addi t4,t4,-1 # 80007fff <begin_signature+0x5fff> +800001c8: 00b00e13 li t3,11 +800001cc: 3dd19863 bne gp,t4,8000059c <fail> + +800001d0 <test_12>: +800001d0: 800000b7 lui ra,0x80000 +800001d4: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001d8: ffff8137 lui sp,0xffff8 +800001dc: 002081b3 add gp,ra,sp +800001e0: 7fff8eb7 lui t4,0x7fff8 +800001e4: fffe8e93 addi t4,t4,-1 # 7fff7fff <_start-0x8001> +800001e8: 00c00e13 li t3,12 +800001ec: 3bd19863 bne gp,t4,8000059c <fail> + +800001f0 <test_13>: +800001f0: 00000093 li ra,0 +800001f4: fff00113 li sp,-1 +800001f8: 002081b3 add gp,ra,sp +800001fc: fff00e93 li t4,-1 +80000200: 00d00e13 li t3,13 +80000204: 39d19c63 bne gp,t4,8000059c <fail> + +80000208 <test_14>: +80000208: fff00093 li ra,-1 +8000020c: 00100113 li sp,1 +80000210: 002081b3 add gp,ra,sp +80000214: 00000e93 li t4,0 +80000218: 00e00e13 li t3,14 +8000021c: 39d19063 bne gp,t4,8000059c <fail> + +80000220 <test_15>: +80000220: fff00093 li ra,-1 +80000224: fff00113 li sp,-1 +80000228: 002081b3 add gp,ra,sp +8000022c: ffe00e93 li t4,-2 +80000230: 00f00e13 li t3,15 +80000234: 37d19463 bne gp,t4,8000059c <fail> + +80000238 <test_16>: +80000238: 00100093 li ra,1 +8000023c: 80000137 lui sp,0x80000 +80000240: fff10113 addi sp,sp,-1 # 7fffffff <begin_signature+0xffffdfff> +80000244: 002081b3 add gp,ra,sp +80000248: 80000eb7 lui t4,0x80000 +8000024c: 01000e13 li t3,16 +80000250: 35d19663 bne gp,t4,8000059c <fail> + +80000254 <test_17>: +80000254: 00d00093 li ra,13 +80000258: 00b00113 li sp,11 +8000025c: 002080b3 add ra,ra,sp +80000260: 01800e93 li t4,24 +80000264: 01100e13 li t3,17 +80000268: 33d09a63 bne ra,t4,8000059c <fail> + +8000026c <test_18>: +8000026c: 00e00093 li ra,14 +80000270: 00b00113 li sp,11 +80000274: 00208133 add sp,ra,sp +80000278: 01900e93 li t4,25 +8000027c: 01200e13 li t3,18 +80000280: 31d11e63 bne sp,t4,8000059c <fail> + +80000284 <test_19>: +80000284: 00d00093 li ra,13 +80000288: 001080b3 add ra,ra,ra +8000028c: 01a00e93 li t4,26 +80000290: 01300e13 li t3,19 +80000294: 31d09463 bne ra,t4,8000059c <fail> + +80000298 <test_20>: +80000298: 00000213 li tp,0 +8000029c: 00d00093 li ra,13 +800002a0: 00b00113 li sp,11 +800002a4: 002081b3 add gp,ra,sp +800002a8: 00018313 mv t1,gp +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fe5214e3 bne tp,t0,8000029c <test_20+0x4> +800002b8: 01800e93 li t4,24 +800002bc: 01400e13 li t3,20 +800002c0: 2dd31e63 bne t1,t4,8000059c <fail> + +800002c4 <test_21>: +800002c4: 00000213 li tp,0 +800002c8: 00e00093 li ra,14 +800002cc: 00b00113 li sp,11 +800002d0: 002081b3 add gp,ra,sp +800002d4: 00000013 nop +800002d8: 00018313 mv t1,gp +800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e0: 00200293 li t0,2 +800002e4: fe5212e3 bne tp,t0,800002c8 <test_21+0x4> +800002e8: 01900e93 li t4,25 +800002ec: 01500e13 li t3,21 +800002f0: 2bd31663 bne t1,t4,8000059c <fail> + +800002f4 <test_22>: +800002f4: 00000213 li tp,0 +800002f8: 00f00093 li ra,15 +800002fc: 00b00113 li sp,11 +80000300: 002081b3 add gp,ra,sp +80000304: 00000013 nop +80000308: 00000013 nop +8000030c: 00018313 mv t1,gp +80000310: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000314: 00200293 li t0,2 +80000318: fe5210e3 bne tp,t0,800002f8 <test_22+0x4> +8000031c: 01a00e93 li t4,26 +80000320: 01600e13 li t3,22 +80000324: 27d31c63 bne t1,t4,8000059c <fail> + +80000328 <test_23>: +80000328: 00000213 li tp,0 +8000032c: 00d00093 li ra,13 +80000330: 00b00113 li sp,11 +80000334: 002081b3 add gp,ra,sp +80000338: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000033c: 00200293 li t0,2 +80000340: fe5216e3 bne tp,t0,8000032c <test_23+0x4> +80000344: 01800e93 li t4,24 +80000348: 01700e13 li t3,23 +8000034c: 25d19863 bne gp,t4,8000059c <fail> + +80000350 <test_24>: +80000350: 00000213 li tp,0 +80000354: 00e00093 li ra,14 +80000358: 00b00113 li sp,11 +8000035c: 00000013 nop +80000360: 002081b3 add gp,ra,sp +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5214e3 bne tp,t0,80000354 <test_24+0x4> +80000370: 01900e93 li t4,25 +80000374: 01800e13 li t3,24 +80000378: 23d19263 bne gp,t4,8000059c <fail> + +8000037c <test_25>: +8000037c: 00000213 li tp,0 +80000380: 00f00093 li ra,15 +80000384: 00b00113 li sp,11 +80000388: 00000013 nop +8000038c: 00000013 nop +80000390: 002081b3 add gp,ra,sp +80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000398: 00200293 li t0,2 +8000039c: fe5212e3 bne tp,t0,80000380 <test_25+0x4> +800003a0: 01a00e93 li t4,26 +800003a4: 01900e13 li t3,25 +800003a8: 1fd19a63 bne gp,t4,8000059c <fail> + +800003ac <test_26>: +800003ac: 00000213 li tp,0 +800003b0: 00d00093 li ra,13 +800003b4: 00000013 nop +800003b8: 00b00113 li sp,11 +800003bc: 002081b3 add gp,ra,sp +800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003c4: 00200293 li t0,2 +800003c8: fe5214e3 bne tp,t0,800003b0 <test_26+0x4> +800003cc: 01800e93 li t4,24 +800003d0: 01a00e13 li t3,26 +800003d4: 1dd19463 bne gp,t4,8000059c <fail> + +800003d8 <test_27>: +800003d8: 00000213 li tp,0 +800003dc: 00e00093 li ra,14 +800003e0: 00000013 nop +800003e4: 00b00113 li sp,11 +800003e8: 00000013 nop +800003ec: 002081b3 add gp,ra,sp +800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f4: 00200293 li t0,2 +800003f8: fe5212e3 bne tp,t0,800003dc <test_27+0x4> +800003fc: 01900e93 li t4,25 +80000400: 01b00e13 li t3,27 +80000404: 19d19c63 bne gp,t4,8000059c <fail> + +80000408 <test_28>: +80000408: 00000213 li tp,0 +8000040c: 00f00093 li ra,15 +80000410: 00000013 nop +80000414: 00000013 nop +80000418: 00b00113 li sp,11 +8000041c: 002081b3 add gp,ra,sp +80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000424: 00200293 li t0,2 +80000428: fe5212e3 bne tp,t0,8000040c <test_28+0x4> +8000042c: 01a00e93 li t4,26 +80000430: 01c00e13 li t3,28 +80000434: 17d19463 bne gp,t4,8000059c <fail> + +80000438 <test_29>: +80000438: 00000213 li tp,0 +8000043c: 00b00113 li sp,11 +80000440: 00d00093 li ra,13 +80000444: 002081b3 add gp,ra,sp +80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000044c: 00200293 li t0,2 +80000450: fe5216e3 bne tp,t0,8000043c <test_29+0x4> +80000454: 01800e93 li t4,24 +80000458: 01d00e13 li t3,29 +8000045c: 15d19063 bne gp,t4,8000059c <fail> + +80000460 <test_30>: +80000460: 00000213 li tp,0 +80000464: 00b00113 li sp,11 +80000468: 00e00093 li ra,14 +8000046c: 00000013 nop +80000470: 002081b3 add gp,ra,sp +80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000478: 00200293 li t0,2 +8000047c: fe5214e3 bne tp,t0,80000464 <test_30+0x4> +80000480: 01900e93 li t4,25 +80000484: 01e00e13 li t3,30 +80000488: 11d19a63 bne gp,t4,8000059c <fail> + +8000048c <test_31>: +8000048c: 00000213 li tp,0 +80000490: 00b00113 li sp,11 +80000494: 00f00093 li ra,15 +80000498: 00000013 nop +8000049c: 00000013 nop +800004a0: 002081b3 add gp,ra,sp +800004a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004a8: 00200293 li t0,2 +800004ac: fe5212e3 bne tp,t0,80000490 <test_31+0x4> +800004b0: 01a00e93 li t4,26 +800004b4: 01f00e13 li t3,31 +800004b8: 0fd19263 bne gp,t4,8000059c <fail> + +800004bc <test_32>: +800004bc: 00000213 li tp,0 +800004c0: 00b00113 li sp,11 +800004c4: 00000013 nop +800004c8: 00d00093 li ra,13 +800004cc: 002081b3 add gp,ra,sp +800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d4: 00200293 li t0,2 +800004d8: fe5214e3 bne tp,t0,800004c0 <test_32+0x4> +800004dc: 01800e93 li t4,24 +800004e0: 02000e13 li t3,32 +800004e4: 0bd19c63 bne gp,t4,8000059c <fail> + +800004e8 <test_33>: +800004e8: 00000213 li tp,0 +800004ec: 00b00113 li sp,11 +800004f0: 00000013 nop +800004f4: 00e00093 li ra,14 +800004f8: 00000013 nop +800004fc: 002081b3 add gp,ra,sp +80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000504: 00200293 li t0,2 +80000508: fe5212e3 bne tp,t0,800004ec <test_33+0x4> +8000050c: 01900e93 li t4,25 +80000510: 02100e13 li t3,33 +80000514: 09d19463 bne gp,t4,8000059c <fail> + +80000518 <test_34>: +80000518: 00000213 li tp,0 +8000051c: 00b00113 li sp,11 +80000520: 00000013 nop +80000524: 00000013 nop +80000528: 00f00093 li ra,15 +8000052c: 002081b3 add gp,ra,sp +80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000534: 00200293 li t0,2 +80000538: fe5212e3 bne tp,t0,8000051c <test_34+0x4> +8000053c: 01a00e93 li t4,26 +80000540: 02200e13 li t3,34 +80000544: 05d19c63 bne gp,t4,8000059c <fail> + +80000548 <test_35>: +80000548: 00f00093 li ra,15 +8000054c: 00100133 add sp,zero,ra +80000550: 00f00e93 li t4,15 +80000554: 02300e13 li t3,35 +80000558: 05d11263 bne sp,t4,8000059c <fail> + +8000055c <test_36>: +8000055c: 02000093 li ra,32 +80000560: 00008133 add sp,ra,zero +80000564: 02000e93 li t4,32 +80000568: 02400e13 li t3,36 +8000056c: 03d11863 bne sp,t4,8000059c <fail> + +80000570 <test_37>: +80000570: 000000b3 add ra,zero,zero +80000574: 00000e93 li t4,0 +80000578: 02500e13 li t3,37 +8000057c: 03d09063 bne ra,t4,8000059c <fail> + +80000580 <test_38>: +80000580: 01000093 li ra,16 +80000584: 01e00113 li sp,30 +80000588: 00208033 add zero,ra,sp +8000058c: 00000e93 li t4,0 +80000590: 02600e13 li t3,38 +80000594: 01d01463 bne zero,t4,8000059c <fail> +80000598: 01c01c63 bne zero,t3,800005b0 <pass> + +8000059c <fail>: +8000059c: 0ff0000f fence +800005a0: 000e0063 beqz t3,800005a0 <fail+0x4> +800005a4: 001e1e13 slli t3,t3,0x1 +800005a8: 001e6e13 ori t3,t3,1 +800005ac: 00000073 ecall + +800005b0 <pass>: +800005b0: 0ff0000f fence +800005b4: 00100e13 li t3,1 +800005b8: 00000073 ecall +800005bc: c0001073 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-addi.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-addi.dump new file mode 100644 index 0000000..a6cec3b --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-addi.dump @@ -0,0 +1,299 @@ + +rv32ui-p-addi: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00008193 mv gp,ra +800000c4: 00000e93 li t4,0 +800000c8: 00200e13 li t3,2 +800000cc: 27d19c63 bne gp,t4,80000344 <fail> + +800000d0 <test_3>: +800000d0: 00100093 li ra,1 +800000d4: 00108193 addi gp,ra,1 +800000d8: 00200e93 li t4,2 +800000dc: 00300e13 li t3,3 +800000e0: 27d19263 bne gp,t4,80000344 <fail> + +800000e4 <test_4>: +800000e4: 00300093 li ra,3 +800000e8: 00708193 addi gp,ra,7 +800000ec: 00a00e93 li t4,10 +800000f0: 00400e13 li t3,4 +800000f4: 25d19863 bne gp,t4,80000344 <fail> + +800000f8 <test_5>: +800000f8: 00000093 li ra,0 +800000fc: 80008193 addi gp,ra,-2048 +80000100: 80000e93 li t4,-2048 +80000104: 00500e13 li t3,5 +80000108: 23d19e63 bne gp,t4,80000344 <fail> + +8000010c <test_6>: +8000010c: 800000b7 lui ra,0x80000 +80000110: 00008193 mv gp,ra +80000114: 80000eb7 lui t4,0x80000 +80000118: 00600e13 li t3,6 +8000011c: 23d19463 bne gp,t4,80000344 <fail> + +80000120 <test_7>: +80000120: 800000b7 lui ra,0x80000 +80000124: 80008193 addi gp,ra,-2048 # 7ffff800 <begin_signature+0xffffd800> +80000128: 80000eb7 lui t4,0x80000 +8000012c: 800e8e93 addi t4,t4,-2048 # 7ffff800 <begin_signature+0xffffd800> +80000130: 00700e13 li t3,7 +80000134: 21d19863 bne gp,t4,80000344 <fail> + +80000138 <test_8>: +80000138: 00000093 li ra,0 +8000013c: 7ff08193 addi gp,ra,2047 +80000140: 7ff00e93 li t4,2047 +80000144: 00800e13 li t3,8 +80000148: 1fd19e63 bne gp,t4,80000344 <fail> + +8000014c <test_9>: +8000014c: 800000b7 lui ra,0x80000 +80000150: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000154: 00008193 mv gp,ra +80000158: 80000eb7 lui t4,0x80000 +8000015c: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000160: 00900e13 li t3,9 +80000164: 1fd19063 bne gp,t4,80000344 <fail> + +80000168 <test_10>: +80000168: 800000b7 lui ra,0x80000 +8000016c: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000170: 7ff08193 addi gp,ra,2047 +80000174: 80000eb7 lui t4,0x80000 +80000178: 7fee8e93 addi t4,t4,2046 # 800007fe <begin_signature+0xffffe7fe> +8000017c: 00a00e13 li t3,10 +80000180: 1dd19263 bne gp,t4,80000344 <fail> + +80000184 <test_11>: +80000184: 800000b7 lui ra,0x80000 +80000188: 7ff08193 addi gp,ra,2047 # 800007ff <begin_signature+0xffffe7ff> +8000018c: 80000eb7 lui t4,0x80000 +80000190: 7ffe8e93 addi t4,t4,2047 # 800007ff <begin_signature+0xffffe7ff> +80000194: 00b00e13 li t3,11 +80000198: 1bd19663 bne gp,t4,80000344 <fail> + +8000019c <test_12>: +8000019c: 800000b7 lui ra,0x80000 +800001a0: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001a4: 80008193 addi gp,ra,-2048 +800001a8: 7ffffeb7 lui t4,0x7ffff +800001ac: 7ffe8e93 addi t4,t4,2047 # 7ffff7ff <_start-0x801> +800001b0: 00c00e13 li t3,12 +800001b4: 19d19863 bne gp,t4,80000344 <fail> + +800001b8 <test_13>: +800001b8: 00000093 li ra,0 +800001bc: fff08193 addi gp,ra,-1 +800001c0: fff00e93 li t4,-1 +800001c4: 00d00e13 li t3,13 +800001c8: 17d19e63 bne gp,t4,80000344 <fail> + +800001cc <test_14>: +800001cc: fff00093 li ra,-1 +800001d0: 00108193 addi gp,ra,1 +800001d4: 00000e93 li t4,0 +800001d8: 00e00e13 li t3,14 +800001dc: 17d19463 bne gp,t4,80000344 <fail> + +800001e0 <test_15>: +800001e0: fff00093 li ra,-1 +800001e4: fff08193 addi gp,ra,-1 +800001e8: ffe00e93 li t4,-2 +800001ec: 00f00e13 li t3,15 +800001f0: 15d19a63 bne gp,t4,80000344 <fail> + +800001f4 <test_16>: +800001f4: 800000b7 lui ra,0x80000 +800001f8: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001fc: 00108193 addi gp,ra,1 +80000200: 80000eb7 lui t4,0x80000 +80000204: 01000e13 li t3,16 +80000208: 13d19e63 bne gp,t4,80000344 <fail> + +8000020c <test_17>: +8000020c: 00d00093 li ra,13 +80000210: 00b08093 addi ra,ra,11 +80000214: 01800e93 li t4,24 +80000218: 01100e13 li t3,17 +8000021c: 13d09463 bne ra,t4,80000344 <fail> + +80000220 <test_18>: +80000220: 00000213 li tp,0 +80000224: 00d00093 li ra,13 +80000228: 00b08193 addi gp,ra,11 +8000022c: 00018313 mv t1,gp +80000230: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000234: 00200293 li t0,2 +80000238: fe5216e3 bne tp,t0,80000224 <test_18+0x4> +8000023c: 01800e93 li t4,24 +80000240: 01200e13 li t3,18 +80000244: 11d31063 bne t1,t4,80000344 <fail> + +80000248 <test_19>: +80000248: 00000213 li tp,0 +8000024c: 00d00093 li ra,13 +80000250: 00a08193 addi gp,ra,10 +80000254: 00000013 nop +80000258: 00018313 mv t1,gp +8000025c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000260: 00200293 li t0,2 +80000264: fe5214e3 bne tp,t0,8000024c <test_19+0x4> +80000268: 01700e93 li t4,23 +8000026c: 01300e13 li t3,19 +80000270: 0dd31a63 bne t1,t4,80000344 <fail> + +80000274 <test_20>: +80000274: 00000213 li tp,0 +80000278: 00d00093 li ra,13 +8000027c: 00908193 addi gp,ra,9 +80000280: 00000013 nop +80000284: 00000013 nop +80000288: 00018313 mv t1,gp +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5212e3 bne tp,t0,80000278 <test_20+0x4> +80000298: 01600e93 li t4,22 +8000029c: 01400e13 li t3,20 +800002a0: 0bd31263 bne t1,t4,80000344 <fail> + +800002a4 <test_21>: +800002a4: 00000213 li tp,0 +800002a8: 00d00093 li ra,13 +800002ac: 00b08193 addi gp,ra,11 +800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b4: 00200293 li t0,2 +800002b8: fe5218e3 bne tp,t0,800002a8 <test_21+0x4> +800002bc: 01800e93 li t4,24 +800002c0: 01500e13 li t3,21 +800002c4: 09d19063 bne gp,t4,80000344 <fail> + +800002c8 <test_22>: +800002c8: 00000213 li tp,0 +800002cc: 00d00093 li ra,13 +800002d0: 00000013 nop +800002d4: 00a08193 addi gp,ra,10 +800002d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002dc: 00200293 li t0,2 +800002e0: fe5216e3 bne tp,t0,800002cc <test_22+0x4> +800002e4: 01700e93 li t4,23 +800002e8: 01600e13 li t3,22 +800002ec: 05d19c63 bne gp,t4,80000344 <fail> + +800002f0 <test_23>: +800002f0: 00000213 li tp,0 +800002f4: 00d00093 li ra,13 +800002f8: 00000013 nop +800002fc: 00000013 nop +80000300: 00908193 addi gp,ra,9 +80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000308: 00200293 li t0,2 +8000030c: fe5214e3 bne tp,t0,800002f4 <test_23+0x4> +80000310: 01600e93 li t4,22 +80000314: 01700e13 li t3,23 +80000318: 03d19663 bne gp,t4,80000344 <fail> + +8000031c <test_24>: +8000031c: 02000093 li ra,32 +80000320: 02000e93 li t4,32 +80000324: 01800e13 li t3,24 +80000328: 01d09e63 bne ra,t4,80000344 <fail> + +8000032c <test_25>: +8000032c: 02100093 li ra,33 +80000330: 03208013 addi zero,ra,50 +80000334: 00000e93 li t4,0 +80000338: 01900e13 li t3,25 +8000033c: 01d01463 bne zero,t4,80000344 <fail> +80000340: 01c01c63 bne zero,t3,80000358 <pass> + +80000344 <fail>: +80000344: 0ff0000f fence +80000348: 000e0063 beqz t3,80000348 <fail+0x4> +8000034c: 001e1e13 slli t3,t3,0x1 +80000350: 001e6e13 ori t3,t3,1 +80000354: 00000073 ecall + +80000358 <pass>: +80000358: 0ff0000f fence +8000035c: 00100e13 li t3,1 +80000360: 00000073 ecall +80000364: c0001073 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-and.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-and.dump new file mode 100644 index 0000000..1e1d6a4 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-and.dump @@ -0,0 +1,451 @@ + +rv32ui-p-and: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: ff0100b7 lui ra,0xff010 +800000c0: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000c4: 0f0f1137 lui sp,0xf0f1 +800000c8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800000cc: 0020f1b3 and gp,ra,sp +800000d0: 0f001eb7 lui t4,0xf001 +800000d4: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +800000d8: 00200e13 li t3,2 +800000dc: 49d19c63 bne gp,t4,80000574 <fail> + +800000e0 <test_3>: +800000e0: 0ff010b7 lui ra,0xff01 +800000e4: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800000e8: f0f0f137 lui sp,0xf0f0f +800000ec: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800000f0: 0020f1b3 and gp,ra,sp +800000f4: 00f00eb7 lui t4,0xf00 +800000f8: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +800000fc: 00300e13 li t3,3 +80000100: 47d19a63 bne gp,t4,80000574 <fail> + +80000104 <test_4>: +80000104: 00ff00b7 lui ra,0xff0 +80000108: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000010c: 0f0f1137 lui sp,0xf0f1 +80000110: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000114: 0020f1b3 and gp,ra,sp +80000118: 000f0eb7 lui t4,0xf0 +8000011c: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +80000120: 00400e13 li t3,4 +80000124: 45d19863 bne gp,t4,80000574 <fail> + +80000128 <test_5>: +80000128: f00ff0b7 lui ra,0xf00ff +8000012c: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000130: f0f0f137 lui sp,0xf0f0f +80000134: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +80000138: 0020f1b3 and gp,ra,sp +8000013c: f000feb7 lui t4,0xf000f +80000140: 00500e13 li t3,5 +80000144: 43d19863 bne gp,t4,80000574 <fail> + +80000148 <test_6>: +80000148: ff0100b7 lui ra,0xff010 +8000014c: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000150: 0f0f1137 lui sp,0xf0f1 +80000154: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000158: 0020f0b3 and ra,ra,sp +8000015c: 0f001eb7 lui t4,0xf001 +80000160: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000164: 00600e13 li t3,6 +80000168: 41d09663 bne ra,t4,80000574 <fail> + +8000016c <test_7>: +8000016c: 0ff010b7 lui ra,0xff01 +80000170: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000174: f0f0f137 lui sp,0xf0f0f +80000178: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +8000017c: 0020f133 and sp,ra,sp +80000180: 00f00eb7 lui t4,0xf00 +80000184: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000188: 00700e13 li t3,7 +8000018c: 3fd11463 bne sp,t4,80000574 <fail> + +80000190 <test_8>: +80000190: ff0100b7 lui ra,0xff010 +80000194: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000198: 0010f0b3 and ra,ra,ra +8000019c: ff010eb7 lui t4,0xff010 +800001a0: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +800001a4: 00800e13 li t3,8 +800001a8: 3dd09663 bne ra,t4,80000574 <fail> + +800001ac <test_9>: +800001ac: 00000213 li tp,0 +800001b0: ff0100b7 lui ra,0xff010 +800001b4: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800001b8: 0f0f1137 lui sp,0xf0f1 +800001bc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001c0: 0020f1b3 and gp,ra,sp +800001c4: 00018313 mv t1,gp +800001c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001cc: 00200293 li t0,2 +800001d0: fe5210e3 bne tp,t0,800001b0 <test_9+0x4> +800001d4: 0f001eb7 lui t4,0xf001 +800001d8: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +800001dc: 00900e13 li t3,9 +800001e0: 39d31a63 bne t1,t4,80000574 <fail> + +800001e4 <test_10>: +800001e4: 00000213 li tp,0 +800001e8: 0ff010b7 lui ra,0xff01 +800001ec: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001f0: f0f0f137 lui sp,0xf0f0f +800001f4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800001f8: 0020f1b3 and gp,ra,sp +800001fc: 00000013 nop +80000200: 00018313 mv t1,gp +80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000208: 00200293 li t0,2 +8000020c: fc521ee3 bne tp,t0,800001e8 <test_10+0x4> +80000210: 00f00eb7 lui t4,0xf00 +80000214: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000218: 00a00e13 li t3,10 +8000021c: 35d31c63 bne t1,t4,80000574 <fail> + +80000220 <test_11>: +80000220: 00000213 li tp,0 +80000224: 00ff00b7 lui ra,0xff0 +80000228: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000022c: 0f0f1137 lui sp,0xf0f1 +80000230: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000234: 0020f1b3 and gp,ra,sp +80000238: 00000013 nop +8000023c: 00000013 nop +80000240: 00018313 mv t1,gp +80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000248: 00200293 li t0,2 +8000024c: fc521ce3 bne tp,t0,80000224 <test_11+0x4> +80000250: 000f0eb7 lui t4,0xf0 +80000254: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +80000258: 00b00e13 li t3,11 +8000025c: 31d31c63 bne t1,t4,80000574 <fail> + +80000260 <test_12>: +80000260: 00000213 li tp,0 +80000264: ff0100b7 lui ra,0xff010 +80000268: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000026c: 0f0f1137 lui sp,0xf0f1 +80000270: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000274: 0020f1b3 and gp,ra,sp +80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000027c: 00200293 li t0,2 +80000280: fe5212e3 bne tp,t0,80000264 <test_12+0x4> +80000284: 0f001eb7 lui t4,0xf001 +80000288: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +8000028c: 00c00e13 li t3,12 +80000290: 2fd19263 bne gp,t4,80000574 <fail> + +80000294 <test_13>: +80000294: 00000213 li tp,0 +80000298: 0ff010b7 lui ra,0xff01 +8000029c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002a0: f0f0f137 lui sp,0xf0f0f +800002a4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800002a8: 00000013 nop +800002ac: 0020f1b3 and gp,ra,sp +800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b4: 00200293 li t0,2 +800002b8: fe5210e3 bne tp,t0,80000298 <test_13+0x4> +800002bc: 00f00eb7 lui t4,0xf00 +800002c0: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +800002c4: 00d00e13 li t3,13 +800002c8: 2bd19663 bne gp,t4,80000574 <fail> + +800002cc <test_14>: +800002cc: 00000213 li tp,0 +800002d0: 00ff00b7 lui ra,0xff0 +800002d4: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002d8: 0f0f1137 lui sp,0xf0f1 +800002dc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 0020f1b3 and gp,ra,sp +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fc521ee3 bne tp,t0,800002d0 <test_14+0x4> +800002f8: 000f0eb7 lui t4,0xf0 +800002fc: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +80000300: 00e00e13 li t3,14 +80000304: 27d19863 bne gp,t4,80000574 <fail> + +80000308 <test_15>: +80000308: 00000213 li tp,0 +8000030c: ff0100b7 lui ra,0xff010 +80000310: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000314: 00000013 nop +80000318: 0f0f1137 lui sp,0xf0f1 +8000031c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000320: 0020f1b3 and gp,ra,sp +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5210e3 bne tp,t0,8000030c <test_15+0x4> +80000330: 0f001eb7 lui t4,0xf001 +80000334: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000338: 00f00e13 li t3,15 +8000033c: 23d19c63 bne gp,t4,80000574 <fail> + +80000340 <test_16>: +80000340: 00000213 li tp,0 +80000344: 0ff010b7 lui ra,0xff01 +80000348: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000034c: 00000013 nop +80000350: f0f0f137 lui sp,0xf0f0f +80000354: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +80000358: 00000013 nop +8000035c: 0020f1b3 and gp,ra,sp +80000360: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000364: 00200293 li t0,2 +80000368: fc521ee3 bne tp,t0,80000344 <test_16+0x4> +8000036c: 00f00eb7 lui t4,0xf00 +80000370: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +80000374: 01000e13 li t3,16 +80000378: 1fd19e63 bne gp,t4,80000574 <fail> + +8000037c <test_17>: +8000037c: 00000213 li tp,0 +80000380: 00ff00b7 lui ra,0xff0 +80000384: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000388: 00000013 nop +8000038c: 00000013 nop +80000390: 0f0f1137 lui sp,0xf0f1 +80000394: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000398: 0020f1b3 and gp,ra,sp +8000039c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a0: 00200293 li t0,2 +800003a4: fc521ee3 bne tp,t0,80000380 <test_17+0x4> +800003a8: 000f0eb7 lui t4,0xf0 +800003ac: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +800003b0: 01100e13 li t3,17 +800003b4: 1dd19063 bne gp,t4,80000574 <fail> + +800003b8 <test_18>: +800003b8: 00000213 li tp,0 +800003bc: 0f0f1137 lui sp,0xf0f1 +800003c0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003c4: ff0100b7 lui ra,0xff010 +800003c8: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800003cc: 0020f1b3 and gp,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5212e3 bne tp,t0,800003bc <test_18+0x4> +800003dc: 0f001eb7 lui t4,0xf001 +800003e0: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +800003e4: 01200e13 li t3,18 +800003e8: 19d19663 bne gp,t4,80000574 <fail> + +800003ec <test_19>: +800003ec: 00000213 li tp,0 +800003f0: f0f0f137 lui sp,0xf0f0f +800003f4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800003f8: 0ff010b7 lui ra,0xff01 +800003fc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000400: 00000013 nop +80000404: 0020f1b3 and gp,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5210e3 bne tp,t0,800003f0 <test_19+0x4> +80000414: 00f00eb7 lui t4,0xf00 +80000418: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +8000041c: 01300e13 li t3,19 +80000420: 15d19a63 bne gp,t4,80000574 <fail> + +80000424 <test_20>: +80000424: 00000213 li tp,0 +80000428: 0f0f1137 lui sp,0xf0f1 +8000042c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000430: 00ff00b7 lui ra,0xff0 +80000434: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000438: 00000013 nop +8000043c: 00000013 nop +80000440: 0020f1b3 and gp,ra,sp +80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000448: 00200293 li t0,2 +8000044c: fc521ee3 bne tp,t0,80000428 <test_20+0x4> +80000450: 000f0eb7 lui t4,0xf0 +80000454: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +80000458: 01400e13 li t3,20 +8000045c: 11d19c63 bne gp,t4,80000574 <fail> + +80000460 <test_21>: +80000460: 00000213 li tp,0 +80000464: 0f0f1137 lui sp,0xf0f1 +80000468: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000046c: 00000013 nop +80000470: ff0100b7 lui ra,0xff010 +80000474: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000478: 0020f1b3 and gp,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5210e3 bne tp,t0,80000464 <test_21+0x4> +80000488: 0f001eb7 lui t4,0xf001 +8000048c: f00e8e93 addi t4,t4,-256 # f000f00 <_start-0x70fff100> +80000490: 01500e13 li t3,21 +80000494: 0fd19063 bne gp,t4,80000574 <fail> + +80000498 <test_22>: +80000498: 00000213 li tp,0 +8000049c: f0f0f137 lui sp,0xf0f0f +800004a0: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800004a4: 00000013 nop +800004a8: 0ff010b7 lui ra,0xff01 +800004ac: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004b0: 00000013 nop +800004b4: 0020f1b3 and gp,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fc521ee3 bne tp,t0,8000049c <test_22+0x4> +800004c4: 00f00eb7 lui t4,0xf00 +800004c8: 0f0e8e93 addi t4,t4,240 # f000f0 <_start-0x7f0fff10> +800004cc: 01600e13 li t3,22 +800004d0: 0bd19263 bne gp,t4,80000574 <fail> + +800004d4 <test_23>: +800004d4: 00000213 li tp,0 +800004d8: 0f0f1137 lui sp,0xf0f1 +800004dc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004e0: 00000013 nop +800004e4: 00000013 nop +800004e8: 00ff00b7 lui ra,0xff0 +800004ec: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800004f0: 0020f1b3 and gp,ra,sp +800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f8: 00200293 li t0,2 +800004fc: fc521ee3 bne tp,t0,800004d8 <test_23+0x4> +80000500: 000f0eb7 lui t4,0xf0 +80000504: 00fe8e93 addi t4,t4,15 # f000f <_start-0x7ff0fff1> +80000508: 01700e13 li t3,23 +8000050c: 07d19463 bne gp,t4,80000574 <fail> + +80000510 <test_24>: +80000510: ff0100b7 lui ra,0xff010 +80000514: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000518: 00107133 and sp,zero,ra +8000051c: 00000e93 li t4,0 +80000520: 01800e13 li t3,24 +80000524: 05d11863 bne sp,t4,80000574 <fail> + +80000528 <test_25>: +80000528: 00ff00b7 lui ra,0xff0 +8000052c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000530: 0000f133 and sp,ra,zero +80000534: 00000e93 li t4,0 +80000538: 01900e13 li t3,25 +8000053c: 03d11c63 bne sp,t4,80000574 <fail> + +80000540 <test_26>: +80000540: 000070b3 and ra,zero,zero +80000544: 00000e93 li t4,0 +80000548: 01a00e13 li t3,26 +8000054c: 03d09463 bne ra,t4,80000574 <fail> + +80000550 <test_27>: +80000550: 111110b7 lui ra,0x11111 +80000554: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +80000558: 22222137 lui sp,0x22222 +8000055c: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +80000560: 0020f033 and zero,ra,sp +80000564: 00000e93 li t4,0 +80000568: 01b00e13 li t3,27 +8000056c: 01d01463 bne zero,t4,80000574 <fail> +80000570: 01c01c63 bne zero,t3,80000588 <pass> + +80000574 <fail>: +80000574: 0ff0000f fence +80000578: 000e0063 beqz t3,80000578 <fail+0x4> +8000057c: 001e1e13 slli t3,t3,0x1 +80000580: 001e6e13 ori t3,t3,1 +80000584: 00000073 ecall + +80000588 <pass>: +80000588: 0ff0000f fence +8000058c: 00100e13 li t3,1 +80000590: 00000073 ecall +80000594: c0001073 unimp +80000598: 0000 unimp +8000059a: 0000 unimp +8000059c: 0000 unimp +8000059e: 0000 unimp +800005a0: 0000 unimp +800005a2: 0000 unimp +800005a4: 0000 unimp +800005a6: 0000 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-andi.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-andi.dump new file mode 100644 index 0000000..1296a5b --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-andi.dump @@ -0,0 +1,231 @@ + +rv32ui-p-andi: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: ff0100b7 lui ra,0xff010 +800000c0: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000c4: f0f0f193 andi gp,ra,-241 +800000c8: ff010eb7 lui t4,0xff010 +800000cc: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000d0: 00200e13 li t3,2 +800000d4: 1bd19463 bne gp,t4,8000027c <fail> + +800000d8 <test_3>: +800000d8: 0ff010b7 lui ra,0xff01 +800000dc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800000e0: 0f00f193 andi gp,ra,240 +800000e4: 0f000e93 li t4,240 +800000e8: 00300e13 li t3,3 +800000ec: 19d19863 bne gp,t4,8000027c <fail> + +800000f0 <test_4>: +800000f0: 00ff00b7 lui ra,0xff0 +800000f4: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800000f8: 70f0f193 andi gp,ra,1807 +800000fc: 00f00e93 li t4,15 +80000100: 00400e13 li t3,4 +80000104: 17d19c63 bne gp,t4,8000027c <fail> + +80000108 <test_5>: +80000108: f00ff0b7 lui ra,0xf00ff +8000010c: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000110: 0f00f193 andi gp,ra,240 +80000114: 00000e93 li t4,0 +80000118: 00500e13 li t3,5 +8000011c: 17d19063 bne gp,t4,8000027c <fail> + +80000120 <test_6>: +80000120: ff0100b7 lui ra,0xff010 +80000124: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000128: 0f00f093 andi ra,ra,240 +8000012c: 00000e93 li t4,0 +80000130: 00600e13 li t3,6 +80000134: 15d09463 bne ra,t4,8000027c <fail> + +80000138 <test_7>: +80000138: 00000213 li tp,0 +8000013c: 0ff010b7 lui ra,0xff01 +80000140: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000144: 70f0f193 andi gp,ra,1807 +80000148: 00018313 mv t1,gp +8000014c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000150: 00200293 li t0,2 +80000154: fe5214e3 bne tp,t0,8000013c <test_7+0x4> +80000158: 70000e93 li t4,1792 +8000015c: 00700e13 li t3,7 +80000160: 11d31e63 bne t1,t4,8000027c <fail> + +80000164 <test_8>: +80000164: 00000213 li tp,0 +80000168: 00ff00b7 lui ra,0xff0 +8000016c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000170: 0f00f193 andi gp,ra,240 +80000174: 00000013 nop +80000178: 00018313 mv t1,gp +8000017c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000180: 00200293 li t0,2 +80000184: fe5212e3 bne tp,t0,80000168 <test_8+0x4> +80000188: 0f000e93 li t4,240 +8000018c: 00800e13 li t3,8 +80000190: 0fd31663 bne t1,t4,8000027c <fail> + +80000194 <test_9>: +80000194: 00000213 li tp,0 +80000198: f00ff0b7 lui ra,0xf00ff +8000019c: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +800001a0: f0f0f193 andi gp,ra,-241 +800001a4: 00000013 nop +800001a8: 00000013 nop +800001ac: 00018313 mv t1,gp +800001b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001b4: 00200293 li t0,2 +800001b8: fe5210e3 bne tp,t0,80000198 <test_9+0x4> +800001bc: f00ffeb7 lui t4,0xf00ff +800001c0: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +800001c4: 00900e13 li t3,9 +800001c8: 0bd31a63 bne t1,t4,8000027c <fail> + +800001cc <test_10>: +800001cc: 00000213 li tp,0 +800001d0: 0ff010b7 lui ra,0xff01 +800001d4: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001d8: 70f0f193 andi gp,ra,1807 +800001dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001e0: 00200293 li t0,2 +800001e4: fe5216e3 bne tp,t0,800001d0 <test_10+0x4> +800001e8: 70000e93 li t4,1792 +800001ec: 00a00e13 li t3,10 +800001f0: 09d19663 bne gp,t4,8000027c <fail> + +800001f4 <test_11>: +800001f4: 00000213 li tp,0 +800001f8: 00ff00b7 lui ra,0xff0 +800001fc: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000200: 00000013 nop +80000204: 0f00f193 andi gp,ra,240 +80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000020c: 00200293 li t0,2 +80000210: fe5214e3 bne tp,t0,800001f8 <test_11+0x4> +80000214: 0f000e93 li t4,240 +80000218: 00b00e13 li t3,11 +8000021c: 07d19063 bne gp,t4,8000027c <fail> + +80000220 <test_12>: +80000220: 00000213 li tp,0 +80000224: f00ff0b7 lui ra,0xf00ff +80000228: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +8000022c: 00000013 nop +80000230: 00000013 nop +80000234: 70f0f193 andi gp,ra,1807 +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fe5212e3 bne tp,t0,80000224 <test_12+0x4> +80000244: 00f00e93 li t4,15 +80000248: 00c00e13 li t3,12 +8000024c: 03d19863 bne gp,t4,8000027c <fail> + +80000250 <test_13>: +80000250: 0f007093 andi ra,zero,240 +80000254: 00000e93 li t4,0 +80000258: 00d00e13 li t3,13 +8000025c: 03d09063 bne ra,t4,8000027c <fail> + +80000260 <test_14>: +80000260: 00ff00b7 lui ra,0xff0 +80000264: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000268: 70f0f013 andi zero,ra,1807 +8000026c: 00000e93 li t4,0 +80000270: 00e00e13 li t3,14 +80000274: 01d01463 bne zero,t4,8000027c <fail> +80000278: 01c01c63 bne zero,t3,80000290 <pass> + +8000027c <fail>: +8000027c: 0ff0000f fence +80000280: 000e0063 beqz t3,80000280 <fail+0x4> +80000284: 001e1e13 slli t3,t3,0x1 +80000288: 001e6e13 ori t3,t3,1 +8000028c: 00000073 ecall + +80000290 <pass>: +80000290: 0ff0000f fence +80000294: 00100e13 li t3,1 +80000298: 00000073 ecall +8000029c: c0001073 unimp +800002a0: 0000 unimp +800002a2: 0000 unimp +800002a4: 0000 unimp +800002a6: 0000 unimp +800002a8: 0000 unimp +800002aa: 0000 unimp +800002ac: 0000 unimp +800002ae: 0000 unimp +800002b0: 0000 unimp +800002b2: 0000 unimp +800002b4: 0000 unimp +800002b6: 0000 unimp +800002b8: 0000 unimp +800002ba: 0000 unimp +800002bc: 0000 unimp +800002be: 0000 unimp +800002c0: 0000 unimp +800002c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-auipc.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-auipc.dump new file mode 100644 index 0000000..66a47ef --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-auipc.dump @@ -0,0 +1,109 @@ + +rv32ui-p-auipc: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000013 nop +800000c0: 00002517 auipc a0,0x2 +800000c4: 71c50513 addi a0,a0,1820 # 800027dc <begin_signature+0x7dc> +800000c8: 004005ef jal a1,800000cc <test_2+0x10> +800000cc: 40b50533 sub a0,a0,a1 +800000d0: 00002eb7 lui t4,0x2 +800000d4: 710e8e93 addi t4,t4,1808 # 2710 <_start-0x7fffd8f0> +800000d8: 00200e13 li t3,2 +800000dc: 03d51463 bne a0,t4,80000104 <fail> + +800000e0 <test_3>: +800000e0: ffffe517 auipc a0,0xffffe +800000e4: 8fc50513 addi a0,a0,-1796 # 7fffd9dc <_start-0x2624> +800000e8: 004005ef jal a1,800000ec <test_3+0xc> +800000ec: 40b50533 sub a0,a0,a1 +800000f0: ffffeeb7 lui t4,0xffffe +800000f4: 8f0e8e93 addi t4,t4,-1808 # ffffd8f0 <begin_signature+0x7fffb8f0> +800000f8: 00300e13 li t3,3 +800000fc: 01d51463 bne a0,t4,80000104 <fail> +80000100: 01c01c63 bne zero,t3,80000118 <pass> + +80000104 <fail>: +80000104: 0ff0000f fence +80000108: 000e0063 beqz t3,80000108 <fail+0x4> +8000010c: 001e1e13 slli t3,t3,0x1 +80000110: 001e6e13 ori t3,t3,1 +80000114: 00000073 ecall + +80000118 <pass>: +80000118: 0ff0000f fence +8000011c: 00100e13 li t3,1 +80000120: 00000073 ecall +80000124: c0001073 unimp +80000128: 0000 unimp +8000012a: 0000 unimp +8000012c: 0000 unimp +8000012e: 0000 unimp +80000130: 0000 unimp +80000132: 0000 unimp +80000134: 0000 unimp +80000136: 0000 unimp +80000138: 0000 unimp +8000013a: 0000 unimp +8000013c: 0000 unimp +8000013e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-beq.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-beq.dump new file mode 100644 index 0000000..d998921 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-beq.dump @@ -0,0 +1,309 @@ + +rv32ui-p-beq: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 00000113 li sp,0 +800000c8: 00208663 beq ra,sp,800000d4 <test_2+0x18> +800000cc: 2bc01863 bne zero,t3,8000037c <fail> +800000d0: 01c01663 bne zero,t3,800000dc <test_3> +800000d4: fe208ee3 beq ra,sp,800000d0 <test_2+0x14> +800000d8: 2bc01263 bne zero,t3,8000037c <fail> + +800000dc <test_3>: +800000dc: 00300e13 li t3,3 +800000e0: 00100093 li ra,1 +800000e4: 00100113 li sp,1 +800000e8: 00208663 beq ra,sp,800000f4 <test_3+0x18> +800000ec: 29c01863 bne zero,t3,8000037c <fail> +800000f0: 01c01663 bne zero,t3,800000fc <test_4> +800000f4: fe208ee3 beq ra,sp,800000f0 <test_3+0x14> +800000f8: 29c01263 bne zero,t3,8000037c <fail> + +800000fc <test_4>: +800000fc: 00400e13 li t3,4 +80000100: fff00093 li ra,-1 +80000104: fff00113 li sp,-1 +80000108: 00208663 beq ra,sp,80000114 <test_4+0x18> +8000010c: 27c01863 bne zero,t3,8000037c <fail> +80000110: 01c01663 bne zero,t3,8000011c <test_5> +80000114: fe208ee3 beq ra,sp,80000110 <test_4+0x14> +80000118: 27c01263 bne zero,t3,8000037c <fail> + +8000011c <test_5>: +8000011c: 00500e13 li t3,5 +80000120: 00000093 li ra,0 +80000124: 00100113 li sp,1 +80000128: 00208463 beq ra,sp,80000130 <test_5+0x14> +8000012c: 01c01463 bne zero,t3,80000134 <test_5+0x18> +80000130: 25c01663 bne zero,t3,8000037c <fail> +80000134: fe208ee3 beq ra,sp,80000130 <test_5+0x14> + +80000138 <test_6>: +80000138: 00600e13 li t3,6 +8000013c: 00100093 li ra,1 +80000140: 00000113 li sp,0 +80000144: 00208463 beq ra,sp,8000014c <test_6+0x14> +80000148: 01c01463 bne zero,t3,80000150 <test_6+0x18> +8000014c: 23c01863 bne zero,t3,8000037c <fail> +80000150: fe208ee3 beq ra,sp,8000014c <test_6+0x14> + +80000154 <test_7>: +80000154: 00700e13 li t3,7 +80000158: fff00093 li ra,-1 +8000015c: 00100113 li sp,1 +80000160: 00208463 beq ra,sp,80000168 <test_7+0x14> +80000164: 01c01463 bne zero,t3,8000016c <test_7+0x18> +80000168: 21c01a63 bne zero,t3,8000037c <fail> +8000016c: fe208ee3 beq ra,sp,80000168 <test_7+0x14> + +80000170 <test_8>: +80000170: 00800e13 li t3,8 +80000174: 00100093 li ra,1 +80000178: fff00113 li sp,-1 +8000017c: 00208463 beq ra,sp,80000184 <test_8+0x14> +80000180: 01c01463 bne zero,t3,80000188 <test_8+0x18> +80000184: 1fc01c63 bne zero,t3,8000037c <fail> +80000188: fe208ee3 beq ra,sp,80000184 <test_8+0x14> + +8000018c <test_9>: +8000018c: 00900e13 li t3,9 +80000190: 00000213 li tp,0 +80000194: 00000093 li ra,0 +80000198: fff00113 li sp,-1 +8000019c: 1e208063 beq ra,sp,8000037c <fail> +800001a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001a4: 00200293 li t0,2 +800001a8: fe5216e3 bne tp,t0,80000194 <test_9+0x8> + +800001ac <test_10>: +800001ac: 00a00e13 li t3,10 +800001b0: 00000213 li tp,0 +800001b4: 00000093 li ra,0 +800001b8: fff00113 li sp,-1 +800001bc: 00000013 nop +800001c0: 1a208e63 beq ra,sp,8000037c <fail> +800001c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001c8: 00200293 li t0,2 +800001cc: fe5214e3 bne tp,t0,800001b4 <test_10+0x8> + +800001d0 <test_11>: +800001d0: 00b00e13 li t3,11 +800001d4: 00000213 li tp,0 +800001d8: 00000093 li ra,0 +800001dc: fff00113 li sp,-1 +800001e0: 00000013 nop +800001e4: 00000013 nop +800001e8: 18208a63 beq ra,sp,8000037c <fail> +800001ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f0: 00200293 li t0,2 +800001f4: fe5212e3 bne tp,t0,800001d8 <test_11+0x8> + +800001f8 <test_12>: +800001f8: 00c00e13 li t3,12 +800001fc: 00000213 li tp,0 +80000200: 00000093 li ra,0 +80000204: 00000013 nop +80000208: fff00113 li sp,-1 +8000020c: 16208863 beq ra,sp,8000037c <fail> +80000210: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000214: 00200293 li t0,2 +80000218: fe5214e3 bne tp,t0,80000200 <test_12+0x8> + +8000021c <test_13>: +8000021c: 00d00e13 li t3,13 +80000220: 00000213 li tp,0 +80000224: 00000093 li ra,0 +80000228: 00000013 nop +8000022c: fff00113 li sp,-1 +80000230: 00000013 nop +80000234: 14208463 beq ra,sp,8000037c <fail> +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fe5212e3 bne tp,t0,80000224 <test_13+0x8> + +80000244 <test_14>: +80000244: 00e00e13 li t3,14 +80000248: 00000213 li tp,0 +8000024c: 00000093 li ra,0 +80000250: 00000013 nop +80000254: 00000013 nop +80000258: fff00113 li sp,-1 +8000025c: 12208063 beq ra,sp,8000037c <fail> +80000260: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000264: 00200293 li t0,2 +80000268: fe5212e3 bne tp,t0,8000024c <test_14+0x8> + +8000026c <test_15>: +8000026c: 00f00e13 li t3,15 +80000270: 00000213 li tp,0 +80000274: 00000093 li ra,0 +80000278: fff00113 li sp,-1 +8000027c: 10208063 beq ra,sp,8000037c <fail> +80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000284: 00200293 li t0,2 +80000288: fe5216e3 bne tp,t0,80000274 <test_15+0x8> + +8000028c <test_16>: +8000028c: 01000e13 li t3,16 +80000290: 00000213 li tp,0 +80000294: 00000093 li ra,0 +80000298: fff00113 li sp,-1 +8000029c: 00000013 nop +800002a0: 0c208e63 beq ra,sp,8000037c <fail> +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5214e3 bne tp,t0,80000294 <test_16+0x8> + +800002b0 <test_17>: +800002b0: 01100e13 li t3,17 +800002b4: 00000213 li tp,0 +800002b8: 00000093 li ra,0 +800002bc: fff00113 li sp,-1 +800002c0: 00000013 nop +800002c4: 00000013 nop +800002c8: 0a208a63 beq ra,sp,8000037c <fail> +800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d0: 00200293 li t0,2 +800002d4: fe5212e3 bne tp,t0,800002b8 <test_17+0x8> + +800002d8 <test_18>: +800002d8: 01200e13 li t3,18 +800002dc: 00000213 li tp,0 +800002e0: 00000093 li ra,0 +800002e4: 00000013 nop +800002e8: fff00113 li sp,-1 +800002ec: 08208863 beq ra,sp,8000037c <fail> +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5214e3 bne tp,t0,800002e0 <test_18+0x8> + +800002fc <test_19>: +800002fc: 01300e13 li t3,19 +80000300: 00000213 li tp,0 +80000304: 00000093 li ra,0 +80000308: 00000013 nop +8000030c: fff00113 li sp,-1 +80000310: 00000013 nop +80000314: 06208463 beq ra,sp,8000037c <fail> +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fe5212e3 bne tp,t0,80000304 <test_19+0x8> + +80000324 <test_20>: +80000324: 01400e13 li t3,20 +80000328: 00000213 li tp,0 +8000032c: 00000093 li ra,0 +80000330: 00000013 nop +80000334: 00000013 nop +80000338: fff00113 li sp,-1 +8000033c: 04208063 beq ra,sp,8000037c <fail> +80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000344: 00200293 li t0,2 +80000348: fe5212e3 bne tp,t0,8000032c <test_20+0x8> + +8000034c <test_21>: +8000034c: 00100093 li ra,1 +80000350: 00000a63 beqz zero,80000364 <test_21+0x18> +80000354: 00108093 addi ra,ra,1 +80000358: 00108093 addi ra,ra,1 +8000035c: 00108093 addi ra,ra,1 +80000360: 00108093 addi ra,ra,1 +80000364: 00108093 addi ra,ra,1 +80000368: 00108093 addi ra,ra,1 +8000036c: 00300e93 li t4,3 +80000370: 01500e13 li t3,21 +80000374: 01d09463 bne ra,t4,8000037c <fail> +80000378: 01c01c63 bne zero,t3,80000390 <pass> + +8000037c <fail>: +8000037c: 0ff0000f fence +80000380: 000e0063 beqz t3,80000380 <fail+0x4> +80000384: 001e1e13 slli t3,t3,0x1 +80000388: 001e6e13 ori t3,t3,1 +8000038c: 00000073 ecall + +80000390 <pass>: +80000390: 0ff0000f fence +80000394: 00100e13 li t3,1 +80000398: 00000073 ecall +8000039c: c0001073 unimp +800003a0: 0000 unimp +800003a2: 0000 unimp +800003a4: 0000 unimp +800003a6: 0000 unimp +800003a8: 0000 unimp +800003aa: 0000 unimp +800003ac: 0000 unimp +800003ae: 0000 unimp +800003b0: 0000 unimp +800003b2: 0000 unimp +800003b4: 0000 unimp +800003b6: 0000 unimp +800003b8: 0000 unimp +800003ba: 0000 unimp +800003bc: 0000 unimp +800003be: 0000 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-bge.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-bge.dump new file mode 100644 index 0000000..307f836 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-bge.dump @@ -0,0 +1,323 @@ + +rv32ui-p-bge: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 00000113 li sp,0 +800000c8: 0020d663 ble sp,ra,800000d4 <test_2+0x18> +800000cc: 31c01863 bne zero,t3,800003dc <fail> +800000d0: 01c01663 bne zero,t3,800000dc <test_3> +800000d4: fe20dee3 ble sp,ra,800000d0 <test_2+0x14> +800000d8: 31c01263 bne zero,t3,800003dc <fail> + +800000dc <test_3>: +800000dc: 00300e13 li t3,3 +800000e0: 00100093 li ra,1 +800000e4: 00100113 li sp,1 +800000e8: 0020d663 ble sp,ra,800000f4 <test_3+0x18> +800000ec: 2fc01863 bne zero,t3,800003dc <fail> +800000f0: 01c01663 bne zero,t3,800000fc <test_4> +800000f4: fe20dee3 ble sp,ra,800000f0 <test_3+0x14> +800000f8: 2fc01263 bne zero,t3,800003dc <fail> + +800000fc <test_4>: +800000fc: 00400e13 li t3,4 +80000100: fff00093 li ra,-1 +80000104: fff00113 li sp,-1 +80000108: 0020d663 ble sp,ra,80000114 <test_4+0x18> +8000010c: 2dc01863 bne zero,t3,800003dc <fail> +80000110: 01c01663 bne zero,t3,8000011c <test_5> +80000114: fe20dee3 ble sp,ra,80000110 <test_4+0x14> +80000118: 2dc01263 bne zero,t3,800003dc <fail> + +8000011c <test_5>: +8000011c: 00500e13 li t3,5 +80000120: 00100093 li ra,1 +80000124: 00000113 li sp,0 +80000128: 0020d663 ble sp,ra,80000134 <test_5+0x18> +8000012c: 2bc01863 bne zero,t3,800003dc <fail> +80000130: 01c01663 bne zero,t3,8000013c <test_6> +80000134: fe20dee3 ble sp,ra,80000130 <test_5+0x14> +80000138: 2bc01263 bne zero,t3,800003dc <fail> + +8000013c <test_6>: +8000013c: 00600e13 li t3,6 +80000140: 00100093 li ra,1 +80000144: fff00113 li sp,-1 +80000148: 0020d663 ble sp,ra,80000154 <test_6+0x18> +8000014c: 29c01863 bne zero,t3,800003dc <fail> +80000150: 01c01663 bne zero,t3,8000015c <test_7> +80000154: fe20dee3 ble sp,ra,80000150 <test_6+0x14> +80000158: 29c01263 bne zero,t3,800003dc <fail> + +8000015c <test_7>: +8000015c: 00700e13 li t3,7 +80000160: fff00093 li ra,-1 +80000164: ffe00113 li sp,-2 +80000168: 0020d663 ble sp,ra,80000174 <test_7+0x18> +8000016c: 27c01863 bne zero,t3,800003dc <fail> +80000170: 01c01663 bne zero,t3,8000017c <test_8> +80000174: fe20dee3 ble sp,ra,80000170 <test_7+0x14> +80000178: 27c01263 bne zero,t3,800003dc <fail> + +8000017c <test_8>: +8000017c: 00800e13 li t3,8 +80000180: 00000093 li ra,0 +80000184: 00100113 li sp,1 +80000188: 0020d463 ble sp,ra,80000190 <test_8+0x14> +8000018c: 01c01463 bne zero,t3,80000194 <test_8+0x18> +80000190: 25c01663 bne zero,t3,800003dc <fail> +80000194: fe20dee3 ble sp,ra,80000190 <test_8+0x14> + +80000198 <test_9>: +80000198: 00900e13 li t3,9 +8000019c: fff00093 li ra,-1 +800001a0: 00100113 li sp,1 +800001a4: 0020d463 ble sp,ra,800001ac <test_9+0x14> +800001a8: 01c01463 bne zero,t3,800001b0 <test_9+0x18> +800001ac: 23c01863 bne zero,t3,800003dc <fail> +800001b0: fe20dee3 ble sp,ra,800001ac <test_9+0x14> + +800001b4 <test_10>: +800001b4: 00a00e13 li t3,10 +800001b8: ffe00093 li ra,-2 +800001bc: fff00113 li sp,-1 +800001c0: 0020d463 ble sp,ra,800001c8 <test_10+0x14> +800001c4: 01c01463 bne zero,t3,800001cc <test_10+0x18> +800001c8: 21c01a63 bne zero,t3,800003dc <fail> +800001cc: fe20dee3 ble sp,ra,800001c8 <test_10+0x14> + +800001d0 <test_11>: +800001d0: 00b00e13 li t3,11 +800001d4: ffe00093 li ra,-2 +800001d8: 00100113 li sp,1 +800001dc: 0020d463 ble sp,ra,800001e4 <test_11+0x14> +800001e0: 01c01463 bne zero,t3,800001e8 <test_11+0x18> +800001e4: 1fc01c63 bne zero,t3,800003dc <fail> +800001e8: fe20dee3 ble sp,ra,800001e4 <test_11+0x14> + +800001ec <test_12>: +800001ec: 00c00e13 li t3,12 +800001f0: 00000213 li tp,0 +800001f4: fff00093 li ra,-1 +800001f8: 00000113 li sp,0 +800001fc: 1e20d063 ble sp,ra,800003dc <fail> +80000200: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000204: 00200293 li t0,2 +80000208: fe5216e3 bne tp,t0,800001f4 <test_12+0x8> + +8000020c <test_13>: +8000020c: 00d00e13 li t3,13 +80000210: 00000213 li tp,0 +80000214: fff00093 li ra,-1 +80000218: 00000113 li sp,0 +8000021c: 00000013 nop +80000220: 1a20de63 ble sp,ra,800003dc <fail> +80000224: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000228: 00200293 li t0,2 +8000022c: fe5214e3 bne tp,t0,80000214 <test_13+0x8> + +80000230 <test_14>: +80000230: 00e00e13 li t3,14 +80000234: 00000213 li tp,0 +80000238: fff00093 li ra,-1 +8000023c: 00000113 li sp,0 +80000240: 00000013 nop +80000244: 00000013 nop +80000248: 1820da63 ble sp,ra,800003dc <fail> +8000024c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000250: 00200293 li t0,2 +80000254: fe5212e3 bne tp,t0,80000238 <test_14+0x8> + +80000258 <test_15>: +80000258: 00f00e13 li t3,15 +8000025c: 00000213 li tp,0 +80000260: fff00093 li ra,-1 +80000264: 00000013 nop +80000268: 00000113 li sp,0 +8000026c: 1620d863 ble sp,ra,800003dc <fail> +80000270: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000274: 00200293 li t0,2 +80000278: fe5214e3 bne tp,t0,80000260 <test_15+0x8> + +8000027c <test_16>: +8000027c: 01000e13 li t3,16 +80000280: 00000213 li tp,0 +80000284: fff00093 li ra,-1 +80000288: 00000013 nop +8000028c: 00000113 li sp,0 +80000290: 00000013 nop +80000294: 1420d463 ble sp,ra,800003dc <fail> +80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000029c: 00200293 li t0,2 +800002a0: fe5212e3 bne tp,t0,80000284 <test_16+0x8> + +800002a4 <test_17>: +800002a4: 01100e13 li t3,17 +800002a8: 00000213 li tp,0 +800002ac: fff00093 li ra,-1 +800002b0: 00000013 nop +800002b4: 00000013 nop +800002b8: 00000113 li sp,0 +800002bc: 1220d063 ble sp,ra,800003dc <fail> +800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c4: 00200293 li t0,2 +800002c8: fe5212e3 bne tp,t0,800002ac <test_17+0x8> + +800002cc <test_18>: +800002cc: 01200e13 li t3,18 +800002d0: 00000213 li tp,0 +800002d4: fff00093 li ra,-1 +800002d8: 00000113 li sp,0 +800002dc: 1020d063 ble sp,ra,800003dc <fail> +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fe5216e3 bne tp,t0,800002d4 <test_18+0x8> + +800002ec <test_19>: +800002ec: 01300e13 li t3,19 +800002f0: 00000213 li tp,0 +800002f4: fff00093 li ra,-1 +800002f8: 00000113 li sp,0 +800002fc: 00000013 nop +80000300: 0c20de63 ble sp,ra,800003dc <fail> +80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000308: 00200293 li t0,2 +8000030c: fe5214e3 bne tp,t0,800002f4 <test_19+0x8> + +80000310 <test_20>: +80000310: 01400e13 li t3,20 +80000314: 00000213 li tp,0 +80000318: fff00093 li ra,-1 +8000031c: 00000113 li sp,0 +80000320: 00000013 nop +80000324: 00000013 nop +80000328: 0a20da63 ble sp,ra,800003dc <fail> +8000032c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000330: 00200293 li t0,2 +80000334: fe5212e3 bne tp,t0,80000318 <test_20+0x8> + +80000338 <test_21>: +80000338: 01500e13 li t3,21 +8000033c: 00000213 li tp,0 +80000340: fff00093 li ra,-1 +80000344: 00000013 nop +80000348: 00000113 li sp,0 +8000034c: 0820d863 ble sp,ra,800003dc <fail> +80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000354: 00200293 li t0,2 +80000358: fe5214e3 bne tp,t0,80000340 <test_21+0x8> + +8000035c <test_22>: +8000035c: 01600e13 li t3,22 +80000360: 00000213 li tp,0 +80000364: fff00093 li ra,-1 +80000368: 00000013 nop +8000036c: 00000113 li sp,0 +80000370: 00000013 nop +80000374: 0620d463 ble sp,ra,800003dc <fail> +80000378: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000037c: 00200293 li t0,2 +80000380: fe5212e3 bne tp,t0,80000364 <test_22+0x8> + +80000384 <test_23>: +80000384: 01700e13 li t3,23 +80000388: 00000213 li tp,0 +8000038c: fff00093 li ra,-1 +80000390: 00000013 nop +80000394: 00000013 nop +80000398: 00000113 li sp,0 +8000039c: 0420d063 ble sp,ra,800003dc <fail> +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fe5212e3 bne tp,t0,8000038c <test_23+0x8> + +800003ac <test_24>: +800003ac: 00100093 li ra,1 +800003b0: 0000da63 bgez ra,800003c4 <test_24+0x18> +800003b4: 00108093 addi ra,ra,1 +800003b8: 00108093 addi ra,ra,1 +800003bc: 00108093 addi ra,ra,1 +800003c0: 00108093 addi ra,ra,1 +800003c4: 00108093 addi ra,ra,1 +800003c8: 00108093 addi ra,ra,1 +800003cc: 00300e93 li t4,3 +800003d0: 01800e13 li t3,24 +800003d4: 01d09463 bne ra,t4,800003dc <fail> +800003d8: 01c01c63 bne zero,t3,800003f0 <pass> + +800003dc <fail>: +800003dc: 0ff0000f fence +800003e0: 000e0063 beqz t3,800003e0 <fail+0x4> +800003e4: 001e1e13 slli t3,t3,0x1 +800003e8: 001e6e13 ori t3,t3,1 +800003ec: 00000073 ecall + +800003f0 <pass>: +800003f0: 0ff0000f fence +800003f4: 00100e13 li t3,1 +800003f8: 00000073 ecall +800003fc: c0001073 unimp +80000400: 0000 unimp +80000402: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-bgeu.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-bgeu.dump new file mode 100644 index 0000000..b3b0ee2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-bgeu.dump @@ -0,0 +1,342 @@ + +rv32ui-p-bgeu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 00000113 li sp,0 +800000c8: 0020f663 bleu sp,ra,800000d4 <test_2+0x18> +800000cc: 35c01263 bne zero,t3,80000410 <fail> +800000d0: 01c01663 bne zero,t3,800000dc <test_3> +800000d4: fe20fee3 bleu sp,ra,800000d0 <test_2+0x14> +800000d8: 33c01c63 bne zero,t3,80000410 <fail> + +800000dc <test_3>: +800000dc: 00300e13 li t3,3 +800000e0: 00100093 li ra,1 +800000e4: 00100113 li sp,1 +800000e8: 0020f663 bleu sp,ra,800000f4 <test_3+0x18> +800000ec: 33c01263 bne zero,t3,80000410 <fail> +800000f0: 01c01663 bne zero,t3,800000fc <test_4> +800000f4: fe20fee3 bleu sp,ra,800000f0 <test_3+0x14> +800000f8: 31c01c63 bne zero,t3,80000410 <fail> + +800000fc <test_4>: +800000fc: 00400e13 li t3,4 +80000100: fff00093 li ra,-1 +80000104: fff00113 li sp,-1 +80000108: 0020f663 bleu sp,ra,80000114 <test_4+0x18> +8000010c: 31c01263 bne zero,t3,80000410 <fail> +80000110: 01c01663 bne zero,t3,8000011c <test_5> +80000114: fe20fee3 bleu sp,ra,80000110 <test_4+0x14> +80000118: 2fc01c63 bne zero,t3,80000410 <fail> + +8000011c <test_5>: +8000011c: 00500e13 li t3,5 +80000120: 00100093 li ra,1 +80000124: 00000113 li sp,0 +80000128: 0020f663 bleu sp,ra,80000134 <test_5+0x18> +8000012c: 2fc01263 bne zero,t3,80000410 <fail> +80000130: 01c01663 bne zero,t3,8000013c <test_6> +80000134: fe20fee3 bleu sp,ra,80000130 <test_5+0x14> +80000138: 2dc01c63 bne zero,t3,80000410 <fail> + +8000013c <test_6>: +8000013c: 00600e13 li t3,6 +80000140: fff00093 li ra,-1 +80000144: ffe00113 li sp,-2 +80000148: 0020f663 bleu sp,ra,80000154 <test_6+0x18> +8000014c: 2dc01263 bne zero,t3,80000410 <fail> +80000150: 01c01663 bne zero,t3,8000015c <test_7> +80000154: fe20fee3 bleu sp,ra,80000150 <test_6+0x14> +80000158: 2bc01c63 bne zero,t3,80000410 <fail> + +8000015c <test_7>: +8000015c: 00700e13 li t3,7 +80000160: fff00093 li ra,-1 +80000164: 00000113 li sp,0 +80000168: 0020f663 bleu sp,ra,80000174 <test_7+0x18> +8000016c: 2bc01263 bne zero,t3,80000410 <fail> +80000170: 01c01663 bne zero,t3,8000017c <test_8> +80000174: fe20fee3 bleu sp,ra,80000170 <test_7+0x14> +80000178: 29c01c63 bne zero,t3,80000410 <fail> + +8000017c <test_8>: +8000017c: 00800e13 li t3,8 +80000180: 00000093 li ra,0 +80000184: 00100113 li sp,1 +80000188: 0020f463 bleu sp,ra,80000190 <test_8+0x14> +8000018c: 01c01463 bne zero,t3,80000194 <test_8+0x18> +80000190: 29c01063 bne zero,t3,80000410 <fail> +80000194: fe20fee3 bleu sp,ra,80000190 <test_8+0x14> + +80000198 <test_9>: +80000198: 00900e13 li t3,9 +8000019c: ffe00093 li ra,-2 +800001a0: fff00113 li sp,-1 +800001a4: 0020f463 bleu sp,ra,800001ac <test_9+0x14> +800001a8: 01c01463 bne zero,t3,800001b0 <test_9+0x18> +800001ac: 27c01263 bne zero,t3,80000410 <fail> +800001b0: fe20fee3 bleu sp,ra,800001ac <test_9+0x14> + +800001b4 <test_10>: +800001b4: 00a00e13 li t3,10 +800001b8: 00000093 li ra,0 +800001bc: fff00113 li sp,-1 +800001c0: 0020f463 bleu sp,ra,800001c8 <test_10+0x14> +800001c4: 01c01463 bne zero,t3,800001cc <test_10+0x18> +800001c8: 25c01463 bne zero,t3,80000410 <fail> +800001cc: fe20fee3 bleu sp,ra,800001c8 <test_10+0x14> + +800001d0 <test_11>: +800001d0: 00b00e13 li t3,11 +800001d4: 800000b7 lui ra,0x80000 +800001d8: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001dc: 80000137 lui sp,0x80000 +800001e0: 0020f463 bleu sp,ra,800001e8 <test_11+0x18> +800001e4: 01c01463 bne zero,t3,800001ec <test_11+0x1c> +800001e8: 23c01463 bne zero,t3,80000410 <fail> +800001ec: fe20fee3 bleu sp,ra,800001e8 <test_11+0x18> + +800001f0 <test_12>: +800001f0: 00c00e13 li t3,12 +800001f4: 00000213 li tp,0 +800001f8: f00000b7 lui ra,0xf0000 +800001fc: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +80000200: f0000137 lui sp,0xf0000 +80000204: 2020f663 bleu sp,ra,80000410 <fail> +80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000020c: 00200293 li t0,2 +80000210: fe5214e3 bne tp,t0,800001f8 <test_12+0x8> + +80000214 <test_13>: +80000214: 00d00e13 li t3,13 +80000218: 00000213 li tp,0 +8000021c: f00000b7 lui ra,0xf0000 +80000220: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +80000224: f0000137 lui sp,0xf0000 +80000228: 00000013 nop +8000022c: 1e20f263 bleu sp,ra,80000410 <fail> +80000230: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000234: 00200293 li t0,2 +80000238: fe5212e3 bne tp,t0,8000021c <test_13+0x8> + +8000023c <test_14>: +8000023c: 00e00e13 li t3,14 +80000240: 00000213 li tp,0 +80000244: f00000b7 lui ra,0xf0000 +80000248: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +8000024c: f0000137 lui sp,0xf0000 +80000250: 00000013 nop +80000254: 00000013 nop +80000258: 1a20fc63 bleu sp,ra,80000410 <fail> +8000025c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000260: 00200293 li t0,2 +80000264: fe5210e3 bne tp,t0,80000244 <test_14+0x8> + +80000268 <test_15>: +80000268: 00f00e13 li t3,15 +8000026c: 00000213 li tp,0 +80000270: f00000b7 lui ra,0xf0000 +80000274: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +80000278: 00000013 nop +8000027c: f0000137 lui sp,0xf0000 +80000280: 1820f863 bleu sp,ra,80000410 <fail> +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fe5212e3 bne tp,t0,80000270 <test_15+0x8> + +80000290 <test_16>: +80000290: 01000e13 li t3,16 +80000294: 00000213 li tp,0 +80000298: f00000b7 lui ra,0xf0000 +8000029c: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +800002a0: 00000013 nop +800002a4: f0000137 lui sp,0xf0000 +800002a8: 00000013 nop +800002ac: 1620f263 bleu sp,ra,80000410 <fail> +800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b4: 00200293 li t0,2 +800002b8: fe5210e3 bne tp,t0,80000298 <test_16+0x8> + +800002bc <test_17>: +800002bc: 01100e13 li t3,17 +800002c0: 00000213 li tp,0 +800002c4: f00000b7 lui ra,0xf0000 +800002c8: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +800002cc: 00000013 nop +800002d0: 00000013 nop +800002d4: f0000137 lui sp,0xf0000 +800002d8: 1220fc63 bleu sp,ra,80000410 <fail> +800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e0: 00200293 li t0,2 +800002e4: fe5210e3 bne tp,t0,800002c4 <test_17+0x8> + +800002e8 <test_18>: +800002e8: 01200e13 li t3,18 +800002ec: 00000213 li tp,0 +800002f0: f00000b7 lui ra,0xf0000 +800002f4: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +800002f8: f0000137 lui sp,0xf0000 +800002fc: 1020fa63 bleu sp,ra,80000410 <fail> +80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000304: 00200293 li t0,2 +80000308: fe5214e3 bne tp,t0,800002f0 <test_18+0x8> + +8000030c <test_19>: +8000030c: 01300e13 li t3,19 +80000310: 00000213 li tp,0 +80000314: f00000b7 lui ra,0xf0000 +80000318: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +8000031c: f0000137 lui sp,0xf0000 +80000320: 00000013 nop +80000324: 0e20f663 bleu sp,ra,80000410 <fail> +80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000032c: 00200293 li t0,2 +80000330: fe5212e3 bne tp,t0,80000314 <test_19+0x8> + +80000334 <test_20>: +80000334: 01400e13 li t3,20 +80000338: 00000213 li tp,0 +8000033c: f00000b7 lui ra,0xf0000 +80000340: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +80000344: f0000137 lui sp,0xf0000 +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 0c20f063 bleu sp,ra,80000410 <fail> +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5210e3 bne tp,t0,8000033c <test_20+0x8> + +80000360 <test_21>: +80000360: 01500e13 li t3,21 +80000364: 00000213 li tp,0 +80000368: f00000b7 lui ra,0xf0000 +8000036c: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +80000370: 00000013 nop +80000374: f0000137 lui sp,0xf0000 +80000378: 0820fc63 bleu sp,ra,80000410 <fail> +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5212e3 bne tp,t0,80000368 <test_21+0x8> + +80000388 <test_22>: +80000388: 01600e13 li t3,22 +8000038c: 00000213 li tp,0 +80000390: f00000b7 lui ra,0xf0000 +80000394: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +80000398: 00000013 nop +8000039c: f0000137 lui sp,0xf0000 +800003a0: 00000013 nop +800003a4: 0620f663 bleu sp,ra,80000410 <fail> +800003a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ac: 00200293 li t0,2 +800003b0: fe5210e3 bne tp,t0,80000390 <test_22+0x8> + +800003b4 <test_23>: +800003b4: 01700e13 li t3,23 +800003b8: 00000213 li tp,0 +800003bc: f00000b7 lui ra,0xf0000 +800003c0: fff08093 addi ra,ra,-1 # efffffff <begin_signature+0x6fffdfff> +800003c4: 00000013 nop +800003c8: 00000013 nop +800003cc: f0000137 lui sp,0xf0000 +800003d0: 0420f063 bleu sp,ra,80000410 <fail> +800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d8: 00200293 li t0,2 +800003dc: fe5210e3 bne tp,t0,800003bc <test_23+0x8> + +800003e0 <test_24>: +800003e0: 00100093 li ra,1 +800003e4: 0000fa63 bleu zero,ra,800003f8 <test_24+0x18> +800003e8: 00108093 addi ra,ra,1 +800003ec: 00108093 addi ra,ra,1 +800003f0: 00108093 addi ra,ra,1 +800003f4: 00108093 addi ra,ra,1 +800003f8: 00108093 addi ra,ra,1 +800003fc: 00108093 addi ra,ra,1 +80000400: 00300e93 li t4,3 +80000404: 01800e13 li t3,24 +80000408: 01d09463 bne ra,t4,80000410 <fail> +8000040c: 01c01c63 bne zero,t3,80000424 <pass> + +80000410 <fail>: +80000410: 0ff0000f fence +80000414: 000e0063 beqz t3,80000414 <fail+0x4> +80000418: 001e1e13 slli t3,t3,0x1 +8000041c: 001e6e13 ori t3,t3,1 +80000420: 00000073 ecall + +80000424 <pass>: +80000424: 0ff0000f fence +80000428: 00100e13 li t3,1 +8000042c: 00000073 ecall +80000430: c0001073 unimp +80000434: 0000 unimp +80000436: 0000 unimp +80000438: 0000 unimp +8000043a: 0000 unimp +8000043c: 0000 unimp +8000043e: 0000 unimp +80000440: 0000 unimp +80000442: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-blt.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-blt.dump new file mode 100644 index 0000000..6651241 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-blt.dump @@ -0,0 +1,309 @@ + +rv32ui-p-blt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 00100113 li sp,1 +800000c8: 0020c663 blt ra,sp,800000d4 <test_2+0x18> +800000cc: 2bc01863 bne zero,t3,8000037c <fail> +800000d0: 01c01663 bne zero,t3,800000dc <test_3> +800000d4: fe20cee3 blt ra,sp,800000d0 <test_2+0x14> +800000d8: 2bc01263 bne zero,t3,8000037c <fail> + +800000dc <test_3>: +800000dc: 00300e13 li t3,3 +800000e0: fff00093 li ra,-1 +800000e4: 00100113 li sp,1 +800000e8: 0020c663 blt ra,sp,800000f4 <test_3+0x18> +800000ec: 29c01863 bne zero,t3,8000037c <fail> +800000f0: 01c01663 bne zero,t3,800000fc <test_4> +800000f4: fe20cee3 blt ra,sp,800000f0 <test_3+0x14> +800000f8: 29c01263 bne zero,t3,8000037c <fail> + +800000fc <test_4>: +800000fc: 00400e13 li t3,4 +80000100: ffe00093 li ra,-2 +80000104: fff00113 li sp,-1 +80000108: 0020c663 blt ra,sp,80000114 <test_4+0x18> +8000010c: 27c01863 bne zero,t3,8000037c <fail> +80000110: 01c01663 bne zero,t3,8000011c <test_5> +80000114: fe20cee3 blt ra,sp,80000110 <test_4+0x14> +80000118: 27c01263 bne zero,t3,8000037c <fail> + +8000011c <test_5>: +8000011c: 00500e13 li t3,5 +80000120: 00100093 li ra,1 +80000124: 00000113 li sp,0 +80000128: 0020c463 blt ra,sp,80000130 <test_5+0x14> +8000012c: 01c01463 bne zero,t3,80000134 <test_5+0x18> +80000130: 25c01663 bne zero,t3,8000037c <fail> +80000134: fe20cee3 blt ra,sp,80000130 <test_5+0x14> + +80000138 <test_6>: +80000138: 00600e13 li t3,6 +8000013c: 00100093 li ra,1 +80000140: fff00113 li sp,-1 +80000144: 0020c463 blt ra,sp,8000014c <test_6+0x14> +80000148: 01c01463 bne zero,t3,80000150 <test_6+0x18> +8000014c: 23c01863 bne zero,t3,8000037c <fail> +80000150: fe20cee3 blt ra,sp,8000014c <test_6+0x14> + +80000154 <test_7>: +80000154: 00700e13 li t3,7 +80000158: fff00093 li ra,-1 +8000015c: ffe00113 li sp,-2 +80000160: 0020c463 blt ra,sp,80000168 <test_7+0x14> +80000164: 01c01463 bne zero,t3,8000016c <test_7+0x18> +80000168: 21c01a63 bne zero,t3,8000037c <fail> +8000016c: fe20cee3 blt ra,sp,80000168 <test_7+0x14> + +80000170 <test_8>: +80000170: 00800e13 li t3,8 +80000174: 00100093 li ra,1 +80000178: ffe00113 li sp,-2 +8000017c: 0020c463 blt ra,sp,80000184 <test_8+0x14> +80000180: 01c01463 bne zero,t3,80000188 <test_8+0x18> +80000184: 1fc01c63 bne zero,t3,8000037c <fail> +80000188: fe20cee3 blt ra,sp,80000184 <test_8+0x14> + +8000018c <test_9>: +8000018c: 00900e13 li t3,9 +80000190: 00000213 li tp,0 +80000194: 00000093 li ra,0 +80000198: fff00113 li sp,-1 +8000019c: 1e20c063 blt ra,sp,8000037c <fail> +800001a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001a4: 00200293 li t0,2 +800001a8: fe5216e3 bne tp,t0,80000194 <test_9+0x8> + +800001ac <test_10>: +800001ac: 00a00e13 li t3,10 +800001b0: 00000213 li tp,0 +800001b4: 00000093 li ra,0 +800001b8: fff00113 li sp,-1 +800001bc: 00000013 nop +800001c0: 1a20ce63 blt ra,sp,8000037c <fail> +800001c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001c8: 00200293 li t0,2 +800001cc: fe5214e3 bne tp,t0,800001b4 <test_10+0x8> + +800001d0 <test_11>: +800001d0: 00b00e13 li t3,11 +800001d4: 00000213 li tp,0 +800001d8: 00000093 li ra,0 +800001dc: fff00113 li sp,-1 +800001e0: 00000013 nop +800001e4: 00000013 nop +800001e8: 1820ca63 blt ra,sp,8000037c <fail> +800001ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f0: 00200293 li t0,2 +800001f4: fe5212e3 bne tp,t0,800001d8 <test_11+0x8> + +800001f8 <test_12>: +800001f8: 00c00e13 li t3,12 +800001fc: 00000213 li tp,0 +80000200: 00000093 li ra,0 +80000204: 00000013 nop +80000208: fff00113 li sp,-1 +8000020c: 1620c863 blt ra,sp,8000037c <fail> +80000210: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000214: 00200293 li t0,2 +80000218: fe5214e3 bne tp,t0,80000200 <test_12+0x8> + +8000021c <test_13>: +8000021c: 00d00e13 li t3,13 +80000220: 00000213 li tp,0 +80000224: 00000093 li ra,0 +80000228: 00000013 nop +8000022c: fff00113 li sp,-1 +80000230: 00000013 nop +80000234: 1420c463 blt ra,sp,8000037c <fail> +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fe5212e3 bne tp,t0,80000224 <test_13+0x8> + +80000244 <test_14>: +80000244: 00e00e13 li t3,14 +80000248: 00000213 li tp,0 +8000024c: 00000093 li ra,0 +80000250: 00000013 nop +80000254: 00000013 nop +80000258: fff00113 li sp,-1 +8000025c: 1220c063 blt ra,sp,8000037c <fail> +80000260: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000264: 00200293 li t0,2 +80000268: fe5212e3 bne tp,t0,8000024c <test_14+0x8> + +8000026c <test_15>: +8000026c: 00f00e13 li t3,15 +80000270: 00000213 li tp,0 +80000274: 00000093 li ra,0 +80000278: fff00113 li sp,-1 +8000027c: 1020c063 blt ra,sp,8000037c <fail> +80000280: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000284: 00200293 li t0,2 +80000288: fe5216e3 bne tp,t0,80000274 <test_15+0x8> + +8000028c <test_16>: +8000028c: 01000e13 li t3,16 +80000290: 00000213 li tp,0 +80000294: 00000093 li ra,0 +80000298: fff00113 li sp,-1 +8000029c: 00000013 nop +800002a0: 0c20ce63 blt ra,sp,8000037c <fail> +800002a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a8: 00200293 li t0,2 +800002ac: fe5214e3 bne tp,t0,80000294 <test_16+0x8> + +800002b0 <test_17>: +800002b0: 01100e13 li t3,17 +800002b4: 00000213 li tp,0 +800002b8: 00000093 li ra,0 +800002bc: fff00113 li sp,-1 +800002c0: 00000013 nop +800002c4: 00000013 nop +800002c8: 0a20ca63 blt ra,sp,8000037c <fail> +800002cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d0: 00200293 li t0,2 +800002d4: fe5212e3 bne tp,t0,800002b8 <test_17+0x8> + +800002d8 <test_18>: +800002d8: 01200e13 li t3,18 +800002dc: 00000213 li tp,0 +800002e0: 00000093 li ra,0 +800002e4: 00000013 nop +800002e8: fff00113 li sp,-1 +800002ec: 0820c863 blt ra,sp,8000037c <fail> +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5214e3 bne tp,t0,800002e0 <test_18+0x8> + +800002fc <test_19>: +800002fc: 01300e13 li t3,19 +80000300: 00000213 li tp,0 +80000304: 00000093 li ra,0 +80000308: 00000013 nop +8000030c: fff00113 li sp,-1 +80000310: 00000013 nop +80000314: 0620c463 blt ra,sp,8000037c <fail> +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fe5212e3 bne tp,t0,80000304 <test_19+0x8> + +80000324 <test_20>: +80000324: 01400e13 li t3,20 +80000328: 00000213 li tp,0 +8000032c: 00000093 li ra,0 +80000330: 00000013 nop +80000334: 00000013 nop +80000338: fff00113 li sp,-1 +8000033c: 0420c063 blt ra,sp,8000037c <fail> +80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000344: 00200293 li t0,2 +80000348: fe5212e3 bne tp,t0,8000032c <test_20+0x8> + +8000034c <test_21>: +8000034c: 00100093 li ra,1 +80000350: 00104a63 bgtz ra,80000364 <test_21+0x18> +80000354: 00108093 addi ra,ra,1 +80000358: 00108093 addi ra,ra,1 +8000035c: 00108093 addi ra,ra,1 +80000360: 00108093 addi ra,ra,1 +80000364: 00108093 addi ra,ra,1 +80000368: 00108093 addi ra,ra,1 +8000036c: 00300e93 li t4,3 +80000370: 01500e13 li t3,21 +80000374: 01d09463 bne ra,t4,8000037c <fail> +80000378: 01c01c63 bne zero,t3,80000390 <pass> + +8000037c <fail>: +8000037c: 0ff0000f fence +80000380: 000e0063 beqz t3,80000380 <fail+0x4> +80000384: 001e1e13 slli t3,t3,0x1 +80000388: 001e6e13 ori t3,t3,1 +8000038c: 00000073 ecall + +80000390 <pass>: +80000390: 0ff0000f fence +80000394: 00100e13 li t3,1 +80000398: 00000073 ecall +8000039c: c0001073 unimp +800003a0: 0000 unimp +800003a2: 0000 unimp +800003a4: 0000 unimp +800003a6: 0000 unimp +800003a8: 0000 unimp +800003aa: 0000 unimp +800003ac: 0000 unimp +800003ae: 0000 unimp +800003b0: 0000 unimp +800003b2: 0000 unimp +800003b4: 0000 unimp +800003b6: 0000 unimp +800003b8: 0000 unimp +800003ba: 0000 unimp +800003bc: 0000 unimp +800003be: 0000 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-bltu.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-bltu.dump new file mode 100644 index 0000000..e5b3a75 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-bltu.dump @@ -0,0 +1,328 @@ + +rv32ui-p-bltu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 00100113 li sp,1 +800000c8: 0020e663 bltu ra,sp,800000d4 <test_2+0x18> +800000cc: 2fc01263 bne zero,t3,800003b0 <fail> +800000d0: 01c01663 bne zero,t3,800000dc <test_3> +800000d4: fe20eee3 bltu ra,sp,800000d0 <test_2+0x14> +800000d8: 2dc01c63 bne zero,t3,800003b0 <fail> + +800000dc <test_3>: +800000dc: 00300e13 li t3,3 +800000e0: ffe00093 li ra,-2 +800000e4: fff00113 li sp,-1 +800000e8: 0020e663 bltu ra,sp,800000f4 <test_3+0x18> +800000ec: 2dc01263 bne zero,t3,800003b0 <fail> +800000f0: 01c01663 bne zero,t3,800000fc <test_4> +800000f4: fe20eee3 bltu ra,sp,800000f0 <test_3+0x14> +800000f8: 2bc01c63 bne zero,t3,800003b0 <fail> + +800000fc <test_4>: +800000fc: 00400e13 li t3,4 +80000100: 00000093 li ra,0 +80000104: fff00113 li sp,-1 +80000108: 0020e663 bltu ra,sp,80000114 <test_4+0x18> +8000010c: 2bc01263 bne zero,t3,800003b0 <fail> +80000110: 01c01663 bne zero,t3,8000011c <test_5> +80000114: fe20eee3 bltu ra,sp,80000110 <test_4+0x14> +80000118: 29c01c63 bne zero,t3,800003b0 <fail> + +8000011c <test_5>: +8000011c: 00500e13 li t3,5 +80000120: 00100093 li ra,1 +80000124: 00000113 li sp,0 +80000128: 0020e463 bltu ra,sp,80000130 <test_5+0x14> +8000012c: 01c01463 bne zero,t3,80000134 <test_5+0x18> +80000130: 29c01063 bne zero,t3,800003b0 <fail> +80000134: fe20eee3 bltu ra,sp,80000130 <test_5+0x14> + +80000138 <test_6>: +80000138: 00600e13 li t3,6 +8000013c: fff00093 li ra,-1 +80000140: ffe00113 li sp,-2 +80000144: 0020e463 bltu ra,sp,8000014c <test_6+0x14> +80000148: 01c01463 bne zero,t3,80000150 <test_6+0x18> +8000014c: 27c01263 bne zero,t3,800003b0 <fail> +80000150: fe20eee3 bltu ra,sp,8000014c <test_6+0x14> + +80000154 <test_7>: +80000154: 00700e13 li t3,7 +80000158: fff00093 li ra,-1 +8000015c: 00000113 li sp,0 +80000160: 0020e463 bltu ra,sp,80000168 <test_7+0x14> +80000164: 01c01463 bne zero,t3,8000016c <test_7+0x18> +80000168: 25c01463 bne zero,t3,800003b0 <fail> +8000016c: fe20eee3 bltu ra,sp,80000168 <test_7+0x14> + +80000170 <test_8>: +80000170: 00800e13 li t3,8 +80000174: 800000b7 lui ra,0x80000 +80000178: 80000137 lui sp,0x80000 +8000017c: fff10113 addi sp,sp,-1 # 7fffffff <begin_signature+0xffffdfff> +80000180: 0020e463 bltu ra,sp,80000188 <test_8+0x18> +80000184: 01c01463 bne zero,t3,8000018c <test_8+0x1c> +80000188: 23c01463 bne zero,t3,800003b0 <fail> +8000018c: fe20eee3 bltu ra,sp,80000188 <test_8+0x18> + +80000190 <test_9>: +80000190: 00900e13 li t3,9 +80000194: 00000213 li tp,0 +80000198: f00000b7 lui ra,0xf0000 +8000019c: f0000137 lui sp,0xf0000 +800001a0: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +800001a4: 2020e663 bltu ra,sp,800003b0 <fail> +800001a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001ac: 00200293 li t0,2 +800001b0: fe5214e3 bne tp,t0,80000198 <test_9+0x8> + +800001b4 <test_10>: +800001b4: 00a00e13 li t3,10 +800001b8: 00000213 li tp,0 +800001bc: f00000b7 lui ra,0xf0000 +800001c0: f0000137 lui sp,0xf0000 +800001c4: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +800001c8: 00000013 nop +800001cc: 1e20e263 bltu ra,sp,800003b0 <fail> +800001d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001d4: 00200293 li t0,2 +800001d8: fe5212e3 bne tp,t0,800001bc <test_10+0x8> + +800001dc <test_11>: +800001dc: 00b00e13 li t3,11 +800001e0: 00000213 li tp,0 +800001e4: f00000b7 lui ra,0xf0000 +800001e8: f0000137 lui sp,0xf0000 +800001ec: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +800001f0: 00000013 nop +800001f4: 00000013 nop +800001f8: 1a20ec63 bltu ra,sp,800003b0 <fail> +800001fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000200: 00200293 li t0,2 +80000204: fe5210e3 bne tp,t0,800001e4 <test_11+0x8> + +80000208 <test_12>: +80000208: 00c00e13 li t3,12 +8000020c: 00000213 li tp,0 +80000210: f00000b7 lui ra,0xf0000 +80000214: 00000013 nop +80000218: f0000137 lui sp,0xf0000 +8000021c: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +80000220: 1820e863 bltu ra,sp,800003b0 <fail> +80000224: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000228: 00200293 li t0,2 +8000022c: fe5212e3 bne tp,t0,80000210 <test_12+0x8> + +80000230 <test_13>: +80000230: 00d00e13 li t3,13 +80000234: 00000213 li tp,0 +80000238: f00000b7 lui ra,0xf0000 +8000023c: 00000013 nop +80000240: f0000137 lui sp,0xf0000 +80000244: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +80000248: 00000013 nop +8000024c: 1620e263 bltu ra,sp,800003b0 <fail> +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fe5210e3 bne tp,t0,80000238 <test_13+0x8> + +8000025c <test_14>: +8000025c: 00e00e13 li t3,14 +80000260: 00000213 li tp,0 +80000264: f00000b7 lui ra,0xf0000 +80000268: 00000013 nop +8000026c: 00000013 nop +80000270: f0000137 lui sp,0xf0000 +80000274: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +80000278: 1220ec63 bltu ra,sp,800003b0 <fail> +8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000280: 00200293 li t0,2 +80000284: fe5210e3 bne tp,t0,80000264 <test_14+0x8> + +80000288 <test_15>: +80000288: 00f00e13 li t3,15 +8000028c: 00000213 li tp,0 +80000290: f00000b7 lui ra,0xf0000 +80000294: f0000137 lui sp,0xf0000 +80000298: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +8000029c: 1020ea63 bltu ra,sp,800003b0 <fail> +800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a4: 00200293 li t0,2 +800002a8: fe5214e3 bne tp,t0,80000290 <test_15+0x8> + +800002ac <test_16>: +800002ac: 01000e13 li t3,16 +800002b0: 00000213 li tp,0 +800002b4: f00000b7 lui ra,0xf0000 +800002b8: f0000137 lui sp,0xf0000 +800002bc: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +800002c0: 00000013 nop +800002c4: 0e20e663 bltu ra,sp,800003b0 <fail> +800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002cc: 00200293 li t0,2 +800002d0: fe5212e3 bne tp,t0,800002b4 <test_16+0x8> + +800002d4 <test_17>: +800002d4: 01100e13 li t3,17 +800002d8: 00000213 li tp,0 +800002dc: f00000b7 lui ra,0xf0000 +800002e0: f0000137 lui sp,0xf0000 +800002e4: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +800002e8: 00000013 nop +800002ec: 00000013 nop +800002f0: 0c20e063 bltu ra,sp,800003b0 <fail> +800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f8: 00200293 li t0,2 +800002fc: fe5210e3 bne tp,t0,800002dc <test_17+0x8> + +80000300 <test_18>: +80000300: 01200e13 li t3,18 +80000304: 00000213 li tp,0 +80000308: f00000b7 lui ra,0xf0000 +8000030c: 00000013 nop +80000310: f0000137 lui sp,0xf0000 +80000314: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +80000318: 0820ec63 bltu ra,sp,800003b0 <fail> +8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000320: 00200293 li t0,2 +80000324: fe5212e3 bne tp,t0,80000308 <test_18+0x8> + +80000328 <test_19>: +80000328: 01300e13 li t3,19 +8000032c: 00000213 li tp,0 +80000330: f00000b7 lui ra,0xf0000 +80000334: 00000013 nop +80000338: f0000137 lui sp,0xf0000 +8000033c: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +80000340: 00000013 nop +80000344: 0620e663 bltu ra,sp,800003b0 <fail> +80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000034c: 00200293 li t0,2 +80000350: fe5210e3 bne tp,t0,80000330 <test_19+0x8> + +80000354 <test_20>: +80000354: 01400e13 li t3,20 +80000358: 00000213 li tp,0 +8000035c: f00000b7 lui ra,0xf0000 +80000360: 00000013 nop +80000364: 00000013 nop +80000368: f0000137 lui sp,0xf0000 +8000036c: fff10113 addi sp,sp,-1 # efffffff <begin_signature+0x6fffdfff> +80000370: 0420e063 bltu ra,sp,800003b0 <fail> +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5210e3 bne tp,t0,8000035c <test_20+0x8> + +80000380 <test_21>: +80000380: 00100093 li ra,1 +80000384: 00106a63 bltu zero,ra,80000398 <test_21+0x18> +80000388: 00108093 addi ra,ra,1 # f0000001 <begin_signature+0x6fffe001> +8000038c: 00108093 addi ra,ra,1 +80000390: 00108093 addi ra,ra,1 +80000394: 00108093 addi ra,ra,1 +80000398: 00108093 addi ra,ra,1 +8000039c: 00108093 addi ra,ra,1 +800003a0: 00300e93 li t4,3 +800003a4: 01500e13 li t3,21 +800003a8: 01d09463 bne ra,t4,800003b0 <fail> +800003ac: 01c01c63 bne zero,t3,800003c4 <pass> + +800003b0 <fail>: +800003b0: 0ff0000f fence +800003b4: 000e0063 beqz t3,800003b4 <fail+0x4> +800003b8: 001e1e13 slli t3,t3,0x1 +800003bc: 001e6e13 ori t3,t3,1 +800003c0: 00000073 ecall + +800003c4 <pass>: +800003c4: 0ff0000f fence +800003c8: 00100e13 li t3,1 +800003cc: 00000073 ecall +800003d0: c0001073 unimp +800003d4: 0000 unimp +800003d6: 0000 unimp +800003d8: 0000 unimp +800003da: 0000 unimp +800003dc: 0000 unimp +800003de: 0000 unimp +800003e0: 0000 unimp +800003e2: 0000 unimp +800003e4: 0000 unimp +800003e6: 0000 unimp +800003e8: 0000 unimp +800003ea: 0000 unimp +800003ec: 0000 unimp +800003ee: 0000 unimp +800003f0: 0000 unimp +800003f2: 0000 unimp +800003f4: 0000 unimp +800003f6: 0000 unimp +800003f8: 0000 unimp +800003fa: 0000 unimp +800003fc: 0000 unimp +800003fe: 0000 unimp +80000400: 0000 unimp +80000402: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-bne.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-bne.dump new file mode 100644 index 0000000..a099ae8 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-bne.dump @@ -0,0 +1,308 @@ + +rv32ui-p-bne: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 00100113 li sp,1 +800000c8: 00209663 bne ra,sp,800000d4 <test_2+0x18> +800000cc: 2bc01a63 bne zero,t3,80000380 <fail> +800000d0: 01c01663 bne zero,t3,800000dc <test_3> +800000d4: fe209ee3 bne ra,sp,800000d0 <test_2+0x14> +800000d8: 2bc01463 bne zero,t3,80000380 <fail> + +800000dc <test_3>: +800000dc: 00300e13 li t3,3 +800000e0: 00100093 li ra,1 +800000e4: 00000113 li sp,0 +800000e8: 00209663 bne ra,sp,800000f4 <test_3+0x18> +800000ec: 29c01a63 bne zero,t3,80000380 <fail> +800000f0: 01c01663 bne zero,t3,800000fc <test_4> +800000f4: fe209ee3 bne ra,sp,800000f0 <test_3+0x14> +800000f8: 29c01463 bne zero,t3,80000380 <fail> + +800000fc <test_4>: +800000fc: 00400e13 li t3,4 +80000100: fff00093 li ra,-1 +80000104: 00100113 li sp,1 +80000108: 00209663 bne ra,sp,80000114 <test_4+0x18> +8000010c: 27c01a63 bne zero,t3,80000380 <fail> +80000110: 01c01663 bne zero,t3,8000011c <test_5> +80000114: fe209ee3 bne ra,sp,80000110 <test_4+0x14> +80000118: 27c01463 bne zero,t3,80000380 <fail> + +8000011c <test_5>: +8000011c: 00500e13 li t3,5 +80000120: 00100093 li ra,1 +80000124: fff00113 li sp,-1 +80000128: 00209663 bne ra,sp,80000134 <test_5+0x18> +8000012c: 25c01a63 bne zero,t3,80000380 <fail> +80000130: 01c01663 bne zero,t3,8000013c <test_6> +80000134: fe209ee3 bne ra,sp,80000130 <test_5+0x14> +80000138: 25c01463 bne zero,t3,80000380 <fail> + +8000013c <test_6>: +8000013c: 00600e13 li t3,6 +80000140: 00000093 li ra,0 +80000144: 00000113 li sp,0 +80000148: 00209463 bne ra,sp,80000150 <test_6+0x14> +8000014c: 01c01463 bne zero,t3,80000154 <test_6+0x18> +80000150: 23c01863 bne zero,t3,80000380 <fail> +80000154: fe209ee3 bne ra,sp,80000150 <test_6+0x14> + +80000158 <test_7>: +80000158: 00700e13 li t3,7 +8000015c: 00100093 li ra,1 +80000160: 00100113 li sp,1 +80000164: 00209463 bne ra,sp,8000016c <test_7+0x14> +80000168: 01c01463 bne zero,t3,80000170 <test_7+0x18> +8000016c: 21c01a63 bne zero,t3,80000380 <fail> +80000170: fe209ee3 bne ra,sp,8000016c <test_7+0x14> + +80000174 <test_8>: +80000174: 00800e13 li t3,8 +80000178: fff00093 li ra,-1 +8000017c: fff00113 li sp,-1 +80000180: 00209463 bne ra,sp,80000188 <test_8+0x14> +80000184: 01c01463 bne zero,t3,8000018c <test_8+0x18> +80000188: 1fc01c63 bne zero,t3,80000380 <fail> +8000018c: fe209ee3 bne ra,sp,80000188 <test_8+0x14> + +80000190 <test_9>: +80000190: 00900e13 li t3,9 +80000194: 00000213 li tp,0 +80000198: 00000093 li ra,0 +8000019c: 00000113 li sp,0 +800001a0: 1e209063 bne ra,sp,80000380 <fail> +800001a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001a8: 00200293 li t0,2 +800001ac: fe5216e3 bne tp,t0,80000198 <test_9+0x8> + +800001b0 <test_10>: +800001b0: 00a00e13 li t3,10 +800001b4: 00000213 li tp,0 +800001b8: 00000093 li ra,0 +800001bc: 00000113 li sp,0 +800001c0: 00000013 nop +800001c4: 1a209e63 bne ra,sp,80000380 <fail> +800001c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001cc: 00200293 li t0,2 +800001d0: fe5214e3 bne tp,t0,800001b8 <test_10+0x8> + +800001d4 <test_11>: +800001d4: 00b00e13 li t3,11 +800001d8: 00000213 li tp,0 +800001dc: 00000093 li ra,0 +800001e0: 00000113 li sp,0 +800001e4: 00000013 nop +800001e8: 00000013 nop +800001ec: 18209a63 bne ra,sp,80000380 <fail> +800001f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f4: 00200293 li t0,2 +800001f8: fe5212e3 bne tp,t0,800001dc <test_11+0x8> + +800001fc <test_12>: +800001fc: 00c00e13 li t3,12 +80000200: 00000213 li tp,0 +80000204: 00000093 li ra,0 +80000208: 00000013 nop +8000020c: 00000113 li sp,0 +80000210: 16209863 bne ra,sp,80000380 <fail> +80000214: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000218: 00200293 li t0,2 +8000021c: fe5214e3 bne tp,t0,80000204 <test_12+0x8> + +80000220 <test_13>: +80000220: 00d00e13 li t3,13 +80000224: 00000213 li tp,0 +80000228: 00000093 li ra,0 +8000022c: 00000013 nop +80000230: 00000113 li sp,0 +80000234: 00000013 nop +80000238: 14209463 bne ra,sp,80000380 <fail> +8000023c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000240: 00200293 li t0,2 +80000244: fe5212e3 bne tp,t0,80000228 <test_13+0x8> + +80000248 <test_14>: +80000248: 00e00e13 li t3,14 +8000024c: 00000213 li tp,0 +80000250: 00000093 li ra,0 +80000254: 00000013 nop +80000258: 00000013 nop +8000025c: 00000113 li sp,0 +80000260: 12209063 bne ra,sp,80000380 <fail> +80000264: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000268: 00200293 li t0,2 +8000026c: fe5212e3 bne tp,t0,80000250 <test_14+0x8> + +80000270 <test_15>: +80000270: 00f00e13 li t3,15 +80000274: 00000213 li tp,0 +80000278: 00000093 li ra,0 +8000027c: 00000113 li sp,0 +80000280: 10209063 bne ra,sp,80000380 <fail> +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fe5216e3 bne tp,t0,80000278 <test_15+0x8> + +80000290 <test_16>: +80000290: 01000e13 li t3,16 +80000294: 00000213 li tp,0 +80000298: 00000093 li ra,0 +8000029c: 00000113 li sp,0 +800002a0: 00000013 nop +800002a4: 0c209e63 bne ra,sp,80000380 <fail> +800002a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002ac: 00200293 li t0,2 +800002b0: fe5214e3 bne tp,t0,80000298 <test_16+0x8> + +800002b4 <test_17>: +800002b4: 01100e13 li t3,17 +800002b8: 00000213 li tp,0 +800002bc: 00000093 li ra,0 +800002c0: 00000113 li sp,0 +800002c4: 00000013 nop +800002c8: 00000013 nop +800002cc: 0a209a63 bne ra,sp,80000380 <fail> +800002d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d4: 00200293 li t0,2 +800002d8: fe5212e3 bne tp,t0,800002bc <test_17+0x8> + +800002dc <test_18>: +800002dc: 01200e13 li t3,18 +800002e0: 00000213 li tp,0 +800002e4: 00000093 li ra,0 +800002e8: 00000013 nop +800002ec: 00000113 li sp,0 +800002f0: 08209863 bne ra,sp,80000380 <fail> +800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f8: 00200293 li t0,2 +800002fc: fe5214e3 bne tp,t0,800002e4 <test_18+0x8> + +80000300 <test_19>: +80000300: 01300e13 li t3,19 +80000304: 00000213 li tp,0 +80000308: 00000093 li ra,0 +8000030c: 00000013 nop +80000310: 00000113 li sp,0 +80000314: 00000013 nop +80000318: 06209463 bne ra,sp,80000380 <fail> +8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000320: 00200293 li t0,2 +80000324: fe5212e3 bne tp,t0,80000308 <test_19+0x8> + +80000328 <test_20>: +80000328: 01400e13 li t3,20 +8000032c: 00000213 li tp,0 +80000330: 00000093 li ra,0 +80000334: 00000013 nop +80000338: 00000013 nop +8000033c: 00000113 li sp,0 +80000340: 04209063 bne ra,sp,80000380 <fail> +80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000348: 00200293 li t0,2 +8000034c: fe5212e3 bne tp,t0,80000330 <test_20+0x8> + +80000350 <test_21>: +80000350: 00100093 li ra,1 +80000354: 00009a63 bnez ra,80000368 <test_21+0x18> +80000358: 00108093 addi ra,ra,1 +8000035c: 00108093 addi ra,ra,1 +80000360: 00108093 addi ra,ra,1 +80000364: 00108093 addi ra,ra,1 +80000368: 00108093 addi ra,ra,1 +8000036c: 00108093 addi ra,ra,1 +80000370: 00300e93 li t4,3 +80000374: 01500e13 li t3,21 +80000378: 01d09463 bne ra,t4,80000380 <fail> +8000037c: 01c01c63 bne zero,t3,80000394 <pass> + +80000380 <fail>: +80000380: 0ff0000f fence +80000384: 000e0063 beqz t3,80000384 <fail+0x4> +80000388: 001e1e13 slli t3,t3,0x1 +8000038c: 001e6e13 ori t3,t3,1 +80000390: 00000073 ecall + +80000394 <pass>: +80000394: 0ff0000f fence +80000398: 00100e13 li t3,1 +8000039c: 00000073 ecall +800003a0: c0001073 unimp +800003a4: 0000 unimp +800003a6: 0000 unimp +800003a8: 0000 unimp +800003aa: 0000 unimp +800003ac: 0000 unimp +800003ae: 0000 unimp +800003b0: 0000 unimp +800003b2: 0000 unimp +800003b4: 0000 unimp +800003b6: 0000 unimp +800003b8: 0000 unimp +800003ba: 0000 unimp +800003bc: 0000 unimp +800003be: 0000 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-fence_i.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-fence_i.dump new file mode 100644 index 0000000..2d0eb8d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-fence_i.dump @@ -0,0 +1,173 @@ + +rv32ui-p-fence_i: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <reset_vector+0x70> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret +800000bc: 06f00693 li a3,111 +800000c0: 00002517 auipc a0,0x2 +800000c4: f4051503 lh a0,-192(a0) # 80002000 <begin_signature> +800000c8: 00002597 auipc a1,0x2 +800000cc: f3a59583 lh a1,-198(a1) # 80002002 <begin_signature+0x2> +800000d0: 00000013 nop +800000d4: 00000013 nop +800000d8: 00000013 nop +800000dc: 00000013 nop +800000e0: 00000013 nop +800000e4: 00000013 nop +800000e8: 00000013 nop +800000ec: 00000013 nop +800000f0: 00000013 nop +800000f4: 00000013 nop +800000f8: 00000013 nop +800000fc: 00000013 nop +80000100: 00000297 auipc t0,0x0 +80000104: 00a29a23 sh a0,20(t0) # 80000114 <reset_vector+0xc8> +80000108: 00000297 auipc t0,0x0 +8000010c: 00b29723 sh a1,14(t0) # 80000116 <reset_vector+0xca> +80000110: 0000100f fence.i +80000114: 0de68693 addi a3,a3,222 + +80000118 <test_2>: +80000118: 00000013 nop +8000011c: 1bc00e93 li t4,444 +80000120: 00200e13 li t3,2 +80000124: 07d69a63 bne a3,t4,80000198 <fail> +80000128: 06400713 li a4,100 +8000012c: fff70713 addi a4,a4,-1 +80000130: fe071ee3 bnez a4,8000012c <test_2+0x14> +80000134: 00000297 auipc t0,0x0 +80000138: 04a29623 sh a0,76(t0) # 80000180 <test_2+0x68> +8000013c: 00000297 auipc t0,0x0 +80000140: 04b29323 sh a1,70(t0) # 80000182 <test_2+0x6a> +80000144: 0000100f fence.i +80000148: 00000013 nop +8000014c: 00000013 nop +80000150: 00000013 nop +80000154: 00000013 nop +80000158: 00000013 nop +8000015c: 00000013 nop +80000160: 00000013 nop +80000164: 00000013 nop +80000168: 00000013 nop +8000016c: 00000013 nop +80000170: 00000013 nop +80000174: 00000013 nop +80000178: 00000013 nop +8000017c: 00000013 nop +80000180: 22b68693 addi a3,a3,555 + +80000184 <test_3>: +80000184: 00000013 nop +80000188: 30900e93 li t4,777 +8000018c: 00300e13 li t3,3 +80000190: 01d69463 bne a3,t4,80000198 <fail> +80000194: 01c01c63 bne zero,t3,800001ac <pass> + +80000198 <fail>: +80000198: 0ff0000f fence +8000019c: 000e0063 beqz t3,8000019c <fail+0x4> +800001a0: 001e1e13 slli t3,t3,0x1 +800001a4: 001e6e13 ori t3,t3,1 +800001a8: 00000073 ecall + +800001ac <pass>: +800001ac: 0ff0000f fence +800001b0: 00100e13 li t3,1 +800001b4: 00000073 ecall +800001b8: c0001073 unimp +800001bc: 0000 unimp +800001be: 0000 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp +800001c4: 0000 unimp +800001c6: 0000 unimp +800001c8: 0000 unimp +800001ca: 0000 unimp +800001cc: 0000 unimp +800001ce: 0000 unimp +800001d0: 0000 unimp +800001d2: 0000 unimp +800001d4: 0000 unimp +800001d6: 0000 unimp +800001d8: 0000 unimp +800001da: 0000 unimp +800001dc: 0000 unimp +800001de: 0000 unimp +800001e0: 0000 unimp +800001e2: 0000 unimp +800001e4: 0000 unimp +800001e6: 0000 unimp +800001e8: 0000 unimp +800001ea: 0000 unimp +800001ec: 0000 unimp +800001ee: 0000 unimp +800001f0: 0000 unimp +800001f2: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 14d68693 addi a3,a3,333 +80002004: 0000 unimp +80002006: 0000 unimp +80002008: 0000 unimp +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-jal.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-jal.dump new file mode 100644 index 0000000..500b4c1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-jal.dump @@ -0,0 +1,112 @@ + +rv32ui-p-jal: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000093 li ra,0 +800000c4: 010001ef jal gp,800000d4 <target_2> + +800000c8 <linkaddr_2>: +800000c8: 00000013 nop +800000cc: 00000013 nop +800000d0: 0400006f j 80000110 <fail> + +800000d4 <target_2>: +800000d4: 00000117 auipc sp,0x0 +800000d8: ff410113 addi sp,sp,-12 # 800000c8 <linkaddr_2> +800000dc: 02311a63 bne sp,gp,80000110 <fail> + +800000e0 <test_3>: +800000e0: 00100093 li ra,1 +800000e4: 0140006f j 800000f8 <test_3+0x18> +800000e8: 00108093 addi ra,ra,1 +800000ec: 00108093 addi ra,ra,1 +800000f0: 00108093 addi ra,ra,1 +800000f4: 00108093 addi ra,ra,1 +800000f8: 00108093 addi ra,ra,1 +800000fc: 00108093 addi ra,ra,1 +80000100: 00300e93 li t4,3 +80000104: 00300e13 li t3,3 +80000108: 01d09463 bne ra,t4,80000110 <fail> +8000010c: 01c01c63 bne zero,t3,80000124 <pass> + +80000110 <fail>: +80000110: 0ff0000f fence +80000114: 000e0063 beqz t3,80000114 <fail+0x4> +80000118: 001e1e13 slli t3,t3,0x1 +8000011c: 001e6e13 ori t3,t3,1 +80000120: 00000073 ecall + +80000124 <pass>: +80000124: 0ff0000f fence +80000128: 00100e13 li t3,1 +8000012c: 00000073 ecall +80000130: c0001073 unimp +80000134: 0000 unimp +80000136: 0000 unimp +80000138: 0000 unimp +8000013a: 0000 unimp +8000013c: 0000 unimp +8000013e: 0000 unimp +80000140: 0000 unimp +80000142: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-jalr.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-jalr.dump new file mode 100644 index 0000000..dc64624 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-jalr.dump @@ -0,0 +1,150 @@ + +rv32ui-p-jalr: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00200e13 li t3,2 +800000c0: 00000293 li t0,0 +800000c4: 00000317 auipc t1,0x0 +800000c8: 01030313 addi t1,t1,16 # 800000d4 <target_2> +800000cc: 000302e7 jalr t0,t1 + +800000d0 <linkaddr_2>: +800000d0: 0c00006f j 80000190 <fail> + +800000d4 <target_2>: +800000d4: 00000317 auipc t1,0x0 +800000d8: ffc30313 addi t1,t1,-4 # 800000d0 <linkaddr_2> +800000dc: 0a629a63 bne t0,t1,80000190 <fail> + +800000e0 <test_4>: +800000e0: 00400e13 li t3,4 +800000e4: 00000213 li tp,0 +800000e8: 00000317 auipc t1,0x0 +800000ec: 01030313 addi t1,t1,16 # 800000f8 <test_4+0x18> +800000f0: 000309e7 jalr s3,t1 +800000f4: 09c01e63 bne zero,t3,80000190 <fail> +800000f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800000fc: 00200293 li t0,2 +80000100: fe5214e3 bne tp,t0,800000e8 <test_4+0x8> + +80000104 <test_5>: +80000104: 00500e13 li t3,5 +80000108: 00000213 li tp,0 +8000010c: 00000317 auipc t1,0x0 +80000110: 01430313 addi t1,t1,20 # 80000120 <test_5+0x1c> +80000114: 00000013 nop +80000118: 000309e7 jalr s3,t1 +8000011c: 07c01a63 bne zero,t3,80000190 <fail> +80000120: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000124: 00200293 li t0,2 +80000128: fe5212e3 bne tp,t0,8000010c <test_5+0x8> + +8000012c <test_6>: +8000012c: 00600e13 li t3,6 +80000130: 00000213 li tp,0 +80000134: 00000317 auipc t1,0x0 +80000138: 01830313 addi t1,t1,24 # 8000014c <test_6+0x20> +8000013c: 00000013 nop +80000140: 00000013 nop +80000144: 000309e7 jalr s3,t1 +80000148: 05c01463 bne zero,t3,80000190 <fail> +8000014c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000150: 00200293 li t0,2 +80000154: fe5210e3 bne tp,t0,80000134 <test_6+0x8> + +80000158 <test_7>: +80000158: 00100293 li t0,1 +8000015c: 00000317 auipc t1,0x0 +80000160: 01c30313 addi t1,t1,28 # 80000178 <test_7+0x20> +80000164: ffc30067 jr -4(t1) +80000168: 00128293 addi t0,t0,1 +8000016c: 00128293 addi t0,t0,1 +80000170: 00128293 addi t0,t0,1 +80000174: 00128293 addi t0,t0,1 +80000178: 00128293 addi t0,t0,1 +8000017c: 00128293 addi t0,t0,1 +80000180: 00400e93 li t4,4 +80000184: 00700e13 li t3,7 +80000188: 01d29463 bne t0,t4,80000190 <fail> +8000018c: 01c01c63 bne zero,t3,800001a4 <pass> + +80000190 <fail>: +80000190: 0ff0000f fence +80000194: 000e0063 beqz t3,80000194 <fail+0x4> +80000198: 001e1e13 slli t3,t3,0x1 +8000019c: 001e6e13 ori t3,t3,1 +800001a0: 00000073 ecall + +800001a4 <pass>: +800001a4: 0ff0000f fence +800001a8: 00100e13 li t3,1 +800001ac: 00000073 ecall +800001b0: c0001073 unimp +800001b4: 0000 unimp +800001b6: 0000 unimp +800001b8: 0000 unimp +800001ba: 0000 unimp +800001bc: 0000 unimp +800001be: 0000 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-lb.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-lb.dump new file mode 100644 index 0000000..d1f3caa --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-lb.dump @@ -0,0 +1,290 @@ + +rv32ui-p-lb: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 00008183 lb gp,0(ra) +800000c8: fff00e93 li t4,-1 +800000cc: 00200e13 li t3,2 +800000d0: 23d19c63 bne gp,t4,80000308 <fail> + +800000d4 <test_3>: +800000d4: 00002097 auipc ra,0x2 +800000d8: f2c08093 addi ra,ra,-212 # 80002000 <begin_signature> +800000dc: 00108183 lb gp,1(ra) +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 23d19063 bne gp,t4,80000308 <fail> + +800000ec <test_4>: +800000ec: 00002097 auipc ra,0x2 +800000f0: f1408093 addi ra,ra,-236 # 80002000 <begin_signature> +800000f4: 00208183 lb gp,2(ra) +800000f8: ff000e93 li t4,-16 +800000fc: 00400e13 li t3,4 +80000100: 21d19463 bne gp,t4,80000308 <fail> + +80000104 <test_5>: +80000104: 00002097 auipc ra,0x2 +80000108: efc08093 addi ra,ra,-260 # 80002000 <begin_signature> +8000010c: 00308183 lb gp,3(ra) +80000110: 00f00e93 li t4,15 +80000114: 00500e13 li t3,5 +80000118: 1fd19863 bne gp,t4,80000308 <fail> + +8000011c <test_6>: +8000011c: 00002097 auipc ra,0x2 +80000120: ee708093 addi ra,ra,-281 # 80002003 <tdat4> +80000124: ffd08183 lb gp,-3(ra) +80000128: fff00e93 li t4,-1 +8000012c: 00600e13 li t3,6 +80000130: 1dd19c63 bne gp,t4,80000308 <fail> + +80000134 <test_7>: +80000134: 00002097 auipc ra,0x2 +80000138: ecf08093 addi ra,ra,-305 # 80002003 <tdat4> +8000013c: ffe08183 lb gp,-2(ra) +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 1dd19063 bne gp,t4,80000308 <fail> + +8000014c <test_8>: +8000014c: 00002097 auipc ra,0x2 +80000150: eb708093 addi ra,ra,-329 # 80002003 <tdat4> +80000154: fff08183 lb gp,-1(ra) +80000158: ff000e93 li t4,-16 +8000015c: 00800e13 li t3,8 +80000160: 1bd19463 bne gp,t4,80000308 <fail> + +80000164 <test_9>: +80000164: 00002097 auipc ra,0x2 +80000168: e9f08093 addi ra,ra,-353 # 80002003 <tdat4> +8000016c: 00008183 lb gp,0(ra) +80000170: 00f00e93 li t4,15 +80000174: 00900e13 li t3,9 +80000178: 19d19863 bne gp,t4,80000308 <fail> + +8000017c <test_10>: +8000017c: 00002097 auipc ra,0x2 +80000180: e8408093 addi ra,ra,-380 # 80002000 <begin_signature> +80000184: fe008093 addi ra,ra,-32 +80000188: 02008183 lb gp,32(ra) +8000018c: fff00e93 li t4,-1 +80000190: 00a00e13 li t3,10 +80000194: 17d19a63 bne gp,t4,80000308 <fail> + +80000198 <test_11>: +80000198: 00002097 auipc ra,0x2 +8000019c: e6808093 addi ra,ra,-408 # 80002000 <begin_signature> +800001a0: ffa08093 addi ra,ra,-6 +800001a4: 00708183 lb gp,7(ra) +800001a8: 00000e93 li t4,0 +800001ac: 00b00e13 li t3,11 +800001b0: 15d19c63 bne gp,t4,80000308 <fail> + +800001b4 <test_12>: +800001b4: 00c00e13 li t3,12 +800001b8: 00000213 li tp,0 +800001bc: 00002097 auipc ra,0x2 +800001c0: e4508093 addi ra,ra,-443 # 80002001 <tdat2> +800001c4: 00108183 lb gp,1(ra) +800001c8: 00018313 mv t1,gp +800001cc: ff000e93 li t4,-16 +800001d0: 13d31c63 bne t1,t4,80000308 <fail> +800001d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001d8: 00200293 li t0,2 +800001dc: fe5210e3 bne tp,t0,800001bc <test_12+0x8> + +800001e0 <test_13>: +800001e0: 00d00e13 li t3,13 +800001e4: 00000213 li tp,0 +800001e8: 00002097 auipc ra,0x2 +800001ec: e1a08093 addi ra,ra,-486 # 80002002 <tdat3> +800001f0: 00108183 lb gp,1(ra) +800001f4: 00000013 nop +800001f8: 00018313 mv t1,gp +800001fc: 00f00e93 li t4,15 +80000200: 11d31463 bne t1,t4,80000308 <fail> +80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000208: 00200293 li t0,2 +8000020c: fc521ee3 bne tp,t0,800001e8 <test_13+0x8> + +80000210 <test_14>: +80000210: 00e00e13 li t3,14 +80000214: 00000213 li tp,0 +80000218: 00002097 auipc ra,0x2 +8000021c: de808093 addi ra,ra,-536 # 80002000 <begin_signature> +80000220: 00108183 lb gp,1(ra) +80000224: 00000013 nop +80000228: 00000013 nop +8000022c: 00018313 mv t1,gp +80000230: 00000e93 li t4,0 +80000234: 0dd31a63 bne t1,t4,80000308 <fail> +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fc521ce3 bne tp,t0,80000218 <test_14+0x8> + +80000244 <test_15>: +80000244: 00f00e13 li t3,15 +80000248: 00000213 li tp,0 +8000024c: 00002097 auipc ra,0x2 +80000250: db508093 addi ra,ra,-587 # 80002001 <tdat2> +80000254: 00108183 lb gp,1(ra) +80000258: ff000e93 li t4,-16 +8000025c: 0bd19663 bne gp,t4,80000308 <fail> +80000260: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000264: 00200293 li t0,2 +80000268: fe5212e3 bne tp,t0,8000024c <test_15+0x8> + +8000026c <test_16>: +8000026c: 01000e13 li t3,16 +80000270: 00000213 li tp,0 +80000274: 00002097 auipc ra,0x2 +80000278: d8e08093 addi ra,ra,-626 # 80002002 <tdat3> +8000027c: 00000013 nop +80000280: 00108183 lb gp,1(ra) +80000284: 00f00e93 li t4,15 +80000288: 09d19063 bne gp,t4,80000308 <fail> +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5210e3 bne tp,t0,80000274 <test_16+0x8> + +80000298 <test_17>: +80000298: 01100e13 li t3,17 +8000029c: 00000213 li tp,0 +800002a0: 00002097 auipc ra,0x2 +800002a4: d6008093 addi ra,ra,-672 # 80002000 <begin_signature> +800002a8: 00000013 nop +800002ac: 00000013 nop +800002b0: 00108183 lb gp,1(ra) +800002b4: 00000e93 li t4,0 +800002b8: 05d19863 bne gp,t4,80000308 <fail> +800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c0: 00200293 li t0,2 +800002c4: fc521ee3 bne tp,t0,800002a0 <test_17+0x8> + +800002c8 <test_18>: +800002c8: 00002197 auipc gp,0x2 +800002cc: d3818193 addi gp,gp,-712 # 80002000 <begin_signature> +800002d0: 00018103 lb sp,0(gp) +800002d4: 00200113 li sp,2 +800002d8: 00200e93 li t4,2 +800002dc: 01200e13 li t3,18 +800002e0: 03d11463 bne sp,t4,80000308 <fail> + +800002e4 <test_19>: +800002e4: 00002197 auipc gp,0x2 +800002e8: d1c18193 addi gp,gp,-740 # 80002000 <begin_signature> +800002ec: 00018103 lb sp,0(gp) +800002f0: 00000013 nop +800002f4: 00200113 li sp,2 +800002f8: 00200e93 li t4,2 +800002fc: 01300e13 li t3,19 +80000300: 01d11463 bne sp,t4,80000308 <fail> +80000304: 01c01c63 bne zero,t3,8000031c <pass> + +80000308 <fail>: +80000308: 0ff0000f fence +8000030c: 000e0063 beqz t3,8000030c <fail+0x4> +80000310: 001e1e13 slli t3,t3,0x1 +80000314: 001e6e13 ori t3,t3,1 +80000318: 00000073 ecall + +8000031c <pass>: +8000031c: 0ff0000f fence +80000320: 00100e13 li t3,1 +80000324: 00000073 ecall +80000328: c0001073 unimp +8000032c: 0000 unimp +8000032e: 0000 unimp +80000330: 0000 unimp +80000332: 0000 unimp +80000334: 0000 unimp +80000336: 0000 unimp +80000338: 0000 unimp +8000033a: 0000 unimp +8000033c: 0000 unimp +8000033e: 0000 unimp +80000340: 0000 unimp +80000342: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 00ff 0xff + +80002001 <tdat2>: +80002001: f000 fsw fs0,32(s0) + +80002002 <tdat3>: +80002002: 0ff0 addi a2,sp,988 + +80002003 <tdat4>: +80002003: 0000000f fence unknown,unknown +80002007: 0000 unimp +80002009: 0000 unimp +8000200b: 0000 unimp +8000200d: 0000 unimp +8000200f: 00 00 00 00 00 Address 0x000000008000200f is out of bounds. + diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-lbu.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-lbu.dump new file mode 100644 index 0000000..3642c86 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-lbu.dump @@ -0,0 +1,290 @@ + +rv32ui-p-lbu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 0000c183 lbu gp,0(ra) +800000c8: 0ff00e93 li t4,255 +800000cc: 00200e13 li t3,2 +800000d0: 23d19c63 bne gp,t4,80000308 <fail> + +800000d4 <test_3>: +800000d4: 00002097 auipc ra,0x2 +800000d8: f2c08093 addi ra,ra,-212 # 80002000 <begin_signature> +800000dc: 0010c183 lbu gp,1(ra) +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 23d19063 bne gp,t4,80000308 <fail> + +800000ec <test_4>: +800000ec: 00002097 auipc ra,0x2 +800000f0: f1408093 addi ra,ra,-236 # 80002000 <begin_signature> +800000f4: 0020c183 lbu gp,2(ra) +800000f8: 0f000e93 li t4,240 +800000fc: 00400e13 li t3,4 +80000100: 21d19463 bne gp,t4,80000308 <fail> + +80000104 <test_5>: +80000104: 00002097 auipc ra,0x2 +80000108: efc08093 addi ra,ra,-260 # 80002000 <begin_signature> +8000010c: 0030c183 lbu gp,3(ra) +80000110: 00f00e93 li t4,15 +80000114: 00500e13 li t3,5 +80000118: 1fd19863 bne gp,t4,80000308 <fail> + +8000011c <test_6>: +8000011c: 00002097 auipc ra,0x2 +80000120: ee708093 addi ra,ra,-281 # 80002003 <tdat4> +80000124: ffd0c183 lbu gp,-3(ra) +80000128: 0ff00e93 li t4,255 +8000012c: 00600e13 li t3,6 +80000130: 1dd19c63 bne gp,t4,80000308 <fail> + +80000134 <test_7>: +80000134: 00002097 auipc ra,0x2 +80000138: ecf08093 addi ra,ra,-305 # 80002003 <tdat4> +8000013c: ffe0c183 lbu gp,-2(ra) +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 1dd19063 bne gp,t4,80000308 <fail> + +8000014c <test_8>: +8000014c: 00002097 auipc ra,0x2 +80000150: eb708093 addi ra,ra,-329 # 80002003 <tdat4> +80000154: fff0c183 lbu gp,-1(ra) +80000158: 0f000e93 li t4,240 +8000015c: 00800e13 li t3,8 +80000160: 1bd19463 bne gp,t4,80000308 <fail> + +80000164 <test_9>: +80000164: 00002097 auipc ra,0x2 +80000168: e9f08093 addi ra,ra,-353 # 80002003 <tdat4> +8000016c: 0000c183 lbu gp,0(ra) +80000170: 00f00e93 li t4,15 +80000174: 00900e13 li t3,9 +80000178: 19d19863 bne gp,t4,80000308 <fail> + +8000017c <test_10>: +8000017c: 00002097 auipc ra,0x2 +80000180: e8408093 addi ra,ra,-380 # 80002000 <begin_signature> +80000184: fe008093 addi ra,ra,-32 +80000188: 0200c183 lbu gp,32(ra) +8000018c: 0ff00e93 li t4,255 +80000190: 00a00e13 li t3,10 +80000194: 17d19a63 bne gp,t4,80000308 <fail> + +80000198 <test_11>: +80000198: 00002097 auipc ra,0x2 +8000019c: e6808093 addi ra,ra,-408 # 80002000 <begin_signature> +800001a0: ffa08093 addi ra,ra,-6 +800001a4: 0070c183 lbu gp,7(ra) +800001a8: 00000e93 li t4,0 +800001ac: 00b00e13 li t3,11 +800001b0: 15d19c63 bne gp,t4,80000308 <fail> + +800001b4 <test_12>: +800001b4: 00c00e13 li t3,12 +800001b8: 00000213 li tp,0 +800001bc: 00002097 auipc ra,0x2 +800001c0: e4508093 addi ra,ra,-443 # 80002001 <tdat2> +800001c4: 0010c183 lbu gp,1(ra) +800001c8: 00018313 mv t1,gp +800001cc: 0f000e93 li t4,240 +800001d0: 13d31c63 bne t1,t4,80000308 <fail> +800001d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001d8: 00200293 li t0,2 +800001dc: fe5210e3 bne tp,t0,800001bc <test_12+0x8> + +800001e0 <test_13>: +800001e0: 00d00e13 li t3,13 +800001e4: 00000213 li tp,0 +800001e8: 00002097 auipc ra,0x2 +800001ec: e1a08093 addi ra,ra,-486 # 80002002 <tdat3> +800001f0: 0010c183 lbu gp,1(ra) +800001f4: 00000013 nop +800001f8: 00018313 mv t1,gp +800001fc: 00f00e93 li t4,15 +80000200: 11d31463 bne t1,t4,80000308 <fail> +80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000208: 00200293 li t0,2 +8000020c: fc521ee3 bne tp,t0,800001e8 <test_13+0x8> + +80000210 <test_14>: +80000210: 00e00e13 li t3,14 +80000214: 00000213 li tp,0 +80000218: 00002097 auipc ra,0x2 +8000021c: de808093 addi ra,ra,-536 # 80002000 <begin_signature> +80000220: 0010c183 lbu gp,1(ra) +80000224: 00000013 nop +80000228: 00000013 nop +8000022c: 00018313 mv t1,gp +80000230: 00000e93 li t4,0 +80000234: 0dd31a63 bne t1,t4,80000308 <fail> +80000238: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000023c: 00200293 li t0,2 +80000240: fc521ce3 bne tp,t0,80000218 <test_14+0x8> + +80000244 <test_15>: +80000244: 00f00e13 li t3,15 +80000248: 00000213 li tp,0 +8000024c: 00002097 auipc ra,0x2 +80000250: db508093 addi ra,ra,-587 # 80002001 <tdat2> +80000254: 0010c183 lbu gp,1(ra) +80000258: 0f000e93 li t4,240 +8000025c: 0bd19663 bne gp,t4,80000308 <fail> +80000260: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000264: 00200293 li t0,2 +80000268: fe5212e3 bne tp,t0,8000024c <test_15+0x8> + +8000026c <test_16>: +8000026c: 01000e13 li t3,16 +80000270: 00000213 li tp,0 +80000274: 00002097 auipc ra,0x2 +80000278: d8e08093 addi ra,ra,-626 # 80002002 <tdat3> +8000027c: 00000013 nop +80000280: 0010c183 lbu gp,1(ra) +80000284: 00f00e93 li t4,15 +80000288: 09d19063 bne gp,t4,80000308 <fail> +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5210e3 bne tp,t0,80000274 <test_16+0x8> + +80000298 <test_17>: +80000298: 01100e13 li t3,17 +8000029c: 00000213 li tp,0 +800002a0: 00002097 auipc ra,0x2 +800002a4: d6008093 addi ra,ra,-672 # 80002000 <begin_signature> +800002a8: 00000013 nop +800002ac: 00000013 nop +800002b0: 0010c183 lbu gp,1(ra) +800002b4: 00000e93 li t4,0 +800002b8: 05d19863 bne gp,t4,80000308 <fail> +800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c0: 00200293 li t0,2 +800002c4: fc521ee3 bne tp,t0,800002a0 <test_17+0x8> + +800002c8 <test_18>: +800002c8: 00002197 auipc gp,0x2 +800002cc: d3818193 addi gp,gp,-712 # 80002000 <begin_signature> +800002d0: 0001c103 lbu sp,0(gp) +800002d4: 00200113 li sp,2 +800002d8: 00200e93 li t4,2 +800002dc: 01200e13 li t3,18 +800002e0: 03d11463 bne sp,t4,80000308 <fail> + +800002e4 <test_19>: +800002e4: 00002197 auipc gp,0x2 +800002e8: d1c18193 addi gp,gp,-740 # 80002000 <begin_signature> +800002ec: 0001c103 lbu sp,0(gp) +800002f0: 00000013 nop +800002f4: 00200113 li sp,2 +800002f8: 00200e93 li t4,2 +800002fc: 01300e13 li t3,19 +80000300: 01d11463 bne sp,t4,80000308 <fail> +80000304: 01c01c63 bne zero,t3,8000031c <pass> + +80000308 <fail>: +80000308: 0ff0000f fence +8000030c: 000e0063 beqz t3,8000030c <fail+0x4> +80000310: 001e1e13 slli t3,t3,0x1 +80000314: 001e6e13 ori t3,t3,1 +80000318: 00000073 ecall + +8000031c <pass>: +8000031c: 0ff0000f fence +80000320: 00100e13 li t3,1 +80000324: 00000073 ecall +80000328: c0001073 unimp +8000032c: 0000 unimp +8000032e: 0000 unimp +80000330: 0000 unimp +80000332: 0000 unimp +80000334: 0000 unimp +80000336: 0000 unimp +80000338: 0000 unimp +8000033a: 0000 unimp +8000033c: 0000 unimp +8000033e: 0000 unimp +80000340: 0000 unimp +80000342: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 00ff 0xff + +80002001 <tdat2>: +80002001: f000 fsw fs0,32(s0) + +80002002 <tdat3>: +80002002: 0ff0 addi a2,sp,988 + +80002003 <tdat4>: +80002003: 0000000f fence unknown,unknown +80002007: 0000 unimp +80002009: 0000 unimp +8000200b: 0000 unimp +8000200d: 0000 unimp +8000200f: 00 00 00 00 00 Address 0x000000008000200f is out of bounds. + diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-lh.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-lh.dump new file mode 100644 index 0000000..9ac1176 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-lh.dump @@ -0,0 +1,311 @@ + +rv32ui-p-lh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 00009183 lh gp,0(ra) +800000c8: 0ff00e93 li t4,255 +800000cc: 00200e13 li t3,2 +800000d0: 25d19c63 bne gp,t4,80000328 <fail> + +800000d4 <test_3>: +800000d4: 00002097 auipc ra,0x2 +800000d8: f2c08093 addi ra,ra,-212 # 80002000 <begin_signature> +800000dc: 00209183 lh gp,2(ra) +800000e0: f0000e93 li t4,-256 +800000e4: 00300e13 li t3,3 +800000e8: 25d19063 bne gp,t4,80000328 <fail> + +800000ec <test_4>: +800000ec: 00002097 auipc ra,0x2 +800000f0: f1408093 addi ra,ra,-236 # 80002000 <begin_signature> +800000f4: 00409183 lh gp,4(ra) +800000f8: 00001eb7 lui t4,0x1 +800000fc: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000100: 00400e13 li t3,4 +80000104: 23d19263 bne gp,t4,80000328 <fail> + +80000108 <test_5>: +80000108: 00002097 auipc ra,0x2 +8000010c: ef808093 addi ra,ra,-264 # 80002000 <begin_signature> +80000110: 00609183 lh gp,6(ra) +80000114: fffffeb7 lui t4,0xfffff +80000118: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +8000011c: 00500e13 li t3,5 +80000120: 21d19463 bne gp,t4,80000328 <fail> + +80000124 <test_6>: +80000124: 00002097 auipc ra,0x2 +80000128: ee208093 addi ra,ra,-286 # 80002006 <tdat4> +8000012c: ffa09183 lh gp,-6(ra) +80000130: 0ff00e93 li t4,255 +80000134: 00600e13 li t3,6 +80000138: 1fd19863 bne gp,t4,80000328 <fail> + +8000013c <test_7>: +8000013c: 00002097 auipc ra,0x2 +80000140: eca08093 addi ra,ra,-310 # 80002006 <tdat4> +80000144: ffc09183 lh gp,-4(ra) +80000148: f0000e93 li t4,-256 +8000014c: 00700e13 li t3,7 +80000150: 1dd19c63 bne gp,t4,80000328 <fail> + +80000154 <test_8>: +80000154: 00002097 auipc ra,0x2 +80000158: eb208093 addi ra,ra,-334 # 80002006 <tdat4> +8000015c: ffe09183 lh gp,-2(ra) +80000160: 00001eb7 lui t4,0x1 +80000164: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000168: 00800e13 li t3,8 +8000016c: 1bd19e63 bne gp,t4,80000328 <fail> + +80000170 <test_9>: +80000170: 00002097 auipc ra,0x2 +80000174: e9608093 addi ra,ra,-362 # 80002006 <tdat4> +80000178: 00009183 lh gp,0(ra) +8000017c: fffffeb7 lui t4,0xfffff +80000180: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +80000184: 00900e13 li t3,9 +80000188: 1bd19063 bne gp,t4,80000328 <fail> + +8000018c <test_10>: +8000018c: 00002097 auipc ra,0x2 +80000190: e7408093 addi ra,ra,-396 # 80002000 <begin_signature> +80000194: fe008093 addi ra,ra,-32 +80000198: 02009183 lh gp,32(ra) +8000019c: 0ff00e93 li t4,255 +800001a0: 00a00e13 li t3,10 +800001a4: 19d19263 bne gp,t4,80000328 <fail> + +800001a8 <test_11>: +800001a8: 00002097 auipc ra,0x2 +800001ac: e5808093 addi ra,ra,-424 # 80002000 <begin_signature> +800001b0: ffb08093 addi ra,ra,-5 +800001b4: 00709183 lh gp,7(ra) +800001b8: f0000e93 li t4,-256 +800001bc: 00b00e13 li t3,11 +800001c0: 17d19463 bne gp,t4,80000328 <fail> + +800001c4 <test_12>: +800001c4: 00c00e13 li t3,12 +800001c8: 00000213 li tp,0 +800001cc: 00002097 auipc ra,0x2 +800001d0: e3608093 addi ra,ra,-458 # 80002002 <tdat2> +800001d4: 00209183 lh gp,2(ra) +800001d8: 00018313 mv t1,gp +800001dc: 00001eb7 lui t4,0x1 +800001e0: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +800001e4: 15d31263 bne t1,t4,80000328 <fail> +800001e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001ec: 00200293 li t0,2 +800001f0: fc521ee3 bne tp,t0,800001cc <test_12+0x8> + +800001f4 <test_13>: +800001f4: 00d00e13 li t3,13 +800001f8: 00000213 li tp,0 +800001fc: 00002097 auipc ra,0x2 +80000200: e0808093 addi ra,ra,-504 # 80002004 <tdat3> +80000204: 00209183 lh gp,2(ra) +80000208: 00000013 nop +8000020c: 00018313 mv t1,gp +80000210: fffffeb7 lui t4,0xfffff +80000214: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +80000218: 11d31863 bne t1,t4,80000328 <fail> +8000021c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000220: 00200293 li t0,2 +80000224: fc521ce3 bne tp,t0,800001fc <test_13+0x8> + +80000228 <test_14>: +80000228: 00e00e13 li t3,14 +8000022c: 00000213 li tp,0 +80000230: 00002097 auipc ra,0x2 +80000234: dd008093 addi ra,ra,-560 # 80002000 <begin_signature> +80000238: 00209183 lh gp,2(ra) +8000023c: 00000013 nop +80000240: 00000013 nop +80000244: 00018313 mv t1,gp +80000248: f0000e93 li t4,-256 +8000024c: 0dd31e63 bne t1,t4,80000328 <fail> +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fc521ce3 bne tp,t0,80000230 <test_14+0x8> + +8000025c <test_15>: +8000025c: 00f00e13 li t3,15 +80000260: 00000213 li tp,0 +80000264: 00002097 auipc ra,0x2 +80000268: d9e08093 addi ra,ra,-610 # 80002002 <tdat2> +8000026c: 00209183 lh gp,2(ra) +80000270: 00001eb7 lui t4,0x1 +80000274: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000278: 0bd19863 bne gp,t4,80000328 <fail> +8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000280: 00200293 li t0,2 +80000284: fe5210e3 bne tp,t0,80000264 <test_15+0x8> + +80000288 <test_16>: +80000288: 01000e13 li t3,16 +8000028c: 00000213 li tp,0 +80000290: 00002097 auipc ra,0x2 +80000294: d7408093 addi ra,ra,-652 # 80002004 <tdat3> +80000298: 00000013 nop +8000029c: 00209183 lh gp,2(ra) +800002a0: fffffeb7 lui t4,0xfffff +800002a4: 00fe8e93 addi t4,t4,15 # fffff00f <_end+0x7fffcfff> +800002a8: 09d19063 bne gp,t4,80000328 <fail> +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fc521ee3 bne tp,t0,80000290 <test_16+0x8> + +800002b8 <test_17>: +800002b8: 01100e13 li t3,17 +800002bc: 00000213 li tp,0 +800002c0: 00002097 auipc ra,0x2 +800002c4: d4008093 addi ra,ra,-704 # 80002000 <begin_signature> +800002c8: 00000013 nop +800002cc: 00000013 nop +800002d0: 00209183 lh gp,2(ra) +800002d4: f0000e93 li t4,-256 +800002d8: 05d19863 bne gp,t4,80000328 <fail> +800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e0: 00200293 li t0,2 +800002e4: fc521ee3 bne tp,t0,800002c0 <test_17+0x8> + +800002e8 <test_18>: +800002e8: 00002197 auipc gp,0x2 +800002ec: d1818193 addi gp,gp,-744 # 80002000 <begin_signature> +800002f0: 00019103 lh sp,0(gp) +800002f4: 00200113 li sp,2 +800002f8: 00200e93 li t4,2 +800002fc: 01200e13 li t3,18 +80000300: 03d11463 bne sp,t4,80000328 <fail> + +80000304 <test_19>: +80000304: 00002197 auipc gp,0x2 +80000308: cfc18193 addi gp,gp,-772 # 80002000 <begin_signature> +8000030c: 00019103 lh sp,0(gp) +80000310: 00000013 nop +80000314: 00200113 li sp,2 +80000318: 00200e93 li t4,2 +8000031c: 01300e13 li t3,19 +80000320: 01d11463 bne sp,t4,80000328 <fail> +80000324: 01c01c63 bne zero,t3,8000033c <pass> + +80000328 <fail>: +80000328: 0ff0000f fence +8000032c: 000e0063 beqz t3,8000032c <fail+0x4> +80000330: 001e1e13 slli t3,t3,0x1 +80000334: 001e6e13 ori t3,t3,1 +80000338: 00000073 ecall + +8000033c <pass>: +8000033c: 0ff0000f fence +80000340: 00100e13 li t3,1 +80000344: 00000073 ecall +80000348: c0001073 unimp +8000034c: 0000 unimp +8000034e: 0000 unimp +80000350: 0000 unimp +80000352: 0000 unimp +80000354: 0000 unimp +80000356: 0000 unimp +80000358: 0000 unimp +8000035a: 0000 unimp +8000035c: 0000 unimp +8000035e: 0000 unimp +80000360: 0000 unimp +80000362: 0000 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 00ff 0xff + +80002002 <tdat2>: +80002002: ff00 fsw fs0,56(a4) + +80002004 <tdat3>: +80002004: 0ff0 addi a2,sp,988 + +80002006 <tdat4>: +80002006: 0000f00f 0xf00f +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-lhu.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-lhu.dump new file mode 100644 index 0000000..ab37b90 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-lhu.dump @@ -0,0 +1,306 @@ + +rv32ui-p-lhu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 0000d183 lhu gp,0(ra) +800000c8: 0ff00e93 li t4,255 +800000cc: 00200e13 li t3,2 +800000d0: 27d19663 bne gp,t4,8000033c <fail> + +800000d4 <test_3>: +800000d4: 00002097 auipc ra,0x2 +800000d8: f2c08093 addi ra,ra,-212 # 80002000 <begin_signature> +800000dc: 0020d183 lhu gp,2(ra) +800000e0: 00010eb7 lui t4,0x10 +800000e4: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +800000e8: 00300e13 li t3,3 +800000ec: 25d19863 bne gp,t4,8000033c <fail> + +800000f0 <test_4>: +800000f0: 00002097 auipc ra,0x2 +800000f4: f1008093 addi ra,ra,-240 # 80002000 <begin_signature> +800000f8: 0040d183 lhu gp,4(ra) +800000fc: 00001eb7 lui t4,0x1 +80000100: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000104: 00400e13 li t3,4 +80000108: 23d19a63 bne gp,t4,8000033c <fail> + +8000010c <test_5>: +8000010c: 00002097 auipc ra,0x2 +80000110: ef408093 addi ra,ra,-268 # 80002000 <begin_signature> +80000114: 0060d183 lhu gp,6(ra) +80000118: 0000feb7 lui t4,0xf +8000011c: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +80000120: 00500e13 li t3,5 +80000124: 21d19c63 bne gp,t4,8000033c <fail> + +80000128 <test_6>: +80000128: 00002097 auipc ra,0x2 +8000012c: ede08093 addi ra,ra,-290 # 80002006 <tdat4> +80000130: ffa0d183 lhu gp,-6(ra) +80000134: 0ff00e93 li t4,255 +80000138: 00600e13 li t3,6 +8000013c: 21d19063 bne gp,t4,8000033c <fail> + +80000140 <test_7>: +80000140: 00002097 auipc ra,0x2 +80000144: ec608093 addi ra,ra,-314 # 80002006 <tdat4> +80000148: ffc0d183 lhu gp,-4(ra) +8000014c: 00010eb7 lui t4,0x10 +80000150: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +80000154: 00700e13 li t3,7 +80000158: 1fd19263 bne gp,t4,8000033c <fail> + +8000015c <test_8>: +8000015c: 00002097 auipc ra,0x2 +80000160: eaa08093 addi ra,ra,-342 # 80002006 <tdat4> +80000164: ffe0d183 lhu gp,-2(ra) +80000168: 00001eb7 lui t4,0x1 +8000016c: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000170: 00800e13 li t3,8 +80000174: 1dd19463 bne gp,t4,8000033c <fail> + +80000178 <test_9>: +80000178: 00002097 auipc ra,0x2 +8000017c: e8e08093 addi ra,ra,-370 # 80002006 <tdat4> +80000180: 0000d183 lhu gp,0(ra) +80000184: 0000feb7 lui t4,0xf +80000188: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +8000018c: 00900e13 li t3,9 +80000190: 1bd19663 bne gp,t4,8000033c <fail> + +80000194 <test_10>: +80000194: 00002097 auipc ra,0x2 +80000198: e6c08093 addi ra,ra,-404 # 80002000 <begin_signature> +8000019c: fe008093 addi ra,ra,-32 +800001a0: 0200d183 lhu gp,32(ra) +800001a4: 0ff00e93 li t4,255 +800001a8: 00a00e13 li t3,10 +800001ac: 19d19863 bne gp,t4,8000033c <fail> + +800001b0 <test_11>: +800001b0: 00002097 auipc ra,0x2 +800001b4: e5008093 addi ra,ra,-432 # 80002000 <begin_signature> +800001b8: ffb08093 addi ra,ra,-5 +800001bc: 0070d183 lhu gp,7(ra) +800001c0: 00010eb7 lui t4,0x10 +800001c4: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +800001c8: 00b00e13 li t3,11 +800001cc: 17d19863 bne gp,t4,8000033c <fail> + +800001d0 <test_12>: +800001d0: 00c00e13 li t3,12 +800001d4: 00000213 li tp,0 +800001d8: 00002097 auipc ra,0x2 +800001dc: e2a08093 addi ra,ra,-470 # 80002002 <tdat2> +800001e0: 0020d183 lhu gp,2(ra) +800001e4: 00018313 mv t1,gp +800001e8: 00001eb7 lui t4,0x1 +800001ec: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +800001f0: 15d31663 bne t1,t4,8000033c <fail> +800001f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f8: 00200293 li t0,2 +800001fc: fc521ee3 bne tp,t0,800001d8 <test_12+0x8> + +80000200 <test_13>: +80000200: 00d00e13 li t3,13 +80000204: 00000213 li tp,0 +80000208: 00002097 auipc ra,0x2 +8000020c: dfc08093 addi ra,ra,-516 # 80002004 <tdat3> +80000210: 0020d183 lhu gp,2(ra) +80000214: 00000013 nop +80000218: 00018313 mv t1,gp +8000021c: 0000feb7 lui t4,0xf +80000220: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +80000224: 11d31c63 bne t1,t4,8000033c <fail> +80000228: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000022c: 00200293 li t0,2 +80000230: fc521ce3 bne tp,t0,80000208 <test_13+0x8> + +80000234 <test_14>: +80000234: 00e00e13 li t3,14 +80000238: 00000213 li tp,0 +8000023c: 00002097 auipc ra,0x2 +80000240: dc408093 addi ra,ra,-572 # 80002000 <begin_signature> +80000244: 0020d183 lhu gp,2(ra) +80000248: 00000013 nop +8000024c: 00000013 nop +80000250: 00018313 mv t1,gp +80000254: 00010eb7 lui t4,0x10 +80000258: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +8000025c: 0fd31063 bne t1,t4,8000033c <fail> +80000260: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000264: 00200293 li t0,2 +80000268: fc521ae3 bne tp,t0,8000023c <test_14+0x8> + +8000026c <test_15>: +8000026c: 00f00e13 li t3,15 +80000270: 00000213 li tp,0 +80000274: 00002097 auipc ra,0x2 +80000278: d8e08093 addi ra,ra,-626 # 80002002 <tdat2> +8000027c: 0020d183 lhu gp,2(ra) +80000280: 00001eb7 lui t4,0x1 +80000284: ff0e8e93 addi t4,t4,-16 # ff0 <_start-0x7ffff010> +80000288: 0bd19a63 bne gp,t4,8000033c <fail> +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5210e3 bne tp,t0,80000274 <test_15+0x8> + +80000298 <test_16>: +80000298: 01000e13 li t3,16 +8000029c: 00000213 li tp,0 +800002a0: 00002097 auipc ra,0x2 +800002a4: d6408093 addi ra,ra,-668 # 80002004 <tdat3> +800002a8: 00000013 nop +800002ac: 0020d183 lhu gp,2(ra) +800002b0: 0000feb7 lui t4,0xf +800002b4: 00fe8e93 addi t4,t4,15 # f00f <_start-0x7fff0ff1> +800002b8: 09d19263 bne gp,t4,8000033c <fail> +800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c0: 00200293 li t0,2 +800002c4: fc521ee3 bne tp,t0,800002a0 <test_16+0x8> + +800002c8 <test_17>: +800002c8: 01100e13 li t3,17 +800002cc: 00000213 li tp,0 +800002d0: 00002097 auipc ra,0x2 +800002d4: d3008093 addi ra,ra,-720 # 80002000 <begin_signature> +800002d8: 00000013 nop +800002dc: 00000013 nop +800002e0: 0020d183 lhu gp,2(ra) +800002e4: 00010eb7 lui t4,0x10 +800002e8: f00e8e93 addi t4,t4,-256 # ff00 <_start-0x7fff0100> +800002ec: 05d19863 bne gp,t4,8000033c <fail> +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fc521ce3 bne tp,t0,800002d0 <test_17+0x8> + +800002fc <test_18>: +800002fc: 00002197 auipc gp,0x2 +80000300: d0418193 addi gp,gp,-764 # 80002000 <begin_signature> +80000304: 0001d103 lhu sp,0(gp) +80000308: 00200113 li sp,2 +8000030c: 00200e93 li t4,2 +80000310: 01200e13 li t3,18 +80000314: 03d11463 bne sp,t4,8000033c <fail> + +80000318 <test_19>: +80000318: 00002197 auipc gp,0x2 +8000031c: ce818193 addi gp,gp,-792 # 80002000 <begin_signature> +80000320: 0001d103 lhu sp,0(gp) +80000324: 00000013 nop +80000328: 00200113 li sp,2 +8000032c: 00200e93 li t4,2 +80000330: 01300e13 li t3,19 +80000334: 01d11463 bne sp,t4,8000033c <fail> +80000338: 01c01c63 bne zero,t3,80000350 <pass> + +8000033c <fail>: +8000033c: 0ff0000f fence +80000340: 000e0063 beqz t3,80000340 <fail+0x4> +80000344: 001e1e13 slli t3,t3,0x1 +80000348: 001e6e13 ori t3,t3,1 +8000034c: 00000073 ecall + +80000350 <pass>: +80000350: 0ff0000f fence +80000354: 00100e13 li t3,1 +80000358: 00000073 ecall +8000035c: c0001073 unimp +80000360: 0000 unimp +80000362: 0000 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 00ff 0xff + +80002002 <tdat2>: +80002002: ff00 fsw fs0,56(a4) + +80002004 <tdat3>: +80002004: 0ff0 addi a2,sp,988 + +80002006 <tdat4>: +80002006: 0000f00f 0xf00f +8000200a: 0000 unimp +8000200c: 0000 unimp +8000200e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-lui.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-lui.dump new file mode 100644 index 0000000..b3cc71c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-lui.dump @@ -0,0 +1,111 @@ + +rv32ui-p-lui: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 000000b7 lui ra,0x0 +800000c0: 00000e93 li t4,0 +800000c4: 00200e13 li t3,2 +800000c8: 05d09a63 bne ra,t4,8000011c <fail> + +800000cc <test_3>: +800000cc: fffff0b7 lui ra,0xfffff +800000d0: 4010d093 srai ra,ra,0x1 +800000d4: 80000e93 li t4,-2048 +800000d8: 00300e13 li t3,3 +800000dc: 05d09063 bne ra,t4,8000011c <fail> + +800000e0 <test_4>: +800000e0: 7ffff0b7 lui ra,0x7ffff +800000e4: 4140d093 srai ra,ra,0x14 +800000e8: 7ff00e93 li t4,2047 +800000ec: 00400e13 li t3,4 +800000f0: 03d09663 bne ra,t4,8000011c <fail> + +800000f4 <test_5>: +800000f4: 800000b7 lui ra,0x80000 +800000f8: 4140d093 srai ra,ra,0x14 +800000fc: 80000e93 li t4,-2048 +80000100: 00500e13 li t3,5 +80000104: 01d09c63 bne ra,t4,8000011c <fail> + +80000108 <test_6>: +80000108: 80000037 lui zero,0x80000 +8000010c: 00000e93 li t4,0 +80000110: 00600e13 li t3,6 +80000114: 01d01463 bne zero,t4,8000011c <fail> +80000118: 01c01c63 bne zero,t3,80000130 <pass> + +8000011c <fail>: +8000011c: 0ff0000f fence +80000120: 000e0063 beqz t3,80000120 <fail+0x4> +80000124: 001e1e13 slli t3,t3,0x1 +80000128: 001e6e13 ori t3,t3,1 +8000012c: 00000073 ecall + +80000130 <pass>: +80000130: 0ff0000f fence +80000134: 00100e13 li t3,1 +80000138: 00000073 ecall +8000013c: c0001073 unimp +80000140: 0000 unimp +80000142: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-lw.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-lw.dump new file mode 100644 index 0000000..cfe6022 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-lw.dump @@ -0,0 +1,303 @@ + +rv32ui-p-lw: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 0000a183 lw gp,0(ra) +800000c8: 00ff0eb7 lui t4,0xff0 +800000cc: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +800000d0: 00200e13 li t3,2 +800000d4: 27d19a63 bne gp,t4,80000348 <fail> + +800000d8 <test_3>: +800000d8: 00002097 auipc ra,0x2 +800000dc: f2808093 addi ra,ra,-216 # 80002000 <begin_signature> +800000e0: 0040a183 lw gp,4(ra) +800000e4: ff010eb7 lui t4,0xff010 +800000e8: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +800000ec: 00300e13 li t3,3 +800000f0: 25d19c63 bne gp,t4,80000348 <fail> + +800000f4 <test_4>: +800000f4: 00002097 auipc ra,0x2 +800000f8: f0c08093 addi ra,ra,-244 # 80002000 <begin_signature> +800000fc: 0080a183 lw gp,8(ra) +80000100: 0ff01eb7 lui t4,0xff01 +80000104: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000108: 00400e13 li t3,4 +8000010c: 23d19e63 bne gp,t4,80000348 <fail> + +80000110 <test_5>: +80000110: 00002097 auipc ra,0x2 +80000114: ef008093 addi ra,ra,-272 # 80002000 <begin_signature> +80000118: 00c0a183 lw gp,12(ra) +8000011c: f00ffeb7 lui t4,0xf00ff +80000120: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +80000124: 00500e13 li t3,5 +80000128: 23d19063 bne gp,t4,80000348 <fail> + +8000012c <test_6>: +8000012c: 00002097 auipc ra,0x2 +80000130: ee008093 addi ra,ra,-288 # 8000200c <tdat4> +80000134: ff40a183 lw gp,-12(ra) +80000138: 00ff0eb7 lui t4,0xff0 +8000013c: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000140: 00600e13 li t3,6 +80000144: 21d19263 bne gp,t4,80000348 <fail> + +80000148 <test_7>: +80000148: 00002097 auipc ra,0x2 +8000014c: ec408093 addi ra,ra,-316 # 8000200c <tdat4> +80000150: ff80a183 lw gp,-8(ra) +80000154: ff010eb7 lui t4,0xff010 +80000158: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +8000015c: 00700e13 li t3,7 +80000160: 1fd19463 bne gp,t4,80000348 <fail> + +80000164 <test_8>: +80000164: 00002097 auipc ra,0x2 +80000168: ea808093 addi ra,ra,-344 # 8000200c <tdat4> +8000016c: ffc0a183 lw gp,-4(ra) +80000170: 0ff01eb7 lui t4,0xff01 +80000174: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000178: 00800e13 li t3,8 +8000017c: 1dd19663 bne gp,t4,80000348 <fail> + +80000180 <test_9>: +80000180: 00002097 auipc ra,0x2 +80000184: e8c08093 addi ra,ra,-372 # 8000200c <tdat4> +80000188: 0000a183 lw gp,0(ra) +8000018c: f00ffeb7 lui t4,0xf00ff +80000190: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +80000194: 00900e13 li t3,9 +80000198: 1bd19863 bne gp,t4,80000348 <fail> + +8000019c <test_10>: +8000019c: 00002097 auipc ra,0x2 +800001a0: e6408093 addi ra,ra,-412 # 80002000 <begin_signature> +800001a4: fe008093 addi ra,ra,-32 +800001a8: 0200a183 lw gp,32(ra) +800001ac: 00ff0eb7 lui t4,0xff0 +800001b0: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +800001b4: 00a00e13 li t3,10 +800001b8: 19d19863 bne gp,t4,80000348 <fail> + +800001bc <test_11>: +800001bc: 00002097 auipc ra,0x2 +800001c0: e4408093 addi ra,ra,-444 # 80002000 <begin_signature> +800001c4: ffd08093 addi ra,ra,-3 +800001c8: 0070a183 lw gp,7(ra) +800001cc: ff010eb7 lui t4,0xff010 +800001d0: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +800001d4: 00b00e13 li t3,11 +800001d8: 17d19863 bne gp,t4,80000348 <fail> + +800001dc <test_12>: +800001dc: 00c00e13 li t3,12 +800001e0: 00000213 li tp,0 +800001e4: 00002097 auipc ra,0x2 +800001e8: e2008093 addi ra,ra,-480 # 80002004 <tdat2> +800001ec: 0040a183 lw gp,4(ra) +800001f0: 00018313 mv t1,gp +800001f4: 0ff01eb7 lui t4,0xff01 +800001f8: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800001fc: 15d31663 bne t1,t4,80000348 <fail> +80000200: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000204: 00200293 li t0,2 +80000208: fc521ee3 bne tp,t0,800001e4 <test_12+0x8> + +8000020c <test_13>: +8000020c: 00d00e13 li t3,13 +80000210: 00000213 li tp,0 +80000214: 00002097 auipc ra,0x2 +80000218: df408093 addi ra,ra,-524 # 80002008 <tdat3> +8000021c: 0040a183 lw gp,4(ra) +80000220: 00000013 nop +80000224: 00018313 mv t1,gp +80000228: f00ffeb7 lui t4,0xf00ff +8000022c: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +80000230: 11d31c63 bne t1,t4,80000348 <fail> +80000234: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000238: 00200293 li t0,2 +8000023c: fc521ce3 bne tp,t0,80000214 <test_13+0x8> + +80000240 <test_14>: +80000240: 00e00e13 li t3,14 +80000244: 00000213 li tp,0 +80000248: 00002097 auipc ra,0x2 +8000024c: db808093 addi ra,ra,-584 # 80002000 <begin_signature> +80000250: 0040a183 lw gp,4(ra) +80000254: 00000013 nop +80000258: 00000013 nop +8000025c: 00018313 mv t1,gp +80000260: ff010eb7 lui t4,0xff010 +80000264: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +80000268: 0fd31063 bne t1,t4,80000348 <fail> +8000026c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000270: 00200293 li t0,2 +80000274: fc521ae3 bne tp,t0,80000248 <test_14+0x8> + +80000278 <test_15>: +80000278: 00f00e13 li t3,15 +8000027c: 00000213 li tp,0 +80000280: 00002097 auipc ra,0x2 +80000284: d8408093 addi ra,ra,-636 # 80002004 <tdat2> +80000288: 0040a183 lw gp,4(ra) +8000028c: 0ff01eb7 lui t4,0xff01 +80000290: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000294: 0bd19a63 bne gp,t4,80000348 <fail> +80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000029c: 00200293 li t0,2 +800002a0: fe5210e3 bne tp,t0,80000280 <test_15+0x8> + +800002a4 <test_16>: +800002a4: 01000e13 li t3,16 +800002a8: 00000213 li tp,0 +800002ac: 00002097 auipc ra,0x2 +800002b0: d5c08093 addi ra,ra,-676 # 80002008 <tdat3> +800002b4: 00000013 nop +800002b8: 0040a183 lw gp,4(ra) +800002bc: f00ffeb7 lui t4,0xf00ff +800002c0: 00fe8e93 addi t4,t4,15 # f00ff00f <_end+0x700fcfff> +800002c4: 09d19263 bne gp,t4,80000348 <fail> +800002c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002cc: 00200293 li t0,2 +800002d0: fc521ee3 bne tp,t0,800002ac <test_16+0x8> + +800002d4 <test_17>: +800002d4: 01100e13 li t3,17 +800002d8: 00000213 li tp,0 +800002dc: 00002097 auipc ra,0x2 +800002e0: d2408093 addi ra,ra,-732 # 80002000 <begin_signature> +800002e4: 00000013 nop +800002e8: 00000013 nop +800002ec: 0040a183 lw gp,4(ra) +800002f0: ff010eb7 lui t4,0xff010 +800002f4: f00e8e93 addi t4,t4,-256 # ff00ff00 <_end+0x7f00def0> +800002f8: 05d19863 bne gp,t4,80000348 <fail> +800002fc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000300: 00200293 li t0,2 +80000304: fc521ce3 bne tp,t0,800002dc <test_17+0x8> + +80000308 <test_18>: +80000308: 00002197 auipc gp,0x2 +8000030c: cf818193 addi gp,gp,-776 # 80002000 <begin_signature> +80000310: 0001a103 lw sp,0(gp) +80000314: 00200113 li sp,2 +80000318: 00200e93 li t4,2 +8000031c: 01200e13 li t3,18 +80000320: 03d11463 bne sp,t4,80000348 <fail> + +80000324 <test_19>: +80000324: 00002197 auipc gp,0x2 +80000328: cdc18193 addi gp,gp,-804 # 80002000 <begin_signature> +8000032c: 0001a103 lw sp,0(gp) +80000330: 00000013 nop +80000334: 00200113 li sp,2 +80000338: 00200e93 li t4,2 +8000033c: 01300e13 li t3,19 +80000340: 01d11463 bne sp,t4,80000348 <fail> +80000344: 01c01c63 bne zero,t3,8000035c <pass> + +80000348 <fail>: +80000348: 0ff0000f fence +8000034c: 000e0063 beqz t3,8000034c <fail+0x4> +80000350: 001e1e13 slli t3,t3,0x1 +80000354: 001e6e13 ori t3,t3,1 +80000358: 00000073 ecall + +8000035c <pass>: +8000035c: 0ff0000f fence +80000360: 00100e13 li t3,1 +80000364: 00000073 ecall +80000368: c0001073 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: 00ff 0xff +80002002: 00ff 0xff + +80002004 <tdat2>: +80002004: ff00 fsw fs0,56(a4) +80002006: ff00 fsw fs0,56(a4) + +80002008 <tdat3>: +80002008: 0ff0 addi a2,sp,988 +8000200a: 0ff0 addi a2,sp,988 + +8000200c <tdat4>: +8000200c: f00ff00f 0xf00ff00f diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-or.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-or.dump new file mode 100644 index 0000000..39065c7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-or.dump @@ -0,0 +1,448 @@ + +rv32ui-p-or: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: ff0100b7 lui ra,0xff010 +800000c0: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000c4: 0f0f1137 lui sp,0xf0f1 +800000c8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800000cc: 0020e1b3 or gp,ra,sp +800000d0: ff100eb7 lui t4,0xff100 +800000d4: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +800000d8: 00200e13 li t3,2 +800000dc: 4bd19263 bne gp,t4,80000580 <fail> + +800000e0 <test_3>: +800000e0: 0ff010b7 lui ra,0xff01 +800000e4: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800000e8: f0f0f137 lui sp,0xf0f0f +800000ec: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800000f0: 0020e1b3 or gp,ra,sp +800000f4: fff10eb7 lui t4,0xfff10 +800000f8: ff0e8e93 addi t4,t4,-16 # fff0fff0 <begin_signature+0x7ff0dff0> +800000fc: 00300e13 li t3,3 +80000100: 49d19063 bne gp,t4,80000580 <fail> + +80000104 <test_4>: +80000104: 00ff00b7 lui ra,0xff0 +80000108: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000010c: 0f0f1137 lui sp,0xf0f1 +80000110: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000114: 0020e1b3 or gp,ra,sp +80000118: 0fff1eb7 lui t4,0xfff1 +8000011c: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +80000120: 00400e13 li t3,4 +80000124: 45d19e63 bne gp,t4,80000580 <fail> + +80000128 <test_5>: +80000128: f00ff0b7 lui ra,0xf00ff +8000012c: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000130: f0f0f137 lui sp,0xf0f0f +80000134: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +80000138: 0020e1b3 or gp,ra,sp +8000013c: f0fffeb7 lui t4,0xf0fff +80000140: 0ffe8e93 addi t4,t4,255 # f0fff0ff <begin_signature+0x70ffd0ff> +80000144: 00500e13 li t3,5 +80000148: 43d19c63 bne gp,t4,80000580 <fail> + +8000014c <test_6>: +8000014c: ff0100b7 lui ra,0xff010 +80000150: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000154: 0f0f1137 lui sp,0xf0f1 +80000158: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000015c: 0020e0b3 or ra,ra,sp +80000160: ff100eb7 lui t4,0xff100 +80000164: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +80000168: 00600e13 li t3,6 +8000016c: 41d09a63 bne ra,t4,80000580 <fail> + +80000170 <test_7>: +80000170: ff0100b7 lui ra,0xff010 +80000174: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000178: 0f0f1137 lui sp,0xf0f1 +8000017c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000180: 0020e133 or sp,ra,sp +80000184: ff100eb7 lui t4,0xff100 +80000188: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +8000018c: 00700e13 li t3,7 +80000190: 3fd11863 bne sp,t4,80000580 <fail> + +80000194 <test_8>: +80000194: ff0100b7 lui ra,0xff010 +80000198: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000019c: 0010e0b3 or ra,ra,ra +800001a0: ff010eb7 lui t4,0xff010 +800001a4: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +800001a8: 00800e13 li t3,8 +800001ac: 3dd09a63 bne ra,t4,80000580 <fail> + +800001b0 <test_9>: +800001b0: 00000213 li tp,0 +800001b4: ff0100b7 lui ra,0xff010 +800001b8: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800001bc: 0f0f1137 lui sp,0xf0f1 +800001c0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001c4: 0020e1b3 or gp,ra,sp +800001c8: 00018313 mv t1,gp +800001cc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001d0: 00200293 li t0,2 +800001d4: fe5210e3 bne tp,t0,800001b4 <test_9+0x4> +800001d8: ff100eb7 lui t4,0xff100 +800001dc: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +800001e0: 00900e13 li t3,9 +800001e4: 39d31e63 bne t1,t4,80000580 <fail> + +800001e8 <test_10>: +800001e8: 00000213 li tp,0 +800001ec: 0ff010b7 lui ra,0xff01 +800001f0: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001f4: f0f0f137 lui sp,0xf0f0f +800001f8: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800001fc: 0020e1b3 or gp,ra,sp +80000200: 00000013 nop +80000204: 00018313 mv t1,gp +80000208: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000020c: 00200293 li t0,2 +80000210: fc521ee3 bne tp,t0,800001ec <test_10+0x4> +80000214: fff10eb7 lui t4,0xfff10 +80000218: ff0e8e93 addi t4,t4,-16 # fff0fff0 <begin_signature+0x7ff0dff0> +8000021c: 00a00e13 li t3,10 +80000220: 37d31063 bne t1,t4,80000580 <fail> + +80000224 <test_11>: +80000224: 00000213 li tp,0 +80000228: 00ff00b7 lui ra,0xff0 +8000022c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000230: 0f0f1137 lui sp,0xf0f1 +80000234: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000238: 0020e1b3 or gp,ra,sp +8000023c: 00000013 nop +80000240: 00000013 nop +80000244: 00018313 mv t1,gp +80000248: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000024c: 00200293 li t0,2 +80000250: fc521ce3 bne tp,t0,80000228 <test_11+0x4> +80000254: 0fff1eb7 lui t4,0xfff1 +80000258: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +8000025c: 00b00e13 li t3,11 +80000260: 33d31063 bne t1,t4,80000580 <fail> + +80000264 <test_12>: +80000264: 00000213 li tp,0 +80000268: ff0100b7 lui ra,0xff010 +8000026c: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000270: 0f0f1137 lui sp,0xf0f1 +80000274: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000278: 0020e1b3 or gp,ra,sp +8000027c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000280: 00200293 li t0,2 +80000284: fe5212e3 bne tp,t0,80000268 <test_12+0x4> +80000288: ff100eb7 lui t4,0xff100 +8000028c: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +80000290: 00c00e13 li t3,12 +80000294: 2fd19663 bne gp,t4,80000580 <fail> + +80000298 <test_13>: +80000298: 00000213 li tp,0 +8000029c: 0ff010b7 lui ra,0xff01 +800002a0: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002a4: f0f0f137 lui sp,0xf0f0f +800002a8: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800002ac: 00000013 nop +800002b0: 0020e1b3 or gp,ra,sp +800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b8: 00200293 li t0,2 +800002bc: fe5210e3 bne tp,t0,8000029c <test_13+0x4> +800002c0: fff10eb7 lui t4,0xfff10 +800002c4: ff0e8e93 addi t4,t4,-16 # fff0fff0 <begin_signature+0x7ff0dff0> +800002c8: 00d00e13 li t3,13 +800002cc: 2bd19a63 bne gp,t4,80000580 <fail> + +800002d0 <test_14>: +800002d0: 00000213 li tp,0 +800002d4: 00ff00b7 lui ra,0xff0 +800002d8: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002dc: 0f0f1137 lui sp,0xf0f1 +800002e0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800002e4: 00000013 nop +800002e8: 00000013 nop +800002ec: 0020e1b3 or gp,ra,sp +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fc521ee3 bne tp,t0,800002d4 <test_14+0x4> +800002fc: 0fff1eb7 lui t4,0xfff1 +80000300: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +80000304: 00e00e13 li t3,14 +80000308: 27d19c63 bne gp,t4,80000580 <fail> + +8000030c <test_15>: +8000030c: 00000213 li tp,0 +80000310: ff0100b7 lui ra,0xff010 +80000314: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000318: 00000013 nop +8000031c: 0f0f1137 lui sp,0xf0f1 +80000320: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000324: 0020e1b3 or gp,ra,sp +80000328: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000032c: 00200293 li t0,2 +80000330: fe5210e3 bne tp,t0,80000310 <test_15+0x4> +80000334: ff100eb7 lui t4,0xff100 +80000338: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +8000033c: 00f00e13 li t3,15 +80000340: 25d19063 bne gp,t4,80000580 <fail> + +80000344 <test_16>: +80000344: 00000213 li tp,0 +80000348: 0ff010b7 lui ra,0xff01 +8000034c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000350: 00000013 nop +80000354: f0f0f137 lui sp,0xf0f0f +80000358: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +8000035c: 00000013 nop +80000360: 0020e1b3 or gp,ra,sp +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fc521ee3 bne tp,t0,80000348 <test_16+0x4> +80000370: fff10eb7 lui t4,0xfff10 +80000374: ff0e8e93 addi t4,t4,-16 # fff0fff0 <begin_signature+0x7ff0dff0> +80000378: 01000e13 li t3,16 +8000037c: 21d19263 bne gp,t4,80000580 <fail> + +80000380 <test_17>: +80000380: 00000213 li tp,0 +80000384: 00ff00b7 lui ra,0xff0 +80000388: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000038c: 00000013 nop +80000390: 00000013 nop +80000394: 0f0f1137 lui sp,0xf0f1 +80000398: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000039c: 0020e1b3 or gp,ra,sp +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fc521ee3 bne tp,t0,80000384 <test_17+0x4> +800003ac: 0fff1eb7 lui t4,0xfff1 +800003b0: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +800003b4: 01100e13 li t3,17 +800003b8: 1dd19463 bne gp,t4,80000580 <fail> + +800003bc <test_18>: +800003bc: 00000213 li tp,0 +800003c0: 0f0f1137 lui sp,0xf0f1 +800003c4: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003c8: ff0100b7 lui ra,0xff010 +800003cc: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800003d0: 0020e1b3 or gp,ra,sp +800003d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d8: 00200293 li t0,2 +800003dc: fe5212e3 bne tp,t0,800003c0 <test_18+0x4> +800003e0: ff100eb7 lui t4,0xff100 +800003e4: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +800003e8: 01200e13 li t3,18 +800003ec: 19d19a63 bne gp,t4,80000580 <fail> + +800003f0 <test_19>: +800003f0: 00000213 li tp,0 +800003f4: f0f0f137 lui sp,0xf0f0f +800003f8: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800003fc: 0ff010b7 lui ra,0xff01 +80000400: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000404: 00000013 nop +80000408: 0020e1b3 or gp,ra,sp +8000040c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000410: 00200293 li t0,2 +80000414: fe5210e3 bne tp,t0,800003f4 <test_19+0x4> +80000418: fff10eb7 lui t4,0xfff10 +8000041c: ff0e8e93 addi t4,t4,-16 # fff0fff0 <begin_signature+0x7ff0dff0> +80000420: 01300e13 li t3,19 +80000424: 15d19e63 bne gp,t4,80000580 <fail> + +80000428 <test_20>: +80000428: 00000213 li tp,0 +8000042c: 0f0f1137 lui sp,0xf0f1 +80000430: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000434: 00ff00b7 lui ra,0xff0 +80000438: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000043c: 00000013 nop +80000440: 00000013 nop +80000444: 0020e1b3 or gp,ra,sp +80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000044c: 00200293 li t0,2 +80000450: fc521ee3 bne tp,t0,8000042c <test_20+0x4> +80000454: 0fff1eb7 lui t4,0xfff1 +80000458: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +8000045c: 01400e13 li t3,20 +80000460: 13d19063 bne gp,t4,80000580 <fail> + +80000464 <test_21>: +80000464: 00000213 li tp,0 +80000468: 0f0f1137 lui sp,0xf0f1 +8000046c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000470: 00000013 nop +80000474: ff0100b7 lui ra,0xff010 +80000478: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000047c: 0020e1b3 or gp,ra,sp +80000480: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000484: 00200293 li t0,2 +80000488: fe5210e3 bne tp,t0,80000468 <test_21+0x4> +8000048c: ff100eb7 lui t4,0xff100 +80000490: f0fe8e93 addi t4,t4,-241 # ff0fff0f <begin_signature+0x7f0fdf0f> +80000494: 01500e13 li t3,21 +80000498: 0fd19463 bne gp,t4,80000580 <fail> + +8000049c <test_22>: +8000049c: 00000213 li tp,0 +800004a0: f0f0f137 lui sp,0xf0f0f +800004a4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800004a8: 00000013 nop +800004ac: 0ff010b7 lui ra,0xff01 +800004b0: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004b4: 00000013 nop +800004b8: 0020e1b3 or gp,ra,sp +800004bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c0: 00200293 li t0,2 +800004c4: fc521ee3 bne tp,t0,800004a0 <test_22+0x4> +800004c8: fff10eb7 lui t4,0xfff10 +800004cc: ff0e8e93 addi t4,t4,-16 # fff0fff0 <begin_signature+0x7ff0dff0> +800004d0: 01600e13 li t3,22 +800004d4: 0bd19663 bne gp,t4,80000580 <fail> + +800004d8 <test_23>: +800004d8: 00000213 li tp,0 +800004dc: 0f0f1137 lui sp,0xf0f1 +800004e0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004e4: 00000013 nop +800004e8: 00000013 nop +800004ec: 00ff00b7 lui ra,0xff0 +800004f0: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800004f4: 0020e1b3 or gp,ra,sp +800004f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004fc: 00200293 li t0,2 +80000500: fc521ee3 bne tp,t0,800004dc <test_23+0x4> +80000504: 0fff1eb7 lui t4,0xfff1 +80000508: fffe8e93 addi t4,t4,-1 # fff0fff <_start-0x7000f001> +8000050c: 01700e13 li t3,23 +80000510: 07d19863 bne gp,t4,80000580 <fail> + +80000514 <test_24>: +80000514: ff0100b7 lui ra,0xff010 +80000518: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000051c: 00106133 or sp,zero,ra +80000520: ff010eb7 lui t4,0xff010 +80000524: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000528: 01800e13 li t3,24 +8000052c: 05d11a63 bne sp,t4,80000580 <fail> + +80000530 <test_25>: +80000530: 00ff00b7 lui ra,0xff0 +80000534: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000538: 0000e133 or sp,ra,zero +8000053c: 00ff0eb7 lui t4,0xff0 +80000540: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000544: 01900e13 li t3,25 +80000548: 03d11c63 bne sp,t4,80000580 <fail> + +8000054c <test_26>: +8000054c: 000060b3 or ra,zero,zero +80000550: 00000e93 li t4,0 +80000554: 01a00e13 li t3,26 +80000558: 03d09463 bne ra,t4,80000580 <fail> + +8000055c <test_27>: +8000055c: 111110b7 lui ra,0x11111 +80000560: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +80000564: 22222137 lui sp,0x22222 +80000568: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +8000056c: 0020e033 or zero,ra,sp +80000570: 00000e93 li t4,0 +80000574: 01b00e13 li t3,27 +80000578: 01d01463 bne zero,t4,80000580 <fail> +8000057c: 01c01c63 bne zero,t3,80000594 <pass> + +80000580 <fail>: +80000580: 0ff0000f fence +80000584: 000e0063 beqz t3,80000584 <fail+0x4> +80000588: 001e1e13 slli t3,t3,0x1 +8000058c: 001e6e13 ori t3,t3,1 +80000590: 00000073 ecall + +80000594 <pass>: +80000594: 0ff0000f fence +80000598: 00100e13 li t3,1 +8000059c: 00000073 ecall +800005a0: c0001073 unimp +800005a4: 0000 unimp +800005a6: 0000 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-ori.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-ori.dump new file mode 100644 index 0000000..72b375d --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-ori.dump @@ -0,0 +1,224 @@ + +rv32ui-p-ori: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: ff0100b7 lui ra,0xff010 +800000c0: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000c4: f0f0e193 ori gp,ra,-241 +800000c8: f0f00e93 li t4,-241 +800000cc: 00200e13 li t3,2 +800000d0: 1dd19463 bne gp,t4,80000298 <fail> + +800000d4 <test_3>: +800000d4: 0ff010b7 lui ra,0xff01 +800000d8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800000dc: 0f00e193 ori gp,ra,240 +800000e0: 0ff01eb7 lui t4,0xff01 +800000e4: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800000e8: 00300e13 li t3,3 +800000ec: 1bd19663 bne gp,t4,80000298 <fail> + +800000f0 <test_4>: +800000f0: 00ff00b7 lui ra,0xff0 +800000f4: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800000f8: 70f0e193 ori gp,ra,1807 +800000fc: 00ff0eb7 lui t4,0xff0 +80000100: 7ffe8e93 addi t4,t4,2047 # ff07ff <_start-0x7f00f801> +80000104: 00400e13 li t3,4 +80000108: 19d19863 bne gp,t4,80000298 <fail> + +8000010c <test_5>: +8000010c: f00ff0b7 lui ra,0xf00ff +80000110: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000114: 0f00e193 ori gp,ra,240 +80000118: f00ffeb7 lui t4,0xf00ff +8000011c: 0ffe8e93 addi t4,t4,255 # f00ff0ff <begin_signature+0x700fd0ff> +80000120: 00500e13 li t3,5 +80000124: 17d19a63 bne gp,t4,80000298 <fail> + +80000128 <test_6>: +80000128: ff0100b7 lui ra,0xff010 +8000012c: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000130: 0f00e093 ori ra,ra,240 +80000134: ff010eb7 lui t4,0xff010 +80000138: ff0e8e93 addi t4,t4,-16 # ff00fff0 <begin_signature+0x7f00dff0> +8000013c: 00600e13 li t3,6 +80000140: 15d09c63 bne ra,t4,80000298 <fail> + +80000144 <test_7>: +80000144: 00000213 li tp,0 +80000148: 0ff010b7 lui ra,0xff01 +8000014c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000150: 0f00e193 ori gp,ra,240 +80000154: 00018313 mv t1,gp +80000158: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000015c: 00200293 li t0,2 +80000160: fe5214e3 bne tp,t0,80000148 <test_7+0x4> +80000164: 0ff01eb7 lui t4,0xff01 +80000168: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +8000016c: 00700e13 li t3,7 +80000170: 13d31463 bne t1,t4,80000298 <fail> + +80000174 <test_8>: +80000174: 00000213 li tp,0 +80000178: 00ff00b7 lui ra,0xff0 +8000017c: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000180: 70f0e193 ori gp,ra,1807 +80000184: 00000013 nop +80000188: 00018313 mv t1,gp +8000018c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000190: 00200293 li t0,2 +80000194: fe5212e3 bne tp,t0,80000178 <test_8+0x4> +80000198: 00ff0eb7 lui t4,0xff0 +8000019c: 7ffe8e93 addi t4,t4,2047 # ff07ff <_start-0x7f00f801> +800001a0: 00800e13 li t3,8 +800001a4: 0fd31a63 bne t1,t4,80000298 <fail> + +800001a8 <test_9>: +800001a8: 00000213 li tp,0 +800001ac: f00ff0b7 lui ra,0xf00ff +800001b0: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +800001b4: 0f00e193 ori gp,ra,240 +800001b8: 00000013 nop +800001bc: 00000013 nop +800001c0: 00018313 mv t1,gp +800001c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001c8: 00200293 li t0,2 +800001cc: fe5210e3 bne tp,t0,800001ac <test_9+0x4> +800001d0: f00ffeb7 lui t4,0xf00ff +800001d4: 0ffe8e93 addi t4,t4,255 # f00ff0ff <begin_signature+0x700fd0ff> +800001d8: 00900e13 li t3,9 +800001dc: 0bd31e63 bne t1,t4,80000298 <fail> + +800001e0 <test_10>: +800001e0: 00000213 li tp,0 +800001e4: 0ff010b7 lui ra,0xff01 +800001e8: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001ec: 0f00e193 ori gp,ra,240 +800001f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f4: 00200293 li t0,2 +800001f8: fe5216e3 bne tp,t0,800001e4 <test_10+0x4> +800001fc: 0ff01eb7 lui t4,0xff01 +80000200: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000204: 00a00e13 li t3,10 +80000208: 09d19863 bne gp,t4,80000298 <fail> + +8000020c <test_11>: +8000020c: 00000213 li tp,0 +80000210: 00ff00b7 lui ra,0xff0 +80000214: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000218: 00000013 nop +8000021c: f0f0e193 ori gp,ra,-241 +80000220: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000224: 00200293 li t0,2 +80000228: fe5214e3 bne tp,t0,80000210 <test_11+0x4> +8000022c: fff00e93 li t4,-1 +80000230: 00b00e13 li t3,11 +80000234: 07d19263 bne gp,t4,80000298 <fail> + +80000238 <test_12>: +80000238: 00000213 li tp,0 +8000023c: f00ff0b7 lui ra,0xf00ff +80000240: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000244: 00000013 nop +80000248: 00000013 nop +8000024c: 0f00e193 ori gp,ra,240 +80000250: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000254: 00200293 li t0,2 +80000258: fe5212e3 bne tp,t0,8000023c <test_12+0x4> +8000025c: f00ffeb7 lui t4,0xf00ff +80000260: 0ffe8e93 addi t4,t4,255 # f00ff0ff <begin_signature+0x700fd0ff> +80000264: 00c00e13 li t3,12 +80000268: 03d19863 bne gp,t4,80000298 <fail> + +8000026c <test_13>: +8000026c: 0f006093 ori ra,zero,240 +80000270: 0f000e93 li t4,240 +80000274: 00d00e13 li t3,13 +80000278: 03d09063 bne ra,t4,80000298 <fail> + +8000027c <test_14>: +8000027c: 00ff00b7 lui ra,0xff0 +80000280: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000284: 70f0e013 ori zero,ra,1807 +80000288: 00000e93 li t4,0 +8000028c: 00e00e13 li t3,14 +80000290: 01d01463 bne zero,t4,80000298 <fail> +80000294: 01c01c63 bne zero,t3,800002ac <pass> + +80000298 <fail>: +80000298: 0ff0000f fence +8000029c: 000e0063 beqz t3,8000029c <fail+0x4> +800002a0: 001e1e13 slli t3,t3,0x1 +800002a4: 001e6e13 ori t3,t3,1 +800002a8: 00000073 ecall + +800002ac <pass>: +800002ac: 0ff0000f fence +800002b0: 00100e13 li t3,1 +800002b4: 00000073 ecall +800002b8: c0001073 unimp +800002bc: 0000 unimp +800002be: 0000 unimp +800002c0: 0000 unimp +800002c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sb.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sb.dump new file mode 100644 index 0000000..4497f32 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sb.dump @@ -0,0 +1,431 @@ + +rv32ui-p-sb: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: faa00113 li sp,-86 +800000c8: 00208023 sb sp,0(ra) +800000cc: 00008183 lb gp,0(ra) +800000d0: faa00e93 li t4,-86 +800000d4: 00200e13 li t3,2 +800000d8: 3dd19c63 bne gp,t4,800004b0 <fail> + +800000dc <test_3>: +800000dc: 00002097 auipc ra,0x2 +800000e0: f2408093 addi ra,ra,-220 # 80002000 <begin_signature> +800000e4: 00000113 li sp,0 +800000e8: 002080a3 sb sp,1(ra) +800000ec: 00108183 lb gp,1(ra) +800000f0: 00000e93 li t4,0 +800000f4: 00300e13 li t3,3 +800000f8: 3bd19c63 bne gp,t4,800004b0 <fail> + +800000fc <test_4>: +800000fc: 00002097 auipc ra,0x2 +80000100: f0408093 addi ra,ra,-252 # 80002000 <begin_signature> +80000104: fffff137 lui sp,0xfffff +80000108: fa010113 addi sp,sp,-96 # ffffefa0 <_end+0x7fffcf90> +8000010c: 00208123 sb sp,2(ra) +80000110: 00209183 lh gp,2(ra) +80000114: fffffeb7 lui t4,0xfffff +80000118: fa0e8e93 addi t4,t4,-96 # ffffefa0 <_end+0x7fffcf90> +8000011c: 00400e13 li t3,4 +80000120: 39d19863 bne gp,t4,800004b0 <fail> + +80000124 <test_5>: +80000124: 00002097 auipc ra,0x2 +80000128: edc08093 addi ra,ra,-292 # 80002000 <begin_signature> +8000012c: 00a00113 li sp,10 +80000130: 002081a3 sb sp,3(ra) +80000134: 00308183 lb gp,3(ra) +80000138: 00a00e93 li t4,10 +8000013c: 00500e13 li t3,5 +80000140: 37d19863 bne gp,t4,800004b0 <fail> + +80000144 <test_6>: +80000144: 00002097 auipc ra,0x2 +80000148: ec308093 addi ra,ra,-317 # 80002007 <tdat8> +8000014c: faa00113 li sp,-86 +80000150: fe208ea3 sb sp,-3(ra) +80000154: ffd08183 lb gp,-3(ra) +80000158: faa00e93 li t4,-86 +8000015c: 00600e13 li t3,6 +80000160: 35d19863 bne gp,t4,800004b0 <fail> + +80000164 <test_7>: +80000164: 00002097 auipc ra,0x2 +80000168: ea308093 addi ra,ra,-349 # 80002007 <tdat8> +8000016c: 00000113 li sp,0 +80000170: fe208f23 sb sp,-2(ra) +80000174: ffe08183 lb gp,-2(ra) +80000178: 00000e93 li t4,0 +8000017c: 00700e13 li t3,7 +80000180: 33d19863 bne gp,t4,800004b0 <fail> + +80000184 <test_8>: +80000184: 00002097 auipc ra,0x2 +80000188: e8308093 addi ra,ra,-381 # 80002007 <tdat8> +8000018c: fa000113 li sp,-96 +80000190: fe208fa3 sb sp,-1(ra) +80000194: fff08183 lb gp,-1(ra) +80000198: fa000e93 li t4,-96 +8000019c: 00800e13 li t3,8 +800001a0: 31d19863 bne gp,t4,800004b0 <fail> + +800001a4 <test_9>: +800001a4: 00002097 auipc ra,0x2 +800001a8: e6308093 addi ra,ra,-413 # 80002007 <tdat8> +800001ac: 00a00113 li sp,10 +800001b0: 00208023 sb sp,0(ra) +800001b4: 00008183 lb gp,0(ra) +800001b8: 00a00e93 li t4,10 +800001bc: 00900e13 li t3,9 +800001c0: 2fd19863 bne gp,t4,800004b0 <fail> + +800001c4 <test_10>: +800001c4: 00002097 auipc ra,0x2 +800001c8: e4408093 addi ra,ra,-444 # 80002008 <tdat9> +800001cc: 12345137 lui sp,0x12345 +800001d0: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +800001d4: fe008213 addi tp,ra,-32 +800001d8: 02220023 sb sp,32(tp) # 20 <_start-0x7fffffe0> +800001dc: 00008183 lb gp,0(ra) +800001e0: 07800e93 li t4,120 +800001e4: 00a00e13 li t3,10 +800001e8: 2dd19463 bne gp,t4,800004b0 <fail> + +800001ec <test_11>: +800001ec: 00002097 auipc ra,0x2 +800001f0: e1c08093 addi ra,ra,-484 # 80002008 <tdat9> +800001f4: 00003137 lui sp,0x3 +800001f8: 09810113 addi sp,sp,152 # 3098 <_start-0x7fffcf68> +800001fc: ffa08093 addi ra,ra,-6 +80000200: 002083a3 sb sp,7(ra) +80000204: 00002217 auipc tp,0x2 +80000208: e0520213 addi tp,tp,-507 # 80002009 <tdat10> +8000020c: 00020183 lb gp,0(tp) # 0 <_start-0x80000000> +80000210: f9800e93 li t4,-104 +80000214: 00b00e13 li t3,11 +80000218: 29d19c63 bne gp,t4,800004b0 <fail> + +8000021c <test_12>: +8000021c: 00c00e13 li t3,12 +80000220: 00000213 li tp,0 +80000224: fdd00093 li ra,-35 +80000228: 00002117 auipc sp,0x2 +8000022c: dd810113 addi sp,sp,-552 # 80002000 <begin_signature> +80000230: 00110023 sb ra,0(sp) +80000234: 00010183 lb gp,0(sp) +80000238: fdd00e93 li t4,-35 +8000023c: 27d19a63 bne gp,t4,800004b0 <fail> +80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000244: 00200293 li t0,2 +80000248: fc521ee3 bne tp,t0,80000224 <test_12+0x8> + +8000024c <test_13>: +8000024c: 00d00e13 li t3,13 +80000250: 00000213 li tp,0 +80000254: fcd00093 li ra,-51 +80000258: 00002117 auipc sp,0x2 +8000025c: da810113 addi sp,sp,-600 # 80002000 <begin_signature> +80000260: 00000013 nop +80000264: 001100a3 sb ra,1(sp) +80000268: 00110183 lb gp,1(sp) +8000026c: fcd00e93 li t4,-51 +80000270: 25d19063 bne gp,t4,800004b0 <fail> +80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000278: 00200293 li t0,2 +8000027c: fc521ce3 bne tp,t0,80000254 <test_13+0x8> + +80000280 <test_14>: +80000280: 00e00e13 li t3,14 +80000284: 00000213 li tp,0 +80000288: fcc00093 li ra,-52 +8000028c: 00002117 auipc sp,0x2 +80000290: d7410113 addi sp,sp,-652 # 80002000 <begin_signature> +80000294: 00000013 nop +80000298: 00000013 nop +8000029c: 00110123 sb ra,2(sp) +800002a0: 00210183 lb gp,2(sp) +800002a4: fcc00e93 li t4,-52 +800002a8: 21d19463 bne gp,t4,800004b0 <fail> +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fc521ae3 bne tp,t0,80000288 <test_14+0x8> + +800002b8 <test_15>: +800002b8: 00f00e13 li t3,15 +800002bc: 00000213 li tp,0 +800002c0: fbc00093 li ra,-68 +800002c4: 00000013 nop +800002c8: 00002117 auipc sp,0x2 +800002cc: d3810113 addi sp,sp,-712 # 80002000 <begin_signature> +800002d0: 001101a3 sb ra,3(sp) +800002d4: 00310183 lb gp,3(sp) +800002d8: fbc00e93 li t4,-68 +800002dc: 1dd19a63 bne gp,t4,800004b0 <fail> +800002e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e4: 00200293 li t0,2 +800002e8: fc521ce3 bne tp,t0,800002c0 <test_15+0x8> + +800002ec <test_16>: +800002ec: 01000e13 li t3,16 +800002f0: 00000213 li tp,0 +800002f4: fbb00093 li ra,-69 +800002f8: 00000013 nop +800002fc: 00002117 auipc sp,0x2 +80000300: d0410113 addi sp,sp,-764 # 80002000 <begin_signature> +80000304: 00000013 nop +80000308: 00110223 sb ra,4(sp) +8000030c: 00410183 lb gp,4(sp) +80000310: fbb00e93 li t4,-69 +80000314: 19d19e63 bne gp,t4,800004b0 <fail> +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fc521ae3 bne tp,t0,800002f4 <test_16+0x8> + +80000324 <test_17>: +80000324: 01100e13 li t3,17 +80000328: 00000213 li tp,0 +8000032c: fab00093 li ra,-85 +80000330: 00000013 nop +80000334: 00000013 nop +80000338: 00002117 auipc sp,0x2 +8000033c: cc810113 addi sp,sp,-824 # 80002000 <begin_signature> +80000340: 001102a3 sb ra,5(sp) +80000344: 00510183 lb gp,5(sp) +80000348: fab00e93 li t4,-85 +8000034c: 17d19263 bne gp,t4,800004b0 <fail> +80000350: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000354: 00200293 li t0,2 +80000358: fc521ae3 bne tp,t0,8000032c <test_17+0x8> + +8000035c <test_18>: +8000035c: 01200e13 li t3,18 +80000360: 00000213 li tp,0 +80000364: 00002117 auipc sp,0x2 +80000368: c9c10113 addi sp,sp,-868 # 80002000 <begin_signature> +8000036c: 03300093 li ra,51 +80000370: 00110023 sb ra,0(sp) +80000374: 00010183 lb gp,0(sp) +80000378: 03300e93 li t4,51 +8000037c: 13d19a63 bne gp,t4,800004b0 <fail> +80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000384: 00200293 li t0,2 +80000388: fc521ee3 bne tp,t0,80000364 <test_18+0x8> + +8000038c <test_19>: +8000038c: 01300e13 li t3,19 +80000390: 00000213 li tp,0 +80000394: 00002117 auipc sp,0x2 +80000398: c6c10113 addi sp,sp,-916 # 80002000 <begin_signature> +8000039c: 02300093 li ra,35 +800003a0: 00000013 nop +800003a4: 001100a3 sb ra,1(sp) +800003a8: 00110183 lb gp,1(sp) +800003ac: 02300e93 li t4,35 +800003b0: 11d19063 bne gp,t4,800004b0 <fail> +800003b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b8: 00200293 li t0,2 +800003bc: fc521ce3 bne tp,t0,80000394 <test_19+0x8> + +800003c0 <test_20>: +800003c0: 01400e13 li t3,20 +800003c4: 00000213 li tp,0 +800003c8: 00002117 auipc sp,0x2 +800003cc: c3810113 addi sp,sp,-968 # 80002000 <begin_signature> +800003d0: 02200093 li ra,34 +800003d4: 00000013 nop +800003d8: 00000013 nop +800003dc: 00110123 sb ra,2(sp) +800003e0: 00210183 lb gp,2(sp) +800003e4: 02200e93 li t4,34 +800003e8: 0dd19463 bne gp,t4,800004b0 <fail> +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fc521ae3 bne tp,t0,800003c8 <test_20+0x8> + +800003f8 <test_21>: +800003f8: 01500e13 li t3,21 +800003fc: 00000213 li tp,0 +80000400: 00002117 auipc sp,0x2 +80000404: c0010113 addi sp,sp,-1024 # 80002000 <begin_signature> +80000408: 00000013 nop +8000040c: 01200093 li ra,18 +80000410: 001101a3 sb ra,3(sp) +80000414: 00310183 lb gp,3(sp) +80000418: 01200e93 li t4,18 +8000041c: 09d19a63 bne gp,t4,800004b0 <fail> +80000420: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000424: 00200293 li t0,2 +80000428: fc521ce3 bne tp,t0,80000400 <test_21+0x8> + +8000042c <test_22>: +8000042c: 01600e13 li t3,22 +80000430: 00000213 li tp,0 +80000434: 00002117 auipc sp,0x2 +80000438: bcc10113 addi sp,sp,-1076 # 80002000 <begin_signature> +8000043c: 00000013 nop +80000440: 01100093 li ra,17 +80000444: 00000013 nop +80000448: 00110223 sb ra,4(sp) +8000044c: 00410183 lb gp,4(sp) +80000450: 01100e93 li t4,17 +80000454: 05d19e63 bne gp,t4,800004b0 <fail> +80000458: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000045c: 00200293 li t0,2 +80000460: fc521ae3 bne tp,t0,80000434 <test_22+0x8> + +80000464 <test_23>: +80000464: 01700e13 li t3,23 +80000468: 00000213 li tp,0 +8000046c: 00002117 auipc sp,0x2 +80000470: b9410113 addi sp,sp,-1132 # 80002000 <begin_signature> +80000474: 00000013 nop +80000478: 00000013 nop +8000047c: 00100093 li ra,1 +80000480: 001102a3 sb ra,5(sp) +80000484: 00510183 lb gp,5(sp) +80000488: 00100e93 li t4,1 +8000048c: 03d19263 bne gp,t4,800004b0 <fail> +80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000494: 00200293 li t0,2 +80000498: fc521ae3 bne tp,t0,8000046c <test_23+0x8> +8000049c: 0ef00513 li a0,239 +800004a0: 00002597 auipc a1,0x2 +800004a4: b6058593 addi a1,a1,-1184 # 80002000 <begin_signature> +800004a8: 00a581a3 sb a0,3(a1) +800004ac: 01c01c63 bne zero,t3,800004c4 <pass> + +800004b0 <fail>: +800004b0: 0ff0000f fence +800004b4: 000e0063 beqz t3,800004b4 <fail+0x4> +800004b8: 001e1e13 slli t3,t3,0x1 +800004bc: 001e6e13 ori t3,t3,1 +800004c0: 00000073 ecall + +800004c4 <pass>: +800004c4: 0ff0000f fence +800004c8: 00100e13 li t3,1 +800004cc: 00000073 ecall +800004d0: c0001073 unimp +800004d4: 0000 unimp +800004d6: 0000 unimp +800004d8: 0000 unimp +800004da: 0000 unimp +800004dc: 0000 unimp +800004de: 0000 unimp +800004e0: 0000 unimp +800004e2: 0000 unimp +800004e4: 0000 unimp +800004e6: 0000 unimp +800004e8: 0000 unimp +800004ea: 0000 unimp +800004ec: 0000 unimp +800004ee: 0000 unimp +800004f0: 0000 unimp +800004f2: 0000 unimp +800004f4: 0000 unimp +800004f6: 0000 unimp +800004f8: 0000 unimp +800004fa: 0000 unimp +800004fc: 0000 unimp +800004fe: 0000 unimp +80000500: 0000 unimp +80000502: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: efefefef jal t6,800006fe <pass+0x23a> + +80002001 <tdat2>: +80002001: efefefef jal t6,800006ff <pass+0x23b> + +80002002 <tdat3>: +80002002: efefefef jal t6,80000700 <pass+0x23c> + +80002003 <tdat4>: +80002003: efefefef jal t6,80000701 <pass+0x23d> + +80002004 <tdat5>: +80002004: efefefef jal t6,80000702 <pass+0x23e> + +80002005 <tdat6>: +80002005: efefefef jal t6,80000703 <pass+0x23f> + +80002006 <tdat7>: +80002006: efefefef jal t6,80000704 <pass+0x240> + +80002007 <tdat8>: +80002007: 00efefef jal t6,80100015 <_end+0xfe005> + +80002008 <tdat9>: +80002008: 0000efef jal t6,80010008 <_end+0xdff8> + +80002009 <tdat10>: +80002009: 000000ef jal ra,80002009 <tdat10> +8000200d: 0000 unimp +8000200f: 00 00 00 00 00 Address 0x000000008000200f is out of bounds. + diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sh.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sh.dump new file mode 100644 index 0000000..7b55037 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sh.dump @@ -0,0 +1,464 @@ + +rv32ui-p-sh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 0aa00113 li sp,170 +800000c8: 00209023 sh sp,0(ra) +800000cc: 00009183 lh gp,0(ra) +800000d0: 0aa00e93 li t4,170 +800000d4: 00200e13 li t3,2 +800000d8: 45d19e63 bne gp,t4,80000534 <fail> + +800000dc <test_3>: +800000dc: 00002097 auipc ra,0x2 +800000e0: f2408093 addi ra,ra,-220 # 80002000 <begin_signature> +800000e4: ffffb137 lui sp,0xffffb +800000e8: a0010113 addi sp,sp,-1536 # ffffaa00 <_end+0x7fff89e0> +800000ec: 00209123 sh sp,2(ra) +800000f0: 00209183 lh gp,2(ra) +800000f4: ffffbeb7 lui t4,0xffffb +800000f8: a00e8e93 addi t4,t4,-1536 # ffffaa00 <_end+0x7fff89e0> +800000fc: 00300e13 li t3,3 +80000100: 43d19a63 bne gp,t4,80000534 <fail> + +80000104 <test_4>: +80000104: 00002097 auipc ra,0x2 +80000108: efc08093 addi ra,ra,-260 # 80002000 <begin_signature> +8000010c: beef1137 lui sp,0xbeef1 +80000110: aa010113 addi sp,sp,-1376 # beef0aa0 <_end+0x3eeeea80> +80000114: 00209223 sh sp,4(ra) +80000118: 0040a183 lw gp,4(ra) +8000011c: beef1eb7 lui t4,0xbeef1 +80000120: aa0e8e93 addi t4,t4,-1376 # beef0aa0 <_end+0x3eeeea80> +80000124: 00400e13 li t3,4 +80000128: 41d19663 bne gp,t4,80000534 <fail> + +8000012c <test_5>: +8000012c: 00002097 auipc ra,0x2 +80000130: ed408093 addi ra,ra,-300 # 80002000 <begin_signature> +80000134: ffffa137 lui sp,0xffffa +80000138: 00a10113 addi sp,sp,10 # ffffa00a <_end+0x7fff7fea> +8000013c: 00209323 sh sp,6(ra) +80000140: 00609183 lh gp,6(ra) +80000144: ffffaeb7 lui t4,0xffffa +80000148: 00ae8e93 addi t4,t4,10 # ffffa00a <_end+0x7fff7fea> +8000014c: 00500e13 li t3,5 +80000150: 3fd19263 bne gp,t4,80000534 <fail> + +80000154 <test_6>: +80000154: 00002097 auipc ra,0x2 +80000158: eba08093 addi ra,ra,-326 # 8000200e <tdat8> +8000015c: 0aa00113 li sp,170 +80000160: fe209d23 sh sp,-6(ra) +80000164: ffa09183 lh gp,-6(ra) +80000168: 0aa00e93 li t4,170 +8000016c: 00600e13 li t3,6 +80000170: 3dd19263 bne gp,t4,80000534 <fail> + +80000174 <test_7>: +80000174: 00002097 auipc ra,0x2 +80000178: e9a08093 addi ra,ra,-358 # 8000200e <tdat8> +8000017c: ffffb137 lui sp,0xffffb +80000180: a0010113 addi sp,sp,-1536 # ffffaa00 <_end+0x7fff89e0> +80000184: fe209e23 sh sp,-4(ra) +80000188: ffc09183 lh gp,-4(ra) +8000018c: ffffbeb7 lui t4,0xffffb +80000190: a00e8e93 addi t4,t4,-1536 # ffffaa00 <_end+0x7fff89e0> +80000194: 00700e13 li t3,7 +80000198: 39d19e63 bne gp,t4,80000534 <fail> + +8000019c <test_8>: +8000019c: 00002097 auipc ra,0x2 +800001a0: e7208093 addi ra,ra,-398 # 8000200e <tdat8> +800001a4: 00001137 lui sp,0x1 +800001a8: aa010113 addi sp,sp,-1376 # aa0 <_start-0x7ffff560> +800001ac: fe209f23 sh sp,-2(ra) +800001b0: ffe09183 lh gp,-2(ra) +800001b4: 00001eb7 lui t4,0x1 +800001b8: aa0e8e93 addi t4,t4,-1376 # aa0 <_start-0x7ffff560> +800001bc: 00800e13 li t3,8 +800001c0: 37d19a63 bne gp,t4,80000534 <fail> + +800001c4 <test_9>: +800001c4: 00002097 auipc ra,0x2 +800001c8: e4a08093 addi ra,ra,-438 # 8000200e <tdat8> +800001cc: ffffa137 lui sp,0xffffa +800001d0: 00a10113 addi sp,sp,10 # ffffa00a <_end+0x7fff7fea> +800001d4: 00209023 sh sp,0(ra) +800001d8: 00009183 lh gp,0(ra) +800001dc: ffffaeb7 lui t4,0xffffa +800001e0: 00ae8e93 addi t4,t4,10 # ffffa00a <_end+0x7fff7fea> +800001e4: 00900e13 li t3,9 +800001e8: 35d19663 bne gp,t4,80000534 <fail> + +800001ec <test_10>: +800001ec: 00002097 auipc ra,0x2 +800001f0: e2408093 addi ra,ra,-476 # 80002010 <tdat9> +800001f4: 12345137 lui sp,0x12345 +800001f8: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +800001fc: fe008213 addi tp,ra,-32 +80000200: 02221023 sh sp,32(tp) # 20 <_start-0x7fffffe0> +80000204: 00009183 lh gp,0(ra) +80000208: 00005eb7 lui t4,0x5 +8000020c: 678e8e93 addi t4,t4,1656 # 5678 <_start-0x7fffa988> +80000210: 00a00e13 li t3,10 +80000214: 33d19063 bne gp,t4,80000534 <fail> + +80000218 <test_11>: +80000218: 00002097 auipc ra,0x2 +8000021c: df808093 addi ra,ra,-520 # 80002010 <tdat9> +80000220: 00003137 lui sp,0x3 +80000224: 09810113 addi sp,sp,152 # 3098 <_start-0x7fffcf68> +80000228: ffb08093 addi ra,ra,-5 +8000022c: 002093a3 sh sp,7(ra) +80000230: 00002217 auipc tp,0x2 +80000234: de220213 addi tp,tp,-542 # 80002012 <tdat10> +80000238: 00021183 lh gp,0(tp) # 0 <_start-0x80000000> +8000023c: 00003eb7 lui t4,0x3 +80000240: 098e8e93 addi t4,t4,152 # 3098 <_start-0x7fffcf68> +80000244: 00b00e13 li t3,11 +80000248: 2fd19663 bne gp,t4,80000534 <fail> + +8000024c <test_12>: +8000024c: 00c00e13 li t3,12 +80000250: 00000213 li tp,0 +80000254: ffffd0b7 lui ra,0xffffd +80000258: cdd08093 addi ra,ra,-803 # ffffccdd <_end+0x7fffacbd> +8000025c: 00002117 auipc sp,0x2 +80000260: da410113 addi sp,sp,-604 # 80002000 <begin_signature> +80000264: 00111023 sh ra,0(sp) +80000268: 00011183 lh gp,0(sp) +8000026c: ffffdeb7 lui t4,0xffffd +80000270: cdde8e93 addi t4,t4,-803 # ffffccdd <_end+0x7fffacbd> +80000274: 2dd19063 bne gp,t4,80000534 <fail> +80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000027c: 00200293 li t0,2 +80000280: fc521ae3 bne tp,t0,80000254 <test_12+0x8> + +80000284 <test_13>: +80000284: 00d00e13 li t3,13 +80000288: 00000213 li tp,0 +8000028c: ffffc0b7 lui ra,0xffffc +80000290: ccd08093 addi ra,ra,-819 # ffffbccd <_end+0x7fff9cad> +80000294: 00002117 auipc sp,0x2 +80000298: d6c10113 addi sp,sp,-660 # 80002000 <begin_signature> +8000029c: 00000013 nop +800002a0: 00111123 sh ra,2(sp) +800002a4: 00211183 lh gp,2(sp) +800002a8: ffffceb7 lui t4,0xffffc +800002ac: ccde8e93 addi t4,t4,-819 # ffffbccd <_end+0x7fff9cad> +800002b0: 29d19263 bne gp,t4,80000534 <fail> +800002b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b8: 00200293 li t0,2 +800002bc: fc5218e3 bne tp,t0,8000028c <test_13+0x8> + +800002c0 <test_14>: +800002c0: 00e00e13 li t3,14 +800002c4: 00000213 li tp,0 +800002c8: ffffc0b7 lui ra,0xffffc +800002cc: bcc08093 addi ra,ra,-1076 # ffffbbcc <_end+0x7fff9bac> +800002d0: 00002117 auipc sp,0x2 +800002d4: d3010113 addi sp,sp,-720 # 80002000 <begin_signature> +800002d8: 00000013 nop +800002dc: 00000013 nop +800002e0: 00111223 sh ra,4(sp) +800002e4: 00411183 lh gp,4(sp) +800002e8: ffffceb7 lui t4,0xffffc +800002ec: bcce8e93 addi t4,t4,-1076 # ffffbbcc <_end+0x7fff9bac> +800002f0: 25d19263 bne gp,t4,80000534 <fail> +800002f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f8: 00200293 li t0,2 +800002fc: fc5216e3 bne tp,t0,800002c8 <test_14+0x8> + +80000300 <test_15>: +80000300: 00f00e13 li t3,15 +80000304: 00000213 li tp,0 +80000308: ffffb0b7 lui ra,0xffffb +8000030c: bbc08093 addi ra,ra,-1092 # ffffabbc <_end+0x7fff8b9c> +80000310: 00000013 nop +80000314: 00002117 auipc sp,0x2 +80000318: cec10113 addi sp,sp,-788 # 80002000 <begin_signature> +8000031c: 00111323 sh ra,6(sp) +80000320: 00611183 lh gp,6(sp) +80000324: ffffbeb7 lui t4,0xffffb +80000328: bbce8e93 addi t4,t4,-1092 # ffffabbc <_end+0x7fff8b9c> +8000032c: 21d19463 bne gp,t4,80000534 <fail> +80000330: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000334: 00200293 li t0,2 +80000338: fc5218e3 bne tp,t0,80000308 <test_15+0x8> + +8000033c <test_16>: +8000033c: 01000e13 li t3,16 +80000340: 00000213 li tp,0 +80000344: ffffb0b7 lui ra,0xffffb +80000348: abb08093 addi ra,ra,-1349 # ffffaabb <_end+0x7fff8a9b> +8000034c: 00000013 nop +80000350: 00002117 auipc sp,0x2 +80000354: cb010113 addi sp,sp,-848 # 80002000 <begin_signature> +80000358: 00000013 nop +8000035c: 00111423 sh ra,8(sp) +80000360: 00811183 lh gp,8(sp) +80000364: ffffbeb7 lui t4,0xffffb +80000368: abbe8e93 addi t4,t4,-1349 # ffffaabb <_end+0x7fff8a9b> +8000036c: 1dd19463 bne gp,t4,80000534 <fail> +80000370: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000374: 00200293 li t0,2 +80000378: fc5216e3 bne tp,t0,80000344 <test_16+0x8> + +8000037c <test_17>: +8000037c: 01100e13 li t3,17 +80000380: 00000213 li tp,0 +80000384: ffffe0b7 lui ra,0xffffe +80000388: aab08093 addi ra,ra,-1365 # ffffdaab <_end+0x7fffba8b> +8000038c: 00000013 nop +80000390: 00000013 nop +80000394: 00002117 auipc sp,0x2 +80000398: c6c10113 addi sp,sp,-916 # 80002000 <begin_signature> +8000039c: 00111523 sh ra,10(sp) +800003a0: 00a11183 lh gp,10(sp) +800003a4: ffffeeb7 lui t4,0xffffe +800003a8: aabe8e93 addi t4,t4,-1365 # ffffdaab <_end+0x7fffba8b> +800003ac: 19d19463 bne gp,t4,80000534 <fail> +800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b4: 00200293 li t0,2 +800003b8: fc5216e3 bne tp,t0,80000384 <test_17+0x8> + +800003bc <test_18>: +800003bc: 01200e13 li t3,18 +800003c0: 00000213 li tp,0 +800003c4: 00002117 auipc sp,0x2 +800003c8: c3c10113 addi sp,sp,-964 # 80002000 <begin_signature> +800003cc: 000020b7 lui ra,0x2 +800003d0: 23308093 addi ra,ra,563 # 2233 <_start-0x7fffddcd> +800003d4: 00111023 sh ra,0(sp) +800003d8: 00011183 lh gp,0(sp) +800003dc: 00002eb7 lui t4,0x2 +800003e0: 233e8e93 addi t4,t4,563 # 2233 <_start-0x7fffddcd> +800003e4: 15d19863 bne gp,t4,80000534 <fail> +800003e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ec: 00200293 li t0,2 +800003f0: fc521ae3 bne tp,t0,800003c4 <test_18+0x8> + +800003f4 <test_19>: +800003f4: 01300e13 li t3,19 +800003f8: 00000213 li tp,0 +800003fc: 00002117 auipc sp,0x2 +80000400: c0410113 addi sp,sp,-1020 # 80002000 <begin_signature> +80000404: 000010b7 lui ra,0x1 +80000408: 22308093 addi ra,ra,547 # 1223 <_start-0x7fffeddd> +8000040c: 00000013 nop +80000410: 00111123 sh ra,2(sp) +80000414: 00211183 lh gp,2(sp) +80000418: 00001eb7 lui t4,0x1 +8000041c: 223e8e93 addi t4,t4,547 # 1223 <_start-0x7fffeddd> +80000420: 11d19a63 bne gp,t4,80000534 <fail> +80000424: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000428: 00200293 li t0,2 +8000042c: fc5218e3 bne tp,t0,800003fc <test_19+0x8> + +80000430 <test_20>: +80000430: 01400e13 li t3,20 +80000434: 00000213 li tp,0 +80000438: 00002117 auipc sp,0x2 +8000043c: bc810113 addi sp,sp,-1080 # 80002000 <begin_signature> +80000440: 000010b7 lui ra,0x1 +80000444: 12208093 addi ra,ra,290 # 1122 <_start-0x7fffeede> +80000448: 00000013 nop +8000044c: 00000013 nop +80000450: 00111223 sh ra,4(sp) +80000454: 00411183 lh gp,4(sp) +80000458: 00001eb7 lui t4,0x1 +8000045c: 122e8e93 addi t4,t4,290 # 1122 <_start-0x7fffeede> +80000460: 0dd19a63 bne gp,t4,80000534 <fail> +80000464: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000468: 00200293 li t0,2 +8000046c: fc5216e3 bne tp,t0,80000438 <test_20+0x8> + +80000470 <test_21>: +80000470: 01500e13 li t3,21 +80000474: 00000213 li tp,0 +80000478: 00002117 auipc sp,0x2 +8000047c: b8810113 addi sp,sp,-1144 # 80002000 <begin_signature> +80000480: 00000013 nop +80000484: 11200093 li ra,274 +80000488: 00111323 sh ra,6(sp) +8000048c: 00611183 lh gp,6(sp) +80000490: 11200e93 li t4,274 +80000494: 0bd19063 bne gp,t4,80000534 <fail> +80000498: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000049c: 00200293 li t0,2 +800004a0: fc521ce3 bne tp,t0,80000478 <test_21+0x8> + +800004a4 <test_22>: +800004a4: 01600e13 li t3,22 +800004a8: 00000213 li tp,0 +800004ac: 00002117 auipc sp,0x2 +800004b0: b5410113 addi sp,sp,-1196 # 80002000 <begin_signature> +800004b4: 00000013 nop +800004b8: 01100093 li ra,17 +800004bc: 00000013 nop +800004c0: 00111423 sh ra,8(sp) +800004c4: 00811183 lh gp,8(sp) +800004c8: 01100e93 li t4,17 +800004cc: 07d19463 bne gp,t4,80000534 <fail> +800004d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004d4: 00200293 li t0,2 +800004d8: fc521ae3 bne tp,t0,800004ac <test_22+0x8> + +800004dc <test_23>: +800004dc: 01700e13 li t3,23 +800004e0: 00000213 li tp,0 +800004e4: 00002117 auipc sp,0x2 +800004e8: b1c10113 addi sp,sp,-1252 # 80002000 <begin_signature> +800004ec: 00000013 nop +800004f0: 00000013 nop +800004f4: 000030b7 lui ra,0x3 +800004f8: 00108093 addi ra,ra,1 # 3001 <_start-0x7fffcfff> +800004fc: 00111523 sh ra,10(sp) +80000500: 00a11183 lh gp,10(sp) +80000504: 00003eb7 lui t4,0x3 +80000508: 001e8e93 addi t4,t4,1 # 3001 <_start-0x7fffcfff> +8000050c: 03d19463 bne gp,t4,80000534 <fail> +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fc5216e3 bne tp,t0,800004e4 <test_23+0x8> +8000051c: 0000c537 lui a0,0xc +80000520: eef50513 addi a0,a0,-273 # beef <_start-0x7fff4111> +80000524: 00002597 auipc a1,0x2 +80000528: adc58593 addi a1,a1,-1316 # 80002000 <begin_signature> +8000052c: 00a59323 sh a0,6(a1) +80000530: 01c01c63 bne zero,t3,80000548 <pass> + +80000534 <fail>: +80000534: 0ff0000f fence +80000538: 000e0063 beqz t3,80000538 <fail+0x4> +8000053c: 001e1e13 slli t3,t3,0x1 +80000540: 001e6e13 ori t3,t3,1 +80000544: 00000073 ecall + +80000548 <pass>: +80000548: 0ff0000f fence +8000054c: 00100e13 li t3,1 +80000550: 00000073 ecall +80000554: c0001073 unimp +80000558: 0000 unimp +8000055a: 0000 unimp +8000055c: 0000 unimp +8000055e: 0000 unimp +80000560: 0000 unimp +80000562: 0000 unimp +80000564: 0000 unimp +80000566: 0000 unimp +80000568: 0000 unimp +8000056a: 0000 unimp +8000056c: 0000 unimp +8000056e: 0000 unimp +80000570: 0000 unimp +80000572: 0000 unimp +80000574: 0000 unimp +80000576: 0000 unimp +80000578: 0000 unimp +8000057a: 0000 unimp +8000057c: 0000 unimp +8000057e: 0000 unimp +80000580: 0000 unimp +80000582: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: beefbeef jal t4,7fffd3ee <_start-0x2c12> + +80002002 <tdat2>: +80002002: beefbeef jal t4,7fffd3f0 <_start-0x2c10> + +80002004 <tdat3>: +80002004: beefbeef jal t4,7fffd3f2 <_start-0x2c0e> + +80002006 <tdat4>: +80002006: beefbeef jal t4,7fffd3f4 <_start-0x2c0c> + +80002008 <tdat5>: +80002008: beefbeef jal t4,7fffd3f6 <_start-0x2c0a> + +8000200a <tdat6>: +8000200a: beefbeef jal t4,7fffd3f8 <_start-0x2c08> + +8000200c <tdat7>: +8000200c: beefbeef jal t4,7fffd3fa <_start-0x2c06> + +8000200e <tdat8>: +8000200e: beefbeef jal t4,7fffd3fc <_start-0x2c04> + +80002010 <tdat9>: +80002010: beefbeef jal t4,7fffd3fe <_start-0x2c02> + +80002012 <tdat10>: +80002012: 0000beef jal t4,8000d012 <_end+0xaff2> +80002016: 0000 unimp +80002018: 0000 unimp +8000201a: 0000 unimp +8000201c: 0000 unimp +8000201e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-simple.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-simple.dump new file mode 100644 index 0000000..9554dcb --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-simple.dump @@ -0,0 +1,94 @@ + +rv32ui-p-simple: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <reset_vector+0x70> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret +800000bc: 0ff0000f fence +800000c0: 00100e13 li t3,1 +800000c4: 00000073 ecall +800000c8: c0001073 unimp +800000cc: 0000 unimp +800000ce: 0000 unimp +800000d0: 0000 unimp +800000d2: 0000 unimp +800000d4: 0000 unimp +800000d6: 0000 unimp +800000d8: 0000 unimp +800000da: 0000 unimp +800000dc: 0000 unimp +800000de: 0000 unimp +800000e0: 0000 unimp +800000e2: 0000 unimp +800000e4: 0000 unimp +800000e6: 0000 unimp +800000e8: 0000 unimp +800000ea: 0000 unimp +800000ec: 0000 unimp +800000ee: 0000 unimp +800000f0: 0000 unimp +800000f2: 0000 unimp +800000f4: 0000 unimp +800000f6: 0000 unimp +800000f8: 0000 unimp +800000fa: 0000 unimp +800000fc: 0000 unimp +800000fe: 0000 unimp +80000100: 0000 unimp +80000102: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sll.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sll.dump new file mode 100644 index 0000000..19377f5 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sll.dump @@ -0,0 +1,507 @@ + +rv32ui-p-sll: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00100093 li ra,1 +800000c0: 00000113 li sp,0 +800000c4: 002091b3 sll gp,ra,sp +800000c8: 00100e93 li t4,1 +800000cc: 00200e13 li t3,2 +800000d0: 53d19e63 bne gp,t4,8000060c <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 002091b3 sll gp,ra,sp +800000e0: 00200e93 li t4,2 +800000e4: 00300e13 li t3,3 +800000e8: 53d19263 bne gp,t4,8000060c <fail> + +800000ec <test_4>: +800000ec: 00100093 li ra,1 +800000f0: 00700113 li sp,7 +800000f4: 002091b3 sll gp,ra,sp +800000f8: 08000e93 li t4,128 +800000fc: 00400e13 li t3,4 +80000100: 51d19663 bne gp,t4,8000060c <fail> + +80000104 <test_5>: +80000104: 00100093 li ra,1 +80000108: 00e00113 li sp,14 +8000010c: 002091b3 sll gp,ra,sp +80000110: 00004eb7 lui t4,0x4 +80000114: 00500e13 li t3,5 +80000118: 4fd19a63 bne gp,t4,8000060c <fail> + +8000011c <test_6>: +8000011c: 00100093 li ra,1 +80000120: 01f00113 li sp,31 +80000124: 002091b3 sll gp,ra,sp +80000128: 80000eb7 lui t4,0x80000 +8000012c: 00600e13 li t3,6 +80000130: 4dd19e63 bne gp,t4,8000060c <fail> + +80000134 <test_7>: +80000134: fff00093 li ra,-1 +80000138: 00000113 li sp,0 +8000013c: 002091b3 sll gp,ra,sp +80000140: fff00e93 li t4,-1 +80000144: 00700e13 li t3,7 +80000148: 4dd19263 bne gp,t4,8000060c <fail> + +8000014c <test_8>: +8000014c: fff00093 li ra,-1 +80000150: 00100113 li sp,1 +80000154: 002091b3 sll gp,ra,sp +80000158: ffe00e93 li t4,-2 +8000015c: 00800e13 li t3,8 +80000160: 4bd19663 bne gp,t4,8000060c <fail> + +80000164 <test_9>: +80000164: fff00093 li ra,-1 +80000168: 00700113 li sp,7 +8000016c: 002091b3 sll gp,ra,sp +80000170: f8000e93 li t4,-128 +80000174: 00900e13 li t3,9 +80000178: 49d19a63 bne gp,t4,8000060c <fail> + +8000017c <test_10>: +8000017c: fff00093 li ra,-1 +80000180: 00e00113 li sp,14 +80000184: 002091b3 sll gp,ra,sp +80000188: ffffceb7 lui t4,0xffffc +8000018c: 00a00e13 li t3,10 +80000190: 47d19e63 bne gp,t4,8000060c <fail> + +80000194 <test_11>: +80000194: fff00093 li ra,-1 +80000198: 01f00113 li sp,31 +8000019c: 002091b3 sll gp,ra,sp +800001a0: 80000eb7 lui t4,0x80000 +800001a4: 00b00e13 li t3,11 +800001a8: 47d19263 bne gp,t4,8000060c <fail> + +800001ac <test_12>: +800001ac: 212120b7 lui ra,0x21212 +800001b0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001b4: 00000113 li sp,0 +800001b8: 002091b3 sll gp,ra,sp +800001bc: 21212eb7 lui t4,0x21212 +800001c0: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800001c4: 00c00e13 li t3,12 +800001c8: 45d19263 bne gp,t4,8000060c <fail> + +800001cc <test_13>: +800001cc: 212120b7 lui ra,0x21212 +800001d0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001d4: 00100113 li sp,1 +800001d8: 002091b3 sll gp,ra,sp +800001dc: 42424eb7 lui t4,0x42424 +800001e0: 242e8e93 addi t4,t4,578 # 42424242 <_start-0x3dbdbdbe> +800001e4: 00d00e13 li t3,13 +800001e8: 43d19263 bne gp,t4,8000060c <fail> + +800001ec <test_14>: +800001ec: 212120b7 lui ra,0x21212 +800001f0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001f4: 00700113 li sp,7 +800001f8: 002091b3 sll gp,ra,sp +800001fc: 90909eb7 lui t4,0x90909 +80000200: 080e8e93 addi t4,t4,128 # 90909080 <begin_signature+0x10907080> +80000204: 00e00e13 li t3,14 +80000208: 41d19263 bne gp,t4,8000060c <fail> + +8000020c <test_15>: +8000020c: 212120b7 lui ra,0x21212 +80000210: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000214: 00e00113 li sp,14 +80000218: 002091b3 sll gp,ra,sp +8000021c: 48484eb7 lui t4,0x48484 +80000220: 00f00e13 li t3,15 +80000224: 3fd19463 bne gp,t4,8000060c <fail> + +80000228 <test_16>: +80000228: 212120b7 lui ra,0x21212 +8000022c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000230: 01f00113 li sp,31 +80000234: 002091b3 sll gp,ra,sp +80000238: 80000eb7 lui t4,0x80000 +8000023c: 01000e13 li t3,16 +80000240: 3dd19663 bne gp,t4,8000060c <fail> + +80000244 <test_17>: +80000244: 212120b7 lui ra,0x21212 +80000248: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000024c: fc000113 li sp,-64 +80000250: 002091b3 sll gp,ra,sp +80000254: 21212eb7 lui t4,0x21212 +80000258: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +8000025c: 01100e13 li t3,17 +80000260: 3bd19663 bne gp,t4,8000060c <fail> + +80000264 <test_18>: +80000264: 212120b7 lui ra,0x21212 +80000268: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000026c: fc100113 li sp,-63 +80000270: 002091b3 sll gp,ra,sp +80000274: 42424eb7 lui t4,0x42424 +80000278: 242e8e93 addi t4,t4,578 # 42424242 <_start-0x3dbdbdbe> +8000027c: 01200e13 li t3,18 +80000280: 39d19663 bne gp,t4,8000060c <fail> + +80000284 <test_19>: +80000284: 212120b7 lui ra,0x21212 +80000288: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000028c: fc700113 li sp,-57 +80000290: 002091b3 sll gp,ra,sp +80000294: 90909eb7 lui t4,0x90909 +80000298: 080e8e93 addi t4,t4,128 # 90909080 <begin_signature+0x10907080> +8000029c: 01300e13 li t3,19 +800002a0: 37d19663 bne gp,t4,8000060c <fail> + +800002a4 <test_20>: +800002a4: 212120b7 lui ra,0x21212 +800002a8: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002ac: fce00113 li sp,-50 +800002b0: 002091b3 sll gp,ra,sp +800002b4: 48484eb7 lui t4,0x48484 +800002b8: 01400e13 li t3,20 +800002bc: 35d19863 bne gp,t4,8000060c <fail> + +800002c0 <test_22>: +800002c0: 00100093 li ra,1 +800002c4: 00700113 li sp,7 +800002c8: 002090b3 sll ra,ra,sp +800002cc: 08000e93 li t4,128 +800002d0: 01600e13 li t3,22 +800002d4: 33d09c63 bne ra,t4,8000060c <fail> + +800002d8 <test_23>: +800002d8: 00100093 li ra,1 +800002dc: 00e00113 li sp,14 +800002e0: 00209133 sll sp,ra,sp +800002e4: 00004eb7 lui t4,0x4 +800002e8: 01700e13 li t3,23 +800002ec: 33d11063 bne sp,t4,8000060c <fail> + +800002f0 <test_24>: +800002f0: 00300093 li ra,3 +800002f4: 001090b3 sll ra,ra,ra +800002f8: 01800e93 li t4,24 +800002fc: 01800e13 li t3,24 +80000300: 31d09663 bne ra,t4,8000060c <fail> + +80000304 <test_25>: +80000304: 00000213 li tp,0 +80000308: 00100093 li ra,1 +8000030c: 00700113 li sp,7 +80000310: 002091b3 sll gp,ra,sp +80000314: 00018313 mv t1,gp +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fe5214e3 bne tp,t0,80000308 <test_25+0x4> +80000324: 08000e93 li t4,128 +80000328: 01900e13 li t3,25 +8000032c: 2fd31063 bne t1,t4,8000060c <fail> + +80000330 <test_26>: +80000330: 00000213 li tp,0 +80000334: 00100093 li ra,1 +80000338: 00e00113 li sp,14 +8000033c: 002091b3 sll gp,ra,sp +80000340: 00000013 nop +80000344: 00018313 mv t1,gp +80000348: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000034c: 00200293 li t0,2 +80000350: fe5212e3 bne tp,t0,80000334 <test_26+0x4> +80000354: 00004eb7 lui t4,0x4 +80000358: 01a00e13 li t3,26 +8000035c: 2bd31863 bne t1,t4,8000060c <fail> + +80000360 <test_27>: +80000360: 00000213 li tp,0 +80000364: 00100093 li ra,1 +80000368: 01f00113 li sp,31 +8000036c: 002091b3 sll gp,ra,sp +80000370: 00000013 nop +80000374: 00000013 nop +80000378: 00018313 mv t1,gp +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5210e3 bne tp,t0,80000364 <test_27+0x4> +80000388: 80000eb7 lui t4,0x80000 +8000038c: 01b00e13 li t3,27 +80000390: 27d31e63 bne t1,t4,8000060c <fail> + +80000394 <test_28>: +80000394: 00000213 li tp,0 +80000398: 00100093 li ra,1 +8000039c: 00700113 li sp,7 +800003a0: 002091b3 sll gp,ra,sp +800003a4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a8: 00200293 li t0,2 +800003ac: fe5216e3 bne tp,t0,80000398 <test_28+0x4> +800003b0: 08000e93 li t4,128 +800003b4: 01c00e13 li t3,28 +800003b8: 25d19a63 bne gp,t4,8000060c <fail> + +800003bc <test_29>: +800003bc: 00000213 li tp,0 +800003c0: 00100093 li ra,1 +800003c4: 00e00113 li sp,14 +800003c8: 00000013 nop +800003cc: 002091b3 sll gp,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5214e3 bne tp,t0,800003c0 <test_29+0x4> +800003dc: 00004eb7 lui t4,0x4 +800003e0: 01d00e13 li t3,29 +800003e4: 23d19463 bne gp,t4,8000060c <fail> + +800003e8 <test_30>: +800003e8: 00000213 li tp,0 +800003ec: 00100093 li ra,1 +800003f0: 01f00113 li sp,31 +800003f4: 00000013 nop +800003f8: 00000013 nop +800003fc: 002091b3 sll gp,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5212e3 bne tp,t0,800003ec <test_30+0x4> +8000040c: 80000eb7 lui t4,0x80000 +80000410: 01e00e13 li t3,30 +80000414: 1fd19c63 bne gp,t4,8000060c <fail> + +80000418 <test_31>: +80000418: 00000213 li tp,0 +8000041c: 00100093 li ra,1 +80000420: 00000013 nop +80000424: 00700113 li sp,7 +80000428: 002091b3 sll gp,ra,sp +8000042c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000430: 00200293 li t0,2 +80000434: fe5214e3 bne tp,t0,8000041c <test_31+0x4> +80000438: 08000e93 li t4,128 +8000043c: 01f00e13 li t3,31 +80000440: 1dd19663 bne gp,t4,8000060c <fail> + +80000444 <test_32>: +80000444: 00000213 li tp,0 +80000448: 00100093 li ra,1 +8000044c: 00000013 nop +80000450: 00e00113 li sp,14 +80000454: 00000013 nop +80000458: 002091b3 sll gp,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5212e3 bne tp,t0,80000448 <test_32+0x4> +80000468: 00004eb7 lui t4,0x4 +8000046c: 02000e13 li t3,32 +80000470: 19d19e63 bne gp,t4,8000060c <fail> + +80000474 <test_33>: +80000474: 00000213 li tp,0 +80000478: 00100093 li ra,1 +8000047c: 00000013 nop +80000480: 00000013 nop +80000484: 01f00113 li sp,31 +80000488: 002091b3 sll gp,ra,sp +8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000490: 00200293 li t0,2 +80000494: fe5212e3 bne tp,t0,80000478 <test_33+0x4> +80000498: 80000eb7 lui t4,0x80000 +8000049c: 02100e13 li t3,33 +800004a0: 17d19663 bne gp,t4,8000060c <fail> + +800004a4 <test_34>: +800004a4: 00000213 li tp,0 +800004a8: 00700113 li sp,7 +800004ac: 00100093 li ra,1 +800004b0: 002091b3 sll gp,ra,sp +800004b4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b8: 00200293 li t0,2 +800004bc: fe5216e3 bne tp,t0,800004a8 <test_34+0x4> +800004c0: 08000e93 li t4,128 +800004c4: 02200e13 li t3,34 +800004c8: 15d19263 bne gp,t4,8000060c <fail> + +800004cc <test_35>: +800004cc: 00000213 li tp,0 +800004d0: 00e00113 li sp,14 +800004d4: 00100093 li ra,1 +800004d8: 00000013 nop +800004dc: 002091b3 sll gp,ra,sp +800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e4: 00200293 li t0,2 +800004e8: fe5214e3 bne tp,t0,800004d0 <test_35+0x4> +800004ec: 00004eb7 lui t4,0x4 +800004f0: 02300e13 li t3,35 +800004f4: 11d19c63 bne gp,t4,8000060c <fail> + +800004f8 <test_36>: +800004f8: 00000213 li tp,0 +800004fc: 01f00113 li sp,31 +80000500: 00100093 li ra,1 +80000504: 00000013 nop +80000508: 00000013 nop +8000050c: 002091b3 sll gp,ra,sp +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fe5212e3 bne tp,t0,800004fc <test_36+0x4> +8000051c: 80000eb7 lui t4,0x80000 +80000520: 02400e13 li t3,36 +80000524: 0fd19463 bne gp,t4,8000060c <fail> + +80000528 <test_37>: +80000528: 00000213 li tp,0 +8000052c: 00700113 li sp,7 +80000530: 00000013 nop +80000534: 00100093 li ra,1 +80000538: 002091b3 sll gp,ra,sp +8000053c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000540: 00200293 li t0,2 +80000544: fe5214e3 bne tp,t0,8000052c <test_37+0x4> +80000548: 08000e93 li t4,128 +8000054c: 02500e13 li t3,37 +80000550: 0bd19e63 bne gp,t4,8000060c <fail> + +80000554 <test_38>: +80000554: 00000213 li tp,0 +80000558: 00e00113 li sp,14 +8000055c: 00000013 nop +80000560: 00100093 li ra,1 +80000564: 00000013 nop +80000568: 002091b3 sll gp,ra,sp +8000056c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000570: 00200293 li t0,2 +80000574: fe5212e3 bne tp,t0,80000558 <test_38+0x4> +80000578: 00004eb7 lui t4,0x4 +8000057c: 02600e13 li t3,38 +80000580: 09d19663 bne gp,t4,8000060c <fail> + +80000584 <test_39>: +80000584: 00000213 li tp,0 +80000588: 01f00113 li sp,31 +8000058c: 00000013 nop +80000590: 00000013 nop +80000594: 00100093 li ra,1 +80000598: 002091b3 sll gp,ra,sp +8000059c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005a0: 00200293 li t0,2 +800005a4: fe5212e3 bne tp,t0,80000588 <test_39+0x4> +800005a8: 80000eb7 lui t4,0x80000 +800005ac: 02700e13 li t3,39 +800005b0: 05d19e63 bne gp,t4,8000060c <fail> + +800005b4 <test_40>: +800005b4: 00f00093 li ra,15 +800005b8: 00101133 sll sp,zero,ra +800005bc: 00000e93 li t4,0 +800005c0: 02800e13 li t3,40 +800005c4: 05d11463 bne sp,t4,8000060c <fail> + +800005c8 <test_41>: +800005c8: 02000093 li ra,32 +800005cc: 00009133 sll sp,ra,zero +800005d0: 02000e93 li t4,32 +800005d4: 02900e13 li t3,41 +800005d8: 03d11a63 bne sp,t4,8000060c <fail> + +800005dc <test_42>: +800005dc: 000010b3 sll ra,zero,zero +800005e0: 00000e93 li t4,0 +800005e4: 02a00e13 li t3,42 +800005e8: 03d09263 bne ra,t4,8000060c <fail> + +800005ec <test_43>: +800005ec: 40000093 li ra,1024 +800005f0: 00001137 lui sp,0x1 +800005f4: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +800005f8: 00209033 sll zero,ra,sp +800005fc: 00000e93 li t4,0 +80000600: 02b00e13 li t3,43 +80000604: 01d01463 bne zero,t4,8000060c <fail> +80000608: 01c01c63 bne zero,t3,80000620 <pass> + +8000060c <fail>: +8000060c: 0ff0000f fence +80000610: 000e0063 beqz t3,80000610 <fail+0x4> +80000614: 001e1e13 slli t3,t3,0x1 +80000618: 001e6e13 ori t3,t3,1 +8000061c: 00000073 ecall + +80000620 <pass>: +80000620: 0ff0000f fence +80000624: 00100e13 li t3,1 +80000628: 00000073 ecall +8000062c: c0001073 unimp +80000630: 0000 unimp +80000632: 0000 unimp +80000634: 0000 unimp +80000636: 0000 unimp +80000638: 0000 unimp +8000063a: 0000 unimp +8000063c: 0000 unimp +8000063e: 0000 unimp +80000640: 0000 unimp +80000642: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-slli.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-slli.dump new file mode 100644 index 0000000..ede0d17 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-slli.dump @@ -0,0 +1,300 @@ + +rv32ui-p-slli: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00100093 li ra,1 +800000c0: 00009193 slli gp,ra,0x0 +800000c4: 00100e93 li t4,1 +800000c8: 00200e13 li t3,2 +800000cc: 27d19a63 bne gp,t4,80000340 <fail> + +800000d0 <test_3>: +800000d0: 00100093 li ra,1 +800000d4: 00109193 slli gp,ra,0x1 +800000d8: 00200e93 li t4,2 +800000dc: 00300e13 li t3,3 +800000e0: 27d19063 bne gp,t4,80000340 <fail> + +800000e4 <test_4>: +800000e4: 00100093 li ra,1 +800000e8: 00709193 slli gp,ra,0x7 +800000ec: 08000e93 li t4,128 +800000f0: 00400e13 li t3,4 +800000f4: 25d19663 bne gp,t4,80000340 <fail> + +800000f8 <test_5>: +800000f8: 00100093 li ra,1 +800000fc: 00e09193 slli gp,ra,0xe +80000100: 00004eb7 lui t4,0x4 +80000104: 00500e13 li t3,5 +80000108: 23d19c63 bne gp,t4,80000340 <fail> + +8000010c <test_6>: +8000010c: 00100093 li ra,1 +80000110: 01f09193 slli gp,ra,0x1f +80000114: 80000eb7 lui t4,0x80000 +80000118: 00600e13 li t3,6 +8000011c: 23d19263 bne gp,t4,80000340 <fail> + +80000120 <test_7>: +80000120: fff00093 li ra,-1 +80000124: 00009193 slli gp,ra,0x0 +80000128: fff00e93 li t4,-1 +8000012c: 00700e13 li t3,7 +80000130: 21d19863 bne gp,t4,80000340 <fail> + +80000134 <test_8>: +80000134: fff00093 li ra,-1 +80000138: 00109193 slli gp,ra,0x1 +8000013c: ffe00e93 li t4,-2 +80000140: 00800e13 li t3,8 +80000144: 1fd19e63 bne gp,t4,80000340 <fail> + +80000148 <test_9>: +80000148: fff00093 li ra,-1 +8000014c: 00709193 slli gp,ra,0x7 +80000150: f8000e93 li t4,-128 +80000154: 00900e13 li t3,9 +80000158: 1fd19463 bne gp,t4,80000340 <fail> + +8000015c <test_10>: +8000015c: fff00093 li ra,-1 +80000160: 00e09193 slli gp,ra,0xe +80000164: ffffceb7 lui t4,0xffffc +80000168: 00a00e13 li t3,10 +8000016c: 1dd19a63 bne gp,t4,80000340 <fail> + +80000170 <test_11>: +80000170: fff00093 li ra,-1 +80000174: 01f09193 slli gp,ra,0x1f +80000178: 80000eb7 lui t4,0x80000 +8000017c: 00b00e13 li t3,11 +80000180: 1dd19063 bne gp,t4,80000340 <fail> + +80000184 <test_12>: +80000184: 212120b7 lui ra,0x21212 +80000188: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000018c: 00009193 slli gp,ra,0x0 +80000190: 21212eb7 lui t4,0x21212 +80000194: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +80000198: 00c00e13 li t3,12 +8000019c: 1bd19263 bne gp,t4,80000340 <fail> + +800001a0 <test_13>: +800001a0: 212120b7 lui ra,0x21212 +800001a4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001a8: 00109193 slli gp,ra,0x1 +800001ac: 42424eb7 lui t4,0x42424 +800001b0: 242e8e93 addi t4,t4,578 # 42424242 <_start-0x3dbdbdbe> +800001b4: 00d00e13 li t3,13 +800001b8: 19d19463 bne gp,t4,80000340 <fail> + +800001bc <test_14>: +800001bc: 212120b7 lui ra,0x21212 +800001c0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001c4: 00709193 slli gp,ra,0x7 +800001c8: 90909eb7 lui t4,0x90909 +800001cc: 080e8e93 addi t4,t4,128 # 90909080 <begin_signature+0x10907080> +800001d0: 00e00e13 li t3,14 +800001d4: 17d19663 bne gp,t4,80000340 <fail> + +800001d8 <test_15>: +800001d8: 212120b7 lui ra,0x21212 +800001dc: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001e0: 00e09193 slli gp,ra,0xe +800001e4: 48484eb7 lui t4,0x48484 +800001e8: 00f00e13 li t3,15 +800001ec: 15d19a63 bne gp,t4,80000340 <fail> + +800001f0 <test_16>: +800001f0: 212120b7 lui ra,0x21212 +800001f4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001f8: 01f09193 slli gp,ra,0x1f +800001fc: 80000eb7 lui t4,0x80000 +80000200: 01000e13 li t3,16 +80000204: 13d19e63 bne gp,t4,80000340 <fail> + +80000208 <test_17>: +80000208: 00100093 li ra,1 +8000020c: 00709093 slli ra,ra,0x7 +80000210: 08000e93 li t4,128 +80000214: 01100e13 li t3,17 +80000218: 13d09463 bne ra,t4,80000340 <fail> + +8000021c <test_18>: +8000021c: 00000213 li tp,0 +80000220: 00100093 li ra,1 +80000224: 00709193 slli gp,ra,0x7 +80000228: 00018313 mv t1,gp +8000022c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000230: 00200293 li t0,2 +80000234: fe5216e3 bne tp,t0,80000220 <test_18+0x4> +80000238: 08000e93 li t4,128 +8000023c: 01200e13 li t3,18 +80000240: 11d31063 bne t1,t4,80000340 <fail> + +80000244 <test_19>: +80000244: 00000213 li tp,0 +80000248: 00100093 li ra,1 +8000024c: 00e09193 slli gp,ra,0xe +80000250: 00000013 nop +80000254: 00018313 mv t1,gp +80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000025c: 00200293 li t0,2 +80000260: fe5214e3 bne tp,t0,80000248 <test_19+0x4> +80000264: 00004eb7 lui t4,0x4 +80000268: 01300e13 li t3,19 +8000026c: 0dd31a63 bne t1,t4,80000340 <fail> + +80000270 <test_20>: +80000270: 00000213 li tp,0 +80000274: 00100093 li ra,1 +80000278: 01f09193 slli gp,ra,0x1f +8000027c: 00000013 nop +80000280: 00000013 nop +80000284: 00018313 mv t1,gp +80000288: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000028c: 00200293 li t0,2 +80000290: fe5212e3 bne tp,t0,80000274 <test_20+0x4> +80000294: 80000eb7 lui t4,0x80000 +80000298: 01400e13 li t3,20 +8000029c: 0bd31263 bne t1,t4,80000340 <fail> + +800002a0 <test_21>: +800002a0: 00000213 li tp,0 +800002a4: 00100093 li ra,1 +800002a8: 00709193 slli gp,ra,0x7 +800002ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b0: 00200293 li t0,2 +800002b4: fe5218e3 bne tp,t0,800002a4 <test_21+0x4> +800002b8: 08000e93 li t4,128 +800002bc: 01500e13 li t3,21 +800002c0: 09d19063 bne gp,t4,80000340 <fail> + +800002c4 <test_22>: +800002c4: 00000213 li tp,0 +800002c8: 00100093 li ra,1 +800002cc: 00000013 nop +800002d0: 00e09193 slli gp,ra,0xe +800002d4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002d8: 00200293 li t0,2 +800002dc: fe5216e3 bne tp,t0,800002c8 <test_22+0x4> +800002e0: 00004eb7 lui t4,0x4 +800002e4: 01600e13 li t3,22 +800002e8: 05d19c63 bne gp,t4,80000340 <fail> + +800002ec <test_23>: +800002ec: 00000213 li tp,0 +800002f0: 00100093 li ra,1 +800002f4: 00000013 nop +800002f8: 00000013 nop +800002fc: 01f09193 slli gp,ra,0x1f +80000300: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000304: 00200293 li t0,2 +80000308: fe5214e3 bne tp,t0,800002f0 <test_23+0x4> +8000030c: 80000eb7 lui t4,0x80000 +80000310: 01700e13 li t3,23 +80000314: 03d19663 bne gp,t4,80000340 <fail> + +80000318 <test_24>: +80000318: 01f01093 slli ra,zero,0x1f +8000031c: 00000e93 li t4,0 +80000320: 01800e13 li t3,24 +80000324: 01d09e63 bne ra,t4,80000340 <fail> + +80000328 <test_25>: +80000328: 02100093 li ra,33 +8000032c: 01409013 slli zero,ra,0x14 +80000330: 00000e93 li t4,0 +80000334: 01900e13 li t3,25 +80000338: 01d01463 bne zero,t4,80000340 <fail> +8000033c: 01c01c63 bne zero,t3,80000354 <pass> + +80000340 <fail>: +80000340: 0ff0000f fence +80000344: 000e0063 beqz t3,80000344 <fail+0x4> +80000348: 001e1e13 slli t3,t3,0x1 +8000034c: 001e6e13 ori t3,t3,1 +80000350: 00000073 ecall + +80000354 <pass>: +80000354: 0ff0000f fence +80000358: 00100e13 li t3,1 +8000035c: 00000073 ecall +80000360: c0001073 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-slt.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-slt.dump new file mode 100644 index 0000000..8268a79 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-slt.dump @@ -0,0 +1,469 @@ + +rv32ui-p-slt: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 0020a1b3 slt gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4bd19a63 bne gp,t4,80000584 <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 0020a1b3 slt gp,ra,sp +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 49d19e63 bne gp,t4,80000584 <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 0020a1b3 slt gp,ra,sp +800000f8: 00100e93 li t4,1 +800000fc: 00400e13 li t3,4 +80000100: 49d19263 bne gp,t4,80000584 <fail> + +80000104 <test_5>: +80000104: 00700093 li ra,7 +80000108: 00300113 li sp,3 +8000010c: 0020a1b3 slt gp,ra,sp +80000110: 00000e93 li t4,0 +80000114: 00500e13 li t3,5 +80000118: 47d19663 bne gp,t4,80000584 <fail> + +8000011c <test_6>: +8000011c: 00000093 li ra,0 +80000120: ffff8137 lui sp,0xffff8 +80000124: 0020a1b3 slt gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 45d19a63 bne gp,t4,80000584 <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: 00000113 li sp,0 +8000013c: 0020a1b3 slt gp,ra,sp +80000140: 00100e93 li t4,1 +80000144: 00700e13 li t3,7 +80000148: 43d19e63 bne gp,t4,80000584 <fail> + +8000014c <test_8>: +8000014c: 800000b7 lui ra,0x80000 +80000150: ffff8137 lui sp,0xffff8 +80000154: 0020a1b3 slt gp,ra,sp +80000158: 00100e93 li t4,1 +8000015c: 00800e13 li t3,8 +80000160: 43d19263 bne gp,t4,80000584 <fail> + +80000164 <test_9>: +80000164: 00000093 li ra,0 +80000168: 00008137 lui sp,0x8 +8000016c: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000170: 0020a1b3 slt gp,ra,sp +80000174: 00100e93 li t4,1 +80000178: 00900e13 li t3,9 +8000017c: 41d19463 bne gp,t4,80000584 <fail> + +80000180 <test_10>: +80000180: 800000b7 lui ra,0x80000 +80000184: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000188: 00000113 li sp,0 +8000018c: 0020a1b3 slt gp,ra,sp +80000190: 00000e93 li t4,0 +80000194: 00a00e13 li t3,10 +80000198: 3fd19663 bne gp,t4,80000584 <fail> + +8000019c <test_11>: +8000019c: 800000b7 lui ra,0x80000 +800001a0: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001a4: 00008137 lui sp,0x8 +800001a8: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001ac: 0020a1b3 slt gp,ra,sp +800001b0: 00000e93 li t4,0 +800001b4: 00b00e13 li t3,11 +800001b8: 3dd19663 bne gp,t4,80000584 <fail> + +800001bc <test_12>: +800001bc: 800000b7 lui ra,0x80000 +800001c0: 00008137 lui sp,0x8 +800001c4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001c8: 0020a1b3 slt gp,ra,sp +800001cc: 00100e93 li t4,1 +800001d0: 00c00e13 li t3,12 +800001d4: 3bd19863 bne gp,t4,80000584 <fail> + +800001d8 <test_13>: +800001d8: 800000b7 lui ra,0x80000 +800001dc: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001e0: ffff8137 lui sp,0xffff8 +800001e4: 0020a1b3 slt gp,ra,sp +800001e8: 00000e93 li t4,0 +800001ec: 00d00e13 li t3,13 +800001f0: 39d19a63 bne gp,t4,80000584 <fail> + +800001f4 <test_14>: +800001f4: 00000093 li ra,0 +800001f8: fff00113 li sp,-1 +800001fc: 0020a1b3 slt gp,ra,sp +80000200: 00000e93 li t4,0 +80000204: 00e00e13 li t3,14 +80000208: 37d19e63 bne gp,t4,80000584 <fail> + +8000020c <test_15>: +8000020c: fff00093 li ra,-1 +80000210: 00100113 li sp,1 +80000214: 0020a1b3 slt gp,ra,sp +80000218: 00100e93 li t4,1 +8000021c: 00f00e13 li t3,15 +80000220: 37d19263 bne gp,t4,80000584 <fail> + +80000224 <test_16>: +80000224: fff00093 li ra,-1 +80000228: fff00113 li sp,-1 +8000022c: 0020a1b3 slt gp,ra,sp +80000230: 00000e93 li t4,0 +80000234: 01000e13 li t3,16 +80000238: 35d19663 bne gp,t4,80000584 <fail> + +8000023c <test_17>: +8000023c: 00e00093 li ra,14 +80000240: 00d00113 li sp,13 +80000244: 0020a0b3 slt ra,ra,sp +80000248: 00000e93 li t4,0 +8000024c: 01100e13 li t3,17 +80000250: 33d09a63 bne ra,t4,80000584 <fail> + +80000254 <test_18>: +80000254: 00b00093 li ra,11 +80000258: 00d00113 li sp,13 +8000025c: 0020a133 slt sp,ra,sp +80000260: 00100e93 li t4,1 +80000264: 01200e13 li t3,18 +80000268: 31d11e63 bne sp,t4,80000584 <fail> + +8000026c <test_19>: +8000026c: 00d00093 li ra,13 +80000270: 0010a0b3 slt ra,ra,ra +80000274: 00000e93 li t4,0 +80000278: 01300e13 li t3,19 +8000027c: 31d09463 bne ra,t4,80000584 <fail> + +80000280 <test_20>: +80000280: 00000213 li tp,0 +80000284: 00b00093 li ra,11 +80000288: 00d00113 li sp,13 +8000028c: 0020a1b3 slt gp,ra,sp +80000290: 00018313 mv t1,gp +80000294: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000298: 00200293 li t0,2 +8000029c: fe5214e3 bne tp,t0,80000284 <test_20+0x4> +800002a0: 00100e93 li t4,1 +800002a4: 01400e13 li t3,20 +800002a8: 2dd31e63 bne t1,t4,80000584 <fail> + +800002ac <test_21>: +800002ac: 00000213 li tp,0 +800002b0: 00e00093 li ra,14 +800002b4: 00d00113 li sp,13 +800002b8: 0020a1b3 slt gp,ra,sp +800002bc: 00000013 nop +800002c0: 00018313 mv t1,gp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5212e3 bne tp,t0,800002b0 <test_21+0x4> +800002d0: 00000e93 li t4,0 +800002d4: 01500e13 li t3,21 +800002d8: 2bd31663 bne t1,t4,80000584 <fail> + +800002dc <test_22>: +800002dc: 00000213 li tp,0 +800002e0: 00c00093 li ra,12 +800002e4: 00d00113 li sp,13 +800002e8: 0020a1b3 slt gp,ra,sp +800002ec: 00000013 nop +800002f0: 00000013 nop +800002f4: 00018313 mv t1,gp +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5210e3 bne tp,t0,800002e0 <test_22+0x4> +80000304: 00100e93 li t4,1 +80000308: 01600e13 li t3,22 +8000030c: 27d31c63 bne t1,t4,80000584 <fail> + +80000310 <test_23>: +80000310: 00000213 li tp,0 +80000314: 00e00093 li ra,14 +80000318: 00d00113 li sp,13 +8000031c: 0020a1b3 slt gp,ra,sp +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5216e3 bne tp,t0,80000314 <test_23+0x4> +8000032c: 00000e93 li t4,0 +80000330: 01700e13 li t3,23 +80000334: 25d19863 bne gp,t4,80000584 <fail> + +80000338 <test_24>: +80000338: 00000213 li tp,0 +8000033c: 00b00093 li ra,11 +80000340: 00d00113 li sp,13 +80000344: 00000013 nop +80000348: 0020a1b3 slt gp,ra,sp +8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000350: 00200293 li t0,2 +80000354: fe5214e3 bne tp,t0,8000033c <test_24+0x4> +80000358: 00100e93 li t4,1 +8000035c: 01800e13 li t3,24 +80000360: 23d19263 bne gp,t4,80000584 <fail> + +80000364 <test_25>: +80000364: 00000213 li tp,0 +80000368: 00f00093 li ra,15 +8000036c: 00d00113 li sp,13 +80000370: 00000013 nop +80000374: 00000013 nop +80000378: 0020a1b3 slt gp,ra,sp +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5212e3 bne tp,t0,80000368 <test_25+0x4> +80000388: 00000e93 li t4,0 +8000038c: 01900e13 li t3,25 +80000390: 1fd19a63 bne gp,t4,80000584 <fail> + +80000394 <test_26>: +80000394: 00000213 li tp,0 +80000398: 00a00093 li ra,10 +8000039c: 00000013 nop +800003a0: 00d00113 li sp,13 +800003a4: 0020a1b3 slt gp,ra,sp +800003a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ac: 00200293 li t0,2 +800003b0: fe5214e3 bne tp,t0,80000398 <test_26+0x4> +800003b4: 00100e93 li t4,1 +800003b8: 01a00e13 li t3,26 +800003bc: 1dd19463 bne gp,t4,80000584 <fail> + +800003c0 <test_27>: +800003c0: 00000213 li tp,0 +800003c4: 01000093 li ra,16 +800003c8: 00000013 nop +800003cc: 00d00113 li sp,13 +800003d0: 00000013 nop +800003d4: 0020a1b3 slt gp,ra,sp +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5212e3 bne tp,t0,800003c4 <test_27+0x4> +800003e4: 00000e93 li t4,0 +800003e8: 01b00e13 li t3,27 +800003ec: 19d19c63 bne gp,t4,80000584 <fail> + +800003f0 <test_28>: +800003f0: 00000213 li tp,0 +800003f4: 00900093 li ra,9 +800003f8: 00000013 nop +800003fc: 00000013 nop +80000400: 00d00113 li sp,13 +80000404: 0020a1b3 slt gp,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5212e3 bne tp,t0,800003f4 <test_28+0x4> +80000414: 00100e93 li t4,1 +80000418: 01c00e13 li t3,28 +8000041c: 17d19463 bne gp,t4,80000584 <fail> + +80000420 <test_29>: +80000420: 00000213 li tp,0 +80000424: 00d00113 li sp,13 +80000428: 01100093 li ra,17 +8000042c: 0020a1b3 slt gp,ra,sp +80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000434: 00200293 li t0,2 +80000438: fe5216e3 bne tp,t0,80000424 <test_29+0x4> +8000043c: 00000e93 li t4,0 +80000440: 01d00e13 li t3,29 +80000444: 15d19063 bne gp,t4,80000584 <fail> + +80000448 <test_30>: +80000448: 00000213 li tp,0 +8000044c: 00d00113 li sp,13 +80000450: 00800093 li ra,8 +80000454: 00000013 nop +80000458: 0020a1b3 slt gp,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5214e3 bne tp,t0,8000044c <test_30+0x4> +80000468: 00100e93 li t4,1 +8000046c: 01e00e13 li t3,30 +80000470: 11d19a63 bne gp,t4,80000584 <fail> + +80000474 <test_31>: +80000474: 00000213 li tp,0 +80000478: 00d00113 li sp,13 +8000047c: 01200093 li ra,18 +80000480: 00000013 nop +80000484: 00000013 nop +80000488: 0020a1b3 slt gp,ra,sp +8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000490: 00200293 li t0,2 +80000494: fe5212e3 bne tp,t0,80000478 <test_31+0x4> +80000498: 00000e93 li t4,0 +8000049c: 01f00e13 li t3,31 +800004a0: 0fd19263 bne gp,t4,80000584 <fail> + +800004a4 <test_32>: +800004a4: 00000213 li tp,0 +800004a8: 00d00113 li sp,13 +800004ac: 00000013 nop +800004b0: 00700093 li ra,7 +800004b4: 0020a1b3 slt gp,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5214e3 bne tp,t0,800004a8 <test_32+0x4> +800004c4: 00100e93 li t4,1 +800004c8: 02000e13 li t3,32 +800004cc: 0bd19c63 bne gp,t4,80000584 <fail> + +800004d0 <test_33>: +800004d0: 00000213 li tp,0 +800004d4: 00d00113 li sp,13 +800004d8: 00000013 nop +800004dc: 01300093 li ra,19 +800004e0: 00000013 nop +800004e4: 0020a1b3 slt gp,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 <test_33+0x4> +800004f4: 00000e93 li t4,0 +800004f8: 02100e13 li t3,33 +800004fc: 09d19463 bne gp,t4,80000584 <fail> + +80000500 <test_34>: +80000500: 00000213 li tp,0 +80000504: 00d00113 li sp,13 +80000508: 00000013 nop +8000050c: 00000013 nop +80000510: 00600093 li ra,6 +80000514: 0020a1b3 slt gp,ra,sp +80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000051c: 00200293 li t0,2 +80000520: fe5212e3 bne tp,t0,80000504 <test_34+0x4> +80000524: 00100e93 li t4,1 +80000528: 02200e13 li t3,34 +8000052c: 05d19c63 bne gp,t4,80000584 <fail> + +80000530 <test_35>: +80000530: fff00093 li ra,-1 +80000534: 00102133 sgtz sp,ra +80000538: 00000e93 li t4,0 +8000053c: 02300e13 li t3,35 +80000540: 05d11263 bne sp,t4,80000584 <fail> + +80000544 <test_36>: +80000544: fff00093 li ra,-1 +80000548: 0000a133 sltz sp,ra +8000054c: 00100e93 li t4,1 +80000550: 02400e13 li t3,36 +80000554: 03d11863 bne sp,t4,80000584 <fail> + +80000558 <test_37>: +80000558: 000020b3 sltz ra,zero +8000055c: 00000e93 li t4,0 +80000560: 02500e13 li t3,37 +80000564: 03d09063 bne ra,t4,80000584 <fail> + +80000568 <test_38>: +80000568: 01000093 li ra,16 +8000056c: 01e00113 li sp,30 +80000570: 0020a033 slt zero,ra,sp +80000574: 00000e93 li t4,0 +80000578: 02600e13 li t3,38 +8000057c: 01d01463 bne zero,t4,80000584 <fail> +80000580: 01c01c63 bne zero,t3,80000598 <pass> + +80000584 <fail>: +80000584: 0ff0000f fence +80000588: 000e0063 beqz t3,80000588 <fail+0x4> +8000058c: 001e1e13 slli t3,t3,0x1 +80000590: 001e6e13 ori t3,t3,1 +80000594: 00000073 ecall + +80000598 <pass>: +80000598: 0ff0000f fence +8000059c: 00100e13 li t3,1 +800005a0: 00000073 ecall +800005a4: c0001073 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-slti.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-slti.dump new file mode 100644 index 0000000..056985f --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-slti.dump @@ -0,0 +1,304 @@ + +rv32ui-p-slti: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 0000a193 slti gp,ra,0 +800000c4: 00000e93 li t4,0 +800000c8: 00200e13 li t3,2 +800000cc: 27d19263 bne gp,t4,80000330 <fail> + +800000d0 <test_3>: +800000d0: 00100093 li ra,1 +800000d4: 0010a193 slti gp,ra,1 +800000d8: 00000e93 li t4,0 +800000dc: 00300e13 li t3,3 +800000e0: 25d19863 bne gp,t4,80000330 <fail> + +800000e4 <test_4>: +800000e4: 00300093 li ra,3 +800000e8: 0070a193 slti gp,ra,7 +800000ec: 00100e93 li t4,1 +800000f0: 00400e13 li t3,4 +800000f4: 23d19e63 bne gp,t4,80000330 <fail> + +800000f8 <test_5>: +800000f8: 00700093 li ra,7 +800000fc: 0030a193 slti gp,ra,3 +80000100: 00000e93 li t4,0 +80000104: 00500e13 li t3,5 +80000108: 23d19463 bne gp,t4,80000330 <fail> + +8000010c <test_6>: +8000010c: 00000093 li ra,0 +80000110: 8000a193 slti gp,ra,-2048 +80000114: 00000e93 li t4,0 +80000118: 00600e13 li t3,6 +8000011c: 21d19a63 bne gp,t4,80000330 <fail> + +80000120 <test_7>: +80000120: 800000b7 lui ra,0x80000 +80000124: 0000a193 slti gp,ra,0 +80000128: 00100e93 li t4,1 +8000012c: 00700e13 li t3,7 +80000130: 21d19063 bne gp,t4,80000330 <fail> + +80000134 <test_8>: +80000134: 800000b7 lui ra,0x80000 +80000138: 8000a193 slti gp,ra,-2048 +8000013c: 00100e93 li t4,1 +80000140: 00800e13 li t3,8 +80000144: 1fd19663 bne gp,t4,80000330 <fail> + +80000148 <test_9>: +80000148: 00000093 li ra,0 +8000014c: 7ff0a193 slti gp,ra,2047 +80000150: 00100e93 li t4,1 +80000154: 00900e13 li t3,9 +80000158: 1dd19c63 bne gp,t4,80000330 <fail> + +8000015c <test_10>: +8000015c: 800000b7 lui ra,0x80000 +80000160: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000164: 0000a193 slti gp,ra,0 +80000168: 00000e93 li t4,0 +8000016c: 00a00e13 li t3,10 +80000170: 1dd19063 bne gp,t4,80000330 <fail> + +80000174 <test_11>: +80000174: 800000b7 lui ra,0x80000 +80000178: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +8000017c: 7ff0a193 slti gp,ra,2047 +80000180: 00000e93 li t4,0 +80000184: 00b00e13 li t3,11 +80000188: 1bd19463 bne gp,t4,80000330 <fail> + +8000018c <test_12>: +8000018c: 800000b7 lui ra,0x80000 +80000190: 7ff0a193 slti gp,ra,2047 +80000194: 00100e93 li t4,1 +80000198: 00c00e13 li t3,12 +8000019c: 19d19a63 bne gp,t4,80000330 <fail> + +800001a0 <test_13>: +800001a0: 800000b7 lui ra,0x80000 +800001a4: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001a8: 8000a193 slti gp,ra,-2048 +800001ac: 00000e93 li t4,0 +800001b0: 00d00e13 li t3,13 +800001b4: 17d19e63 bne gp,t4,80000330 <fail> + +800001b8 <test_14>: +800001b8: 00000093 li ra,0 +800001bc: fff0a193 slti gp,ra,-1 +800001c0: 00000e93 li t4,0 +800001c4: 00e00e13 li t3,14 +800001c8: 17d19463 bne gp,t4,80000330 <fail> + +800001cc <test_15>: +800001cc: fff00093 li ra,-1 +800001d0: 0010a193 slti gp,ra,1 +800001d4: 00100e93 li t4,1 +800001d8: 00f00e13 li t3,15 +800001dc: 15d19a63 bne gp,t4,80000330 <fail> + +800001e0 <test_16>: +800001e0: fff00093 li ra,-1 +800001e4: fff0a193 slti gp,ra,-1 +800001e8: 00000e93 li t4,0 +800001ec: 01000e13 li t3,16 +800001f0: 15d19063 bne gp,t4,80000330 <fail> + +800001f4 <test_17>: +800001f4: 00b00093 li ra,11 +800001f8: 00d0a093 slti ra,ra,13 +800001fc: 00100e93 li t4,1 +80000200: 01100e13 li t3,17 +80000204: 13d09663 bne ra,t4,80000330 <fail> + +80000208 <test_18>: +80000208: 00000213 li tp,0 +8000020c: 00f00093 li ra,15 +80000210: 00a0a193 slti gp,ra,10 +80000214: 00018313 mv t1,gp +80000218: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000021c: 00200293 li t0,2 +80000220: fe5216e3 bne tp,t0,8000020c <test_18+0x4> +80000224: 00000e93 li t4,0 +80000228: 01200e13 li t3,18 +8000022c: 11d31263 bne t1,t4,80000330 <fail> + +80000230 <test_19>: +80000230: 00000213 li tp,0 +80000234: 00a00093 li ra,10 +80000238: 0100a193 slti gp,ra,16 +8000023c: 00000013 nop +80000240: 00018313 mv t1,gp +80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000248: 00200293 li t0,2 +8000024c: fe5214e3 bne tp,t0,80000234 <test_19+0x4> +80000250: 00100e93 li t4,1 +80000254: 01300e13 li t3,19 +80000258: 0dd31c63 bne t1,t4,80000330 <fail> + +8000025c <test_20>: +8000025c: 00000213 li tp,0 +80000260: 01000093 li ra,16 +80000264: 0090a193 slti gp,ra,9 +80000268: 00000013 nop +8000026c: 00000013 nop +80000270: 00018313 mv t1,gp +80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000278: 00200293 li t0,2 +8000027c: fe5212e3 bne tp,t0,80000260 <test_20+0x4> +80000280: 00000e93 li t4,0 +80000284: 01400e13 li t3,20 +80000288: 0bd31463 bne t1,t4,80000330 <fail> + +8000028c <test_21>: +8000028c: 00000213 li tp,0 +80000290: 00b00093 li ra,11 +80000294: 00f0a193 slti gp,ra,15 +80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000029c: 00200293 li t0,2 +800002a0: fe5218e3 bne tp,t0,80000290 <test_21+0x4> +800002a4: 00100e93 li t4,1 +800002a8: 01500e13 li t3,21 +800002ac: 09d19263 bne gp,t4,80000330 <fail> + +800002b0 <test_22>: +800002b0: 00000213 li tp,0 +800002b4: 01100093 li ra,17 +800002b8: 00000013 nop +800002bc: 0080a193 slti gp,ra,8 +800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c4: 00200293 li t0,2 +800002c8: fe5216e3 bne tp,t0,800002b4 <test_22+0x4> +800002cc: 00000e93 li t4,0 +800002d0: 01600e13 li t3,22 +800002d4: 05d19e63 bne gp,t4,80000330 <fail> + +800002d8 <test_23>: +800002d8: 00000213 li tp,0 +800002dc: 00c00093 li ra,12 +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 00e0a193 slti gp,ra,14 +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fe5214e3 bne tp,t0,800002dc <test_23+0x4> +800002f8: 00100e93 li t4,1 +800002fc: 01700e13 li t3,23 +80000300: 03d19863 bne gp,t4,80000330 <fail> + +80000304 <test_24>: +80000304: fff02093 slti ra,zero,-1 +80000308: 00000e93 li t4,0 +8000030c: 01800e13 li t3,24 +80000310: 03d09063 bne ra,t4,80000330 <fail> + +80000314 <test_25>: +80000314: 00ff00b7 lui ra,0xff0 +80000318: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000031c: fff0a013 slti zero,ra,-1 +80000320: 00000e93 li t4,0 +80000324: 01900e13 li t3,25 +80000328: 01d01463 bne zero,t4,80000330 <fail> +8000032c: 01c01c63 bne zero,t3,80000344 <pass> + +80000330 <fail>: +80000330: 0ff0000f fence +80000334: 000e0063 beqz t3,80000334 <fail+0x4> +80000338: 001e1e13 slli t3,t3,0x1 +8000033c: 001e6e13 ori t3,t3,1 +80000340: 00000073 ecall + +80000344 <pass>: +80000344: 0ff0000f fence +80000348: 00100e13 li t3,1 +8000034c: 00000073 ecall +80000350: c0001073 unimp +80000354: 0000 unimp +80000356: 0000 unimp +80000358: 0000 unimp +8000035a: 0000 unimp +8000035c: 0000 unimp +8000035e: 0000 unimp +80000360: 0000 unimp +80000362: 0000 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sltiu.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sltiu.dump new file mode 100644 index 0000000..3b31ce7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sltiu.dump @@ -0,0 +1,304 @@ + +rv32ui-p-sltiu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 0000b193 sltiu gp,ra,0 +800000c4: 00000e93 li t4,0 +800000c8: 00200e13 li t3,2 +800000cc: 27d19263 bne gp,t4,80000330 <fail> + +800000d0 <test_3>: +800000d0: 00100093 li ra,1 +800000d4: 0010b193 seqz gp,ra +800000d8: 00000e93 li t4,0 +800000dc: 00300e13 li t3,3 +800000e0: 25d19863 bne gp,t4,80000330 <fail> + +800000e4 <test_4>: +800000e4: 00300093 li ra,3 +800000e8: 0070b193 sltiu gp,ra,7 +800000ec: 00100e93 li t4,1 +800000f0: 00400e13 li t3,4 +800000f4: 23d19e63 bne gp,t4,80000330 <fail> + +800000f8 <test_5>: +800000f8: 00700093 li ra,7 +800000fc: 0030b193 sltiu gp,ra,3 +80000100: 00000e93 li t4,0 +80000104: 00500e13 li t3,5 +80000108: 23d19463 bne gp,t4,80000330 <fail> + +8000010c <test_6>: +8000010c: 00000093 li ra,0 +80000110: 8000b193 sltiu gp,ra,-2048 +80000114: 00100e93 li t4,1 +80000118: 00600e13 li t3,6 +8000011c: 21d19a63 bne gp,t4,80000330 <fail> + +80000120 <test_7>: +80000120: 800000b7 lui ra,0x80000 +80000124: 0000b193 sltiu gp,ra,0 +80000128: 00000e93 li t4,0 +8000012c: 00700e13 li t3,7 +80000130: 21d19063 bne gp,t4,80000330 <fail> + +80000134 <test_8>: +80000134: 800000b7 lui ra,0x80000 +80000138: 8000b193 sltiu gp,ra,-2048 +8000013c: 00100e93 li t4,1 +80000140: 00800e13 li t3,8 +80000144: 1fd19663 bne gp,t4,80000330 <fail> + +80000148 <test_9>: +80000148: 00000093 li ra,0 +8000014c: 7ff0b193 sltiu gp,ra,2047 +80000150: 00100e93 li t4,1 +80000154: 00900e13 li t3,9 +80000158: 1dd19c63 bne gp,t4,80000330 <fail> + +8000015c <test_10>: +8000015c: 800000b7 lui ra,0x80000 +80000160: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000164: 0000b193 sltiu gp,ra,0 +80000168: 00000e93 li t4,0 +8000016c: 00a00e13 li t3,10 +80000170: 1dd19063 bne gp,t4,80000330 <fail> + +80000174 <test_11>: +80000174: 800000b7 lui ra,0x80000 +80000178: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +8000017c: 7ff0b193 sltiu gp,ra,2047 +80000180: 00000e93 li t4,0 +80000184: 00b00e13 li t3,11 +80000188: 1bd19463 bne gp,t4,80000330 <fail> + +8000018c <test_12>: +8000018c: 800000b7 lui ra,0x80000 +80000190: 7ff0b193 sltiu gp,ra,2047 +80000194: 00000e93 li t4,0 +80000198: 00c00e13 li t3,12 +8000019c: 19d19a63 bne gp,t4,80000330 <fail> + +800001a0 <test_13>: +800001a0: 800000b7 lui ra,0x80000 +800001a4: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001a8: 8000b193 sltiu gp,ra,-2048 +800001ac: 00100e93 li t4,1 +800001b0: 00d00e13 li t3,13 +800001b4: 17d19e63 bne gp,t4,80000330 <fail> + +800001b8 <test_14>: +800001b8: 00000093 li ra,0 +800001bc: fff0b193 sltiu gp,ra,-1 +800001c0: 00100e93 li t4,1 +800001c4: 00e00e13 li t3,14 +800001c8: 17d19463 bne gp,t4,80000330 <fail> + +800001cc <test_15>: +800001cc: fff00093 li ra,-1 +800001d0: 0010b193 seqz gp,ra +800001d4: 00000e93 li t4,0 +800001d8: 00f00e13 li t3,15 +800001dc: 15d19a63 bne gp,t4,80000330 <fail> + +800001e0 <test_16>: +800001e0: fff00093 li ra,-1 +800001e4: fff0b193 sltiu gp,ra,-1 +800001e8: 00000e93 li t4,0 +800001ec: 01000e13 li t3,16 +800001f0: 15d19063 bne gp,t4,80000330 <fail> + +800001f4 <test_17>: +800001f4: 00b00093 li ra,11 +800001f8: 00d0b093 sltiu ra,ra,13 +800001fc: 00100e93 li t4,1 +80000200: 01100e13 li t3,17 +80000204: 13d09663 bne ra,t4,80000330 <fail> + +80000208 <test_18>: +80000208: 00000213 li tp,0 +8000020c: 00f00093 li ra,15 +80000210: 00a0b193 sltiu gp,ra,10 +80000214: 00018313 mv t1,gp +80000218: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000021c: 00200293 li t0,2 +80000220: fe5216e3 bne tp,t0,8000020c <test_18+0x4> +80000224: 00000e93 li t4,0 +80000228: 01200e13 li t3,18 +8000022c: 11d31263 bne t1,t4,80000330 <fail> + +80000230 <test_19>: +80000230: 00000213 li tp,0 +80000234: 00a00093 li ra,10 +80000238: 0100b193 sltiu gp,ra,16 +8000023c: 00000013 nop +80000240: 00018313 mv t1,gp +80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000248: 00200293 li t0,2 +8000024c: fe5214e3 bne tp,t0,80000234 <test_19+0x4> +80000250: 00100e93 li t4,1 +80000254: 01300e13 li t3,19 +80000258: 0dd31c63 bne t1,t4,80000330 <fail> + +8000025c <test_20>: +8000025c: 00000213 li tp,0 +80000260: 01000093 li ra,16 +80000264: 0090b193 sltiu gp,ra,9 +80000268: 00000013 nop +8000026c: 00000013 nop +80000270: 00018313 mv t1,gp +80000274: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000278: 00200293 li t0,2 +8000027c: fe5212e3 bne tp,t0,80000260 <test_20+0x4> +80000280: 00000e93 li t4,0 +80000284: 01400e13 li t3,20 +80000288: 0bd31463 bne t1,t4,80000330 <fail> + +8000028c <test_21>: +8000028c: 00000213 li tp,0 +80000290: 00b00093 li ra,11 +80000294: 00f0b193 sltiu gp,ra,15 +80000298: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000029c: 00200293 li t0,2 +800002a0: fe5218e3 bne tp,t0,80000290 <test_21+0x4> +800002a4: 00100e93 li t4,1 +800002a8: 01500e13 li t3,21 +800002ac: 09d19263 bne gp,t4,80000330 <fail> + +800002b0 <test_22>: +800002b0: 00000213 li tp,0 +800002b4: 01100093 li ra,17 +800002b8: 00000013 nop +800002bc: 0080b193 sltiu gp,ra,8 +800002c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c4: 00200293 li t0,2 +800002c8: fe5216e3 bne tp,t0,800002b4 <test_22+0x4> +800002cc: 00000e93 li t4,0 +800002d0: 01600e13 li t3,22 +800002d4: 05d19e63 bne gp,t4,80000330 <fail> + +800002d8 <test_23>: +800002d8: 00000213 li tp,0 +800002dc: 00c00093 li ra,12 +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 00e0b193 sltiu gp,ra,14 +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fe5214e3 bne tp,t0,800002dc <test_23+0x4> +800002f8: 00100e93 li t4,1 +800002fc: 01700e13 li t3,23 +80000300: 03d19863 bne gp,t4,80000330 <fail> + +80000304 <test_24>: +80000304: fff03093 sltiu ra,zero,-1 +80000308: 00100e93 li t4,1 +8000030c: 01800e13 li t3,24 +80000310: 03d09063 bne ra,t4,80000330 <fail> + +80000314 <test_25>: +80000314: 00ff00b7 lui ra,0xff0 +80000318: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000031c: fff0b013 sltiu zero,ra,-1 +80000320: 00000e93 li t4,0 +80000324: 01900e13 li t3,25 +80000328: 01d01463 bne zero,t4,80000330 <fail> +8000032c: 01c01c63 bne zero,t3,80000344 <pass> + +80000330 <fail>: +80000330: 0ff0000f fence +80000334: 000e0063 beqz t3,80000334 <fail+0x4> +80000338: 001e1e13 slli t3,t3,0x1 +8000033c: 001e6e13 ori t3,t3,1 +80000340: 00000073 ecall + +80000344 <pass>: +80000344: 0ff0000f fence +80000348: 00100e13 li t3,1 +8000034c: 00000073 ecall +80000350: c0001073 unimp +80000354: 0000 unimp +80000356: 0000 unimp +80000358: 0000 unimp +8000035a: 0000 unimp +8000035c: 0000 unimp +8000035e: 0000 unimp +80000360: 0000 unimp +80000362: 0000 unimp +80000364: 0000 unimp +80000366: 0000 unimp +80000368: 0000 unimp +8000036a: 0000 unimp +8000036c: 0000 unimp +8000036e: 0000 unimp +80000370: 0000 unimp +80000372: 0000 unimp +80000374: 0000 unimp +80000376: 0000 unimp +80000378: 0000 unimp +8000037a: 0000 unimp +8000037c: 0000 unimp +8000037e: 0000 unimp +80000380: 0000 unimp +80000382: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sltu.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sltu.dump new file mode 100644 index 0000000..4472964 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sltu.dump @@ -0,0 +1,469 @@ + +rv32ui-p-sltu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 0020b1b3 sltu gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4bd19a63 bne gp,t4,80000584 <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 0020b1b3 sltu gp,ra,sp +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 49d19e63 bne gp,t4,80000584 <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 0020b1b3 sltu gp,ra,sp +800000f8: 00100e93 li t4,1 +800000fc: 00400e13 li t3,4 +80000100: 49d19263 bne gp,t4,80000584 <fail> + +80000104 <test_5>: +80000104: 00700093 li ra,7 +80000108: 00300113 li sp,3 +8000010c: 0020b1b3 sltu gp,ra,sp +80000110: 00000e93 li t4,0 +80000114: 00500e13 li t3,5 +80000118: 47d19663 bne gp,t4,80000584 <fail> + +8000011c <test_6>: +8000011c: 00000093 li ra,0 +80000120: ffff8137 lui sp,0xffff8 +80000124: 0020b1b3 sltu gp,ra,sp +80000128: 00100e93 li t4,1 +8000012c: 00600e13 li t3,6 +80000130: 45d19a63 bne gp,t4,80000584 <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: 00000113 li sp,0 +8000013c: 0020b1b3 sltu gp,ra,sp +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 43d19e63 bne gp,t4,80000584 <fail> + +8000014c <test_8>: +8000014c: 800000b7 lui ra,0x80000 +80000150: ffff8137 lui sp,0xffff8 +80000154: 0020b1b3 sltu gp,ra,sp +80000158: 00100e93 li t4,1 +8000015c: 00800e13 li t3,8 +80000160: 43d19263 bne gp,t4,80000584 <fail> + +80000164 <test_9>: +80000164: 00000093 li ra,0 +80000168: 00008137 lui sp,0x8 +8000016c: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000170: 0020b1b3 sltu gp,ra,sp +80000174: 00100e93 li t4,1 +80000178: 00900e13 li t3,9 +8000017c: 41d19463 bne gp,t4,80000584 <fail> + +80000180 <test_10>: +80000180: 800000b7 lui ra,0x80000 +80000184: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000188: 00000113 li sp,0 +8000018c: 0020b1b3 sltu gp,ra,sp +80000190: 00000e93 li t4,0 +80000194: 00a00e13 li t3,10 +80000198: 3fd19663 bne gp,t4,80000584 <fail> + +8000019c <test_11>: +8000019c: 800000b7 lui ra,0x80000 +800001a0: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001a4: 00008137 lui sp,0x8 +800001a8: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001ac: 0020b1b3 sltu gp,ra,sp +800001b0: 00000e93 li t4,0 +800001b4: 00b00e13 li t3,11 +800001b8: 3dd19663 bne gp,t4,80000584 <fail> + +800001bc <test_12>: +800001bc: 800000b7 lui ra,0x80000 +800001c0: 00008137 lui sp,0x8 +800001c4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001c8: 0020b1b3 sltu gp,ra,sp +800001cc: 00000e93 li t4,0 +800001d0: 00c00e13 li t3,12 +800001d4: 3bd19863 bne gp,t4,80000584 <fail> + +800001d8 <test_13>: +800001d8: 800000b7 lui ra,0x80000 +800001dc: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001e0: ffff8137 lui sp,0xffff8 +800001e4: 0020b1b3 sltu gp,ra,sp +800001e8: 00100e93 li t4,1 +800001ec: 00d00e13 li t3,13 +800001f0: 39d19a63 bne gp,t4,80000584 <fail> + +800001f4 <test_14>: +800001f4: 00000093 li ra,0 +800001f8: fff00113 li sp,-1 +800001fc: 0020b1b3 sltu gp,ra,sp +80000200: 00100e93 li t4,1 +80000204: 00e00e13 li t3,14 +80000208: 37d19e63 bne gp,t4,80000584 <fail> + +8000020c <test_15>: +8000020c: fff00093 li ra,-1 +80000210: 00100113 li sp,1 +80000214: 0020b1b3 sltu gp,ra,sp +80000218: 00000e93 li t4,0 +8000021c: 00f00e13 li t3,15 +80000220: 37d19263 bne gp,t4,80000584 <fail> + +80000224 <test_16>: +80000224: fff00093 li ra,-1 +80000228: fff00113 li sp,-1 +8000022c: 0020b1b3 sltu gp,ra,sp +80000230: 00000e93 li t4,0 +80000234: 01000e13 li t3,16 +80000238: 35d19663 bne gp,t4,80000584 <fail> + +8000023c <test_17>: +8000023c: 00e00093 li ra,14 +80000240: 00d00113 li sp,13 +80000244: 0020b0b3 sltu ra,ra,sp +80000248: 00000e93 li t4,0 +8000024c: 01100e13 li t3,17 +80000250: 33d09a63 bne ra,t4,80000584 <fail> + +80000254 <test_18>: +80000254: 00b00093 li ra,11 +80000258: 00d00113 li sp,13 +8000025c: 0020b133 sltu sp,ra,sp +80000260: 00100e93 li t4,1 +80000264: 01200e13 li t3,18 +80000268: 31d11e63 bne sp,t4,80000584 <fail> + +8000026c <test_19>: +8000026c: 00d00093 li ra,13 +80000270: 0010b0b3 sltu ra,ra,ra +80000274: 00000e93 li t4,0 +80000278: 01300e13 li t3,19 +8000027c: 31d09463 bne ra,t4,80000584 <fail> + +80000280 <test_20>: +80000280: 00000213 li tp,0 +80000284: 00b00093 li ra,11 +80000288: 00d00113 li sp,13 +8000028c: 0020b1b3 sltu gp,ra,sp +80000290: 00018313 mv t1,gp +80000294: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000298: 00200293 li t0,2 +8000029c: fe5214e3 bne tp,t0,80000284 <test_20+0x4> +800002a0: 00100e93 li t4,1 +800002a4: 01400e13 li t3,20 +800002a8: 2dd31e63 bne t1,t4,80000584 <fail> + +800002ac <test_21>: +800002ac: 00000213 li tp,0 +800002b0: 00e00093 li ra,14 +800002b4: 00d00113 li sp,13 +800002b8: 0020b1b3 sltu gp,ra,sp +800002bc: 00000013 nop +800002c0: 00018313 mv t1,gp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5212e3 bne tp,t0,800002b0 <test_21+0x4> +800002d0: 00000e93 li t4,0 +800002d4: 01500e13 li t3,21 +800002d8: 2bd31663 bne t1,t4,80000584 <fail> + +800002dc <test_22>: +800002dc: 00000213 li tp,0 +800002e0: 00c00093 li ra,12 +800002e4: 00d00113 li sp,13 +800002e8: 0020b1b3 sltu gp,ra,sp +800002ec: 00000013 nop +800002f0: 00000013 nop +800002f4: 00018313 mv t1,gp +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5210e3 bne tp,t0,800002e0 <test_22+0x4> +80000304: 00100e93 li t4,1 +80000308: 01600e13 li t3,22 +8000030c: 27d31c63 bne t1,t4,80000584 <fail> + +80000310 <test_23>: +80000310: 00000213 li tp,0 +80000314: 00e00093 li ra,14 +80000318: 00d00113 li sp,13 +8000031c: 0020b1b3 sltu gp,ra,sp +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5216e3 bne tp,t0,80000314 <test_23+0x4> +8000032c: 00000e93 li t4,0 +80000330: 01700e13 li t3,23 +80000334: 25d19863 bne gp,t4,80000584 <fail> + +80000338 <test_24>: +80000338: 00000213 li tp,0 +8000033c: 00b00093 li ra,11 +80000340: 00d00113 li sp,13 +80000344: 00000013 nop +80000348: 0020b1b3 sltu gp,ra,sp +8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000350: 00200293 li t0,2 +80000354: fe5214e3 bne tp,t0,8000033c <test_24+0x4> +80000358: 00100e93 li t4,1 +8000035c: 01800e13 li t3,24 +80000360: 23d19263 bne gp,t4,80000584 <fail> + +80000364 <test_25>: +80000364: 00000213 li tp,0 +80000368: 00f00093 li ra,15 +8000036c: 00d00113 li sp,13 +80000370: 00000013 nop +80000374: 00000013 nop +80000378: 0020b1b3 sltu gp,ra,sp +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5212e3 bne tp,t0,80000368 <test_25+0x4> +80000388: 00000e93 li t4,0 +8000038c: 01900e13 li t3,25 +80000390: 1fd19a63 bne gp,t4,80000584 <fail> + +80000394 <test_26>: +80000394: 00000213 li tp,0 +80000398: 00a00093 li ra,10 +8000039c: 00000013 nop +800003a0: 00d00113 li sp,13 +800003a4: 0020b1b3 sltu gp,ra,sp +800003a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ac: 00200293 li t0,2 +800003b0: fe5214e3 bne tp,t0,80000398 <test_26+0x4> +800003b4: 00100e93 li t4,1 +800003b8: 01a00e13 li t3,26 +800003bc: 1dd19463 bne gp,t4,80000584 <fail> + +800003c0 <test_27>: +800003c0: 00000213 li tp,0 +800003c4: 01000093 li ra,16 +800003c8: 00000013 nop +800003cc: 00d00113 li sp,13 +800003d0: 00000013 nop +800003d4: 0020b1b3 sltu gp,ra,sp +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5212e3 bne tp,t0,800003c4 <test_27+0x4> +800003e4: 00000e93 li t4,0 +800003e8: 01b00e13 li t3,27 +800003ec: 19d19c63 bne gp,t4,80000584 <fail> + +800003f0 <test_28>: +800003f0: 00000213 li tp,0 +800003f4: 00900093 li ra,9 +800003f8: 00000013 nop +800003fc: 00000013 nop +80000400: 00d00113 li sp,13 +80000404: 0020b1b3 sltu gp,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5212e3 bne tp,t0,800003f4 <test_28+0x4> +80000414: 00100e93 li t4,1 +80000418: 01c00e13 li t3,28 +8000041c: 17d19463 bne gp,t4,80000584 <fail> + +80000420 <test_29>: +80000420: 00000213 li tp,0 +80000424: 00d00113 li sp,13 +80000428: 01100093 li ra,17 +8000042c: 0020b1b3 sltu gp,ra,sp +80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000434: 00200293 li t0,2 +80000438: fe5216e3 bne tp,t0,80000424 <test_29+0x4> +8000043c: 00000e93 li t4,0 +80000440: 01d00e13 li t3,29 +80000444: 15d19063 bne gp,t4,80000584 <fail> + +80000448 <test_30>: +80000448: 00000213 li tp,0 +8000044c: 00d00113 li sp,13 +80000450: 00800093 li ra,8 +80000454: 00000013 nop +80000458: 0020b1b3 sltu gp,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5214e3 bne tp,t0,8000044c <test_30+0x4> +80000468: 00100e93 li t4,1 +8000046c: 01e00e13 li t3,30 +80000470: 11d19a63 bne gp,t4,80000584 <fail> + +80000474 <test_31>: +80000474: 00000213 li tp,0 +80000478: 00d00113 li sp,13 +8000047c: 01200093 li ra,18 +80000480: 00000013 nop +80000484: 00000013 nop +80000488: 0020b1b3 sltu gp,ra,sp +8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000490: 00200293 li t0,2 +80000494: fe5212e3 bne tp,t0,80000478 <test_31+0x4> +80000498: 00000e93 li t4,0 +8000049c: 01f00e13 li t3,31 +800004a0: 0fd19263 bne gp,t4,80000584 <fail> + +800004a4 <test_32>: +800004a4: 00000213 li tp,0 +800004a8: 00d00113 li sp,13 +800004ac: 00000013 nop +800004b0: 00700093 li ra,7 +800004b4: 0020b1b3 sltu gp,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5214e3 bne tp,t0,800004a8 <test_32+0x4> +800004c4: 00100e93 li t4,1 +800004c8: 02000e13 li t3,32 +800004cc: 0bd19c63 bne gp,t4,80000584 <fail> + +800004d0 <test_33>: +800004d0: 00000213 li tp,0 +800004d4: 00d00113 li sp,13 +800004d8: 00000013 nop +800004dc: 01300093 li ra,19 +800004e0: 00000013 nop +800004e4: 0020b1b3 sltu gp,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 <test_33+0x4> +800004f4: 00000e93 li t4,0 +800004f8: 02100e13 li t3,33 +800004fc: 09d19463 bne gp,t4,80000584 <fail> + +80000500 <test_34>: +80000500: 00000213 li tp,0 +80000504: 00d00113 li sp,13 +80000508: 00000013 nop +8000050c: 00000013 nop +80000510: 00600093 li ra,6 +80000514: 0020b1b3 sltu gp,ra,sp +80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000051c: 00200293 li t0,2 +80000520: fe5212e3 bne tp,t0,80000504 <test_34+0x4> +80000524: 00100e93 li t4,1 +80000528: 02200e13 li t3,34 +8000052c: 05d19c63 bne gp,t4,80000584 <fail> + +80000530 <test_35>: +80000530: fff00093 li ra,-1 +80000534: 00103133 snez sp,ra +80000538: 00100e93 li t4,1 +8000053c: 02300e13 li t3,35 +80000540: 05d11263 bne sp,t4,80000584 <fail> + +80000544 <test_36>: +80000544: fff00093 li ra,-1 +80000548: 0000b133 sltu sp,ra,zero +8000054c: 00000e93 li t4,0 +80000550: 02400e13 li t3,36 +80000554: 03d11863 bne sp,t4,80000584 <fail> + +80000558 <test_37>: +80000558: 000030b3 snez ra,zero +8000055c: 00000e93 li t4,0 +80000560: 02500e13 li t3,37 +80000564: 03d09063 bne ra,t4,80000584 <fail> + +80000568 <test_38>: +80000568: 01000093 li ra,16 +8000056c: 01e00113 li sp,30 +80000570: 0020b033 sltu zero,ra,sp +80000574: 00000e93 li t4,0 +80000578: 02600e13 li t3,38 +8000057c: 01d01463 bne zero,t4,80000584 <fail> +80000580: 01c01c63 bne zero,t3,80000598 <pass> + +80000584 <fail>: +80000584: 0ff0000f fence +80000588: 000e0063 beqz t3,80000588 <fail+0x4> +8000058c: 001e1e13 slli t3,t3,0x1 +80000590: 001e6e13 ori t3,t3,1 +80000594: 00000073 ecall + +80000598 <pass>: +80000598: 0ff0000f fence +8000059c: 00100e13 li t3,1 +800005a0: 00000073 ecall +800005a4: c0001073 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sra.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sra.dump new file mode 100644 index 0000000..75e95e8 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sra.dump @@ -0,0 +1,522 @@ + +rv32ui-p-sra: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 800000b7 lui ra,0x80000 +800000c0: 00000113 li sp,0 +800000c4: 4020d1b3 sra gp,ra,sp +800000c8: 80000eb7 lui t4,0x80000 +800000cc: 00200e13 li t3,2 +800000d0: 59d19463 bne gp,t4,80000658 <fail> + +800000d4 <test_3>: +800000d4: 800000b7 lui ra,0x80000 +800000d8: 00100113 li sp,1 +800000dc: 4020d1b3 sra gp,ra,sp +800000e0: c0000eb7 lui t4,0xc0000 +800000e4: 00300e13 li t3,3 +800000e8: 57d19863 bne gp,t4,80000658 <fail> + +800000ec <test_4>: +800000ec: 800000b7 lui ra,0x80000 +800000f0: 00700113 li sp,7 +800000f4: 4020d1b3 sra gp,ra,sp +800000f8: ff000eb7 lui t4,0xff000 +800000fc: 00400e13 li t3,4 +80000100: 55d19c63 bne gp,t4,80000658 <fail> + +80000104 <test_5>: +80000104: 800000b7 lui ra,0x80000 +80000108: 00e00113 li sp,14 +8000010c: 4020d1b3 sra gp,ra,sp +80000110: fffe0eb7 lui t4,0xfffe0 +80000114: 00500e13 li t3,5 +80000118: 55d19063 bne gp,t4,80000658 <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000124: 01f00113 li sp,31 +80000128: 4020d1b3 sra gp,ra,sp +8000012c: fff00e93 li t4,-1 +80000130: 00600e13 li t3,6 +80000134: 53d19263 bne gp,t4,80000658 <fail> + +80000138 <test_7>: +80000138: 800000b7 lui ra,0x80000 +8000013c: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000140: 00000113 li sp,0 +80000144: 4020d1b3 sra gp,ra,sp +80000148: 80000eb7 lui t4,0x80000 +8000014c: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000150: 00700e13 li t3,7 +80000154: 51d19263 bne gp,t4,80000658 <fail> + +80000158 <test_8>: +80000158: 800000b7 lui ra,0x80000 +8000015c: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000160: 00100113 li sp,1 +80000164: 4020d1b3 sra gp,ra,sp +80000168: 40000eb7 lui t4,0x40000 +8000016c: fffe8e93 addi t4,t4,-1 # 3fffffff <_start-0x40000001> +80000170: 00800e13 li t3,8 +80000174: 4fd19263 bne gp,t4,80000658 <fail> + +80000178 <test_9>: +80000178: 800000b7 lui ra,0x80000 +8000017c: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000180: 00700113 li sp,7 +80000184: 4020d1b3 sra gp,ra,sp +80000188: 01000eb7 lui t4,0x1000 +8000018c: fffe8e93 addi t4,t4,-1 # ffffff <_start-0x7f000001> +80000190: 00900e13 li t3,9 +80000194: 4dd19263 bne gp,t4,80000658 <fail> + +80000198 <test_10>: +80000198: 800000b7 lui ra,0x80000 +8000019c: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001a0: 00e00113 li sp,14 +800001a4: 4020d1b3 sra gp,ra,sp +800001a8: 00020eb7 lui t4,0x20 +800001ac: fffe8e93 addi t4,t4,-1 # 1ffff <_start-0x7ffe0001> +800001b0: 00a00e13 li t3,10 +800001b4: 4bd19263 bne gp,t4,80000658 <fail> + +800001b8 <test_11>: +800001b8: 800000b7 lui ra,0x80000 +800001bc: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001c0: 01f00113 li sp,31 +800001c4: 4020d1b3 sra gp,ra,sp +800001c8: 00000e93 li t4,0 +800001cc: 00b00e13 li t3,11 +800001d0: 49d19463 bne gp,t4,80000658 <fail> + +800001d4 <test_12>: +800001d4: 818180b7 lui ra,0x81818 +800001d8: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800001dc: 00000113 li sp,0 +800001e0: 4020d1b3 sra gp,ra,sp +800001e4: 81818eb7 lui t4,0x81818 +800001e8: 181e8e93 addi t4,t4,385 # 81818181 <begin_signature+0x1816181> +800001ec: 00c00e13 li t3,12 +800001f0: 47d19463 bne gp,t4,80000658 <fail> + +800001f4 <test_13>: +800001f4: 818180b7 lui ra,0x81818 +800001f8: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800001fc: 00100113 li sp,1 +80000200: 4020d1b3 sra gp,ra,sp +80000204: c0c0ceb7 lui t4,0xc0c0c +80000208: 0c0e8e93 addi t4,t4,192 # c0c0c0c0 <begin_signature+0x40c0a0c0> +8000020c: 00d00e13 li t3,13 +80000210: 45d19463 bne gp,t4,80000658 <fail> + +80000214 <test_14>: +80000214: 818180b7 lui ra,0x81818 +80000218: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +8000021c: 00700113 li sp,7 +80000220: 4020d1b3 sra gp,ra,sp +80000224: ff030eb7 lui t4,0xff030 +80000228: 303e8e93 addi t4,t4,771 # ff030303 <begin_signature+0x7f02e303> +8000022c: 00e00e13 li t3,14 +80000230: 43d19463 bne gp,t4,80000658 <fail> + +80000234 <test_15>: +80000234: 818180b7 lui ra,0x81818 +80000238: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +8000023c: 00e00113 li sp,14 +80000240: 4020d1b3 sra gp,ra,sp +80000244: fffe0eb7 lui t4,0xfffe0 +80000248: 606e8e93 addi t4,t4,1542 # fffe0606 <begin_signature+0x7ffde606> +8000024c: 00f00e13 li t3,15 +80000250: 41d19463 bne gp,t4,80000658 <fail> + +80000254 <test_16>: +80000254: 818180b7 lui ra,0x81818 +80000258: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +8000025c: 01f00113 li sp,31 +80000260: 4020d1b3 sra gp,ra,sp +80000264: fff00e93 li t4,-1 +80000268: 01000e13 li t3,16 +8000026c: 3fd19663 bne gp,t4,80000658 <fail> + +80000270 <test_17>: +80000270: 818180b7 lui ra,0x81818 +80000274: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +80000278: fc000113 li sp,-64 +8000027c: 4020d1b3 sra gp,ra,sp +80000280: 81818eb7 lui t4,0x81818 +80000284: 181e8e93 addi t4,t4,385 # 81818181 <begin_signature+0x1816181> +80000288: 01100e13 li t3,17 +8000028c: 3dd19663 bne gp,t4,80000658 <fail> + +80000290 <test_18>: +80000290: 818180b7 lui ra,0x81818 +80000294: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +80000298: fc100113 li sp,-63 +8000029c: 4020d1b3 sra gp,ra,sp +800002a0: c0c0ceb7 lui t4,0xc0c0c +800002a4: 0c0e8e93 addi t4,t4,192 # c0c0c0c0 <begin_signature+0x40c0a0c0> +800002a8: 01200e13 li t3,18 +800002ac: 3bd19663 bne gp,t4,80000658 <fail> + +800002b0 <test_19>: +800002b0: 818180b7 lui ra,0x81818 +800002b4: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800002b8: fc700113 li sp,-57 +800002bc: 4020d1b3 sra gp,ra,sp +800002c0: ff030eb7 lui t4,0xff030 +800002c4: 303e8e93 addi t4,t4,771 # ff030303 <begin_signature+0x7f02e303> +800002c8: 01300e13 li t3,19 +800002cc: 39d19663 bne gp,t4,80000658 <fail> + +800002d0 <test_20>: +800002d0: 818180b7 lui ra,0x81818 +800002d4: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800002d8: fce00113 li sp,-50 +800002dc: 4020d1b3 sra gp,ra,sp +800002e0: fffe0eb7 lui t4,0xfffe0 +800002e4: 606e8e93 addi t4,t4,1542 # fffe0606 <begin_signature+0x7ffde606> +800002e8: 01400e13 li t3,20 +800002ec: 37d19663 bne gp,t4,80000658 <fail> + +800002f0 <test_21>: +800002f0: 818180b7 lui ra,0x81818 +800002f4: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800002f8: fff00113 li sp,-1 +800002fc: 4020d1b3 sra gp,ra,sp +80000300: fff00e93 li t4,-1 +80000304: 01500e13 li t3,21 +80000308: 35d19863 bne gp,t4,80000658 <fail> + +8000030c <test_22>: +8000030c: 800000b7 lui ra,0x80000 +80000310: 00700113 li sp,7 +80000314: 4020d0b3 sra ra,ra,sp +80000318: ff000eb7 lui t4,0xff000 +8000031c: 01600e13 li t3,22 +80000320: 33d09c63 bne ra,t4,80000658 <fail> + +80000324 <test_23>: +80000324: 800000b7 lui ra,0x80000 +80000328: 00e00113 li sp,14 +8000032c: 4020d133 sra sp,ra,sp +80000330: fffe0eb7 lui t4,0xfffe0 +80000334: 01700e13 li t3,23 +80000338: 33d11063 bne sp,t4,80000658 <fail> + +8000033c <test_24>: +8000033c: 00700093 li ra,7 +80000340: 4010d0b3 sra ra,ra,ra +80000344: 00000e93 li t4,0 +80000348: 01800e13 li t3,24 +8000034c: 31d09663 bne ra,t4,80000658 <fail> + +80000350 <test_25>: +80000350: 00000213 li tp,0 +80000354: 800000b7 lui ra,0x80000 +80000358: 00700113 li sp,7 +8000035c: 4020d1b3 sra gp,ra,sp +80000360: 00018313 mv t1,gp +80000364: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000368: 00200293 li t0,2 +8000036c: fe5214e3 bne tp,t0,80000354 <test_25+0x4> +80000370: ff000eb7 lui t4,0xff000 +80000374: 01900e13 li t3,25 +80000378: 2fd31063 bne t1,t4,80000658 <fail> + +8000037c <test_26>: +8000037c: 00000213 li tp,0 +80000380: 800000b7 lui ra,0x80000 +80000384: 00e00113 li sp,14 +80000388: 4020d1b3 sra gp,ra,sp +8000038c: 00000013 nop +80000390: 00018313 mv t1,gp +80000394: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000398: 00200293 li t0,2 +8000039c: fe5212e3 bne tp,t0,80000380 <test_26+0x4> +800003a0: fffe0eb7 lui t4,0xfffe0 +800003a4: 01a00e13 li t3,26 +800003a8: 2bd31863 bne t1,t4,80000658 <fail> + +800003ac <test_27>: +800003ac: 00000213 li tp,0 +800003b0: 800000b7 lui ra,0x80000 +800003b4: 01f00113 li sp,31 +800003b8: 4020d1b3 sra gp,ra,sp +800003bc: 00000013 nop +800003c0: 00000013 nop +800003c4: 00018313 mv t1,gp +800003c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003cc: 00200293 li t0,2 +800003d0: fe5210e3 bne tp,t0,800003b0 <test_27+0x4> +800003d4: fff00e93 li t4,-1 +800003d8: 01b00e13 li t3,27 +800003dc: 27d31e63 bne t1,t4,80000658 <fail> + +800003e0 <test_28>: +800003e0: 00000213 li tp,0 +800003e4: 800000b7 lui ra,0x80000 +800003e8: 00700113 li sp,7 +800003ec: 4020d1b3 sra gp,ra,sp +800003f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f4: 00200293 li t0,2 +800003f8: fe5216e3 bne tp,t0,800003e4 <test_28+0x4> +800003fc: ff000eb7 lui t4,0xff000 +80000400: 01c00e13 li t3,28 +80000404: 25d19a63 bne gp,t4,80000658 <fail> + +80000408 <test_29>: +80000408: 00000213 li tp,0 +8000040c: 800000b7 lui ra,0x80000 +80000410: 00e00113 li sp,14 +80000414: 00000013 nop +80000418: 4020d1b3 sra gp,ra,sp +8000041c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000420: 00200293 li t0,2 +80000424: fe5214e3 bne tp,t0,8000040c <test_29+0x4> +80000428: fffe0eb7 lui t4,0xfffe0 +8000042c: 01d00e13 li t3,29 +80000430: 23d19463 bne gp,t4,80000658 <fail> + +80000434 <test_30>: +80000434: 00000213 li tp,0 +80000438: 800000b7 lui ra,0x80000 +8000043c: 01f00113 li sp,31 +80000440: 00000013 nop +80000444: 00000013 nop +80000448: 4020d1b3 sra gp,ra,sp +8000044c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000450: 00200293 li t0,2 +80000454: fe5212e3 bne tp,t0,80000438 <test_30+0x4> +80000458: fff00e93 li t4,-1 +8000045c: 01e00e13 li t3,30 +80000460: 1fd19c63 bne gp,t4,80000658 <fail> + +80000464 <test_31>: +80000464: 00000213 li tp,0 +80000468: 800000b7 lui ra,0x80000 +8000046c: 00000013 nop +80000470: 00700113 li sp,7 +80000474: 4020d1b3 sra gp,ra,sp +80000478: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000047c: 00200293 li t0,2 +80000480: fe5214e3 bne tp,t0,80000468 <test_31+0x4> +80000484: ff000eb7 lui t4,0xff000 +80000488: 01f00e13 li t3,31 +8000048c: 1dd19663 bne gp,t4,80000658 <fail> + +80000490 <test_32>: +80000490: 00000213 li tp,0 +80000494: 800000b7 lui ra,0x80000 +80000498: 00000013 nop +8000049c: 00e00113 li sp,14 +800004a0: 00000013 nop +800004a4: 4020d1b3 sra gp,ra,sp +800004a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ac: 00200293 li t0,2 +800004b0: fe5212e3 bne tp,t0,80000494 <test_32+0x4> +800004b4: fffe0eb7 lui t4,0xfffe0 +800004b8: 02000e13 li t3,32 +800004bc: 19d19e63 bne gp,t4,80000658 <fail> + +800004c0 <test_33>: +800004c0: 00000213 li tp,0 +800004c4: 800000b7 lui ra,0x80000 +800004c8: 00000013 nop +800004cc: 00000013 nop +800004d0: 01f00113 li sp,31 +800004d4: 4020d1b3 sra gp,ra,sp +800004d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004dc: 00200293 li t0,2 +800004e0: fe5212e3 bne tp,t0,800004c4 <test_33+0x4> +800004e4: fff00e93 li t4,-1 +800004e8: 02100e13 li t3,33 +800004ec: 17d19663 bne gp,t4,80000658 <fail> + +800004f0 <test_34>: +800004f0: 00000213 li tp,0 +800004f4: 00700113 li sp,7 +800004f8: 800000b7 lui ra,0x80000 +800004fc: 4020d1b3 sra gp,ra,sp +80000500: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000504: 00200293 li t0,2 +80000508: fe5216e3 bne tp,t0,800004f4 <test_34+0x4> +8000050c: ff000eb7 lui t4,0xff000 +80000510: 02200e13 li t3,34 +80000514: 15d19263 bne gp,t4,80000658 <fail> + +80000518 <test_35>: +80000518: 00000213 li tp,0 +8000051c: 00e00113 li sp,14 +80000520: 800000b7 lui ra,0x80000 +80000524: 00000013 nop +80000528: 4020d1b3 sra gp,ra,sp +8000052c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000530: 00200293 li t0,2 +80000534: fe5214e3 bne tp,t0,8000051c <test_35+0x4> +80000538: fffe0eb7 lui t4,0xfffe0 +8000053c: 02300e13 li t3,35 +80000540: 11d19c63 bne gp,t4,80000658 <fail> + +80000544 <test_36>: +80000544: 00000213 li tp,0 +80000548: 01f00113 li sp,31 +8000054c: 800000b7 lui ra,0x80000 +80000550: 00000013 nop +80000554: 00000013 nop +80000558: 4020d1b3 sra gp,ra,sp +8000055c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000560: 00200293 li t0,2 +80000564: fe5212e3 bne tp,t0,80000548 <test_36+0x4> +80000568: fff00e93 li t4,-1 +8000056c: 02400e13 li t3,36 +80000570: 0fd19463 bne gp,t4,80000658 <fail> + +80000574 <test_37>: +80000574: 00000213 li tp,0 +80000578: 00700113 li sp,7 +8000057c: 00000013 nop +80000580: 800000b7 lui ra,0x80000 +80000584: 4020d1b3 sra gp,ra,sp +80000588: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000058c: 00200293 li t0,2 +80000590: fe5214e3 bne tp,t0,80000578 <test_37+0x4> +80000594: ff000eb7 lui t4,0xff000 +80000598: 02500e13 li t3,37 +8000059c: 0bd19e63 bne gp,t4,80000658 <fail> + +800005a0 <test_38>: +800005a0: 00000213 li tp,0 +800005a4: 00e00113 li sp,14 +800005a8: 00000013 nop +800005ac: 800000b7 lui ra,0x80000 +800005b0: 00000013 nop +800005b4: 4020d1b3 sra gp,ra,sp +800005b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005bc: 00200293 li t0,2 +800005c0: fe5212e3 bne tp,t0,800005a4 <test_38+0x4> +800005c4: fffe0eb7 lui t4,0xfffe0 +800005c8: 02600e13 li t3,38 +800005cc: 09d19663 bne gp,t4,80000658 <fail> + +800005d0 <test_39>: +800005d0: 00000213 li tp,0 +800005d4: 01f00113 li sp,31 +800005d8: 00000013 nop +800005dc: 00000013 nop +800005e0: 800000b7 lui ra,0x80000 +800005e4: 4020d1b3 sra gp,ra,sp +800005e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005ec: 00200293 li t0,2 +800005f0: fe5212e3 bne tp,t0,800005d4 <test_39+0x4> +800005f4: fff00e93 li t4,-1 +800005f8: 02700e13 li t3,39 +800005fc: 05d19e63 bne gp,t4,80000658 <fail> + +80000600 <test_40>: +80000600: 00f00093 li ra,15 +80000604: 40105133 sra sp,zero,ra +80000608: 00000e93 li t4,0 +8000060c: 02800e13 li t3,40 +80000610: 05d11463 bne sp,t4,80000658 <fail> + +80000614 <test_41>: +80000614: 02000093 li ra,32 +80000618: 4000d133 sra sp,ra,zero +8000061c: 02000e93 li t4,32 +80000620: 02900e13 li t3,41 +80000624: 03d11a63 bne sp,t4,80000658 <fail> + +80000628 <test_42>: +80000628: 400050b3 sra ra,zero,zero +8000062c: 00000e93 li t4,0 +80000630: 02a00e13 li t3,42 +80000634: 03d09263 bne ra,t4,80000658 <fail> + +80000638 <test_43>: +80000638: 40000093 li ra,1024 +8000063c: 00001137 lui sp,0x1 +80000640: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +80000644: 4020d033 sra zero,ra,sp +80000648: 00000e93 li t4,0 +8000064c: 02b00e13 li t3,43 +80000650: 01d01463 bne zero,t4,80000658 <fail> +80000654: 01c01c63 bne zero,t3,8000066c <pass> + +80000658 <fail>: +80000658: 0ff0000f fence +8000065c: 000e0063 beqz t3,8000065c <fail+0x4> +80000660: 001e1e13 slli t3,t3,0x1 +80000664: 001e6e13 ori t3,t3,1 +80000668: 00000073 ecall + +8000066c <pass>: +8000066c: 0ff0000f fence +80000670: 00100e13 li t3,1 +80000674: 00000073 ecall +80000678: c0001073 unimp +8000067c: 0000 unimp +8000067e: 0000 unimp +80000680: 0000 unimp +80000682: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-srai.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-srai.dump new file mode 100644 index 0000000..3e218d2 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-srai.dump @@ -0,0 +1,319 @@ + +rv32ui-p-srai: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 4000d193 srai gp,ra,0x0 +800000c4: 00000e93 li t4,0 +800000c8: 00200e13 li t3,2 +800000cc: 2bd19463 bne gp,t4,80000374 <fail> + +800000d0 <test_3>: +800000d0: 800000b7 lui ra,0x80000 +800000d4: 4010d193 srai gp,ra,0x1 +800000d8: c0000eb7 lui t4,0xc0000 +800000dc: 00300e13 li t3,3 +800000e0: 29d19a63 bne gp,t4,80000374 <fail> + +800000e4 <test_4>: +800000e4: 800000b7 lui ra,0x80000 +800000e8: 4070d193 srai gp,ra,0x7 +800000ec: ff000eb7 lui t4,0xff000 +800000f0: 00400e13 li t3,4 +800000f4: 29d19063 bne gp,t4,80000374 <fail> + +800000f8 <test_5>: +800000f8: 800000b7 lui ra,0x80000 +800000fc: 40e0d193 srai gp,ra,0xe +80000100: fffe0eb7 lui t4,0xfffe0 +80000104: 00500e13 li t3,5 +80000108: 27d19663 bne gp,t4,80000374 <fail> + +8000010c <test_6>: +8000010c: 800000b7 lui ra,0x80000 +80000110: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000114: 41f0d193 srai gp,ra,0x1f +80000118: fff00e93 li t4,-1 +8000011c: 00600e13 li t3,6 +80000120: 25d19a63 bne gp,t4,80000374 <fail> + +80000124 <test_7>: +80000124: 800000b7 lui ra,0x80000 +80000128: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +8000012c: 4000d193 srai gp,ra,0x0 +80000130: 80000eb7 lui t4,0x80000 +80000134: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000138: 00700e13 li t3,7 +8000013c: 23d19c63 bne gp,t4,80000374 <fail> + +80000140 <test_8>: +80000140: 800000b7 lui ra,0x80000 +80000144: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000148: 4010d193 srai gp,ra,0x1 +8000014c: 40000eb7 lui t4,0x40000 +80000150: fffe8e93 addi t4,t4,-1 # 3fffffff <_start-0x40000001> +80000154: 00800e13 li t3,8 +80000158: 21d19e63 bne gp,t4,80000374 <fail> + +8000015c <test_9>: +8000015c: 800000b7 lui ra,0x80000 +80000160: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000164: 4070d193 srai gp,ra,0x7 +80000168: 01000eb7 lui t4,0x1000 +8000016c: fffe8e93 addi t4,t4,-1 # ffffff <_start-0x7f000001> +80000170: 00900e13 li t3,9 +80000174: 21d19063 bne gp,t4,80000374 <fail> + +80000178 <test_10>: +80000178: 800000b7 lui ra,0x80000 +8000017c: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000180: 40e0d193 srai gp,ra,0xe +80000184: 00020eb7 lui t4,0x20 +80000188: fffe8e93 addi t4,t4,-1 # 1ffff <_start-0x7ffe0001> +8000018c: 00a00e13 li t3,10 +80000190: 1fd19263 bne gp,t4,80000374 <fail> + +80000194 <test_11>: +80000194: 800000b7 lui ra,0x80000 +80000198: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +8000019c: 41f0d193 srai gp,ra,0x1f +800001a0: 00000e93 li t4,0 +800001a4: 00b00e13 li t3,11 +800001a8: 1dd19663 bne gp,t4,80000374 <fail> + +800001ac <test_12>: +800001ac: 818180b7 lui ra,0x81818 +800001b0: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800001b4: 4000d193 srai gp,ra,0x0 +800001b8: 81818eb7 lui t4,0x81818 +800001bc: 181e8e93 addi t4,t4,385 # 81818181 <begin_signature+0x1816181> +800001c0: 00c00e13 li t3,12 +800001c4: 1bd19863 bne gp,t4,80000374 <fail> + +800001c8 <test_13>: +800001c8: 818180b7 lui ra,0x81818 +800001cc: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800001d0: 4010d193 srai gp,ra,0x1 +800001d4: c0c0ceb7 lui t4,0xc0c0c +800001d8: 0c0e8e93 addi t4,t4,192 # c0c0c0c0 <begin_signature+0x40c0a0c0> +800001dc: 00d00e13 li t3,13 +800001e0: 19d19a63 bne gp,t4,80000374 <fail> + +800001e4 <test_14>: +800001e4: 818180b7 lui ra,0x81818 +800001e8: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +800001ec: 4070d193 srai gp,ra,0x7 +800001f0: ff030eb7 lui t4,0xff030 +800001f4: 303e8e93 addi t4,t4,771 # ff030303 <begin_signature+0x7f02e303> +800001f8: 00e00e13 li t3,14 +800001fc: 17d19c63 bne gp,t4,80000374 <fail> + +80000200 <test_15>: +80000200: 818180b7 lui ra,0x81818 +80000204: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +80000208: 40e0d193 srai gp,ra,0xe +8000020c: fffe0eb7 lui t4,0xfffe0 +80000210: 606e8e93 addi t4,t4,1542 # fffe0606 <begin_signature+0x7ffde606> +80000214: 00f00e13 li t3,15 +80000218: 15d19e63 bne gp,t4,80000374 <fail> + +8000021c <test_16>: +8000021c: 818180b7 lui ra,0x81818 +80000220: 18108093 addi ra,ra,385 # 81818181 <begin_signature+0x1816181> +80000224: 41f0d193 srai gp,ra,0x1f +80000228: fff00e93 li t4,-1 +8000022c: 01000e13 li t3,16 +80000230: 15d19263 bne gp,t4,80000374 <fail> + +80000234 <test_17>: +80000234: 800000b7 lui ra,0x80000 +80000238: 4070d093 srai ra,ra,0x7 +8000023c: ff000eb7 lui t4,0xff000 +80000240: 01100e13 li t3,17 +80000244: 13d09863 bne ra,t4,80000374 <fail> + +80000248 <test_18>: +80000248: 00000213 li tp,0 +8000024c: 800000b7 lui ra,0x80000 +80000250: 4070d193 srai gp,ra,0x7 +80000254: 00018313 mv t1,gp +80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000025c: 00200293 li t0,2 +80000260: fe5216e3 bne tp,t0,8000024c <test_18+0x4> +80000264: ff000eb7 lui t4,0xff000 +80000268: 01200e13 li t3,18 +8000026c: 11d31463 bne t1,t4,80000374 <fail> + +80000270 <test_19>: +80000270: 00000213 li tp,0 +80000274: 800000b7 lui ra,0x80000 +80000278: 40e0d193 srai gp,ra,0xe +8000027c: 00000013 nop +80000280: 00018313 mv t1,gp +80000284: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000288: 00200293 li t0,2 +8000028c: fe5214e3 bne tp,t0,80000274 <test_19+0x4> +80000290: fffe0eb7 lui t4,0xfffe0 +80000294: 01300e13 li t3,19 +80000298: 0dd31e63 bne t1,t4,80000374 <fail> + +8000029c <test_20>: +8000029c: 00000213 li tp,0 +800002a0: 800000b7 lui ra,0x80000 +800002a4: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +800002a8: 41f0d193 srai gp,ra,0x1f +800002ac: 00000013 nop +800002b0: 00000013 nop +800002b4: 00018313 mv t1,gp +800002b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002bc: 00200293 li t0,2 +800002c0: fe5210e3 bne tp,t0,800002a0 <test_20+0x4> +800002c4: fff00e93 li t4,-1 +800002c8: 01400e13 li t3,20 +800002cc: 0bd31463 bne t1,t4,80000374 <fail> + +800002d0 <test_21>: +800002d0: 00000213 li tp,0 +800002d4: 800000b7 lui ra,0x80000 +800002d8: 4070d193 srai gp,ra,0x7 +800002dc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002e0: 00200293 li t0,2 +800002e4: fe5218e3 bne tp,t0,800002d4 <test_21+0x4> +800002e8: ff000eb7 lui t4,0xff000 +800002ec: 01500e13 li t3,21 +800002f0: 09d19263 bne gp,t4,80000374 <fail> + +800002f4 <test_22>: +800002f4: 00000213 li tp,0 +800002f8: 800000b7 lui ra,0x80000 +800002fc: 00000013 nop +80000300: 40e0d193 srai gp,ra,0xe +80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000308: 00200293 li t0,2 +8000030c: fe5216e3 bne tp,t0,800002f8 <test_22+0x4> +80000310: fffe0eb7 lui t4,0xfffe0 +80000314: 01600e13 li t3,22 +80000318: 05d19e63 bne gp,t4,80000374 <fail> + +8000031c <test_23>: +8000031c: 00000213 li tp,0 +80000320: 800000b7 lui ra,0x80000 +80000324: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000328: 00000013 nop +8000032c: 00000013 nop +80000330: 41f0d193 srai gp,ra,0x1f +80000334: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000338: 00200293 li t0,2 +8000033c: fe5212e3 bne tp,t0,80000320 <test_23+0x4> +80000340: fff00e93 li t4,-1 +80000344: 01700e13 li t3,23 +80000348: 03d19663 bne gp,t4,80000374 <fail> + +8000034c <test_24>: +8000034c: 40405093 srai ra,zero,0x4 +80000350: 00000e93 li t4,0 +80000354: 01800e13 li t3,24 +80000358: 01d09e63 bne ra,t4,80000374 <fail> + +8000035c <test_25>: +8000035c: 02100093 li ra,33 +80000360: 40a0d013 srai zero,ra,0xa +80000364: 00000e93 li t4,0 +80000368: 01900e13 li t3,25 +8000036c: 01d01463 bne zero,t4,80000374 <fail> +80000370: 01c01c63 bne zero,t3,80000388 <pass> + +80000374 <fail>: +80000374: 0ff0000f fence +80000378: 000e0063 beqz t3,80000378 <fail+0x4> +8000037c: 001e1e13 slli t3,t3,0x1 +80000380: 001e6e13 ori t3,t3,1 +80000384: 00000073 ecall + +80000388 <pass>: +80000388: 0ff0000f fence +8000038c: 00100e13 li t3,1 +80000390: 00000073 ecall +80000394: c0001073 unimp +80000398: 0000 unimp +8000039a: 0000 unimp +8000039c: 0000 unimp +8000039e: 0000 unimp +800003a0: 0000 unimp +800003a2: 0000 unimp +800003a4: 0000 unimp +800003a6: 0000 unimp +800003a8: 0000 unimp +800003aa: 0000 unimp +800003ac: 0000 unimp +800003ae: 0000 unimp +800003b0: 0000 unimp +800003b2: 0000 unimp +800003b4: 0000 unimp +800003b6: 0000 unimp +800003b8: 0000 unimp +800003ba: 0000 unimp +800003bc: 0000 unimp +800003be: 0000 unimp +800003c0: 0000 unimp +800003c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-srl.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-srl.dump new file mode 100644 index 0000000..7d72fc7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-srl.dump @@ -0,0 +1,528 @@ + +rv32ui-p-srl: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 800000b7 lui ra,0x80000 +800000c0: 00000113 li sp,0 +800000c4: 0020d1b3 srl gp,ra,sp +800000c8: 80000eb7 lui t4,0x80000 +800000cc: 00200e13 li t3,2 +800000d0: 57d19863 bne gp,t4,80000640 <fail> + +800000d4 <test_3>: +800000d4: 800000b7 lui ra,0x80000 +800000d8: 00100113 li sp,1 +800000dc: 0020d1b3 srl gp,ra,sp +800000e0: 40000eb7 lui t4,0x40000 +800000e4: 00300e13 li t3,3 +800000e8: 55d19c63 bne gp,t4,80000640 <fail> + +800000ec <test_4>: +800000ec: 800000b7 lui ra,0x80000 +800000f0: 00700113 li sp,7 +800000f4: 0020d1b3 srl gp,ra,sp +800000f8: 01000eb7 lui t4,0x1000 +800000fc: 00400e13 li t3,4 +80000100: 55d19063 bne gp,t4,80000640 <fail> + +80000104 <test_5>: +80000104: 800000b7 lui ra,0x80000 +80000108: 00e00113 li sp,14 +8000010c: 0020d1b3 srl gp,ra,sp +80000110: 00020eb7 lui t4,0x20 +80000114: 00500e13 li t3,5 +80000118: 53d19463 bne gp,t4,80000640 <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000124: 01f00113 li sp,31 +80000128: 0020d1b3 srl gp,ra,sp +8000012c: 00100e93 li t4,1 +80000130: 00600e13 li t3,6 +80000134: 51d19663 bne gp,t4,80000640 <fail> + +80000138 <test_7>: +80000138: fff00093 li ra,-1 +8000013c: 00000113 li sp,0 +80000140: 0020d1b3 srl gp,ra,sp +80000144: fff00e93 li t4,-1 +80000148: 00700e13 li t3,7 +8000014c: 4fd19a63 bne gp,t4,80000640 <fail> + +80000150 <test_8>: +80000150: fff00093 li ra,-1 +80000154: 00100113 li sp,1 +80000158: 0020d1b3 srl gp,ra,sp +8000015c: 80000eb7 lui t4,0x80000 +80000160: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000164: 00800e13 li t3,8 +80000168: 4dd19c63 bne gp,t4,80000640 <fail> + +8000016c <test_9>: +8000016c: fff00093 li ra,-1 +80000170: 00700113 li sp,7 +80000174: 0020d1b3 srl gp,ra,sp +80000178: 02000eb7 lui t4,0x2000 +8000017c: fffe8e93 addi t4,t4,-1 # 1ffffff <_start-0x7e000001> +80000180: 00900e13 li t3,9 +80000184: 4bd19e63 bne gp,t4,80000640 <fail> + +80000188 <test_10>: +80000188: fff00093 li ra,-1 +8000018c: 00e00113 li sp,14 +80000190: 0020d1b3 srl gp,ra,sp +80000194: 00040eb7 lui t4,0x40 +80000198: fffe8e93 addi t4,t4,-1 # 3ffff <_start-0x7ffc0001> +8000019c: 00a00e13 li t3,10 +800001a0: 4bd19063 bne gp,t4,80000640 <fail> + +800001a4 <test_11>: +800001a4: fff00093 li ra,-1 +800001a8: 01f00113 li sp,31 +800001ac: 0020d1b3 srl gp,ra,sp +800001b0: 00100e93 li t4,1 +800001b4: 00b00e13 li t3,11 +800001b8: 49d19463 bne gp,t4,80000640 <fail> + +800001bc <test_12>: +800001bc: 212120b7 lui ra,0x21212 +800001c0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001c4: 00000113 li sp,0 +800001c8: 0020d1b3 srl gp,ra,sp +800001cc: 21212eb7 lui t4,0x21212 +800001d0: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800001d4: 00c00e13 li t3,12 +800001d8: 47d19463 bne gp,t4,80000640 <fail> + +800001dc <test_13>: +800001dc: 212120b7 lui ra,0x21212 +800001e0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001e4: 00100113 li sp,1 +800001e8: 0020d1b3 srl gp,ra,sp +800001ec: 10909eb7 lui t4,0x10909 +800001f0: 090e8e93 addi t4,t4,144 # 10909090 <_start-0x6f6f6f70> +800001f4: 00d00e13 li t3,13 +800001f8: 45d19463 bne gp,t4,80000640 <fail> + +800001fc <test_14>: +800001fc: 212120b7 lui ra,0x21212 +80000200: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000204: 00700113 li sp,7 +80000208: 0020d1b3 srl gp,ra,sp +8000020c: 00424eb7 lui t4,0x424 +80000210: 242e8e93 addi t4,t4,578 # 424242 <_start-0x7fbdbdbe> +80000214: 00e00e13 li t3,14 +80000218: 43d19463 bne gp,t4,80000640 <fail> + +8000021c <test_15>: +8000021c: 212120b7 lui ra,0x21212 +80000220: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000224: 00e00113 li sp,14 +80000228: 0020d1b3 srl gp,ra,sp +8000022c: 00008eb7 lui t4,0x8 +80000230: 484e8e93 addi t4,t4,1156 # 8484 <_start-0x7fff7b7c> +80000234: 00f00e13 li t3,15 +80000238: 41d19463 bne gp,t4,80000640 <fail> + +8000023c <test_16>: +8000023c: 212120b7 lui ra,0x21212 +80000240: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000244: 01f00113 li sp,31 +80000248: 0020d1b3 srl gp,ra,sp +8000024c: 00000e93 li t4,0 +80000250: 01000e13 li t3,16 +80000254: 3fd19663 bne gp,t4,80000640 <fail> + +80000258 <test_17>: +80000258: 212120b7 lui ra,0x21212 +8000025c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000260: fc000113 li sp,-64 +80000264: 0020d1b3 srl gp,ra,sp +80000268: 21212eb7 lui t4,0x21212 +8000026c: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +80000270: 01100e13 li t3,17 +80000274: 3dd19663 bne gp,t4,80000640 <fail> + +80000278 <test_18>: +80000278: 212120b7 lui ra,0x21212 +8000027c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +80000280: fc100113 li sp,-63 +80000284: 0020d1b3 srl gp,ra,sp +80000288: 10909eb7 lui t4,0x10909 +8000028c: 090e8e93 addi t4,t4,144 # 10909090 <_start-0x6f6f6f70> +80000290: 01200e13 li t3,18 +80000294: 3bd19663 bne gp,t4,80000640 <fail> + +80000298 <test_19>: +80000298: 212120b7 lui ra,0x21212 +8000029c: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002a0: fc700113 li sp,-57 +800002a4: 0020d1b3 srl gp,ra,sp +800002a8: 00424eb7 lui t4,0x424 +800002ac: 242e8e93 addi t4,t4,578 # 424242 <_start-0x7fbdbdbe> +800002b0: 01300e13 li t3,19 +800002b4: 39d19663 bne gp,t4,80000640 <fail> + +800002b8 <test_20>: +800002b8: 212120b7 lui ra,0x21212 +800002bc: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002c0: fce00113 li sp,-50 +800002c4: 0020d1b3 srl gp,ra,sp +800002c8: 00008eb7 lui t4,0x8 +800002cc: 484e8e93 addi t4,t4,1156 # 8484 <_start-0x7fff7b7c> +800002d0: 01400e13 li t3,20 +800002d4: 37d19663 bne gp,t4,80000640 <fail> + +800002d8 <test_21>: +800002d8: 212120b7 lui ra,0x21212 +800002dc: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800002e0: fff00113 li sp,-1 +800002e4: 0020d1b3 srl gp,ra,sp +800002e8: 00000e93 li t4,0 +800002ec: 01500e13 li t3,21 +800002f0: 35d19863 bne gp,t4,80000640 <fail> + +800002f4 <test_22>: +800002f4: 800000b7 lui ra,0x80000 +800002f8: 00700113 li sp,7 +800002fc: 0020d0b3 srl ra,ra,sp +80000300: 01000eb7 lui t4,0x1000 +80000304: 01600e13 li t3,22 +80000308: 33d09c63 bne ra,t4,80000640 <fail> + +8000030c <test_23>: +8000030c: 800000b7 lui ra,0x80000 +80000310: 00e00113 li sp,14 +80000314: 0020d133 srl sp,ra,sp +80000318: 00020eb7 lui t4,0x20 +8000031c: 01700e13 li t3,23 +80000320: 33d11063 bne sp,t4,80000640 <fail> + +80000324 <test_24>: +80000324: 00700093 li ra,7 +80000328: 0010d0b3 srl ra,ra,ra +8000032c: 00000e93 li t4,0 +80000330: 01800e13 li t3,24 +80000334: 31d09663 bne ra,t4,80000640 <fail> + +80000338 <test_25>: +80000338: 00000213 li tp,0 +8000033c: 800000b7 lui ra,0x80000 +80000340: 00700113 li sp,7 +80000344: 0020d1b3 srl gp,ra,sp +80000348: 00018313 mv t1,gp +8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000350: 00200293 li t0,2 +80000354: fe5214e3 bne tp,t0,8000033c <test_25+0x4> +80000358: 01000eb7 lui t4,0x1000 +8000035c: 01900e13 li t3,25 +80000360: 2fd31063 bne t1,t4,80000640 <fail> + +80000364 <test_26>: +80000364: 00000213 li tp,0 +80000368: 800000b7 lui ra,0x80000 +8000036c: 00e00113 li sp,14 +80000370: 0020d1b3 srl gp,ra,sp +80000374: 00000013 nop +80000378: 00018313 mv t1,gp +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5212e3 bne tp,t0,80000368 <test_26+0x4> +80000388: 00020eb7 lui t4,0x20 +8000038c: 01a00e13 li t3,26 +80000390: 2bd31863 bne t1,t4,80000640 <fail> + +80000394 <test_27>: +80000394: 00000213 li tp,0 +80000398: 800000b7 lui ra,0x80000 +8000039c: 01f00113 li sp,31 +800003a0: 0020d1b3 srl gp,ra,sp +800003a4: 00000013 nop +800003a8: 00000013 nop +800003ac: 00018313 mv t1,gp +800003b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003b4: 00200293 li t0,2 +800003b8: fe5210e3 bne tp,t0,80000398 <test_27+0x4> +800003bc: 00100e93 li t4,1 +800003c0: 01b00e13 li t3,27 +800003c4: 27d31e63 bne t1,t4,80000640 <fail> + +800003c8 <test_28>: +800003c8: 00000213 li tp,0 +800003cc: 800000b7 lui ra,0x80000 +800003d0: 00700113 li sp,7 +800003d4: 0020d1b3 srl gp,ra,sp +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5216e3 bne tp,t0,800003cc <test_28+0x4> +800003e4: 01000eb7 lui t4,0x1000 +800003e8: 01c00e13 li t3,28 +800003ec: 25d19a63 bne gp,t4,80000640 <fail> + +800003f0 <test_29>: +800003f0: 00000213 li tp,0 +800003f4: 800000b7 lui ra,0x80000 +800003f8: 00e00113 li sp,14 +800003fc: 00000013 nop +80000400: 0020d1b3 srl gp,ra,sp +80000404: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000408: 00200293 li t0,2 +8000040c: fe5214e3 bne tp,t0,800003f4 <test_29+0x4> +80000410: 00020eb7 lui t4,0x20 +80000414: 01d00e13 li t3,29 +80000418: 23d19463 bne gp,t4,80000640 <fail> + +8000041c <test_30>: +8000041c: 00000213 li tp,0 +80000420: 800000b7 lui ra,0x80000 +80000424: 01f00113 li sp,31 +80000428: 00000013 nop +8000042c: 00000013 nop +80000430: 0020d1b3 srl gp,ra,sp +80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000438: 00200293 li t0,2 +8000043c: fe5212e3 bne tp,t0,80000420 <test_30+0x4> +80000440: 00100e93 li t4,1 +80000444: 01e00e13 li t3,30 +80000448: 1fd19c63 bne gp,t4,80000640 <fail> + +8000044c <test_31>: +8000044c: 00000213 li tp,0 +80000450: 800000b7 lui ra,0x80000 +80000454: 00000013 nop +80000458: 00700113 li sp,7 +8000045c: 0020d1b3 srl gp,ra,sp +80000460: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000464: 00200293 li t0,2 +80000468: fe5214e3 bne tp,t0,80000450 <test_31+0x4> +8000046c: 01000eb7 lui t4,0x1000 +80000470: 01f00e13 li t3,31 +80000474: 1dd19663 bne gp,t4,80000640 <fail> + +80000478 <test_32>: +80000478: 00000213 li tp,0 +8000047c: 800000b7 lui ra,0x80000 +80000480: 00000013 nop +80000484: 00e00113 li sp,14 +80000488: 00000013 nop +8000048c: 0020d1b3 srl gp,ra,sp +80000490: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000494: 00200293 li t0,2 +80000498: fe5212e3 bne tp,t0,8000047c <test_32+0x4> +8000049c: 00020eb7 lui t4,0x20 +800004a0: 02000e13 li t3,32 +800004a4: 19d19e63 bne gp,t4,80000640 <fail> + +800004a8 <test_33>: +800004a8: 00000213 li tp,0 +800004ac: 800000b7 lui ra,0x80000 +800004b0: 00000013 nop +800004b4: 00000013 nop +800004b8: 01f00113 li sp,31 +800004bc: 0020d1b3 srl gp,ra,sp +800004c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004c4: 00200293 li t0,2 +800004c8: fe5212e3 bne tp,t0,800004ac <test_33+0x4> +800004cc: 00100e93 li t4,1 +800004d0: 02100e13 li t3,33 +800004d4: 17d19663 bne gp,t4,80000640 <fail> + +800004d8 <test_34>: +800004d8: 00000213 li tp,0 +800004dc: 00700113 li sp,7 +800004e0: 800000b7 lui ra,0x80000 +800004e4: 0020d1b3 srl gp,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5216e3 bne tp,t0,800004dc <test_34+0x4> +800004f4: 01000eb7 lui t4,0x1000 +800004f8: 02200e13 li t3,34 +800004fc: 15d19263 bne gp,t4,80000640 <fail> + +80000500 <test_35>: +80000500: 00000213 li tp,0 +80000504: 00e00113 li sp,14 +80000508: 800000b7 lui ra,0x80000 +8000050c: 00000013 nop +80000510: 0020d1b3 srl gp,ra,sp +80000514: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000518: 00200293 li t0,2 +8000051c: fe5214e3 bne tp,t0,80000504 <test_35+0x4> +80000520: 00020eb7 lui t4,0x20 +80000524: 02300e13 li t3,35 +80000528: 11d19c63 bne gp,t4,80000640 <fail> + +8000052c <test_36>: +8000052c: 00000213 li tp,0 +80000530: 01f00113 li sp,31 +80000534: 800000b7 lui ra,0x80000 +80000538: 00000013 nop +8000053c: 00000013 nop +80000540: 0020d1b3 srl gp,ra,sp +80000544: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000548: 00200293 li t0,2 +8000054c: fe5212e3 bne tp,t0,80000530 <test_36+0x4> +80000550: 00100e93 li t4,1 +80000554: 02400e13 li t3,36 +80000558: 0fd19463 bne gp,t4,80000640 <fail> + +8000055c <test_37>: +8000055c: 00000213 li tp,0 +80000560: 00700113 li sp,7 +80000564: 00000013 nop +80000568: 800000b7 lui ra,0x80000 +8000056c: 0020d1b3 srl gp,ra,sp +80000570: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000574: 00200293 li t0,2 +80000578: fe5214e3 bne tp,t0,80000560 <test_37+0x4> +8000057c: 01000eb7 lui t4,0x1000 +80000580: 02500e13 li t3,37 +80000584: 0bd19e63 bne gp,t4,80000640 <fail> + +80000588 <test_38>: +80000588: 00000213 li tp,0 +8000058c: 00e00113 li sp,14 +80000590: 00000013 nop +80000594: 800000b7 lui ra,0x80000 +80000598: 00000013 nop +8000059c: 0020d1b3 srl gp,ra,sp +800005a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005a4: 00200293 li t0,2 +800005a8: fe5212e3 bne tp,t0,8000058c <test_38+0x4> +800005ac: 00020eb7 lui t4,0x20 +800005b0: 02600e13 li t3,38 +800005b4: 09d19663 bne gp,t4,80000640 <fail> + +800005b8 <test_39>: +800005b8: 00000213 li tp,0 +800005bc: 01f00113 li sp,31 +800005c0: 00000013 nop +800005c4: 00000013 nop +800005c8: 800000b7 lui ra,0x80000 +800005cc: 0020d1b3 srl gp,ra,sp +800005d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800005d4: 00200293 li t0,2 +800005d8: fe5212e3 bne tp,t0,800005bc <test_39+0x4> +800005dc: 00100e93 li t4,1 +800005e0: 02700e13 li t3,39 +800005e4: 05d19e63 bne gp,t4,80000640 <fail> + +800005e8 <test_40>: +800005e8: 00f00093 li ra,15 +800005ec: 00105133 srl sp,zero,ra +800005f0: 00000e93 li t4,0 +800005f4: 02800e13 li t3,40 +800005f8: 05d11463 bne sp,t4,80000640 <fail> + +800005fc <test_41>: +800005fc: 02000093 li ra,32 +80000600: 0000d133 srl sp,ra,zero +80000604: 02000e93 li t4,32 +80000608: 02900e13 li t3,41 +8000060c: 03d11a63 bne sp,t4,80000640 <fail> + +80000610 <test_42>: +80000610: 000050b3 srl ra,zero,zero +80000614: 00000e93 li t4,0 +80000618: 02a00e13 li t3,42 +8000061c: 03d09263 bne ra,t4,80000640 <fail> + +80000620 <test_43>: +80000620: 40000093 li ra,1024 +80000624: 00001137 lui sp,0x1 +80000628: 80010113 addi sp,sp,-2048 # 800 <_start-0x7ffff800> +8000062c: 0020d033 srl zero,ra,sp +80000630: 00000e93 li t4,0 +80000634: 02b00e13 li t3,43 +80000638: 01d01463 bne zero,t4,80000640 <fail> +8000063c: 01c01c63 bne zero,t3,80000654 <pass> + +80000640 <fail>: +80000640: 0ff0000f fence +80000644: 000e0063 beqz t3,80000644 <fail+0x4> +80000648: 001e1e13 slli t3,t3,0x1 +8000064c: 001e6e13 ori t3,t3,1 +80000650: 00000073 ecall + +80000654 <pass>: +80000654: 0ff0000f fence +80000658: 00100e13 li t3,1 +8000065c: 00000073 ecall +80000660: c0001073 unimp +80000664: 0000 unimp +80000666: 0000 unimp +80000668: 0000 unimp +8000066a: 0000 unimp +8000066c: 0000 unimp +8000066e: 0000 unimp +80000670: 0000 unimp +80000672: 0000 unimp +80000674: 0000 unimp +80000676: 0000 unimp +80000678: 0000 unimp +8000067a: 0000 unimp +8000067c: 0000 unimp +8000067e: 0000 unimp +80000680: 0000 unimp +80000682: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-srli.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-srli.dump new file mode 100644 index 0000000..1c1dabf --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-srli.dump @@ -0,0 +1,293 @@ + +rv32ui-p-srli: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 800000b7 lui ra,0x80000 +800000c0: 0000d193 srli gp,ra,0x0 +800000c4: 80000eb7 lui t4,0x80000 +800000c8: 00200e13 li t3,2 +800000cc: 29d19863 bne gp,t4,8000035c <fail> + +800000d0 <test_3>: +800000d0: 800000b7 lui ra,0x80000 +800000d4: 0010d193 srli gp,ra,0x1 +800000d8: 40000eb7 lui t4,0x40000 +800000dc: 00300e13 li t3,3 +800000e0: 27d19e63 bne gp,t4,8000035c <fail> + +800000e4 <test_4>: +800000e4: 800000b7 lui ra,0x80000 +800000e8: 0070d193 srli gp,ra,0x7 +800000ec: 01000eb7 lui t4,0x1000 +800000f0: 00400e13 li t3,4 +800000f4: 27d19463 bne gp,t4,8000035c <fail> + +800000f8 <test_5>: +800000f8: 800000b7 lui ra,0x80000 +800000fc: 00e0d193 srli gp,ra,0xe +80000100: 00020eb7 lui t4,0x20 +80000104: 00500e13 li t3,5 +80000108: 25d19a63 bne gp,t4,8000035c <fail> + +8000010c <test_6>: +8000010c: 800000b7 lui ra,0x80000 +80000110: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000114: 01f0d193 srli gp,ra,0x1f +80000118: 00100e93 li t4,1 +8000011c: 00600e13 li t3,6 +80000120: 23d19e63 bne gp,t4,8000035c <fail> + +80000124 <test_7>: +80000124: fff00093 li ra,-1 +80000128: 0000d193 srli gp,ra,0x0 +8000012c: fff00e93 li t4,-1 +80000130: 00700e13 li t3,7 +80000134: 23d19463 bne gp,t4,8000035c <fail> + +80000138 <test_8>: +80000138: fff00093 li ra,-1 +8000013c: 0010d193 srli gp,ra,0x1 +80000140: 80000eb7 lui t4,0x80000 +80000144: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000148: 00800e13 li t3,8 +8000014c: 21d19863 bne gp,t4,8000035c <fail> + +80000150 <test_9>: +80000150: fff00093 li ra,-1 +80000154: 0070d193 srli gp,ra,0x7 +80000158: 02000eb7 lui t4,0x2000 +8000015c: fffe8e93 addi t4,t4,-1 # 1ffffff <_start-0x7e000001> +80000160: 00900e13 li t3,9 +80000164: 1fd19c63 bne gp,t4,8000035c <fail> + +80000168 <test_10>: +80000168: fff00093 li ra,-1 +8000016c: 00e0d193 srli gp,ra,0xe +80000170: 00040eb7 lui t4,0x40 +80000174: fffe8e93 addi t4,t4,-1 # 3ffff <_start-0x7ffc0001> +80000178: 00a00e13 li t3,10 +8000017c: 1fd19063 bne gp,t4,8000035c <fail> + +80000180 <test_11>: +80000180: fff00093 li ra,-1 +80000184: 01f0d193 srli gp,ra,0x1f +80000188: 00100e93 li t4,1 +8000018c: 00b00e13 li t3,11 +80000190: 1dd19663 bne gp,t4,8000035c <fail> + +80000194 <test_12>: +80000194: 212120b7 lui ra,0x21212 +80000198: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000019c: 0000d193 srli gp,ra,0x0 +800001a0: 21212eb7 lui t4,0x21212 +800001a4: 121e8e93 addi t4,t4,289 # 21212121 <_start-0x5edededf> +800001a8: 00c00e13 li t3,12 +800001ac: 1bd19863 bne gp,t4,8000035c <fail> + +800001b0 <test_13>: +800001b0: 212120b7 lui ra,0x21212 +800001b4: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001b8: 0010d193 srli gp,ra,0x1 +800001bc: 10909eb7 lui t4,0x10909 +800001c0: 090e8e93 addi t4,t4,144 # 10909090 <_start-0x6f6f6f70> +800001c4: 00d00e13 li t3,13 +800001c8: 19d19a63 bne gp,t4,8000035c <fail> + +800001cc <test_14>: +800001cc: 212120b7 lui ra,0x21212 +800001d0: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001d4: 0070d193 srli gp,ra,0x7 +800001d8: 00424eb7 lui t4,0x424 +800001dc: 242e8e93 addi t4,t4,578 # 424242 <_start-0x7fbdbdbe> +800001e0: 00e00e13 li t3,14 +800001e4: 17d19c63 bne gp,t4,8000035c <fail> + +800001e8 <test_15>: +800001e8: 212120b7 lui ra,0x21212 +800001ec: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +800001f0: 00e0d193 srli gp,ra,0xe +800001f4: 00008eb7 lui t4,0x8 +800001f8: 484e8e93 addi t4,t4,1156 # 8484 <_start-0x7fff7b7c> +800001fc: 00f00e13 li t3,15 +80000200: 15d19e63 bne gp,t4,8000035c <fail> + +80000204 <test_16>: +80000204: 212120b7 lui ra,0x21212 +80000208: 12108093 addi ra,ra,289 # 21212121 <_start-0x5edededf> +8000020c: 01f0d193 srli gp,ra,0x1f +80000210: 00000e93 li t4,0 +80000214: 01000e13 li t3,16 +80000218: 15d19263 bne gp,t4,8000035c <fail> + +8000021c <test_17>: +8000021c: 800000b7 lui ra,0x80000 +80000220: 0070d093 srli ra,ra,0x7 +80000224: 01000eb7 lui t4,0x1000 +80000228: 01100e13 li t3,17 +8000022c: 13d09863 bne ra,t4,8000035c <fail> + +80000230 <test_18>: +80000230: 00000213 li tp,0 +80000234: 800000b7 lui ra,0x80000 +80000238: 0070d193 srli gp,ra,0x7 +8000023c: 00018313 mv t1,gp +80000240: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000244: 00200293 li t0,2 +80000248: fe5216e3 bne tp,t0,80000234 <test_18+0x4> +8000024c: 01000eb7 lui t4,0x1000 +80000250: 01200e13 li t3,18 +80000254: 11d31463 bne t1,t4,8000035c <fail> + +80000258 <test_19>: +80000258: 00000213 li tp,0 +8000025c: 800000b7 lui ra,0x80000 +80000260: 00e0d193 srli gp,ra,0xe +80000264: 00000013 nop +80000268: 00018313 mv t1,gp +8000026c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000270: 00200293 li t0,2 +80000274: fe5214e3 bne tp,t0,8000025c <test_19+0x4> +80000278: 00020eb7 lui t4,0x20 +8000027c: 01300e13 li t3,19 +80000280: 0dd31e63 bne t1,t4,8000035c <fail> + +80000284 <test_20>: +80000284: 00000213 li tp,0 +80000288: 800000b7 lui ra,0x80000 +8000028c: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000290: 01f0d193 srli gp,ra,0x1f +80000294: 00000013 nop +80000298: 00000013 nop +8000029c: 00018313 mv t1,gp +800002a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002a4: 00200293 li t0,2 +800002a8: fe5210e3 bne tp,t0,80000288 <test_20+0x4> +800002ac: 00100e93 li t4,1 +800002b0: 01400e13 li t3,20 +800002b4: 0bd31463 bne t1,t4,8000035c <fail> + +800002b8 <test_21>: +800002b8: 00000213 li tp,0 +800002bc: 800000b7 lui ra,0x80000 +800002c0: 0070d193 srli gp,ra,0x7 +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5218e3 bne tp,t0,800002bc <test_21+0x4> +800002d0: 01000eb7 lui t4,0x1000 +800002d4: 01500e13 li t3,21 +800002d8: 09d19263 bne gp,t4,8000035c <fail> + +800002dc <test_22>: +800002dc: 00000213 li tp,0 +800002e0: 800000b7 lui ra,0x80000 +800002e4: 00000013 nop +800002e8: 00e0d193 srli gp,ra,0xe +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fe5216e3 bne tp,t0,800002e0 <test_22+0x4> +800002f8: 00020eb7 lui t4,0x20 +800002fc: 01600e13 li t3,22 +80000300: 05d19e63 bne gp,t4,8000035c <fail> + +80000304 <test_23>: +80000304: 00000213 li tp,0 +80000308: 800000b7 lui ra,0x80000 +8000030c: 00108093 addi ra,ra,1 # 80000001 <begin_signature+0xffffe001> +80000310: 00000013 nop +80000314: 00000013 nop +80000318: 01f0d193 srli gp,ra,0x1f +8000031c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000320: 00200293 li t0,2 +80000324: fe5212e3 bne tp,t0,80000308 <test_23+0x4> +80000328: 00100e93 li t4,1 +8000032c: 01700e13 li t3,23 +80000330: 03d19663 bne gp,t4,8000035c <fail> + +80000334 <test_24>: +80000334: 00405093 srli ra,zero,0x4 +80000338: 00000e93 li t4,0 +8000033c: 01800e13 li t3,24 +80000340: 01d09e63 bne ra,t4,8000035c <fail> + +80000344 <test_25>: +80000344: 02100093 li ra,33 +80000348: 00a0d013 srli zero,ra,0xa +8000034c: 00000e93 li t4,0 +80000350: 01900e13 li t3,25 +80000354: 01d01463 bne zero,t4,8000035c <fail> +80000358: 01c01c63 bne zero,t3,80000370 <pass> + +8000035c <fail>: +8000035c: 0ff0000f fence +80000360: 000e0063 beqz t3,80000360 <fail+0x4> +80000364: 001e1e13 slli t3,t3,0x1 +80000368: 001e6e13 ori t3,t3,1 +8000036c: 00000073 ecall + +80000370 <pass>: +80000370: 0ff0000f fence +80000374: 00100e13 li t3,1 +80000378: 00000073 ecall +8000037c: c0001073 unimp +80000380: 0000 unimp +80000382: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sub.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sub.dump new file mode 100644 index 0000000..8bb8ef1 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sub.dump @@ -0,0 +1,469 @@ + +rv32ui-p-sub: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 402081b3 sub gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4bd19663 bne gp,t4,8000057c <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 402081b3 sub gp,ra,sp +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 49d19a63 bne gp,t4,8000057c <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 402081b3 sub gp,ra,sp +800000f8: ffc00e93 li t4,-4 +800000fc: 00400e13 li t3,4 +80000100: 47d19e63 bne gp,t4,8000057c <fail> + +80000104 <test_5>: +80000104: 00000093 li ra,0 +80000108: ffff8137 lui sp,0xffff8 +8000010c: 402081b3 sub gp,ra,sp +80000110: 00008eb7 lui t4,0x8 +80000114: 00500e13 li t3,5 +80000118: 47d19263 bne gp,t4,8000057c <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00000113 li sp,0 +80000124: 402081b3 sub gp,ra,sp +80000128: 80000eb7 lui t4,0x80000 +8000012c: 00600e13 li t3,6 +80000130: 45d19663 bne gp,t4,8000057c <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: ffff8137 lui sp,0xffff8 +8000013c: 402081b3 sub gp,ra,sp +80000140: 80008eb7 lui t4,0x80008 +80000144: 00700e13 li t3,7 +80000148: 43d19a63 bne gp,t4,8000057c <fail> + +8000014c <test_8>: +8000014c: 00000093 li ra,0 +80000150: 00008137 lui sp,0x8 +80000154: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +80000158: 402081b3 sub gp,ra,sp +8000015c: ffff8eb7 lui t4,0xffff8 +80000160: 001e8e93 addi t4,t4,1 # ffff8001 <begin_signature+0x7fff6001> +80000164: 00800e13 li t3,8 +80000168: 41d19a63 bne gp,t4,8000057c <fail> + +8000016c <test_9>: +8000016c: 800000b7 lui ra,0x80000 +80000170: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000174: 00000113 li sp,0 +80000178: 402081b3 sub gp,ra,sp +8000017c: 80000eb7 lui t4,0x80000 +80000180: fffe8e93 addi t4,t4,-1 # 7fffffff <begin_signature+0xffffdfff> +80000184: 00900e13 li t3,9 +80000188: 3fd19a63 bne gp,t4,8000057c <fail> + +8000018c <test_10>: +8000018c: 800000b7 lui ra,0x80000 +80000190: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +80000194: 00008137 lui sp,0x8 +80000198: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +8000019c: 402081b3 sub gp,ra,sp +800001a0: 7fff8eb7 lui t4,0x7fff8 +800001a4: 00a00e13 li t3,10 +800001a8: 3dd19a63 bne gp,t4,8000057c <fail> + +800001ac <test_11>: +800001ac: 800000b7 lui ra,0x80000 +800001b0: 00008137 lui sp,0x8 +800001b4: fff10113 addi sp,sp,-1 # 7fff <_start-0x7fff8001> +800001b8: 402081b3 sub gp,ra,sp +800001bc: 7fff8eb7 lui t4,0x7fff8 +800001c0: 001e8e93 addi t4,t4,1 # 7fff8001 <_start-0x7fff> +800001c4: 00b00e13 li t3,11 +800001c8: 3bd19a63 bne gp,t4,8000057c <fail> + +800001cc <test_12>: +800001cc: 800000b7 lui ra,0x80000 +800001d0: fff08093 addi ra,ra,-1 # 7fffffff <begin_signature+0xffffdfff> +800001d4: ffff8137 lui sp,0xffff8 +800001d8: 402081b3 sub gp,ra,sp +800001dc: 80008eb7 lui t4,0x80008 +800001e0: fffe8e93 addi t4,t4,-1 # 80007fff <begin_signature+0x5fff> +800001e4: 00c00e13 li t3,12 +800001e8: 39d19a63 bne gp,t4,8000057c <fail> + +800001ec <test_13>: +800001ec: 00000093 li ra,0 +800001f0: fff00113 li sp,-1 +800001f4: 402081b3 sub gp,ra,sp +800001f8: 00100e93 li t4,1 +800001fc: 00d00e13 li t3,13 +80000200: 37d19e63 bne gp,t4,8000057c <fail> + +80000204 <test_14>: +80000204: fff00093 li ra,-1 +80000208: 00100113 li sp,1 +8000020c: 402081b3 sub gp,ra,sp +80000210: ffe00e93 li t4,-2 +80000214: 00e00e13 li t3,14 +80000218: 37d19263 bne gp,t4,8000057c <fail> + +8000021c <test_15>: +8000021c: fff00093 li ra,-1 +80000220: fff00113 li sp,-1 +80000224: 402081b3 sub gp,ra,sp +80000228: 00000e93 li t4,0 +8000022c: 00f00e13 li t3,15 +80000230: 35d19663 bne gp,t4,8000057c <fail> + +80000234 <test_16>: +80000234: 00d00093 li ra,13 +80000238: 00b00113 li sp,11 +8000023c: 402080b3 sub ra,ra,sp +80000240: 00200e93 li t4,2 +80000244: 01000e13 li t3,16 +80000248: 33d09a63 bne ra,t4,8000057c <fail> + +8000024c <test_17>: +8000024c: 00e00093 li ra,14 +80000250: 00b00113 li sp,11 +80000254: 40208133 sub sp,ra,sp +80000258: 00300e93 li t4,3 +8000025c: 01100e13 li t3,17 +80000260: 31d11e63 bne sp,t4,8000057c <fail> + +80000264 <test_18>: +80000264: 00d00093 li ra,13 +80000268: 401080b3 sub ra,ra,ra +8000026c: 00000e93 li t4,0 +80000270: 01200e13 li t3,18 +80000274: 31d09463 bne ra,t4,8000057c <fail> + +80000278 <test_19>: +80000278: 00000213 li tp,0 +8000027c: 00d00093 li ra,13 +80000280: 00b00113 li sp,11 +80000284: 402081b3 sub gp,ra,sp +80000288: 00018313 mv t1,gp +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5214e3 bne tp,t0,8000027c <test_19+0x4> +80000298: 00200e93 li t4,2 +8000029c: 01300e13 li t3,19 +800002a0: 2dd31e63 bne t1,t4,8000057c <fail> + +800002a4 <test_20>: +800002a4: 00000213 li tp,0 +800002a8: 00e00093 li ra,14 +800002ac: 00b00113 li sp,11 +800002b0: 402081b3 sub gp,ra,sp +800002b4: 00000013 nop +800002b8: 00018313 mv t1,gp +800002bc: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c0: 00200293 li t0,2 +800002c4: fe5212e3 bne tp,t0,800002a8 <test_20+0x4> +800002c8: 00300e93 li t4,3 +800002cc: 01400e13 li t3,20 +800002d0: 2bd31663 bne t1,t4,8000057c <fail> + +800002d4 <test_21>: +800002d4: 00000213 li tp,0 +800002d8: 00f00093 li ra,15 +800002dc: 00b00113 li sp,11 +800002e0: 402081b3 sub gp,ra,sp +800002e4: 00000013 nop +800002e8: 00000013 nop +800002ec: 00018313 mv t1,gp +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5210e3 bne tp,t0,800002d8 <test_21+0x4> +800002fc: 00400e93 li t4,4 +80000300: 01500e13 li t3,21 +80000304: 27d31c63 bne t1,t4,8000057c <fail> + +80000308 <test_22>: +80000308: 00000213 li tp,0 +8000030c: 00d00093 li ra,13 +80000310: 00b00113 li sp,11 +80000314: 402081b3 sub gp,ra,sp +80000318: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000031c: 00200293 li t0,2 +80000320: fe5216e3 bne tp,t0,8000030c <test_22+0x4> +80000324: 00200e93 li t4,2 +80000328: 01600e13 li t3,22 +8000032c: 25d19863 bne gp,t4,8000057c <fail> + +80000330 <test_23>: +80000330: 00000213 li tp,0 +80000334: 00e00093 li ra,14 +80000338: 00b00113 li sp,11 +8000033c: 00000013 nop +80000340: 402081b3 sub gp,ra,sp +80000344: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000348: 00200293 li t0,2 +8000034c: fe5214e3 bne tp,t0,80000334 <test_23+0x4> +80000350: 00300e93 li t4,3 +80000354: 01700e13 li t3,23 +80000358: 23d19263 bne gp,t4,8000057c <fail> + +8000035c <test_24>: +8000035c: 00000213 li tp,0 +80000360: 00f00093 li ra,15 +80000364: 00b00113 li sp,11 +80000368: 00000013 nop +8000036c: 00000013 nop +80000370: 402081b3 sub gp,ra,sp +80000374: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000378: 00200293 li t0,2 +8000037c: fe5212e3 bne tp,t0,80000360 <test_24+0x4> +80000380: 00400e93 li t4,4 +80000384: 01800e13 li t3,24 +80000388: 1fd19a63 bne gp,t4,8000057c <fail> + +8000038c <test_25>: +8000038c: 00000213 li tp,0 +80000390: 00d00093 li ra,13 +80000394: 00000013 nop +80000398: 00b00113 li sp,11 +8000039c: 402081b3 sub gp,ra,sp +800003a0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a4: 00200293 li t0,2 +800003a8: fe5214e3 bne tp,t0,80000390 <test_25+0x4> +800003ac: 00200e93 li t4,2 +800003b0: 01900e13 li t3,25 +800003b4: 1dd19463 bne gp,t4,8000057c <fail> + +800003b8 <test_26>: +800003b8: 00000213 li tp,0 +800003bc: 00e00093 li ra,14 +800003c0: 00000013 nop +800003c4: 00b00113 li sp,11 +800003c8: 00000013 nop +800003cc: 402081b3 sub gp,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5212e3 bne tp,t0,800003bc <test_26+0x4> +800003dc: 00300e93 li t4,3 +800003e0: 01a00e13 li t3,26 +800003e4: 19d19c63 bne gp,t4,8000057c <fail> + +800003e8 <test_27>: +800003e8: 00000213 li tp,0 +800003ec: 00f00093 li ra,15 +800003f0: 00000013 nop +800003f4: 00000013 nop +800003f8: 00b00113 li sp,11 +800003fc: 402081b3 sub gp,ra,sp +80000400: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000404: 00200293 li t0,2 +80000408: fe5212e3 bne tp,t0,800003ec <test_27+0x4> +8000040c: 00400e93 li t4,4 +80000410: 01b00e13 li t3,27 +80000414: 17d19463 bne gp,t4,8000057c <fail> + +80000418 <test_28>: +80000418: 00000213 li tp,0 +8000041c: 00b00113 li sp,11 +80000420: 00d00093 li ra,13 +80000424: 402081b3 sub gp,ra,sp +80000428: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000042c: 00200293 li t0,2 +80000430: fe5216e3 bne tp,t0,8000041c <test_28+0x4> +80000434: 00200e93 li t4,2 +80000438: 01c00e13 li t3,28 +8000043c: 15d19063 bne gp,t4,8000057c <fail> + +80000440 <test_29>: +80000440: 00000213 li tp,0 +80000444: 00b00113 li sp,11 +80000448: 00e00093 li ra,14 +8000044c: 00000013 nop +80000450: 402081b3 sub gp,ra,sp +80000454: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000458: 00200293 li t0,2 +8000045c: fe5214e3 bne tp,t0,80000444 <test_29+0x4> +80000460: 00300e93 li t4,3 +80000464: 01d00e13 li t3,29 +80000468: 11d19a63 bne gp,t4,8000057c <fail> + +8000046c <test_30>: +8000046c: 00000213 li tp,0 +80000470: 00b00113 li sp,11 +80000474: 00f00093 li ra,15 +80000478: 00000013 nop +8000047c: 00000013 nop +80000480: 402081b3 sub gp,ra,sp +80000484: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000488: 00200293 li t0,2 +8000048c: fe5212e3 bne tp,t0,80000470 <test_30+0x4> +80000490: 00400e93 li t4,4 +80000494: 01e00e13 li t3,30 +80000498: 0fd19263 bne gp,t4,8000057c <fail> + +8000049c <test_31>: +8000049c: 00000213 li tp,0 +800004a0: 00b00113 li sp,11 +800004a4: 00000013 nop +800004a8: 00d00093 li ra,13 +800004ac: 402081b3 sub gp,ra,sp +800004b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b4: 00200293 li t0,2 +800004b8: fe5214e3 bne tp,t0,800004a0 <test_31+0x4> +800004bc: 00200e93 li t4,2 +800004c0: 01f00e13 li t3,31 +800004c4: 0bd19c63 bne gp,t4,8000057c <fail> + +800004c8 <test_32>: +800004c8: 00000213 li tp,0 +800004cc: 00b00113 li sp,11 +800004d0: 00000013 nop +800004d4: 00e00093 li ra,14 +800004d8: 00000013 nop +800004dc: 402081b3 sub gp,ra,sp +800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e4: 00200293 li t0,2 +800004e8: fe5212e3 bne tp,t0,800004cc <test_32+0x4> +800004ec: 00300e93 li t4,3 +800004f0: 02000e13 li t3,32 +800004f4: 09d19463 bne gp,t4,8000057c <fail> + +800004f8 <test_33>: +800004f8: 00000213 li tp,0 +800004fc: 00b00113 li sp,11 +80000500: 00000013 nop +80000504: 00000013 nop +80000508: 00f00093 li ra,15 +8000050c: 402081b3 sub gp,ra,sp +80000510: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000514: 00200293 li t0,2 +80000518: fe5212e3 bne tp,t0,800004fc <test_33+0x4> +8000051c: 00400e93 li t4,4 +80000520: 02100e13 li t3,33 +80000524: 05d19c63 bne gp,t4,8000057c <fail> + +80000528 <test_34>: +80000528: ff100093 li ra,-15 +8000052c: 40100133 neg sp,ra +80000530: 00f00e93 li t4,15 +80000534: 02200e13 li t3,34 +80000538: 05d11263 bne sp,t4,8000057c <fail> + +8000053c <test_35>: +8000053c: 02000093 li ra,32 +80000540: 40008133 sub sp,ra,zero +80000544: 02000e93 li t4,32 +80000548: 02300e13 li t3,35 +8000054c: 03d11863 bne sp,t4,8000057c <fail> + +80000550 <test_36>: +80000550: 400000b3 neg ra,zero +80000554: 00000e93 li t4,0 +80000558: 02400e13 li t3,36 +8000055c: 03d09063 bne ra,t4,8000057c <fail> + +80000560 <test_37>: +80000560: 01000093 li ra,16 +80000564: 01e00113 li sp,30 +80000568: 40208033 sub zero,ra,sp +8000056c: 00000e93 li t4,0 +80000570: 02500e13 li t3,37 +80000574: 01d01463 bne zero,t4,8000057c <fail> +80000578: 01c01c63 bne zero,t3,80000590 <pass> + +8000057c <fail>: +8000057c: 0ff0000f fence +80000580: 000e0063 beqz t3,80000580 <fail+0x4> +80000584: 001e1e13 slli t3,t3,0x1 +80000588: 001e6e13 ori t3,t3,1 +8000058c: 00000073 ecall + +80000590 <pass>: +80000590: 0ff0000f fence +80000594: 00100e13 li t3,1 +80000598: 00000073 ecall +8000059c: c0001073 unimp +800005a0: 0000 unimp +800005a2: 0000 unimp +800005a4: 0000 unimp +800005a6: 0000 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-sw.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-sw.dump new file mode 100644 index 0000000..47893a5 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-sw.dump @@ -0,0 +1,460 @@ + +rv32ui-p-sw: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00002097 auipc ra,0x2 +800000c0: f4408093 addi ra,ra,-188 # 80002000 <begin_signature> +800000c4: 00aa0137 lui sp,0xaa0 +800000c8: 0aa10113 addi sp,sp,170 # aa00aa <_start-0x7f55ff56> +800000cc: 0020a023 sw sp,0(ra) +800000d0: 0000a183 lw gp,0(ra) +800000d4: 00aa0eb7 lui t4,0xaa0 +800000d8: 0aae8e93 addi t4,t4,170 # aa00aa <_start-0x7f55ff56> +800000dc: 00200e13 li t3,2 +800000e0: 47d19063 bne gp,t4,80000540 <fail> + +800000e4 <test_3>: +800000e4: 00002097 auipc ra,0x2 +800000e8: f1c08093 addi ra,ra,-228 # 80002000 <begin_signature> +800000ec: aa00b137 lui sp,0xaa00b +800000f0: a0010113 addi sp,sp,-1536 # aa00aa00 <_end+0x2a0089d0> +800000f4: 0020a223 sw sp,4(ra) +800000f8: 0040a183 lw gp,4(ra) +800000fc: aa00beb7 lui t4,0xaa00b +80000100: a00e8e93 addi t4,t4,-1536 # aa00aa00 <_end+0x2a0089d0> +80000104: 00300e13 li t3,3 +80000108: 43d19c63 bne gp,t4,80000540 <fail> + +8000010c <test_4>: +8000010c: 00002097 auipc ra,0x2 +80000110: ef408093 addi ra,ra,-268 # 80002000 <begin_signature> +80000114: 0aa01137 lui sp,0xaa01 +80000118: aa010113 addi sp,sp,-1376 # aa00aa0 <_start-0x755ff560> +8000011c: 0020a423 sw sp,8(ra) +80000120: 0080a183 lw gp,8(ra) +80000124: 0aa01eb7 lui t4,0xaa01 +80000128: aa0e8e93 addi t4,t4,-1376 # aa00aa0 <_start-0x755ff560> +8000012c: 00400e13 li t3,4 +80000130: 41d19863 bne gp,t4,80000540 <fail> + +80000134 <test_5>: +80000134: 00002097 auipc ra,0x2 +80000138: ecc08093 addi ra,ra,-308 # 80002000 <begin_signature> +8000013c: a00aa137 lui sp,0xa00aa +80000140: 00a10113 addi sp,sp,10 # a00aa00a <_end+0x200a7fda> +80000144: 0020a623 sw sp,12(ra) +80000148: 00c0a183 lw gp,12(ra) +8000014c: a00aaeb7 lui t4,0xa00aa +80000150: 00ae8e93 addi t4,t4,10 # a00aa00a <_end+0x200a7fda> +80000154: 00500e13 li t3,5 +80000158: 3fd19463 bne gp,t4,80000540 <fail> + +8000015c <test_6>: +8000015c: 00002097 auipc ra,0x2 +80000160: ec008093 addi ra,ra,-320 # 8000201c <tdat8> +80000164: 00aa0137 lui sp,0xaa0 +80000168: 0aa10113 addi sp,sp,170 # aa00aa <_start-0x7f55ff56> +8000016c: fe20aa23 sw sp,-12(ra) +80000170: ff40a183 lw gp,-12(ra) +80000174: 00aa0eb7 lui t4,0xaa0 +80000178: 0aae8e93 addi t4,t4,170 # aa00aa <_start-0x7f55ff56> +8000017c: 00600e13 li t3,6 +80000180: 3dd19063 bne gp,t4,80000540 <fail> + +80000184 <test_7>: +80000184: 00002097 auipc ra,0x2 +80000188: e9808093 addi ra,ra,-360 # 8000201c <tdat8> +8000018c: aa00b137 lui sp,0xaa00b +80000190: a0010113 addi sp,sp,-1536 # aa00aa00 <_end+0x2a0089d0> +80000194: fe20ac23 sw sp,-8(ra) +80000198: ff80a183 lw gp,-8(ra) +8000019c: aa00beb7 lui t4,0xaa00b +800001a0: a00e8e93 addi t4,t4,-1536 # aa00aa00 <_end+0x2a0089d0> +800001a4: 00700e13 li t3,7 +800001a8: 39d19c63 bne gp,t4,80000540 <fail> + +800001ac <test_8>: +800001ac: 00002097 auipc ra,0x2 +800001b0: e7008093 addi ra,ra,-400 # 8000201c <tdat8> +800001b4: 0aa01137 lui sp,0xaa01 +800001b8: aa010113 addi sp,sp,-1376 # aa00aa0 <_start-0x755ff560> +800001bc: fe20ae23 sw sp,-4(ra) +800001c0: ffc0a183 lw gp,-4(ra) +800001c4: 0aa01eb7 lui t4,0xaa01 +800001c8: aa0e8e93 addi t4,t4,-1376 # aa00aa0 <_start-0x755ff560> +800001cc: 00800e13 li t3,8 +800001d0: 37d19863 bne gp,t4,80000540 <fail> + +800001d4 <test_9>: +800001d4: 00002097 auipc ra,0x2 +800001d8: e4808093 addi ra,ra,-440 # 8000201c <tdat8> +800001dc: a00aa137 lui sp,0xa00aa +800001e0: 00a10113 addi sp,sp,10 # a00aa00a <_end+0x200a7fda> +800001e4: 0020a023 sw sp,0(ra) +800001e8: 0000a183 lw gp,0(ra) +800001ec: a00aaeb7 lui t4,0xa00aa +800001f0: 00ae8e93 addi t4,t4,10 # a00aa00a <_end+0x200a7fda> +800001f4: 00900e13 li t3,9 +800001f8: 35d19463 bne gp,t4,80000540 <fail> + +800001fc <test_10>: +800001fc: 00002097 auipc ra,0x2 +80000200: e2408093 addi ra,ra,-476 # 80002020 <tdat9> +80000204: 12345137 lui sp,0x12345 +80000208: 67810113 addi sp,sp,1656 # 12345678 <_start-0x6dcba988> +8000020c: fe008213 addi tp,ra,-32 +80000210: 02222023 sw sp,32(tp) # 20 <_start-0x7fffffe0> +80000214: 0000a183 lw gp,0(ra) +80000218: 12345eb7 lui t4,0x12345 +8000021c: 678e8e93 addi t4,t4,1656 # 12345678 <_start-0x6dcba988> +80000220: 00a00e13 li t3,10 +80000224: 31d19e63 bne gp,t4,80000540 <fail> + +80000228 <test_11>: +80000228: 00002097 auipc ra,0x2 +8000022c: df808093 addi ra,ra,-520 # 80002020 <tdat9> +80000230: 58213137 lui sp,0x58213 +80000234: 09810113 addi sp,sp,152 # 58213098 <_start-0x27decf68> +80000238: ffd08093 addi ra,ra,-3 +8000023c: 0020a3a3 sw sp,7(ra) +80000240: 00002217 auipc tp,0x2 +80000244: de420213 addi tp,tp,-540 # 80002024 <tdat10> +80000248: 00022183 lw gp,0(tp) # 0 <_start-0x80000000> +8000024c: 58213eb7 lui t4,0x58213 +80000250: 098e8e93 addi t4,t4,152 # 58213098 <_start-0x27decf68> +80000254: 00b00e13 li t3,11 +80000258: 2fd19463 bne gp,t4,80000540 <fail> + +8000025c <test_12>: +8000025c: 00c00e13 li t3,12 +80000260: 00000213 li tp,0 +80000264: aabbd0b7 lui ra,0xaabbd +80000268: cdd08093 addi ra,ra,-803 # aabbccdd <_end+0x2abbacad> +8000026c: 00002117 auipc sp,0x2 +80000270: d9410113 addi sp,sp,-620 # 80002000 <begin_signature> +80000274: 00112023 sw ra,0(sp) +80000278: 00012183 lw gp,0(sp) +8000027c: aabbdeb7 lui t4,0xaabbd +80000280: cdde8e93 addi t4,t4,-803 # aabbccdd <_end+0x2abbacad> +80000284: 2bd19e63 bne gp,t4,80000540 <fail> +80000288: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000028c: 00200293 li t0,2 +80000290: fc521ae3 bne tp,t0,80000264 <test_12+0x8> + +80000294 <test_13>: +80000294: 00d00e13 li t3,13 +80000298: 00000213 li tp,0 +8000029c: daabc0b7 lui ra,0xdaabc +800002a0: ccd08093 addi ra,ra,-819 # daabbccd <_end+0x5aab9c9d> +800002a4: 00002117 auipc sp,0x2 +800002a8: d5c10113 addi sp,sp,-676 # 80002000 <begin_signature> +800002ac: 00000013 nop +800002b0: 00112223 sw ra,4(sp) +800002b4: 00412183 lw gp,4(sp) +800002b8: daabceb7 lui t4,0xdaabc +800002bc: ccde8e93 addi t4,t4,-819 # daabbccd <_end+0x5aab9c9d> +800002c0: 29d19063 bne gp,t4,80000540 <fail> +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fc5218e3 bne tp,t0,8000029c <test_13+0x8> + +800002d0 <test_14>: +800002d0: 00e00e13 li t3,14 +800002d4: 00000213 li tp,0 +800002d8: ddaac0b7 lui ra,0xddaac +800002dc: bcc08093 addi ra,ra,-1076 # ddaabbcc <_end+0x5daa9b9c> +800002e0: 00002117 auipc sp,0x2 +800002e4: d2010113 addi sp,sp,-736 # 80002000 <begin_signature> +800002e8: 00000013 nop +800002ec: 00000013 nop +800002f0: 00112423 sw ra,8(sp) +800002f4: 00812183 lw gp,8(sp) +800002f8: ddaaceb7 lui t4,0xddaac +800002fc: bcce8e93 addi t4,t4,-1076 # ddaabbcc <_end+0x5daa9b9c> +80000300: 25d19063 bne gp,t4,80000540 <fail> +80000304: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000308: 00200293 li t0,2 +8000030c: fc5216e3 bne tp,t0,800002d8 <test_14+0x8> + +80000310 <test_15>: +80000310: 00f00e13 li t3,15 +80000314: 00000213 li tp,0 +80000318: cddab0b7 lui ra,0xcddab +8000031c: bbc08093 addi ra,ra,-1092 # cddaabbc <_end+0x4dda8b8c> +80000320: 00000013 nop +80000324: 00002117 auipc sp,0x2 +80000328: cdc10113 addi sp,sp,-804 # 80002000 <begin_signature> +8000032c: 00112623 sw ra,12(sp) +80000330: 00c12183 lw gp,12(sp) +80000334: cddabeb7 lui t4,0xcddab +80000338: bbce8e93 addi t4,t4,-1092 # cddaabbc <_end+0x4dda8b8c> +8000033c: 21d19263 bne gp,t4,80000540 <fail> +80000340: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000344: 00200293 li t0,2 +80000348: fc5218e3 bne tp,t0,80000318 <test_15+0x8> + +8000034c <test_16>: +8000034c: 01000e13 li t3,16 +80000350: 00000213 li tp,0 +80000354: ccddb0b7 lui ra,0xccddb +80000358: abb08093 addi ra,ra,-1349 # ccddaabb <_end+0x4cdd8a8b> +8000035c: 00000013 nop +80000360: 00002117 auipc sp,0x2 +80000364: ca010113 addi sp,sp,-864 # 80002000 <begin_signature> +80000368: 00000013 nop +8000036c: 00112823 sw ra,16(sp) +80000370: 01012183 lw gp,16(sp) +80000374: ccddbeb7 lui t4,0xccddb +80000378: abbe8e93 addi t4,t4,-1349 # ccddaabb <_end+0x4cdd8a8b> +8000037c: 1dd19263 bne gp,t4,80000540 <fail> +80000380: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000384: 00200293 li t0,2 +80000388: fc5216e3 bne tp,t0,80000354 <test_16+0x8> + +8000038c <test_17>: +8000038c: 01100e13 li t3,17 +80000390: 00000213 li tp,0 +80000394: bccde0b7 lui ra,0xbccde +80000398: aab08093 addi ra,ra,-1365 # bccddaab <_end+0x3ccdba7b> +8000039c: 00000013 nop +800003a0: 00000013 nop +800003a4: 00002117 auipc sp,0x2 +800003a8: c5c10113 addi sp,sp,-932 # 80002000 <begin_signature> +800003ac: 00112a23 sw ra,20(sp) +800003b0: 01412183 lw gp,20(sp) +800003b4: bccdeeb7 lui t4,0xbccde +800003b8: aabe8e93 addi t4,t4,-1365 # bccddaab <_end+0x3ccdba7b> +800003bc: 19d19263 bne gp,t4,80000540 <fail> +800003c0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003c4: 00200293 li t0,2 +800003c8: fc5216e3 bne tp,t0,80000394 <test_17+0x8> + +800003cc <test_18>: +800003cc: 01200e13 li t3,18 +800003d0: 00000213 li tp,0 +800003d4: 00002117 auipc sp,0x2 +800003d8: c2c10113 addi sp,sp,-980 # 80002000 <begin_signature> +800003dc: 001120b7 lui ra,0x112 +800003e0: 23308093 addi ra,ra,563 # 112233 <_start-0x7feeddcd> +800003e4: 00112023 sw ra,0(sp) +800003e8: 00012183 lw gp,0(sp) +800003ec: 00112eb7 lui t4,0x112 +800003f0: 233e8e93 addi t4,t4,563 # 112233 <_start-0x7feeddcd> +800003f4: 15d19663 bne gp,t4,80000540 <fail> +800003f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003fc: 00200293 li t0,2 +80000400: fc521ae3 bne tp,t0,800003d4 <test_18+0x8> + +80000404 <test_19>: +80000404: 01300e13 li t3,19 +80000408: 00000213 li tp,0 +8000040c: 00002117 auipc sp,0x2 +80000410: bf410113 addi sp,sp,-1036 # 80002000 <begin_signature> +80000414: 300110b7 lui ra,0x30011 +80000418: 22308093 addi ra,ra,547 # 30011223 <_start-0x4ffeeddd> +8000041c: 00000013 nop +80000420: 00112223 sw ra,4(sp) +80000424: 00412183 lw gp,4(sp) +80000428: 30011eb7 lui t4,0x30011 +8000042c: 223e8e93 addi t4,t4,547 # 30011223 <_start-0x4ffeeddd> +80000430: 11d19863 bne gp,t4,80000540 <fail> +80000434: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000438: 00200293 li t0,2 +8000043c: fc5218e3 bne tp,t0,8000040c <test_19+0x8> + +80000440 <test_20>: +80000440: 01400e13 li t3,20 +80000444: 00000213 li tp,0 +80000448: 00002117 auipc sp,0x2 +8000044c: bb810113 addi sp,sp,-1096 # 80002000 <begin_signature> +80000450: 330010b7 lui ra,0x33001 +80000454: 12208093 addi ra,ra,290 # 33001122 <_start-0x4cffeede> +80000458: 00000013 nop +8000045c: 00000013 nop +80000460: 00112423 sw ra,8(sp) +80000464: 00812183 lw gp,8(sp) +80000468: 33001eb7 lui t4,0x33001 +8000046c: 122e8e93 addi t4,t4,290 # 33001122 <_start-0x4cffeede> +80000470: 0dd19863 bne gp,t4,80000540 <fail> +80000474: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000478: 00200293 li t0,2 +8000047c: fc5216e3 bne tp,t0,80000448 <test_20+0x8> + +80000480 <test_21>: +80000480: 01500e13 li t3,21 +80000484: 00000213 li tp,0 +80000488: 00002117 auipc sp,0x2 +8000048c: b7810113 addi sp,sp,-1160 # 80002000 <begin_signature> +80000490: 00000013 nop +80000494: 233000b7 lui ra,0x23300 +80000498: 11208093 addi ra,ra,274 # 23300112 <_start-0x5ccffeee> +8000049c: 00112623 sw ra,12(sp) +800004a0: 00c12183 lw gp,12(sp) +800004a4: 23300eb7 lui t4,0x23300 +800004a8: 112e8e93 addi t4,t4,274 # 23300112 <_start-0x5ccffeee> +800004ac: 09d19a63 bne gp,t4,80000540 <fail> +800004b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b4: 00200293 li t0,2 +800004b8: fc5218e3 bne tp,t0,80000488 <test_21+0x8> + +800004bc <test_22>: +800004bc: 01600e13 li t3,22 +800004c0: 00000213 li tp,0 +800004c4: 00002117 auipc sp,0x2 +800004c8: b3c10113 addi sp,sp,-1220 # 80002000 <begin_signature> +800004cc: 00000013 nop +800004d0: 223300b7 lui ra,0x22330 +800004d4: 01108093 addi ra,ra,17 # 22330011 <_start-0x5dccffef> +800004d8: 00000013 nop +800004dc: 00112823 sw ra,16(sp) +800004e0: 01012183 lw gp,16(sp) +800004e4: 22330eb7 lui t4,0x22330 +800004e8: 011e8e93 addi t4,t4,17 # 22330011 <_start-0x5dccffef> +800004ec: 05d19a63 bne gp,t4,80000540 <fail> +800004f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f4: 00200293 li t0,2 +800004f8: fc5216e3 bne tp,t0,800004c4 <test_22+0x8> + +800004fc <test_23>: +800004fc: 01700e13 li t3,23 +80000500: 00000213 li tp,0 +80000504: 00002117 auipc sp,0x2 +80000508: afc10113 addi sp,sp,-1284 # 80002000 <begin_signature> +8000050c: 00000013 nop +80000510: 00000013 nop +80000514: 122330b7 lui ra,0x12233 +80000518: 00108093 addi ra,ra,1 # 12233001 <_start-0x6ddccfff> +8000051c: 00112a23 sw ra,20(sp) +80000520: 01412183 lw gp,20(sp) +80000524: 12233eb7 lui t4,0x12233 +80000528: 001e8e93 addi t4,t4,1 # 12233001 <_start-0x6ddccfff> +8000052c: 01d19a63 bne gp,t4,80000540 <fail> +80000530: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000534: 00200293 li t0,2 +80000538: fc5216e3 bne tp,t0,80000504 <test_23+0x8> +8000053c: 01c01c63 bne zero,t3,80000554 <pass> + +80000540 <fail>: +80000540: 0ff0000f fence +80000544: 000e0063 beqz t3,80000544 <fail+0x4> +80000548: 001e1e13 slli t3,t3,0x1 +8000054c: 001e6e13 ori t3,t3,1 +80000550: 00000073 ecall + +80000554 <pass>: +80000554: 0ff0000f fence +80000558: 00100e13 li t3,1 +8000055c: 00000073 ecall +80000560: c0001073 unimp +80000564: 0000 unimp +80000566: 0000 unimp +80000568: 0000 unimp +8000056a: 0000 unimp +8000056c: 0000 unimp +8000056e: 0000 unimp +80000570: 0000 unimp +80000572: 0000 unimp +80000574: 0000 unimp +80000576: 0000 unimp +80000578: 0000 unimp +8000057a: 0000 unimp +8000057c: 0000 unimp +8000057e: 0000 unimp +80000580: 0000 unimp +80000582: 0000 unimp + +Disassembly of section .data: + +80002000 <begin_signature>: +80002000: deadbeef jal t4,7ffdd5ea <_start-0x22a16> + +80002004 <tdat2>: +80002004: deadbeef jal t4,7ffdd5ee <_start-0x22a12> + +80002008 <tdat3>: +80002008: deadbeef jal t4,7ffdd5f2 <_start-0x22a0e> + +8000200c <tdat4>: +8000200c: deadbeef jal t4,7ffdd5f6 <_start-0x22a0a> + +80002010 <tdat5>: +80002010: deadbeef jal t4,7ffdd5fa <_start-0x22a06> + +80002014 <tdat6>: +80002014: deadbeef jal t4,7ffdd5fe <_start-0x22a02> + +80002018 <tdat7>: +80002018: deadbeef jal t4,7ffdd602 <_start-0x229fe> + +8000201c <tdat8>: +8000201c: deadbeef jal t4,7ffdd606 <_start-0x229fa> + +80002020 <tdat9>: +80002020: deadbeef jal t4,7ffdd60a <_start-0x229f6> + +80002024 <tdat10>: +80002024: deadbeef jal t4,7ffdd60e <_start-0x229f2> +80002028: 0000 unimp +8000202a: 0000 unimp +8000202c: 0000 unimp +8000202e: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-xor.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-xor.dump new file mode 100644 index 0000000..d6ba3d6 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-xor.dump @@ -0,0 +1,449 @@ + +rv32ui-p-xor: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: ff0100b7 lui ra,0xff010 +800000c0: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000c4: 0f0f1137 lui sp,0xf0f1 +800000c8: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800000cc: 0020c1b3 xor gp,ra,sp +800000d0: f00ffeb7 lui t4,0xf00ff +800000d4: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +800000d8: 00200e13 li t3,2 +800000dc: 4bd19063 bne gp,t4,8000057c <fail> + +800000e0 <test_3>: +800000e0: 0ff010b7 lui ra,0xff01 +800000e4: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800000e8: f0f0f137 lui sp,0xf0f0f +800000ec: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800000f0: 0020c1b3 xor gp,ra,sp +800000f4: ff010eb7 lui t4,0xff010 +800000f8: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +800000fc: 00300e13 li t3,3 +80000100: 47d19e63 bne gp,t4,8000057c <fail> + +80000104 <test_4>: +80000104: 00ff00b7 lui ra,0xff0 +80000108: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000010c: 0f0f1137 lui sp,0xf0f1 +80000110: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000114: 0020c1b3 xor gp,ra,sp +80000118: 0ff01eb7 lui t4,0xff01 +8000011c: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000120: 00400e13 li t3,4 +80000124: 45d19c63 bne gp,t4,8000057c <fail> + +80000128 <test_5>: +80000128: f00ff0b7 lui ra,0xf00ff +8000012c: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000130: f0f0f137 lui sp,0xf0f0f +80000134: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +80000138: 0020c1b3 xor gp,ra,sp +8000013c: 00ff0eb7 lui t4,0xff0 +80000140: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000144: 00500e13 li t3,5 +80000148: 43d19a63 bne gp,t4,8000057c <fail> + +8000014c <test_6>: +8000014c: ff0100b7 lui ra,0xff010 +80000150: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000154: 0f0f1137 lui sp,0xf0f1 +80000158: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000015c: 0020c0b3 xor ra,ra,sp +80000160: f00ffeb7 lui t4,0xf00ff +80000164: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +80000168: 00600e13 li t3,6 +8000016c: 41d09863 bne ra,t4,8000057c <fail> + +80000170 <test_7>: +80000170: ff0100b7 lui ra,0xff010 +80000174: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000178: 0f0f1137 lui sp,0xf0f1 +8000017c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000180: 0020c133 xor sp,ra,sp +80000184: f00ffeb7 lui t4,0xf00ff +80000188: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +8000018c: 00700e13 li t3,7 +80000190: 3fd11663 bne sp,t4,8000057c <fail> + +80000194 <test_8>: +80000194: ff0100b7 lui ra,0xff010 +80000198: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000019c: 0010c0b3 xor ra,ra,ra +800001a0: 00000e93 li t4,0 +800001a4: 00800e13 li t3,8 +800001a8: 3dd09a63 bne ra,t4,8000057c <fail> + +800001ac <test_9>: +800001ac: 00000213 li tp,0 +800001b0: ff0100b7 lui ra,0xff010 +800001b4: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800001b8: 0f0f1137 lui sp,0xf0f1 +800001bc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800001c0: 0020c1b3 xor gp,ra,sp +800001c4: 00018313 mv t1,gp +800001c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001cc: 00200293 li t0,2 +800001d0: fe5210e3 bne tp,t0,800001b0 <test_9+0x4> +800001d4: f00ffeb7 lui t4,0xf00ff +800001d8: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +800001dc: 00900e13 li t3,9 +800001e0: 39d31e63 bne t1,t4,8000057c <fail> + +800001e4 <test_10>: +800001e4: 00000213 li tp,0 +800001e8: 0ff010b7 lui ra,0xff01 +800001ec: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001f0: f0f0f137 lui sp,0xf0f0f +800001f4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800001f8: 0020c1b3 xor gp,ra,sp +800001fc: 00000013 nop +80000200: 00018313 mv t1,gp +80000204: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000208: 00200293 li t0,2 +8000020c: fc521ee3 bne tp,t0,800001e8 <test_10+0x4> +80000210: ff010eb7 lui t4,0xff010 +80000214: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000218: 00a00e13 li t3,10 +8000021c: 37d31063 bne t1,t4,8000057c <fail> + +80000220 <test_11>: +80000220: 00000213 li tp,0 +80000224: 00ff00b7 lui ra,0xff0 +80000228: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000022c: 0f0f1137 lui sp,0xf0f1 +80000230: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000234: 0020c1b3 xor gp,ra,sp +80000238: 00000013 nop +8000023c: 00000013 nop +80000240: 00018313 mv t1,gp +80000244: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000248: 00200293 li t0,2 +8000024c: fc521ce3 bne tp,t0,80000224 <test_11+0x4> +80000250: 0ff01eb7 lui t4,0xff01 +80000254: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000258: 00b00e13 li t3,11 +8000025c: 33d31063 bne t1,t4,8000057c <fail> + +80000260 <test_12>: +80000260: 00000213 li tp,0 +80000264: ff0100b7 lui ra,0xff010 +80000268: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000026c: 0f0f1137 lui sp,0xf0f1 +80000270: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000274: 0020c1b3 xor gp,ra,sp +80000278: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000027c: 00200293 li t0,2 +80000280: fe5212e3 bne tp,t0,80000264 <test_12+0x4> +80000284: f00ffeb7 lui t4,0xf00ff +80000288: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +8000028c: 00c00e13 li t3,12 +80000290: 2fd19663 bne gp,t4,8000057c <fail> + +80000294 <test_13>: +80000294: 00000213 li tp,0 +80000298: 0ff010b7 lui ra,0xff01 +8000029c: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800002a0: f0f0f137 lui sp,0xf0f0f +800002a4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800002a8: 00000013 nop +800002ac: 0020c1b3 xor gp,ra,sp +800002b0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002b4: 00200293 li t0,2 +800002b8: fe5210e3 bne tp,t0,80000298 <test_13+0x4> +800002bc: ff010eb7 lui t4,0xff010 +800002c0: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +800002c4: 00d00e13 li t3,13 +800002c8: 2bd19a63 bne gp,t4,8000057c <fail> + +800002cc <test_14>: +800002cc: 00000213 li tp,0 +800002d0: 00ff00b7 lui ra,0xff0 +800002d4: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800002d8: 0f0f1137 lui sp,0xf0f1 +800002dc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800002e0: 00000013 nop +800002e4: 00000013 nop +800002e8: 0020c1b3 xor gp,ra,sp +800002ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f0: 00200293 li t0,2 +800002f4: fc521ee3 bne tp,t0,800002d0 <test_14+0x4> +800002f8: 0ff01eb7 lui t4,0xff01 +800002fc: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000300: 00e00e13 li t3,14 +80000304: 27d19c63 bne gp,t4,8000057c <fail> + +80000308 <test_15>: +80000308: 00000213 li tp,0 +8000030c: ff0100b7 lui ra,0xff010 +80000310: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000314: 00000013 nop +80000318: 0f0f1137 lui sp,0xf0f1 +8000031c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000320: 0020c1b3 xor gp,ra,sp +80000324: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000328: 00200293 li t0,2 +8000032c: fe5210e3 bne tp,t0,8000030c <test_15+0x4> +80000330: f00ffeb7 lui t4,0xf00ff +80000334: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +80000338: 00f00e13 li t3,15 +8000033c: 25d19063 bne gp,t4,8000057c <fail> + +80000340 <test_16>: +80000340: 00000213 li tp,0 +80000344: 0ff010b7 lui ra,0xff01 +80000348: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +8000034c: 00000013 nop +80000350: f0f0f137 lui sp,0xf0f0f +80000354: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +80000358: 00000013 nop +8000035c: 0020c1b3 xor gp,ra,sp +80000360: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000364: 00200293 li t0,2 +80000368: fc521ee3 bne tp,t0,80000344 <test_16+0x4> +8000036c: ff010eb7 lui t4,0xff010 +80000370: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000374: 01000e13 li t3,16 +80000378: 21d19263 bne gp,t4,8000057c <fail> + +8000037c <test_17>: +8000037c: 00000213 li tp,0 +80000380: 00ff00b7 lui ra,0xff0 +80000384: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000388: 00000013 nop +8000038c: 00000013 nop +80000390: 0f0f1137 lui sp,0xf0f1 +80000394: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000398: 0020c1b3 xor gp,ra,sp +8000039c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003a0: 00200293 li t0,2 +800003a4: fc521ee3 bne tp,t0,80000380 <test_17+0x4> +800003a8: 0ff01eb7 lui t4,0xff01 +800003ac: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +800003b0: 01100e13 li t3,17 +800003b4: 1dd19463 bne gp,t4,8000057c <fail> + +800003b8 <test_18>: +800003b8: 00000213 li tp,0 +800003bc: 0f0f1137 lui sp,0xf0f1 +800003c0: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800003c4: ff0100b7 lui ra,0xff010 +800003c8: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +800003cc: 0020c1b3 xor gp,ra,sp +800003d0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003d4: 00200293 li t0,2 +800003d8: fe5212e3 bne tp,t0,800003bc <test_18+0x4> +800003dc: f00ffeb7 lui t4,0xf00ff +800003e0: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +800003e4: 01200e13 li t3,18 +800003e8: 19d19a63 bne gp,t4,8000057c <fail> + +800003ec <test_19>: +800003ec: 00000213 li tp,0 +800003f0: f0f0f137 lui sp,0xf0f0f +800003f4: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800003f8: 0ff010b7 lui ra,0xff01 +800003fc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000400: 00000013 nop +80000404: 0020c1b3 xor gp,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5210e3 bne tp,t0,800003f0 <test_19+0x4> +80000414: ff010eb7 lui t4,0xff010 +80000418: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +8000041c: 01300e13 li t3,19 +80000420: 15d19e63 bne gp,t4,8000057c <fail> + +80000424 <test_20>: +80000424: 00000213 li tp,0 +80000428: 0f0f1137 lui sp,0xf0f1 +8000042c: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +80000430: 00ff00b7 lui ra,0xff0 +80000434: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000438: 00000013 nop +8000043c: 00000013 nop +80000440: 0020c1b3 xor gp,ra,sp +80000444: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000448: 00200293 li t0,2 +8000044c: fc521ee3 bne tp,t0,80000428 <test_20+0x4> +80000450: 0ff01eb7 lui t4,0xff01 +80000454: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000458: 01400e13 li t3,20 +8000045c: 13d19063 bne gp,t4,8000057c <fail> + +80000460 <test_21>: +80000460: 00000213 li tp,0 +80000464: 0f0f1137 lui sp,0xf0f1 +80000468: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +8000046c: 00000013 nop +80000470: ff0100b7 lui ra,0xff010 +80000474: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000478: 0020c1b3 xor gp,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5210e3 bne tp,t0,80000464 <test_21+0x4> +80000488: f00ffeb7 lui t4,0xf00ff +8000048c: 00fe8e93 addi t4,t4,15 # f00ff00f <begin_signature+0x700fd00f> +80000490: 01500e13 li t3,21 +80000494: 0fd19463 bne gp,t4,8000057c <fail> + +80000498 <test_22>: +80000498: 00000213 li tp,0 +8000049c: f0f0f137 lui sp,0xf0f0f +800004a0: 0f010113 addi sp,sp,240 # f0f0f0f0 <begin_signature+0x70f0d0f0> +800004a4: 00000013 nop +800004a8: 0ff010b7 lui ra,0xff01 +800004ac: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800004b0: 00000013 nop +800004b4: 0020c1b3 xor gp,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fc521ee3 bne tp,t0,8000049c <test_22+0x4> +800004c4: ff010eb7 lui t4,0xff010 +800004c8: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +800004cc: 01600e13 li t3,22 +800004d0: 0bd19663 bne gp,t4,8000057c <fail> + +800004d4 <test_23>: +800004d4: 00000213 li tp,0 +800004d8: 0f0f1137 lui sp,0xf0f1 +800004dc: f0f10113 addi sp,sp,-241 # f0f0f0f <_start-0x70f0f0f1> +800004e0: 00000013 nop +800004e4: 00000013 nop +800004e8: 00ff00b7 lui ra,0xff0 +800004ec: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +800004f0: 0020c1b3 xor gp,ra,sp +800004f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004f8: 00200293 li t0,2 +800004fc: fc521ee3 bne tp,t0,800004d8 <test_23+0x4> +80000500: 0ff01eb7 lui t4,0xff01 +80000504: ff0e8e93 addi t4,t4,-16 # ff00ff0 <_start-0x700ff010> +80000508: 01700e13 li t3,23 +8000050c: 07d19863 bne gp,t4,8000057c <fail> + +80000510 <test_24>: +80000510: ff0100b7 lui ra,0xff010 +80000514: f0008093 addi ra,ra,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000518: 00104133 xor sp,zero,ra +8000051c: ff010eb7 lui t4,0xff010 +80000520: f00e8e93 addi t4,t4,-256 # ff00ff00 <begin_signature+0x7f00df00> +80000524: 01800e13 li t3,24 +80000528: 05d11a63 bne sp,t4,8000057c <fail> + +8000052c <test_25>: +8000052c: 00ff00b7 lui ra,0xff0 +80000530: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +80000534: 0000c133 xor sp,ra,zero +80000538: 00ff0eb7 lui t4,0xff0 +8000053c: 0ffe8e93 addi t4,t4,255 # ff00ff <_start-0x7f00ff01> +80000540: 01900e13 li t3,25 +80000544: 03d11c63 bne sp,t4,8000057c <fail> + +80000548 <test_26>: +80000548: 000040b3 xor ra,zero,zero +8000054c: 00000e93 li t4,0 +80000550: 01a00e13 li t3,26 +80000554: 03d09463 bne ra,t4,8000057c <fail> + +80000558 <test_27>: +80000558: 111110b7 lui ra,0x11111 +8000055c: 11108093 addi ra,ra,273 # 11111111 <_start-0x6eeeeeef> +80000560: 22222137 lui sp,0x22222 +80000564: 22210113 addi sp,sp,546 # 22222222 <_start-0x5dddddde> +80000568: 0020c033 xor zero,ra,sp +8000056c: 00000e93 li t4,0 +80000570: 01b00e13 li t3,27 +80000574: 01d01463 bne zero,t4,8000057c <fail> +80000578: 01c01c63 bne zero,t3,80000590 <pass> + +8000057c <fail>: +8000057c: 0ff0000f fence +80000580: 000e0063 beqz t3,80000580 <fail+0x4> +80000584: 001e1e13 slli t3,t3,0x1 +80000588: 001e6e13 ori t3,t3,1 +8000058c: 00000073 ecall + +80000590 <pass>: +80000590: 0ff0000f fence +80000594: 00100e13 li t3,1 +80000598: 00000073 ecall +8000059c: c0001073 unimp +800005a0: 0000 unimp +800005a2: 0000 unimp +800005a4: 0000 unimp +800005a6: 0000 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32ui-p-xori.dump b/VexRiscv/src/test/resources/asm/rv32ui-p-xori.dump new file mode 100644 index 0000000..dae363b --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32ui-p-xori.dump @@ -0,0 +1,222 @@ + +rv32ui-p-xori: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00ff10b7 lui ra,0xff1 +800000c0: f0008093 addi ra,ra,-256 # ff0f00 <_start-0x7f00f100> +800000c4: f0f0c193 xori gp,ra,-241 +800000c8: ff00feb7 lui t4,0xff00f +800000cc: 00fe8e93 addi t4,t4,15 # ff00f00f <begin_signature+0x7f00d00f> +800000d0: 00200e13 li t3,2 +800000d4: 1dd19663 bne gp,t4,800002a0 <fail> + +800000d8 <test_3>: +800000d8: 0ff010b7 lui ra,0xff01 +800000dc: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800000e0: 0f00c193 xori gp,ra,240 +800000e4: 0ff01eb7 lui t4,0xff01 +800000e8: f00e8e93 addi t4,t4,-256 # ff00f00 <_start-0x700ff100> +800000ec: 00300e13 li t3,3 +800000f0: 1bd19863 bne gp,t4,800002a0 <fail> + +800000f4 <test_4>: +800000f4: 00ff10b7 lui ra,0xff1 +800000f8: 8ff08093 addi ra,ra,-1793 # ff08ff <_start-0x7f00f701> +800000fc: 70f0c193 xori gp,ra,1807 +80000100: 00ff1eb7 lui t4,0xff1 +80000104: ff0e8e93 addi t4,t4,-16 # ff0ff0 <_start-0x7f00f010> +80000108: 00400e13 li t3,4 +8000010c: 19d19a63 bne gp,t4,800002a0 <fail> + +80000110 <test_5>: +80000110: f00ff0b7 lui ra,0xf00ff +80000114: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +80000118: 0f00c193 xori gp,ra,240 +8000011c: f00ffeb7 lui t4,0xf00ff +80000120: 0ffe8e93 addi t4,t4,255 # f00ff0ff <begin_signature+0x700fd0ff> +80000124: 00500e13 li t3,5 +80000128: 17d19c63 bne gp,t4,800002a0 <fail> + +8000012c <test_6>: +8000012c: ff00f0b7 lui ra,0xff00f +80000130: 70008093 addi ra,ra,1792 # ff00f700 <begin_signature+0x7f00d700> +80000134: 70f0c093 xori ra,ra,1807 +80000138: ff00feb7 lui t4,0xff00f +8000013c: 00fe8e93 addi t4,t4,15 # ff00f00f <begin_signature+0x7f00d00f> +80000140: 00600e13 li t3,6 +80000144: 15d09e63 bne ra,t4,800002a0 <fail> + +80000148 <test_7>: +80000148: 00000213 li tp,0 +8000014c: 0ff010b7 lui ra,0xff01 +80000150: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +80000154: 0f00c193 xori gp,ra,240 +80000158: 00018313 mv t1,gp +8000015c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000160: 00200293 li t0,2 +80000164: fe5214e3 bne tp,t0,8000014c <test_7+0x4> +80000168: 0ff01eb7 lui t4,0xff01 +8000016c: f00e8e93 addi t4,t4,-256 # ff00f00 <_start-0x700ff100> +80000170: 00700e13 li t3,7 +80000174: 13d31663 bne t1,t4,800002a0 <fail> + +80000178 <test_8>: +80000178: 00000213 li tp,0 +8000017c: 00ff10b7 lui ra,0xff1 +80000180: 8ff08093 addi ra,ra,-1793 # ff08ff <_start-0x7f00f701> +80000184: 70f0c193 xori gp,ra,1807 +80000188: 00000013 nop +8000018c: 00018313 mv t1,gp +80000190: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000194: 00200293 li t0,2 +80000198: fe5212e3 bne tp,t0,8000017c <test_8+0x4> +8000019c: 00ff1eb7 lui t4,0xff1 +800001a0: ff0e8e93 addi t4,t4,-16 # ff0ff0 <_start-0x7f00f010> +800001a4: 00800e13 li t3,8 +800001a8: 0fd31c63 bne t1,t4,800002a0 <fail> + +800001ac <test_9>: +800001ac: 00000213 li tp,0 +800001b0: f00ff0b7 lui ra,0xf00ff +800001b4: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +800001b8: 0f00c193 xori gp,ra,240 +800001bc: 00000013 nop +800001c0: 00000013 nop +800001c4: 00018313 mv t1,gp +800001c8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001cc: 00200293 li t0,2 +800001d0: fe5210e3 bne tp,t0,800001b0 <test_9+0x4> +800001d4: f00ffeb7 lui t4,0xf00ff +800001d8: 0ffe8e93 addi t4,t4,255 # f00ff0ff <begin_signature+0x700fd0ff> +800001dc: 00900e13 li t3,9 +800001e0: 0dd31063 bne t1,t4,800002a0 <fail> + +800001e4 <test_10>: +800001e4: 00000213 li tp,0 +800001e8: 0ff010b7 lui ra,0xff01 +800001ec: ff008093 addi ra,ra,-16 # ff00ff0 <_start-0x700ff010> +800001f0: 0f00c193 xori gp,ra,240 +800001f4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800001f8: 00200293 li t0,2 +800001fc: fe5216e3 bne tp,t0,800001e8 <test_10+0x4> +80000200: 0ff01eb7 lui t4,0xff01 +80000204: f00e8e93 addi t4,t4,-256 # ff00f00 <_start-0x700ff100> +80000208: 00a00e13 li t3,10 +8000020c: 09d19a63 bne gp,t4,800002a0 <fail> + +80000210 <test_11>: +80000210: 00000213 li tp,0 +80000214: 00ff10b7 lui ra,0xff1 +80000218: fff08093 addi ra,ra,-1 # ff0fff <_start-0x7f00f001> +8000021c: 00000013 nop +80000220: 00f0c193 xori gp,ra,15 +80000224: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000228: 00200293 li t0,2 +8000022c: fe5214e3 bne tp,t0,80000214 <test_11+0x4> +80000230: 00ff1eb7 lui t4,0xff1 +80000234: ff0e8e93 addi t4,t4,-16 # ff0ff0 <_start-0x7f00f010> +80000238: 00b00e13 li t3,11 +8000023c: 07d19263 bne gp,t4,800002a0 <fail> + +80000240 <test_12>: +80000240: 00000213 li tp,0 +80000244: f00ff0b7 lui ra,0xf00ff +80000248: 00f08093 addi ra,ra,15 # f00ff00f <begin_signature+0x700fd00f> +8000024c: 00000013 nop +80000250: 00000013 nop +80000254: 0f00c193 xori gp,ra,240 +80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000025c: 00200293 li t0,2 +80000260: fe5212e3 bne tp,t0,80000244 <test_12+0x4> +80000264: f00ffeb7 lui t4,0xf00ff +80000268: 0ffe8e93 addi t4,t4,255 # f00ff0ff <begin_signature+0x700fd0ff> +8000026c: 00c00e13 li t3,12 +80000270: 03d19863 bne gp,t4,800002a0 <fail> + +80000274 <test_13>: +80000274: 0f004093 xori ra,zero,240 +80000278: 0f000e93 li t4,240 +8000027c: 00d00e13 li t3,13 +80000280: 03d09063 bne ra,t4,800002a0 <fail> + +80000284 <test_14>: +80000284: 00ff00b7 lui ra,0xff0 +80000288: 0ff08093 addi ra,ra,255 # ff00ff <_start-0x7f00ff01> +8000028c: 70f0c013 xori zero,ra,1807 +80000290: 00000e93 li t4,0 +80000294: 00e00e13 li t3,14 +80000298: 01d01463 bne zero,t4,800002a0 <fail> +8000029c: 01c01c63 bne zero,t3,800002b4 <pass> + +800002a0 <fail>: +800002a0: 0ff0000f fence +800002a4: 000e0063 beqz t3,800002a4 <fail+0x4> +800002a8: 001e1e13 slli t3,t3,0x1 +800002ac: 001e6e13 ori t3,t3,1 +800002b0: 00000073 ecall + +800002b4 <pass>: +800002b4: 0ff0000f fence +800002b8: 00100e13 li t3,1 +800002bc: 00000073 ecall +800002c0: c0001073 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-div.dump b/VexRiscv/src/test/resources/asm/rv32um-p-div.dump new file mode 100644 index 0000000..1048a52 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-div.dump @@ -0,0 +1,152 @@ + +rv32um-p-div: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 01400093 li ra,20 +800000c0: 00600113 li sp,6 +800000c4: 0220c1b3 div gp,ra,sp +800000c8: 00300e93 li t4,3 +800000cc: 00200e13 li t3,2 +800000d0: 0dd19463 bne gp,t4,80000198 <fail> + +800000d4 <test_3>: +800000d4: fec00093 li ra,-20 +800000d8: 00600113 li sp,6 +800000dc: 0220c1b3 div gp,ra,sp +800000e0: ffd00e93 li t4,-3 +800000e4: 00300e13 li t3,3 +800000e8: 0bd19863 bne gp,t4,80000198 <fail> + +800000ec <test_4>: +800000ec: 01400093 li ra,20 +800000f0: ffa00113 li sp,-6 +800000f4: 0220c1b3 div gp,ra,sp +800000f8: ffd00e93 li t4,-3 +800000fc: 00400e13 li t3,4 +80000100: 09d19c63 bne gp,t4,80000198 <fail> + +80000104 <test_5>: +80000104: fec00093 li ra,-20 +80000108: ffa00113 li sp,-6 +8000010c: 0220c1b3 div gp,ra,sp +80000110: 00300e93 li t4,3 +80000114: 00500e13 li t3,5 +80000118: 09d19063 bne gp,t4,80000198 <fail> + +8000011c <test_6>: +8000011c: 00000093 li ra,0 +80000120: 00100113 li sp,1 +80000124: 0220c1b3 div gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 07d19463 bne gp,t4,80000198 <fail> + +80000134 <test_7>: +80000134: 00000093 li ra,0 +80000138: fff00113 li sp,-1 +8000013c: 0220c1b3 div gp,ra,sp +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 05d19863 bne gp,t4,80000198 <fail> + +8000014c <test_8>: +8000014c: 00000093 li ra,0 +80000150: 00000113 li sp,0 +80000154: 0220c1b3 div gp,ra,sp +80000158: fff00e93 li t4,-1 +8000015c: 00800e13 li t3,8 +80000160: 03d19c63 bne gp,t4,80000198 <fail> + +80000164 <test_9>: +80000164: 00100093 li ra,1 +80000168: 00000113 li sp,0 +8000016c: 0220c1b3 div gp,ra,sp +80000170: fff00e93 li t4,-1 +80000174: 00900e13 li t3,9 +80000178: 03d19063 bne gp,t4,80000198 <fail> + +8000017c <test_10>: +8000017c: 00000093 li ra,0 +80000180: 00000113 li sp,0 +80000184: 0220c1b3 div gp,ra,sp +80000188: fff00e93 li t4,-1 +8000018c: 00a00e13 li t3,10 +80000190: 01d19463 bne gp,t4,80000198 <fail> +80000194: 01c01c63 bne zero,t3,800001ac <pass> + +80000198 <fail>: +80000198: 0ff0000f fence +8000019c: 000e0063 beqz t3,8000019c <fail+0x4> +800001a0: 001e1e13 slli t3,t3,0x1 +800001a4: 001e6e13 ori t3,t3,1 +800001a8: 00000073 ecall + +800001ac <pass>: +800001ac: 0ff0000f fence +800001b0: 00100e13 li t3,1 +800001b4: 00000073 ecall +800001b8: c0001073 unimp +800001bc: 0000 unimp +800001be: 0000 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-divu.dump b/VexRiscv/src/test/resources/asm/rv32um-p-divu.dump new file mode 100644 index 0000000..8345377 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-divu.dump @@ -0,0 +1,151 @@ + +rv32um-p-divu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 01400093 li ra,20 +800000c0: 00600113 li sp,6 +800000c4: 0220d1b3 divu gp,ra,sp +800000c8: 00300e93 li t4,3 +800000cc: 00200e13 li t3,2 +800000d0: 0dd19663 bne gp,t4,8000019c <fail> + +800000d4 <test_3>: +800000d4: fec00093 li ra,-20 +800000d8: 00600113 li sp,6 +800000dc: 0220d1b3 divu gp,ra,sp +800000e0: 2aaabeb7 lui t4,0x2aaab +800000e4: aa7e8e93 addi t4,t4,-1369 # 2aaaaaa7 <_start-0x55555559> +800000e8: 00300e13 li t3,3 +800000ec: 0bd19863 bne gp,t4,8000019c <fail> + +800000f0 <test_4>: +800000f0: 01400093 li ra,20 +800000f4: ffa00113 li sp,-6 +800000f8: 0220d1b3 divu gp,ra,sp +800000fc: 00000e93 li t4,0 +80000100: 00400e13 li t3,4 +80000104: 09d19c63 bne gp,t4,8000019c <fail> + +80000108 <test_5>: +80000108: fec00093 li ra,-20 +8000010c: ffa00113 li sp,-6 +80000110: 0220d1b3 divu gp,ra,sp +80000114: 00000e93 li t4,0 +80000118: 00500e13 li t3,5 +8000011c: 09d19063 bne gp,t4,8000019c <fail> + +80000120 <test_6>: +80000120: 800000b7 lui ra,0x80000 +80000124: 00100113 li sp,1 +80000128: 0220d1b3 divu gp,ra,sp +8000012c: 80000eb7 lui t4,0x80000 +80000130: 00600e13 li t3,6 +80000134: 07d19463 bne gp,t4,8000019c <fail> + +80000138 <test_7>: +80000138: 800000b7 lui ra,0x80000 +8000013c: fff00113 li sp,-1 +80000140: 0220d1b3 divu gp,ra,sp +80000144: 00000e93 li t4,0 +80000148: 00700e13 li t3,7 +8000014c: 05d19863 bne gp,t4,8000019c <fail> + +80000150 <test_8>: +80000150: 800000b7 lui ra,0x80000 +80000154: 00000113 li sp,0 +80000158: 0220d1b3 divu gp,ra,sp +8000015c: fff00e93 li t4,-1 +80000160: 00800e13 li t3,8 +80000164: 03d19c63 bne gp,t4,8000019c <fail> + +80000168 <test_9>: +80000168: 00100093 li ra,1 +8000016c: 00000113 li sp,0 +80000170: 0220d1b3 divu gp,ra,sp +80000174: fff00e93 li t4,-1 +80000178: 00900e13 li t3,9 +8000017c: 03d19063 bne gp,t4,8000019c <fail> + +80000180 <test_10>: +80000180: 00000093 li ra,0 +80000184: 00000113 li sp,0 +80000188: 0220d1b3 divu gp,ra,sp +8000018c: fff00e93 li t4,-1 +80000190: 00a00e13 li t3,10 +80000194: 01d19463 bne gp,t4,8000019c <fail> +80000198: 01c01c63 bne zero,t3,800001b0 <pass> + +8000019c <fail>: +8000019c: 0ff0000f fence +800001a0: 000e0063 beqz t3,800001a0 <fail+0x4> +800001a4: 001e1e13 slli t3,t3,0x1 +800001a8: 001e6e13 ori t3,t3,1 +800001ac: 00000073 ecall + +800001b0 <pass>: +800001b0: 0ff0000f fence +800001b4: 00100e13 li t3,1 +800001b8: 00000073 ecall +800001bc: c0001073 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-mul.dump b/VexRiscv/src/test/resources/asm/rv32um-p-mul.dump new file mode 100644 index 0000000..ab9bfba --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-mul.dump @@ -0,0 +1,467 @@ + +rv32um-p-mul: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_32> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_32>: +800000bc: 000080b7 lui ra,0x8 +800000c0: e0008093 addi ra,ra,-512 # 7e00 <_start-0x7fff8200> +800000c4: b6db7137 lui sp,0xb6db7 +800000c8: db710113 addi sp,sp,-585 # b6db6db7 <begin_signature+0x36db4db7> +800000cc: 022081b3 mul gp,ra,sp +800000d0: 00001eb7 lui t4,0x1 +800000d4: 200e8e93 addi t4,t4,512 # 1200 <_start-0x7fffee00> +800000d8: 02000e13 li t3,32 +800000dc: 4bd19463 bne gp,t4,80000584 <fail> + +800000e0 <test_33>: +800000e0: 000080b7 lui ra,0x8 +800000e4: fc008093 addi ra,ra,-64 # 7fc0 <_start-0x7fff8040> +800000e8: b6db7137 lui sp,0xb6db7 +800000ec: db710113 addi sp,sp,-585 # b6db6db7 <begin_signature+0x36db4db7> +800000f0: 022081b3 mul gp,ra,sp +800000f4: 00001eb7 lui t4,0x1 +800000f8: 240e8e93 addi t4,t4,576 # 1240 <_start-0x7fffedc0> +800000fc: 02100e13 li t3,33 +80000100: 49d19263 bne gp,t4,80000584 <fail> + +80000104 <test_2>: +80000104: 00000093 li ra,0 +80000108: 00000113 li sp,0 +8000010c: 022081b3 mul gp,ra,sp +80000110: 00000e93 li t4,0 +80000114: 00200e13 li t3,2 +80000118: 47d19663 bne gp,t4,80000584 <fail> + +8000011c <test_3>: +8000011c: 00100093 li ra,1 +80000120: 00100113 li sp,1 +80000124: 022081b3 mul gp,ra,sp +80000128: 00100e93 li t4,1 +8000012c: 00300e13 li t3,3 +80000130: 45d19a63 bne gp,t4,80000584 <fail> + +80000134 <test_4>: +80000134: 00300093 li ra,3 +80000138: 00700113 li sp,7 +8000013c: 022081b3 mul gp,ra,sp +80000140: 01500e93 li t4,21 +80000144: 00400e13 li t3,4 +80000148: 43d19e63 bne gp,t4,80000584 <fail> + +8000014c <test_5>: +8000014c: 00000093 li ra,0 +80000150: ffff8137 lui sp,0xffff8 +80000154: 022081b3 mul gp,ra,sp +80000158: 00000e93 li t4,0 +8000015c: 00500e13 li t3,5 +80000160: 43d19263 bne gp,t4,80000584 <fail> + +80000164 <test_6>: +80000164: 800000b7 lui ra,0x80000 +80000168: 00000113 li sp,0 +8000016c: 022081b3 mul gp,ra,sp +80000170: 00000e93 li t4,0 +80000174: 00600e13 li t3,6 +80000178: 41d19663 bne gp,t4,80000584 <fail> + +8000017c <test_7>: +8000017c: 800000b7 lui ra,0x80000 +80000180: ffff8137 lui sp,0xffff8 +80000184: 022081b3 mul gp,ra,sp +80000188: 00000e93 li t4,0 +8000018c: 00700e13 li t3,7 +80000190: 3fd19a63 bne gp,t4,80000584 <fail> + +80000194 <test_30>: +80000194: aaaab0b7 lui ra,0xaaaab +80000198: aab08093 addi ra,ra,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +8000019c: 00030137 lui sp,0x30 +800001a0: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +800001a4: 022081b3 mul gp,ra,sp +800001a8: 00010eb7 lui t4,0x10 +800001ac: f7fe8e93 addi t4,t4,-129 # ff7f <_start-0x7fff0081> +800001b0: 01e00e13 li t3,30 +800001b4: 3dd19863 bne gp,t4,80000584 <fail> + +800001b8 <test_31>: +800001b8: 000300b7 lui ra,0x30 +800001bc: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +800001c0: aaaab137 lui sp,0xaaaab +800001c4: aab10113 addi sp,sp,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +800001c8: 022081b3 mul gp,ra,sp +800001cc: 00010eb7 lui t4,0x10 +800001d0: f7fe8e93 addi t4,t4,-129 # ff7f <_start-0x7fff0081> +800001d4: 01f00e13 li t3,31 +800001d8: 3bd19663 bne gp,t4,80000584 <fail> + +800001dc <test_34>: +800001dc: ff0000b7 lui ra,0xff000 +800001e0: ff000137 lui sp,0xff000 +800001e4: 022081b3 mul gp,ra,sp +800001e8: 00000e93 li t4,0 +800001ec: 02200e13 li t3,34 +800001f0: 39d19a63 bne gp,t4,80000584 <fail> + +800001f4 <test_35>: +800001f4: fff00093 li ra,-1 +800001f8: fff00113 li sp,-1 +800001fc: 022081b3 mul gp,ra,sp +80000200: 00100e93 li t4,1 +80000204: 02300e13 li t3,35 +80000208: 37d19e63 bne gp,t4,80000584 <fail> + +8000020c <test_36>: +8000020c: fff00093 li ra,-1 +80000210: 00100113 li sp,1 +80000214: 022081b3 mul gp,ra,sp +80000218: fff00e93 li t4,-1 +8000021c: 02400e13 li t3,36 +80000220: 37d19263 bne gp,t4,80000584 <fail> + +80000224 <test_37>: +80000224: 00100093 li ra,1 +80000228: fff00113 li sp,-1 +8000022c: 022081b3 mul gp,ra,sp +80000230: fff00e93 li t4,-1 +80000234: 02500e13 li t3,37 +80000238: 35d19663 bne gp,t4,80000584 <fail> + +8000023c <test_8>: +8000023c: 00d00093 li ra,13 +80000240: 00b00113 li sp,11 +80000244: 022080b3 mul ra,ra,sp +80000248: 08f00e93 li t4,143 +8000024c: 00800e13 li t3,8 +80000250: 33d09a63 bne ra,t4,80000584 <fail> + +80000254 <test_9>: +80000254: 00e00093 li ra,14 +80000258: 00b00113 li sp,11 +8000025c: 02208133 mul sp,ra,sp +80000260: 09a00e93 li t4,154 +80000264: 00900e13 li t3,9 +80000268: 31d11e63 bne sp,t4,80000584 <fail> + +8000026c <test_10>: +8000026c: 00d00093 li ra,13 +80000270: 021080b3 mul ra,ra,ra +80000274: 0a900e93 li t4,169 +80000278: 00a00e13 li t3,10 +8000027c: 31d09463 bne ra,t4,80000584 <fail> + +80000280 <test_11>: +80000280: 00000213 li tp,0 +80000284: 00d00093 li ra,13 +80000288: 00b00113 li sp,11 +8000028c: 022081b3 mul gp,ra,sp +80000290: 00018313 mv t1,gp +80000294: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000298: 00200293 li t0,2 +8000029c: fe5214e3 bne tp,t0,80000284 <test_11+0x4> +800002a0: 08f00e93 li t4,143 +800002a4: 00b00e13 li t3,11 +800002a8: 2dd31e63 bne t1,t4,80000584 <fail> + +800002ac <test_12>: +800002ac: 00000213 li tp,0 +800002b0: 00e00093 li ra,14 +800002b4: 00b00113 li sp,11 +800002b8: 022081b3 mul gp,ra,sp +800002bc: 00000013 nop +800002c0: 00018313 mv t1,gp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5212e3 bne tp,t0,800002b0 <test_12+0x4> +800002d0: 09a00e93 li t4,154 +800002d4: 00c00e13 li t3,12 +800002d8: 2bd31663 bne t1,t4,80000584 <fail> + +800002dc <test_13>: +800002dc: 00000213 li tp,0 +800002e0: 00f00093 li ra,15 +800002e4: 00b00113 li sp,11 +800002e8: 022081b3 mul gp,ra,sp +800002ec: 00000013 nop +800002f0: 00000013 nop +800002f4: 00018313 mv t1,gp +800002f8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002fc: 00200293 li t0,2 +80000300: fe5210e3 bne tp,t0,800002e0 <test_13+0x4> +80000304: 0a500e93 li t4,165 +80000308: 00d00e13 li t3,13 +8000030c: 27d31c63 bne t1,t4,80000584 <fail> + +80000310 <test_14>: +80000310: 00000213 li tp,0 +80000314: 00d00093 li ra,13 +80000318: 00b00113 li sp,11 +8000031c: 022081b3 mul gp,ra,sp +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5216e3 bne tp,t0,80000314 <test_14+0x4> +8000032c: 08f00e93 li t4,143 +80000330: 00e00e13 li t3,14 +80000334: 25d19863 bne gp,t4,80000584 <fail> + +80000338 <test_15>: +80000338: 00000213 li tp,0 +8000033c: 00e00093 li ra,14 +80000340: 00b00113 li sp,11 +80000344: 00000013 nop +80000348: 022081b3 mul gp,ra,sp +8000034c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000350: 00200293 li t0,2 +80000354: fe5214e3 bne tp,t0,8000033c <test_15+0x4> +80000358: 09a00e93 li t4,154 +8000035c: 00f00e13 li t3,15 +80000360: 23d19263 bne gp,t4,80000584 <fail> + +80000364 <test_16>: +80000364: 00000213 li tp,0 +80000368: 00f00093 li ra,15 +8000036c: 00b00113 li sp,11 +80000370: 00000013 nop +80000374: 00000013 nop +80000378: 022081b3 mul gp,ra,sp +8000037c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000380: 00200293 li t0,2 +80000384: fe5212e3 bne tp,t0,80000368 <test_16+0x4> +80000388: 0a500e93 li t4,165 +8000038c: 01000e13 li t3,16 +80000390: 1fd19a63 bne gp,t4,80000584 <fail> + +80000394 <test_17>: +80000394: 00000213 li tp,0 +80000398: 00d00093 li ra,13 +8000039c: 00000013 nop +800003a0: 00b00113 li sp,11 +800003a4: 022081b3 mul gp,ra,sp +800003a8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003ac: 00200293 li t0,2 +800003b0: fe5214e3 bne tp,t0,80000398 <test_17+0x4> +800003b4: 08f00e93 li t4,143 +800003b8: 01100e13 li t3,17 +800003bc: 1dd19463 bne gp,t4,80000584 <fail> + +800003c0 <test_18>: +800003c0: 00000213 li tp,0 +800003c4: 00e00093 li ra,14 +800003c8: 00000013 nop +800003cc: 00b00113 li sp,11 +800003d0: 00000013 nop +800003d4: 022081b3 mul gp,ra,sp +800003d8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003dc: 00200293 li t0,2 +800003e0: fe5212e3 bne tp,t0,800003c4 <test_18+0x4> +800003e4: 09a00e93 li t4,154 +800003e8: 01200e13 li t3,18 +800003ec: 19d19c63 bne gp,t4,80000584 <fail> + +800003f0 <test_19>: +800003f0: 00000213 li tp,0 +800003f4: 00f00093 li ra,15 +800003f8: 00000013 nop +800003fc: 00000013 nop +80000400: 00b00113 li sp,11 +80000404: 022081b3 mul gp,ra,sp +80000408: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000040c: 00200293 li t0,2 +80000410: fe5212e3 bne tp,t0,800003f4 <test_19+0x4> +80000414: 0a500e93 li t4,165 +80000418: 01300e13 li t3,19 +8000041c: 17d19463 bne gp,t4,80000584 <fail> + +80000420 <test_20>: +80000420: 00000213 li tp,0 +80000424: 00b00113 li sp,11 +80000428: 00d00093 li ra,13 +8000042c: 022081b3 mul gp,ra,sp +80000430: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000434: 00200293 li t0,2 +80000438: fe5216e3 bne tp,t0,80000424 <test_20+0x4> +8000043c: 08f00e93 li t4,143 +80000440: 01400e13 li t3,20 +80000444: 15d19063 bne gp,t4,80000584 <fail> + +80000448 <test_21>: +80000448: 00000213 li tp,0 +8000044c: 00b00113 li sp,11 +80000450: 00e00093 li ra,14 +80000454: 00000013 nop +80000458: 022081b3 mul gp,ra,sp +8000045c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000460: 00200293 li t0,2 +80000464: fe5214e3 bne tp,t0,8000044c <test_21+0x4> +80000468: 09a00e93 li t4,154 +8000046c: 01500e13 li t3,21 +80000470: 11d19a63 bne gp,t4,80000584 <fail> + +80000474 <test_22>: +80000474: 00000213 li tp,0 +80000478: 00b00113 li sp,11 +8000047c: 00f00093 li ra,15 +80000480: 00000013 nop +80000484: 00000013 nop +80000488: 022081b3 mul gp,ra,sp +8000048c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000490: 00200293 li t0,2 +80000494: fe5212e3 bne tp,t0,80000478 <test_22+0x4> +80000498: 0a500e93 li t4,165 +8000049c: 01600e13 li t3,22 +800004a0: 0fd19263 bne gp,t4,80000584 <fail> + +800004a4 <test_23>: +800004a4: 00000213 li tp,0 +800004a8: 00b00113 li sp,11 +800004ac: 00000013 nop +800004b0: 00d00093 li ra,13 +800004b4: 022081b3 mul gp,ra,sp +800004b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004bc: 00200293 li t0,2 +800004c0: fe5214e3 bne tp,t0,800004a8 <test_23+0x4> +800004c4: 08f00e93 li t4,143 +800004c8: 01700e13 li t3,23 +800004cc: 0bd19c63 bne gp,t4,80000584 <fail> + +800004d0 <test_24>: +800004d0: 00000213 li tp,0 +800004d4: 00b00113 li sp,11 +800004d8: 00000013 nop +800004dc: 00e00093 li ra,14 +800004e0: 00000013 nop +800004e4: 022081b3 mul gp,ra,sp +800004e8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004ec: 00200293 li t0,2 +800004f0: fe5212e3 bne tp,t0,800004d4 <test_24+0x4> +800004f4: 09a00e93 li t4,154 +800004f8: 01800e13 li t3,24 +800004fc: 09d19463 bne gp,t4,80000584 <fail> + +80000500 <test_25>: +80000500: 00000213 li tp,0 +80000504: 00b00113 li sp,11 +80000508: 00000013 nop +8000050c: 00000013 nop +80000510: 00f00093 li ra,15 +80000514: 022081b3 mul gp,ra,sp +80000518: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000051c: 00200293 li t0,2 +80000520: fe5212e3 bne tp,t0,80000504 <test_25+0x4> +80000524: 0a500e93 li t4,165 +80000528: 01900e13 li t3,25 +8000052c: 05d19c63 bne gp,t4,80000584 <fail> + +80000530 <test_26>: +80000530: 01f00093 li ra,31 +80000534: 02100133 mul sp,zero,ra +80000538: 00000e93 li t4,0 +8000053c: 01a00e13 li t3,26 +80000540: 05d11263 bne sp,t4,80000584 <fail> + +80000544 <test_27>: +80000544: 02000093 li ra,32 +80000548: 02008133 mul sp,ra,zero +8000054c: 00000e93 li t4,0 +80000550: 01b00e13 li t3,27 +80000554: 03d11863 bne sp,t4,80000584 <fail> + +80000558 <test_28>: +80000558: 020000b3 mul ra,zero,zero +8000055c: 00000e93 li t4,0 +80000560: 01c00e13 li t3,28 +80000564: 03d09063 bne ra,t4,80000584 <fail> + +80000568 <test_29>: +80000568: 02100093 li ra,33 +8000056c: 02200113 li sp,34 +80000570: 02208033 mul zero,ra,sp +80000574: 00000e93 li t4,0 +80000578: 01d00e13 li t3,29 +8000057c: 01d01463 bne zero,t4,80000584 <fail> +80000580: 01c01c63 bne zero,t3,80000598 <pass> + +80000584 <fail>: +80000584: 0ff0000f fence +80000588: 000e0063 beqz t3,80000588 <fail+0x4> +8000058c: 001e1e13 slli t3,t3,0x1 +80000590: 001e6e13 ori t3,t3,1 +80000594: 00000073 ecall + +80000598 <pass>: +80000598: 0ff0000f fence +8000059c: 00100e13 li t3,1 +800005a0: 00000073 ecall +800005a4: c0001073 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-mulh.dump b/VexRiscv/src/test/resources/asm/rv32um-p-mulh.dump new file mode 100644 index 0000000..04f7957 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-mulh.dump @@ -0,0 +1,463 @@ + +rv32um-p-mulh: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 022091b3 mulh gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4bd19a63 bne gp,t4,80000584 <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 022091b3 mulh gp,ra,sp +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 49d19e63 bne gp,t4,80000584 <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 022091b3 mulh gp,ra,sp +800000f8: 00000e93 li t4,0 +800000fc: 00400e13 li t3,4 +80000100: 49d19263 bne gp,t4,80000584 <fail> + +80000104 <test_5>: +80000104: 00000093 li ra,0 +80000108: ffff8137 lui sp,0xffff8 +8000010c: 022091b3 mulh gp,ra,sp +80000110: 00000e93 li t4,0 +80000114: 00500e13 li t3,5 +80000118: 47d19663 bne gp,t4,80000584 <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00000113 li sp,0 +80000124: 022091b3 mulh gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 45d19a63 bne gp,t4,80000584 <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: 00000113 li sp,0 +8000013c: 022091b3 mulh gp,ra,sp +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 43d19e63 bne gp,t4,80000584 <fail> + +8000014c <test_30>: +8000014c: aaaab0b7 lui ra,0xaaaab +80000150: aab08093 addi ra,ra,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +80000154: 00030137 lui sp,0x30 +80000158: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +8000015c: 022091b3 mulh gp,ra,sp +80000160: ffff0eb7 lui t4,0xffff0 +80000164: 081e8e93 addi t4,t4,129 # ffff0081 <begin_signature+0x7ffee081> +80000168: 01e00e13 li t3,30 +8000016c: 41d19c63 bne gp,t4,80000584 <fail> + +80000170 <test_31>: +80000170: 000300b7 lui ra,0x30 +80000174: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +80000178: aaaab137 lui sp,0xaaaab +8000017c: aab10113 addi sp,sp,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +80000180: 022091b3 mulh gp,ra,sp +80000184: ffff0eb7 lui t4,0xffff0 +80000188: 081e8e93 addi t4,t4,129 # ffff0081 <begin_signature+0x7ffee081> +8000018c: 01f00e13 li t3,31 +80000190: 3fd19a63 bne gp,t4,80000584 <fail> + +80000194 <test_32>: +80000194: ff0000b7 lui ra,0xff000 +80000198: ff000137 lui sp,0xff000 +8000019c: 022091b3 mulh gp,ra,sp +800001a0: 00010eb7 lui t4,0x10 +800001a4: 02000e13 li t3,32 +800001a8: 3dd19e63 bne gp,t4,80000584 <fail> + +800001ac <test_33>: +800001ac: fff00093 li ra,-1 +800001b0: fff00113 li sp,-1 +800001b4: 022091b3 mulh gp,ra,sp +800001b8: 00000e93 li t4,0 +800001bc: 02100e13 li t3,33 +800001c0: 3dd19263 bne gp,t4,80000584 <fail> + +800001c4 <test_34>: +800001c4: fff00093 li ra,-1 +800001c8: 00100113 li sp,1 +800001cc: 022091b3 mulh gp,ra,sp +800001d0: fff00e93 li t4,-1 +800001d4: 02200e13 li t3,34 +800001d8: 3bd19663 bne gp,t4,80000584 <fail> + +800001dc <test_35>: +800001dc: 00100093 li ra,1 +800001e0: fff00113 li sp,-1 +800001e4: 022091b3 mulh gp,ra,sp +800001e8: fff00e93 li t4,-1 +800001ec: 02300e13 li t3,35 +800001f0: 39d19a63 bne gp,t4,80000584 <fail> + +800001f4 <test_8>: +800001f4: 00d000b7 lui ra,0xd00 +800001f8: 00b00137 lui sp,0xb00 +800001fc: 022090b3 mulh ra,ra,sp +80000200: 00009eb7 lui t4,0x9 +80000204: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000208: 00800e13 li t3,8 +8000020c: 37d09c63 bne ra,t4,80000584 <fail> + +80000210 <test_9>: +80000210: 00e000b7 lui ra,0xe00 +80000214: 00b00137 lui sp,0xb00 +80000218: 02209133 mulh sp,ra,sp +8000021c: 0000aeb7 lui t4,0xa +80000220: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000224: 00900e13 li t3,9 +80000228: 35d11e63 bne sp,t4,80000584 <fail> + +8000022c <test_10>: +8000022c: 00d000b7 lui ra,0xd00 +80000230: 021090b3 mulh ra,ra,ra +80000234: 0000beb7 lui t4,0xb +80000238: 900e8e93 addi t4,t4,-1792 # a900 <_start-0x7fff5700> +8000023c: 00a00e13 li t3,10 +80000240: 35d09263 bne ra,t4,80000584 <fail> + +80000244 <test_11>: +80000244: 00000213 li tp,0 +80000248: 00d000b7 lui ra,0xd00 +8000024c: 00b00137 lui sp,0xb00 +80000250: 022091b3 mulh gp,ra,sp +80000254: 00018313 mv t1,gp +80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000025c: 00200293 li t0,2 +80000260: fe5214e3 bne tp,t0,80000248 <test_11+0x4> +80000264: 00009eb7 lui t4,0x9 +80000268: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000026c: 00b00e13 li t3,11 +80000270: 31d31a63 bne t1,t4,80000584 <fail> + +80000274 <test_12>: +80000274: 00000213 li tp,0 +80000278: 00e000b7 lui ra,0xe00 +8000027c: 00b00137 lui sp,0xb00 +80000280: 022091b3 mulh gp,ra,sp +80000284: 00000013 nop +80000288: 00018313 mv t1,gp +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5212e3 bne tp,t0,80000278 <test_12+0x4> +80000298: 0000aeb7 lui t4,0xa +8000029c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800002a0: 00c00e13 li t3,12 +800002a4: 2fd31063 bne t1,t4,80000584 <fail> + +800002a8 <test_13>: +800002a8: 00000213 li tp,0 +800002ac: 00f000b7 lui ra,0xf00 +800002b0: 00b00137 lui sp,0xb00 +800002b4: 022091b3 mulh gp,ra,sp +800002b8: 00000013 nop +800002bc: 00000013 nop +800002c0: 00018313 mv t1,gp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5210e3 bne tp,t0,800002ac <test_13+0x4> +800002d0: 0000aeb7 lui t4,0xa +800002d4: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800002d8: 00d00e13 li t3,13 +800002dc: 2bd31463 bne t1,t4,80000584 <fail> + +800002e0 <test_14>: +800002e0: 00000213 li tp,0 +800002e4: 00d000b7 lui ra,0xd00 +800002e8: 00b00137 lui sp,0xb00 +800002ec: 022091b3 mulh gp,ra,sp +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5216e3 bne tp,t0,800002e4 <test_14+0x4> +800002fc: 00009eb7 lui t4,0x9 +80000300: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000304: 00e00e13 li t3,14 +80000308: 27d19e63 bne gp,t4,80000584 <fail> + +8000030c <test_15>: +8000030c: 00000213 li tp,0 +80000310: 00e000b7 lui ra,0xe00 +80000314: 00b00137 lui sp,0xb00 +80000318: 00000013 nop +8000031c: 022091b3 mulh gp,ra,sp +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5214e3 bne tp,t0,80000310 <test_15+0x4> +8000032c: 0000aeb7 lui t4,0xa +80000330: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000334: 00f00e13 li t3,15 +80000338: 25d19663 bne gp,t4,80000584 <fail> + +8000033c <test_16>: +8000033c: 00000213 li tp,0 +80000340: 00f000b7 lui ra,0xf00 +80000344: 00b00137 lui sp,0xb00 +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 022091b3 mulh gp,ra,sp +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 <test_16+0x4> +80000360: 0000aeb7 lui t4,0xa +80000364: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000368: 01000e13 li t3,16 +8000036c: 21d19c63 bne gp,t4,80000584 <fail> + +80000370 <test_17>: +80000370: 00000213 li tp,0 +80000374: 00d000b7 lui ra,0xd00 +80000378: 00000013 nop +8000037c: 00b00137 lui sp,0xb00 +80000380: 022091b3 mulh gp,ra,sp +80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000388: 00200293 li t0,2 +8000038c: fe5214e3 bne tp,t0,80000374 <test_17+0x4> +80000390: 00009eb7 lui t4,0x9 +80000394: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000398: 01100e13 li t3,17 +8000039c: 1fd19463 bne gp,t4,80000584 <fail> + +800003a0 <test_18>: +800003a0: 00000213 li tp,0 +800003a4: 00e000b7 lui ra,0xe00 +800003a8: 00000013 nop +800003ac: 00b00137 lui sp,0xb00 +800003b0: 00000013 nop +800003b4: 022091b3 mulh gp,ra,sp +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5212e3 bne tp,t0,800003a4 <test_18+0x4> +800003c4: 0000aeb7 lui t4,0xa +800003c8: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800003cc: 01200e13 li t3,18 +800003d0: 1bd19a63 bne gp,t4,80000584 <fail> + +800003d4 <test_19>: +800003d4: 00000213 li tp,0 +800003d8: 00f000b7 lui ra,0xf00 +800003dc: 00000013 nop +800003e0: 00000013 nop +800003e4: 00b00137 lui sp,0xb00 +800003e8: 022091b3 mulh gp,ra,sp +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5212e3 bne tp,t0,800003d8 <test_19+0x4> +800003f8: 0000aeb7 lui t4,0xa +800003fc: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000400: 01300e13 li t3,19 +80000404: 19d19063 bne gp,t4,80000584 <fail> + +80000408 <test_20>: +80000408: 00000213 li tp,0 +8000040c: 00b00137 lui sp,0xb00 +80000410: 00d000b7 lui ra,0xd00 +80000414: 022091b3 mulh gp,ra,sp +80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000041c: 00200293 li t0,2 +80000420: fe5216e3 bne tp,t0,8000040c <test_20+0x4> +80000424: 00009eb7 lui t4,0x9 +80000428: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000042c: 01400e13 li t3,20 +80000430: 15d19a63 bne gp,t4,80000584 <fail> + +80000434 <test_21>: +80000434: 00000213 li tp,0 +80000438: 00b00137 lui sp,0xb00 +8000043c: 00e000b7 lui ra,0xe00 +80000440: 00000013 nop +80000444: 022091b3 mulh gp,ra,sp +80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000044c: 00200293 li t0,2 +80000450: fe5214e3 bne tp,t0,80000438 <test_21+0x4> +80000454: 0000aeb7 lui t4,0xa +80000458: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +8000045c: 01500e13 li t3,21 +80000460: 13d19263 bne gp,t4,80000584 <fail> + +80000464 <test_22>: +80000464: 00000213 li tp,0 +80000468: 00b00137 lui sp,0xb00 +8000046c: 00f000b7 lui ra,0xf00 +80000470: 00000013 nop +80000474: 00000013 nop +80000478: 022091b3 mulh gp,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5212e3 bne tp,t0,80000468 <test_22+0x4> +80000488: 0000aeb7 lui t4,0xa +8000048c: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000490: 01600e13 li t3,22 +80000494: 0fd19863 bne gp,t4,80000584 <fail> + +80000498 <test_23>: +80000498: 00000213 li tp,0 +8000049c: 00b00137 lui sp,0xb00 +800004a0: 00000013 nop +800004a4: 00d000b7 lui ra,0xd00 +800004a8: 022091b3 mulh gp,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5214e3 bne tp,t0,8000049c <test_23+0x4> +800004b8: 00009eb7 lui t4,0x9 +800004bc: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800004c0: 01700e13 li t3,23 +800004c4: 0dd19063 bne gp,t4,80000584 <fail> + +800004c8 <test_24>: +800004c8: 00000213 li tp,0 +800004cc: 00b00137 lui sp,0xb00 +800004d0: 00000013 nop +800004d4: 00e000b7 lui ra,0xe00 +800004d8: 00000013 nop +800004dc: 022091b3 mulh gp,ra,sp +800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e4: 00200293 li t0,2 +800004e8: fe5212e3 bne tp,t0,800004cc <test_24+0x4> +800004ec: 0000aeb7 lui t4,0xa +800004f0: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800004f4: 01800e13 li t3,24 +800004f8: 09d19663 bne gp,t4,80000584 <fail> + +800004fc <test_25>: +800004fc: 00000213 li tp,0 +80000500: 00b00137 lui sp,0xb00 +80000504: 00000013 nop +80000508: 00000013 nop +8000050c: 00f000b7 lui ra,0xf00 +80000510: 022091b3 mulh gp,ra,sp +80000514: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000518: 00200293 li t0,2 +8000051c: fe5212e3 bne tp,t0,80000500 <test_25+0x4> +80000520: 0000aeb7 lui t4,0xa +80000524: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000528: 01900e13 li t3,25 +8000052c: 05d19c63 bne gp,t4,80000584 <fail> + +80000530 <test_26>: +80000530: 7c0000b7 lui ra,0x7c000 +80000534: 02101133 mulh sp,zero,ra +80000538: 00000e93 li t4,0 +8000053c: 01a00e13 li t3,26 +80000540: 05d11263 bne sp,t4,80000584 <fail> + +80000544 <test_27>: +80000544: 800000b7 lui ra,0x80000 +80000548: 02009133 mulh sp,ra,zero +8000054c: 00000e93 li t4,0 +80000550: 01b00e13 li t3,27 +80000554: 03d11863 bne sp,t4,80000584 <fail> + +80000558 <test_28>: +80000558: 020010b3 mulh ra,zero,zero +8000055c: 00000e93 li t4,0 +80000560: 01c00e13 li t3,28 +80000564: 03d09063 bne ra,t4,80000584 <fail> + +80000568 <test_29>: +80000568: 021000b7 lui ra,0x2100 +8000056c: 02200137 lui sp,0x2200 +80000570: 02209033 mulh zero,ra,sp +80000574: 00000e93 li t4,0 +80000578: 01d00e13 li t3,29 +8000057c: 01d01463 bne zero,t4,80000584 <fail> +80000580: 01c01c63 bne zero,t3,80000598 <pass> + +80000584 <fail>: +80000584: 0ff0000f fence +80000588: 000e0063 beqz t3,80000588 <fail+0x4> +8000058c: 001e1e13 slli t3,t3,0x1 +80000590: 001e6e13 ori t3,t3,1 +80000594: 00000073 ecall + +80000598 <pass>: +80000598: 0ff0000f fence +8000059c: 00100e13 li t3,1 +800005a0: 00000073 ecall +800005a4: c0001073 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-mulhsu.dump b/VexRiscv/src/test/resources/asm/rv32um-p-mulhsu.dump new file mode 100644 index 0000000..328ed7f --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-mulhsu.dump @@ -0,0 +1,463 @@ + +rv32um-p-mulhsu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 0220a1b3 mulhsu gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4bd19a63 bne gp,t4,80000584 <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 0220a1b3 mulhsu gp,ra,sp +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 49d19e63 bne gp,t4,80000584 <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 0220a1b3 mulhsu gp,ra,sp +800000f8: 00000e93 li t4,0 +800000fc: 00400e13 li t3,4 +80000100: 49d19263 bne gp,t4,80000584 <fail> + +80000104 <test_5>: +80000104: 00000093 li ra,0 +80000108: ffff8137 lui sp,0xffff8 +8000010c: 0220a1b3 mulhsu gp,ra,sp +80000110: 00000e93 li t4,0 +80000114: 00500e13 li t3,5 +80000118: 47d19663 bne gp,t4,80000584 <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00000113 li sp,0 +80000124: 0220a1b3 mulhsu gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 45d19a63 bne gp,t4,80000584 <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: ffff8137 lui sp,0xffff8 +8000013c: 0220a1b3 mulhsu gp,ra,sp +80000140: 80004eb7 lui t4,0x80004 +80000144: 00700e13 li t3,7 +80000148: 43d19e63 bne gp,t4,80000584 <fail> + +8000014c <test_30>: +8000014c: aaaab0b7 lui ra,0xaaaab +80000150: aab08093 addi ra,ra,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +80000154: 00030137 lui sp,0x30 +80000158: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +8000015c: 0220a1b3 mulhsu gp,ra,sp +80000160: ffff0eb7 lui t4,0xffff0 +80000164: 081e8e93 addi t4,t4,129 # ffff0081 <begin_signature+0x7ffee081> +80000168: 01e00e13 li t3,30 +8000016c: 41d19c63 bne gp,t4,80000584 <fail> + +80000170 <test_31>: +80000170: 000300b7 lui ra,0x30 +80000174: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +80000178: aaaab137 lui sp,0xaaaab +8000017c: aab10113 addi sp,sp,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +80000180: 0220a1b3 mulhsu gp,ra,sp +80000184: 00020eb7 lui t4,0x20 +80000188: efee8e93 addi t4,t4,-258 # 1fefe <_start-0x7ffe0102> +8000018c: 01f00e13 li t3,31 +80000190: 3fd19a63 bne gp,t4,80000584 <fail> + +80000194 <test_32>: +80000194: ff0000b7 lui ra,0xff000 +80000198: ff000137 lui sp,0xff000 +8000019c: 0220a1b3 mulhsu gp,ra,sp +800001a0: ff010eb7 lui t4,0xff010 +800001a4: 02000e13 li t3,32 +800001a8: 3dd19e63 bne gp,t4,80000584 <fail> + +800001ac <test_33>: +800001ac: fff00093 li ra,-1 +800001b0: fff00113 li sp,-1 +800001b4: 0220a1b3 mulhsu gp,ra,sp +800001b8: fff00e93 li t4,-1 +800001bc: 02100e13 li t3,33 +800001c0: 3dd19263 bne gp,t4,80000584 <fail> + +800001c4 <test_34>: +800001c4: fff00093 li ra,-1 +800001c8: 00100113 li sp,1 +800001cc: 0220a1b3 mulhsu gp,ra,sp +800001d0: fff00e93 li t4,-1 +800001d4: 02200e13 li t3,34 +800001d8: 3bd19663 bne gp,t4,80000584 <fail> + +800001dc <test_35>: +800001dc: 00100093 li ra,1 +800001e0: fff00113 li sp,-1 +800001e4: 0220a1b3 mulhsu gp,ra,sp +800001e8: 00000e93 li t4,0 +800001ec: 02300e13 li t3,35 +800001f0: 39d19a63 bne gp,t4,80000584 <fail> + +800001f4 <test_8>: +800001f4: 00d000b7 lui ra,0xd00 +800001f8: 00b00137 lui sp,0xb00 +800001fc: 0220a0b3 mulhsu ra,ra,sp +80000200: 00009eb7 lui t4,0x9 +80000204: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000208: 00800e13 li t3,8 +8000020c: 37d09c63 bne ra,t4,80000584 <fail> + +80000210 <test_9>: +80000210: 00e000b7 lui ra,0xe00 +80000214: 00b00137 lui sp,0xb00 +80000218: 0220a133 mulhsu sp,ra,sp +8000021c: 0000aeb7 lui t4,0xa +80000220: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000224: 00900e13 li t3,9 +80000228: 35d11e63 bne sp,t4,80000584 <fail> + +8000022c <test_10>: +8000022c: 00d000b7 lui ra,0xd00 +80000230: 0210a0b3 mulhsu ra,ra,ra +80000234: 0000beb7 lui t4,0xb +80000238: 900e8e93 addi t4,t4,-1792 # a900 <_start-0x7fff5700> +8000023c: 00a00e13 li t3,10 +80000240: 35d09263 bne ra,t4,80000584 <fail> + +80000244 <test_11>: +80000244: 00000213 li tp,0 +80000248: 00d000b7 lui ra,0xd00 +8000024c: 00b00137 lui sp,0xb00 +80000250: 0220a1b3 mulhsu gp,ra,sp +80000254: 00018313 mv t1,gp +80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000025c: 00200293 li t0,2 +80000260: fe5214e3 bne tp,t0,80000248 <test_11+0x4> +80000264: 00009eb7 lui t4,0x9 +80000268: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000026c: 00b00e13 li t3,11 +80000270: 31d31a63 bne t1,t4,80000584 <fail> + +80000274 <test_12>: +80000274: 00000213 li tp,0 +80000278: 00e000b7 lui ra,0xe00 +8000027c: 00b00137 lui sp,0xb00 +80000280: 0220a1b3 mulhsu gp,ra,sp +80000284: 00000013 nop +80000288: 00018313 mv t1,gp +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5212e3 bne tp,t0,80000278 <test_12+0x4> +80000298: 0000aeb7 lui t4,0xa +8000029c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800002a0: 00c00e13 li t3,12 +800002a4: 2fd31063 bne t1,t4,80000584 <fail> + +800002a8 <test_13>: +800002a8: 00000213 li tp,0 +800002ac: 00f000b7 lui ra,0xf00 +800002b0: 00b00137 lui sp,0xb00 +800002b4: 0220a1b3 mulhsu gp,ra,sp +800002b8: 00000013 nop +800002bc: 00000013 nop +800002c0: 00018313 mv t1,gp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5210e3 bne tp,t0,800002ac <test_13+0x4> +800002d0: 0000aeb7 lui t4,0xa +800002d4: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800002d8: 00d00e13 li t3,13 +800002dc: 2bd31463 bne t1,t4,80000584 <fail> + +800002e0 <test_14>: +800002e0: 00000213 li tp,0 +800002e4: 00d000b7 lui ra,0xd00 +800002e8: 00b00137 lui sp,0xb00 +800002ec: 0220a1b3 mulhsu gp,ra,sp +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5216e3 bne tp,t0,800002e4 <test_14+0x4> +800002fc: 00009eb7 lui t4,0x9 +80000300: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000304: 00e00e13 li t3,14 +80000308: 27d19e63 bne gp,t4,80000584 <fail> + +8000030c <test_15>: +8000030c: 00000213 li tp,0 +80000310: 00e000b7 lui ra,0xe00 +80000314: 00b00137 lui sp,0xb00 +80000318: 00000013 nop +8000031c: 0220a1b3 mulhsu gp,ra,sp +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5214e3 bne tp,t0,80000310 <test_15+0x4> +8000032c: 0000aeb7 lui t4,0xa +80000330: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000334: 00f00e13 li t3,15 +80000338: 25d19663 bne gp,t4,80000584 <fail> + +8000033c <test_16>: +8000033c: 00000213 li tp,0 +80000340: 00f000b7 lui ra,0xf00 +80000344: 00b00137 lui sp,0xb00 +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 0220a1b3 mulhsu gp,ra,sp +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 <test_16+0x4> +80000360: 0000aeb7 lui t4,0xa +80000364: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000368: 01000e13 li t3,16 +8000036c: 21d19c63 bne gp,t4,80000584 <fail> + +80000370 <test_17>: +80000370: 00000213 li tp,0 +80000374: 00d000b7 lui ra,0xd00 +80000378: 00000013 nop +8000037c: 00b00137 lui sp,0xb00 +80000380: 0220a1b3 mulhsu gp,ra,sp +80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000388: 00200293 li t0,2 +8000038c: fe5214e3 bne tp,t0,80000374 <test_17+0x4> +80000390: 00009eb7 lui t4,0x9 +80000394: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000398: 01100e13 li t3,17 +8000039c: 1fd19463 bne gp,t4,80000584 <fail> + +800003a0 <test_18>: +800003a0: 00000213 li tp,0 +800003a4: 00e000b7 lui ra,0xe00 +800003a8: 00000013 nop +800003ac: 00b00137 lui sp,0xb00 +800003b0: 00000013 nop +800003b4: 0220a1b3 mulhsu gp,ra,sp +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5212e3 bne tp,t0,800003a4 <test_18+0x4> +800003c4: 0000aeb7 lui t4,0xa +800003c8: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800003cc: 01200e13 li t3,18 +800003d0: 1bd19a63 bne gp,t4,80000584 <fail> + +800003d4 <test_19>: +800003d4: 00000213 li tp,0 +800003d8: 00f000b7 lui ra,0xf00 +800003dc: 00000013 nop +800003e0: 00000013 nop +800003e4: 00b00137 lui sp,0xb00 +800003e8: 0220a1b3 mulhsu gp,ra,sp +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5212e3 bne tp,t0,800003d8 <test_19+0x4> +800003f8: 0000aeb7 lui t4,0xa +800003fc: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000400: 01300e13 li t3,19 +80000404: 19d19063 bne gp,t4,80000584 <fail> + +80000408 <test_20>: +80000408: 00000213 li tp,0 +8000040c: 00b00137 lui sp,0xb00 +80000410: 00d000b7 lui ra,0xd00 +80000414: 0220a1b3 mulhsu gp,ra,sp +80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000041c: 00200293 li t0,2 +80000420: fe5216e3 bne tp,t0,8000040c <test_20+0x4> +80000424: 00009eb7 lui t4,0x9 +80000428: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000042c: 01400e13 li t3,20 +80000430: 15d19a63 bne gp,t4,80000584 <fail> + +80000434 <test_21>: +80000434: 00000213 li tp,0 +80000438: 00b00137 lui sp,0xb00 +8000043c: 00e000b7 lui ra,0xe00 +80000440: 00000013 nop +80000444: 0220a1b3 mulhsu gp,ra,sp +80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000044c: 00200293 li t0,2 +80000450: fe5214e3 bne tp,t0,80000438 <test_21+0x4> +80000454: 0000aeb7 lui t4,0xa +80000458: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +8000045c: 01500e13 li t3,21 +80000460: 13d19263 bne gp,t4,80000584 <fail> + +80000464 <test_22>: +80000464: 00000213 li tp,0 +80000468: 00b00137 lui sp,0xb00 +8000046c: 00f000b7 lui ra,0xf00 +80000470: 00000013 nop +80000474: 00000013 nop +80000478: 0220a1b3 mulhsu gp,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5212e3 bne tp,t0,80000468 <test_22+0x4> +80000488: 0000aeb7 lui t4,0xa +8000048c: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000490: 01600e13 li t3,22 +80000494: 0fd19863 bne gp,t4,80000584 <fail> + +80000498 <test_23>: +80000498: 00000213 li tp,0 +8000049c: 00b00137 lui sp,0xb00 +800004a0: 00000013 nop +800004a4: 00d000b7 lui ra,0xd00 +800004a8: 0220a1b3 mulhsu gp,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5214e3 bne tp,t0,8000049c <test_23+0x4> +800004b8: 00009eb7 lui t4,0x9 +800004bc: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800004c0: 01700e13 li t3,23 +800004c4: 0dd19063 bne gp,t4,80000584 <fail> + +800004c8 <test_24>: +800004c8: 00000213 li tp,0 +800004cc: 00b00137 lui sp,0xb00 +800004d0: 00000013 nop +800004d4: 00e000b7 lui ra,0xe00 +800004d8: 00000013 nop +800004dc: 0220a1b3 mulhsu gp,ra,sp +800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e4: 00200293 li t0,2 +800004e8: fe5212e3 bne tp,t0,800004cc <test_24+0x4> +800004ec: 0000aeb7 lui t4,0xa +800004f0: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800004f4: 01800e13 li t3,24 +800004f8: 09d19663 bne gp,t4,80000584 <fail> + +800004fc <test_25>: +800004fc: 00000213 li tp,0 +80000500: 00b00137 lui sp,0xb00 +80000504: 00000013 nop +80000508: 00000013 nop +8000050c: 00f000b7 lui ra,0xf00 +80000510: 0220a1b3 mulhsu gp,ra,sp +80000514: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000518: 00200293 li t0,2 +8000051c: fe5212e3 bne tp,t0,80000500 <test_25+0x4> +80000520: 0000aeb7 lui t4,0xa +80000524: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000528: 01900e13 li t3,25 +8000052c: 05d19c63 bne gp,t4,80000584 <fail> + +80000530 <test_26>: +80000530: 7c0000b7 lui ra,0x7c000 +80000534: 02102133 mulhsu sp,zero,ra +80000538: 00000e93 li t4,0 +8000053c: 01a00e13 li t3,26 +80000540: 05d11263 bne sp,t4,80000584 <fail> + +80000544 <test_27>: +80000544: 800000b7 lui ra,0x80000 +80000548: 0200a133 mulhsu sp,ra,zero +8000054c: 00000e93 li t4,0 +80000550: 01b00e13 li t3,27 +80000554: 03d11863 bne sp,t4,80000584 <fail> + +80000558 <test_28>: +80000558: 020020b3 mulhsu ra,zero,zero +8000055c: 00000e93 li t4,0 +80000560: 01c00e13 li t3,28 +80000564: 03d09063 bne ra,t4,80000584 <fail> + +80000568 <test_29>: +80000568: 021000b7 lui ra,0x2100 +8000056c: 02200137 lui sp,0x2200 +80000570: 0220a033 mulhsu zero,ra,sp +80000574: 00000e93 li t4,0 +80000578: 01d00e13 li t3,29 +8000057c: 01d01463 bne zero,t4,80000584 <fail> +80000580: 01c01c63 bne zero,t3,80000598 <pass> + +80000584 <fail>: +80000584: 0ff0000f fence +80000588: 000e0063 beqz t3,80000588 <fail+0x4> +8000058c: 001e1e13 slli t3,t3,0x1 +80000590: 001e6e13 ori t3,t3,1 +80000594: 00000073 ecall + +80000598 <pass>: +80000598: 0ff0000f fence +8000059c: 00100e13 li t3,1 +800005a0: 00000073 ecall +800005a4: c0001073 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-mulhu.dump b/VexRiscv/src/test/resources/asm/rv32um-p-mulhu.dump new file mode 100644 index 0000000..8748cce --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-mulhu.dump @@ -0,0 +1,463 @@ + +rv32um-p-mulhu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 00000093 li ra,0 +800000c0: 00000113 li sp,0 +800000c4: 0220b1b3 mulhu gp,ra,sp +800000c8: 00000e93 li t4,0 +800000cc: 00200e13 li t3,2 +800000d0: 4bd19a63 bne gp,t4,80000584 <fail> + +800000d4 <test_3>: +800000d4: 00100093 li ra,1 +800000d8: 00100113 li sp,1 +800000dc: 0220b1b3 mulhu gp,ra,sp +800000e0: 00000e93 li t4,0 +800000e4: 00300e13 li t3,3 +800000e8: 49d19e63 bne gp,t4,80000584 <fail> + +800000ec <test_4>: +800000ec: 00300093 li ra,3 +800000f0: 00700113 li sp,7 +800000f4: 0220b1b3 mulhu gp,ra,sp +800000f8: 00000e93 li t4,0 +800000fc: 00400e13 li t3,4 +80000100: 49d19263 bne gp,t4,80000584 <fail> + +80000104 <test_5>: +80000104: 00000093 li ra,0 +80000108: ffff8137 lui sp,0xffff8 +8000010c: 0220b1b3 mulhu gp,ra,sp +80000110: 00000e93 li t4,0 +80000114: 00500e13 li t3,5 +80000118: 47d19663 bne gp,t4,80000584 <fail> + +8000011c <test_6>: +8000011c: 800000b7 lui ra,0x80000 +80000120: 00000113 li sp,0 +80000124: 0220b1b3 mulhu gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 45d19a63 bne gp,t4,80000584 <fail> + +80000134 <test_7>: +80000134: 800000b7 lui ra,0x80000 +80000138: ffff8137 lui sp,0xffff8 +8000013c: 0220b1b3 mulhu gp,ra,sp +80000140: 7fffceb7 lui t4,0x7fffc +80000144: 00700e13 li t3,7 +80000148: 43d19e63 bne gp,t4,80000584 <fail> + +8000014c <test_30>: +8000014c: aaaab0b7 lui ra,0xaaaab +80000150: aab08093 addi ra,ra,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +80000154: 00030137 lui sp,0x30 +80000158: e7d10113 addi sp,sp,-387 # 2fe7d <_start-0x7ffd0183> +8000015c: 0220b1b3 mulhu gp,ra,sp +80000160: 00020eb7 lui t4,0x20 +80000164: efee8e93 addi t4,t4,-258 # 1fefe <_start-0x7ffe0102> +80000168: 01e00e13 li t3,30 +8000016c: 41d19c63 bne gp,t4,80000584 <fail> + +80000170 <test_31>: +80000170: 000300b7 lui ra,0x30 +80000174: e7d08093 addi ra,ra,-387 # 2fe7d <_start-0x7ffd0183> +80000178: aaaab137 lui sp,0xaaaab +8000017c: aab10113 addi sp,sp,-1365 # aaaaaaab <begin_signature+0x2aaa8aab> +80000180: 0220b1b3 mulhu gp,ra,sp +80000184: 00020eb7 lui t4,0x20 +80000188: efee8e93 addi t4,t4,-258 # 1fefe <_start-0x7ffe0102> +8000018c: 01f00e13 li t3,31 +80000190: 3fd19a63 bne gp,t4,80000584 <fail> + +80000194 <test_32>: +80000194: ff0000b7 lui ra,0xff000 +80000198: ff000137 lui sp,0xff000 +8000019c: 0220b1b3 mulhu gp,ra,sp +800001a0: fe010eb7 lui t4,0xfe010 +800001a4: 02000e13 li t3,32 +800001a8: 3dd19e63 bne gp,t4,80000584 <fail> + +800001ac <test_33>: +800001ac: fff00093 li ra,-1 +800001b0: fff00113 li sp,-1 +800001b4: 0220b1b3 mulhu gp,ra,sp +800001b8: ffe00e93 li t4,-2 +800001bc: 02100e13 li t3,33 +800001c0: 3dd19263 bne gp,t4,80000584 <fail> + +800001c4 <test_34>: +800001c4: fff00093 li ra,-1 +800001c8: 00100113 li sp,1 +800001cc: 0220b1b3 mulhu gp,ra,sp +800001d0: 00000e93 li t4,0 +800001d4: 02200e13 li t3,34 +800001d8: 3bd19663 bne gp,t4,80000584 <fail> + +800001dc <test_35>: +800001dc: 00100093 li ra,1 +800001e0: fff00113 li sp,-1 +800001e4: 0220b1b3 mulhu gp,ra,sp +800001e8: 00000e93 li t4,0 +800001ec: 02300e13 li t3,35 +800001f0: 39d19a63 bne gp,t4,80000584 <fail> + +800001f4 <test_8>: +800001f4: 00d000b7 lui ra,0xd00 +800001f8: 00b00137 lui sp,0xb00 +800001fc: 0220b0b3 mulhu ra,ra,sp +80000200: 00009eb7 lui t4,0x9 +80000204: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000208: 00800e13 li t3,8 +8000020c: 37d09c63 bne ra,t4,80000584 <fail> + +80000210 <test_9>: +80000210: 00e000b7 lui ra,0xe00 +80000214: 00b00137 lui sp,0xb00 +80000218: 0220b133 mulhu sp,ra,sp +8000021c: 0000aeb7 lui t4,0xa +80000220: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000224: 00900e13 li t3,9 +80000228: 35d11e63 bne sp,t4,80000584 <fail> + +8000022c <test_10>: +8000022c: 00d000b7 lui ra,0xd00 +80000230: 0210b0b3 mulhu ra,ra,ra +80000234: 0000beb7 lui t4,0xb +80000238: 900e8e93 addi t4,t4,-1792 # a900 <_start-0x7fff5700> +8000023c: 00a00e13 li t3,10 +80000240: 35d09263 bne ra,t4,80000584 <fail> + +80000244 <test_11>: +80000244: 00000213 li tp,0 +80000248: 00d000b7 lui ra,0xd00 +8000024c: 00b00137 lui sp,0xb00 +80000250: 0220b1b3 mulhu gp,ra,sp +80000254: 00018313 mv t1,gp +80000258: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000025c: 00200293 li t0,2 +80000260: fe5214e3 bne tp,t0,80000248 <test_11+0x4> +80000264: 00009eb7 lui t4,0x9 +80000268: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000026c: 00b00e13 li t3,11 +80000270: 31d31a63 bne t1,t4,80000584 <fail> + +80000274 <test_12>: +80000274: 00000213 li tp,0 +80000278: 00e000b7 lui ra,0xe00 +8000027c: 00b00137 lui sp,0xb00 +80000280: 0220b1b3 mulhu gp,ra,sp +80000284: 00000013 nop +80000288: 00018313 mv t1,gp +8000028c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000290: 00200293 li t0,2 +80000294: fe5212e3 bne tp,t0,80000278 <test_12+0x4> +80000298: 0000aeb7 lui t4,0xa +8000029c: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800002a0: 00c00e13 li t3,12 +800002a4: 2fd31063 bne t1,t4,80000584 <fail> + +800002a8 <test_13>: +800002a8: 00000213 li tp,0 +800002ac: 00f000b7 lui ra,0xf00 +800002b0: 00b00137 lui sp,0xb00 +800002b4: 0220b1b3 mulhu gp,ra,sp +800002b8: 00000013 nop +800002bc: 00000013 nop +800002c0: 00018313 mv t1,gp +800002c4: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002c8: 00200293 li t0,2 +800002cc: fe5210e3 bne tp,t0,800002ac <test_13+0x4> +800002d0: 0000aeb7 lui t4,0xa +800002d4: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +800002d8: 00d00e13 li t3,13 +800002dc: 2bd31463 bne t1,t4,80000584 <fail> + +800002e0 <test_14>: +800002e0: 00000213 li tp,0 +800002e4: 00d000b7 lui ra,0xd00 +800002e8: 00b00137 lui sp,0xb00 +800002ec: 0220b1b3 mulhu gp,ra,sp +800002f0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800002f4: 00200293 li t0,2 +800002f8: fe5216e3 bne tp,t0,800002e4 <test_14+0x4> +800002fc: 00009eb7 lui t4,0x9 +80000300: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000304: 00e00e13 li t3,14 +80000308: 27d19e63 bne gp,t4,80000584 <fail> + +8000030c <test_15>: +8000030c: 00000213 li tp,0 +80000310: 00e000b7 lui ra,0xe00 +80000314: 00b00137 lui sp,0xb00 +80000318: 00000013 nop +8000031c: 0220b1b3 mulhu gp,ra,sp +80000320: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000324: 00200293 li t0,2 +80000328: fe5214e3 bne tp,t0,80000310 <test_15+0x4> +8000032c: 0000aeb7 lui t4,0xa +80000330: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +80000334: 00f00e13 li t3,15 +80000338: 25d19663 bne gp,t4,80000584 <fail> + +8000033c <test_16>: +8000033c: 00000213 li tp,0 +80000340: 00f000b7 lui ra,0xf00 +80000344: 00b00137 lui sp,0xb00 +80000348: 00000013 nop +8000034c: 00000013 nop +80000350: 0220b1b3 mulhu gp,ra,sp +80000354: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000358: 00200293 li t0,2 +8000035c: fe5212e3 bne tp,t0,80000340 <test_16+0x4> +80000360: 0000aeb7 lui t4,0xa +80000364: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000368: 01000e13 li t3,16 +8000036c: 21d19c63 bne gp,t4,80000584 <fail> + +80000370 <test_17>: +80000370: 00000213 li tp,0 +80000374: 00d000b7 lui ra,0xd00 +80000378: 00000013 nop +8000037c: 00b00137 lui sp,0xb00 +80000380: 0220b1b3 mulhu gp,ra,sp +80000384: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000388: 00200293 li t0,2 +8000038c: fe5214e3 bne tp,t0,80000374 <test_17+0x4> +80000390: 00009eb7 lui t4,0x9 +80000394: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +80000398: 01100e13 li t3,17 +8000039c: 1fd19463 bne gp,t4,80000584 <fail> + +800003a0 <test_18>: +800003a0: 00000213 li tp,0 +800003a4: 00e000b7 lui ra,0xe00 +800003a8: 00000013 nop +800003ac: 00b00137 lui sp,0xb00 +800003b0: 00000013 nop +800003b4: 0220b1b3 mulhu gp,ra,sp +800003b8: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003bc: 00200293 li t0,2 +800003c0: fe5212e3 bne tp,t0,800003a4 <test_18+0x4> +800003c4: 0000aeb7 lui t4,0xa +800003c8: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800003cc: 01200e13 li t3,18 +800003d0: 1bd19a63 bne gp,t4,80000584 <fail> + +800003d4 <test_19>: +800003d4: 00000213 li tp,0 +800003d8: 00f000b7 lui ra,0xf00 +800003dc: 00000013 nop +800003e0: 00000013 nop +800003e4: 00b00137 lui sp,0xb00 +800003e8: 0220b1b3 mulhu gp,ra,sp +800003ec: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800003f0: 00200293 li t0,2 +800003f4: fe5212e3 bne tp,t0,800003d8 <test_19+0x4> +800003f8: 0000aeb7 lui t4,0xa +800003fc: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000400: 01300e13 li t3,19 +80000404: 19d19063 bne gp,t4,80000584 <fail> + +80000408 <test_20>: +80000408: 00000213 li tp,0 +8000040c: 00b00137 lui sp,0xb00 +80000410: 00d000b7 lui ra,0xd00 +80000414: 0220b1b3 mulhu gp,ra,sp +80000418: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000041c: 00200293 li t0,2 +80000420: fe5216e3 bne tp,t0,8000040c <test_20+0x4> +80000424: 00009eb7 lui t4,0x9 +80000428: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +8000042c: 01400e13 li t3,20 +80000430: 15d19a63 bne gp,t4,80000584 <fail> + +80000434 <test_21>: +80000434: 00000213 li tp,0 +80000438: 00b00137 lui sp,0xb00 +8000043c: 00e000b7 lui ra,0xe00 +80000440: 00000013 nop +80000444: 0220b1b3 mulhu gp,ra,sp +80000448: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +8000044c: 00200293 li t0,2 +80000450: fe5214e3 bne tp,t0,80000438 <test_21+0x4> +80000454: 0000aeb7 lui t4,0xa +80000458: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +8000045c: 01500e13 li t3,21 +80000460: 13d19263 bne gp,t4,80000584 <fail> + +80000464 <test_22>: +80000464: 00000213 li tp,0 +80000468: 00b00137 lui sp,0xb00 +8000046c: 00f000b7 lui ra,0xf00 +80000470: 00000013 nop +80000474: 00000013 nop +80000478: 0220b1b3 mulhu gp,ra,sp +8000047c: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000480: 00200293 li t0,2 +80000484: fe5212e3 bne tp,t0,80000468 <test_22+0x4> +80000488: 0000aeb7 lui t4,0xa +8000048c: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000490: 01600e13 li t3,22 +80000494: 0fd19863 bne gp,t4,80000584 <fail> + +80000498 <test_23>: +80000498: 00000213 li tp,0 +8000049c: 00b00137 lui sp,0xb00 +800004a0: 00000013 nop +800004a4: 00d000b7 lui ra,0xd00 +800004a8: 0220b1b3 mulhu gp,ra,sp +800004ac: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004b0: 00200293 li t0,2 +800004b4: fe5214e3 bne tp,t0,8000049c <test_23+0x4> +800004b8: 00009eb7 lui t4,0x9 +800004bc: f00e8e93 addi t4,t4,-256 # 8f00 <_start-0x7fff7100> +800004c0: 01700e13 li t3,23 +800004c4: 0dd19063 bne gp,t4,80000584 <fail> + +800004c8 <test_24>: +800004c8: 00000213 li tp,0 +800004cc: 00b00137 lui sp,0xb00 +800004d0: 00000013 nop +800004d4: 00e000b7 lui ra,0xe00 +800004d8: 00000013 nop +800004dc: 0220b1b3 mulhu gp,ra,sp +800004e0: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +800004e4: 00200293 li t0,2 +800004e8: fe5212e3 bne tp,t0,800004cc <test_24+0x4> +800004ec: 0000aeb7 lui t4,0xa +800004f0: a00e8e93 addi t4,t4,-1536 # 9a00 <_start-0x7fff6600> +800004f4: 01800e13 li t3,24 +800004f8: 09d19663 bne gp,t4,80000584 <fail> + +800004fc <test_25>: +800004fc: 00000213 li tp,0 +80000500: 00b00137 lui sp,0xb00 +80000504: 00000013 nop +80000508: 00000013 nop +8000050c: 00f000b7 lui ra,0xf00 +80000510: 0220b1b3 mulhu gp,ra,sp +80000514: 00120213 addi tp,tp,1 # 1 <_start-0x7fffffff> +80000518: 00200293 li t0,2 +8000051c: fe5212e3 bne tp,t0,80000500 <test_25+0x4> +80000520: 0000aeb7 lui t4,0xa +80000524: 500e8e93 addi t4,t4,1280 # a500 <_start-0x7fff5b00> +80000528: 01900e13 li t3,25 +8000052c: 05d19c63 bne gp,t4,80000584 <fail> + +80000530 <test_26>: +80000530: 7c0000b7 lui ra,0x7c000 +80000534: 02103133 mulhu sp,zero,ra +80000538: 00000e93 li t4,0 +8000053c: 01a00e13 li t3,26 +80000540: 05d11263 bne sp,t4,80000584 <fail> + +80000544 <test_27>: +80000544: 800000b7 lui ra,0x80000 +80000548: 0200b133 mulhu sp,ra,zero +8000054c: 00000e93 li t4,0 +80000550: 01b00e13 li t3,27 +80000554: 03d11863 bne sp,t4,80000584 <fail> + +80000558 <test_28>: +80000558: 020030b3 mulhu ra,zero,zero +8000055c: 00000e93 li t4,0 +80000560: 01c00e13 li t3,28 +80000564: 03d09063 bne ra,t4,80000584 <fail> + +80000568 <test_29>: +80000568: 021000b7 lui ra,0x2100 +8000056c: 02200137 lui sp,0x2200 +80000570: 0220b033 mulhu zero,ra,sp +80000574: 00000e93 li t4,0 +80000578: 01d00e13 li t3,29 +8000057c: 01d01463 bne zero,t4,80000584 <fail> +80000580: 01c01c63 bne zero,t3,80000598 <pass> + +80000584 <fail>: +80000584: 0ff0000f fence +80000588: 000e0063 beqz t3,80000588 <fail+0x4> +8000058c: 001e1e13 slli t3,t3,0x1 +80000590: 001e6e13 ori t3,t3,1 +80000594: 00000073 ecall + +80000598 <pass>: +80000598: 0ff0000f fence +8000059c: 00100e13 li t3,1 +800005a0: 00000073 ecall +800005a4: c0001073 unimp +800005a8: 0000 unimp +800005aa: 0000 unimp +800005ac: 0000 unimp +800005ae: 0000 unimp +800005b0: 0000 unimp +800005b2: 0000 unimp +800005b4: 0000 unimp +800005b6: 0000 unimp +800005b8: 0000 unimp +800005ba: 0000 unimp +800005bc: 0000 unimp +800005be: 0000 unimp +800005c0: 0000 unimp +800005c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-rem.dump b/VexRiscv/src/test/resources/asm/rv32um-p-rem.dump new file mode 100644 index 0000000..ad403c7 --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-rem.dump @@ -0,0 +1,152 @@ + +rv32um-p-rem: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 01400093 li ra,20 +800000c0: 00600113 li sp,6 +800000c4: 0220e1b3 rem gp,ra,sp +800000c8: 00200e93 li t4,2 +800000cc: 00200e13 li t3,2 +800000d0: 0dd19463 bne gp,t4,80000198 <fail> + +800000d4 <test_3>: +800000d4: fec00093 li ra,-20 +800000d8: 00600113 li sp,6 +800000dc: 0220e1b3 rem gp,ra,sp +800000e0: ffe00e93 li t4,-2 +800000e4: 00300e13 li t3,3 +800000e8: 0bd19863 bne gp,t4,80000198 <fail> + +800000ec <test_4>: +800000ec: 01400093 li ra,20 +800000f0: ffa00113 li sp,-6 +800000f4: 0220e1b3 rem gp,ra,sp +800000f8: 00200e93 li t4,2 +800000fc: 00400e13 li t3,4 +80000100: 09d19c63 bne gp,t4,80000198 <fail> + +80000104 <test_5>: +80000104: fec00093 li ra,-20 +80000108: ffa00113 li sp,-6 +8000010c: 0220e1b3 rem gp,ra,sp +80000110: ffe00e93 li t4,-2 +80000114: 00500e13 li t3,5 +80000118: 09d19063 bne gp,t4,80000198 <fail> + +8000011c <test_6>: +8000011c: 00000093 li ra,0 +80000120: 00100113 li sp,1 +80000124: 0220e1b3 rem gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 07d19463 bne gp,t4,80000198 <fail> + +80000134 <test_7>: +80000134: 00000093 li ra,0 +80000138: fff00113 li sp,-1 +8000013c: 0220e1b3 rem gp,ra,sp +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 05d19863 bne gp,t4,80000198 <fail> + +8000014c <test_8>: +8000014c: 00000093 li ra,0 +80000150: 00000113 li sp,0 +80000154: 0220e1b3 rem gp,ra,sp +80000158: 00000e93 li t4,0 +8000015c: 00800e13 li t3,8 +80000160: 03d19c63 bne gp,t4,80000198 <fail> + +80000164 <test_9>: +80000164: 00100093 li ra,1 +80000168: 00000113 li sp,0 +8000016c: 0220e1b3 rem gp,ra,sp +80000170: 00100e93 li t4,1 +80000174: 00900e13 li t3,9 +80000178: 03d19063 bne gp,t4,80000198 <fail> + +8000017c <test_10>: +8000017c: 00000093 li ra,0 +80000180: 00000113 li sp,0 +80000184: 0220e1b3 rem gp,ra,sp +80000188: 00000e93 li t4,0 +8000018c: 00a00e13 li t3,10 +80000190: 01d19463 bne gp,t4,80000198 <fail> +80000194: 01c01c63 bne zero,t3,800001ac <pass> + +80000198 <fail>: +80000198: 0ff0000f fence +8000019c: 000e0063 beqz t3,8000019c <fail+0x4> +800001a0: 001e1e13 slli t3,t3,0x1 +800001a4: 001e6e13 ori t3,t3,1 +800001a8: 00000073 ecall + +800001ac <pass>: +800001ac: 0ff0000f fence +800001b0: 00100e13 li t3,1 +800001b4: 00000073 ecall +800001b8: c0001073 unimp +800001bc: 0000 unimp +800001be: 0000 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/rv32um-p-remu.dump b/VexRiscv/src/test/resources/asm/rv32um-p-remu.dump new file mode 100644 index 0000000..3ec417c --- /dev/null +++ b/VexRiscv/src/test/resources/asm/rv32um-p-remu.dump @@ -0,0 +1,152 @@ + +rv32um-p-remu: file format elf32-littleriscv + + +Disassembly of section .text.init: + +80000000 <_start>: +80000000: 04c0006f j 8000004c <reset_vector> + +80000004 <trap_vector>: +80000004: 34202f73 csrr t5,mcause +80000008: 00800f93 li t6,8 +8000000c: 03ff0a63 beq t5,t6,80000040 <write_tohost> +80000010: 00900f93 li t6,9 +80000014: 03ff0663 beq t5,t6,80000040 <write_tohost> +80000018: 00b00f93 li t6,11 +8000001c: 03ff0263 beq t5,t6,80000040 <write_tohost> +80000020: 80000f17 auipc t5,0x80000 +80000024: fe0f0f13 addi t5,t5,-32 # 0 <_start-0x80000000> +80000028: 000f0463 beqz t5,80000030 <trap_vector+0x2c> +8000002c: 000f0067 jr t5 +80000030: 34202f73 csrr t5,mcause +80000034: 000f5463 bgez t5,8000003c <handle_exception> +80000038: 0040006f j 8000003c <handle_exception> + +8000003c <handle_exception>: +8000003c: 539e6e13 ori t3,t3,1337 + +80000040 <write_tohost>: +80000040: 00001f17 auipc t5,0x1 +80000044: fdcf2023 sw t3,-64(t5) # 80001000 <tohost> +80000048: ff9ff06f j 80000040 <write_tohost> + +8000004c <reset_vector>: +8000004c: f1402573 csrr a0,mhartid +80000050: 00051063 bnez a0,80000050 <reset_vector+0x4> +80000054: 30102573 csrr a0,misa +80000058: 00055863 bgez a0,80000068 <reset_vector+0x1c> +8000005c: 0ff0000f fence +80000060: 00100e13 li t3,1 +80000064: 00000073 ecall +80000068: 00000e13 li t3,0 +8000006c: 00000297 auipc t0,0x0 +80000070: f9828293 addi t0,t0,-104 # 80000004 <trap_vector> +80000074: 30529073 csrw mtvec,t0 +80000078: 30205073 csrwi medeleg,0 +8000007c: 30305073 csrwi mideleg,0 +80000080: 30405073 csrwi mie,0 +80000084: 80000297 auipc t0,0x80000 +80000088: f7c28293 addi t0,t0,-132 # 0 <_start-0x80000000> +8000008c: 00028c63 beqz t0,800000a4 <reset_vector+0x58> +80000090: 10529073 csrw stvec,t0 +80000094: 1ab00293 li t0,427 +80000098: 30229073 csrw medeleg,t0 +8000009c: 30202373 csrr t1,medeleg +800000a0: f8629ee3 bne t0,t1,8000003c <handle_exception> +800000a4: 30005073 csrwi mstatus,0 +800000a8: 00000297 auipc t0,0x0 +800000ac: 01428293 addi t0,t0,20 # 800000bc <test_2> +800000b0: 34129073 csrw mepc,t0 +800000b4: f1402573 csrr a0,mhartid +800000b8: 30200073 mret + +800000bc <test_2>: +800000bc: 01400093 li ra,20 +800000c0: 00600113 li sp,6 +800000c4: 0220f1b3 remu gp,ra,sp +800000c8: 00200e93 li t4,2 +800000cc: 00200e13 li t3,2 +800000d0: 0dd19463 bne gp,t4,80000198 <fail> + +800000d4 <test_3>: +800000d4: fec00093 li ra,-20 +800000d8: 00600113 li sp,6 +800000dc: 0220f1b3 remu gp,ra,sp +800000e0: 00200e93 li t4,2 +800000e4: 00300e13 li t3,3 +800000e8: 0bd19863 bne gp,t4,80000198 <fail> + +800000ec <test_4>: +800000ec: 01400093 li ra,20 +800000f0: ffa00113 li sp,-6 +800000f4: 0220f1b3 remu gp,ra,sp +800000f8: 01400e93 li t4,20 +800000fc: 00400e13 li t3,4 +80000100: 09d19c63 bne gp,t4,80000198 <fail> + +80000104 <test_5>: +80000104: fec00093 li ra,-20 +80000108: ffa00113 li sp,-6 +8000010c: 0220f1b3 remu gp,ra,sp +80000110: fec00e93 li t4,-20 +80000114: 00500e13 li t3,5 +80000118: 09d19063 bne gp,t4,80000198 <fail> + +8000011c <test_6>: +8000011c: 00000093 li ra,0 +80000120: 00100113 li sp,1 +80000124: 0220f1b3 remu gp,ra,sp +80000128: 00000e93 li t4,0 +8000012c: 00600e13 li t3,6 +80000130: 07d19463 bne gp,t4,80000198 <fail> + +80000134 <test_7>: +80000134: 00000093 li ra,0 +80000138: fff00113 li sp,-1 +8000013c: 0220f1b3 remu gp,ra,sp +80000140: 00000e93 li t4,0 +80000144: 00700e13 li t3,7 +80000148: 05d19863 bne gp,t4,80000198 <fail> + +8000014c <test_8>: +8000014c: 00000093 li ra,0 +80000150: 00000113 li sp,0 +80000154: 0220f1b3 remu gp,ra,sp +80000158: 00000e93 li t4,0 +8000015c: 00800e13 li t3,8 +80000160: 03d19c63 bne gp,t4,80000198 <fail> + +80000164 <test_9>: +80000164: 00100093 li ra,1 +80000168: 00000113 li sp,0 +8000016c: 0220f1b3 remu gp,ra,sp +80000170: 00100e93 li t4,1 +80000174: 00900e13 li t3,9 +80000178: 03d19063 bne gp,t4,80000198 <fail> + +8000017c <test_10>: +8000017c: 00000093 li ra,0 +80000180: 00000113 li sp,0 +80000184: 0220f1b3 remu gp,ra,sp +80000188: 00000e93 li t4,0 +8000018c: 00a00e13 li t3,10 +80000190: 01d19463 bne gp,t4,80000198 <fail> +80000194: 01c01c63 bne zero,t3,800001ac <pass> + +80000198 <fail>: +80000198: 0ff0000f fence +8000019c: 000e0063 beqz t3,8000019c <fail+0x4> +800001a0: 001e1e13 slli t3,t3,0x1 +800001a4: 001e6e13 ori t3,t3,1 +800001a8: 00000073 ecall + +800001ac <pass>: +800001ac: 0ff0000f fence +800001b0: 00100e13 li t3,1 +800001b4: 00000073 ecall +800001b8: c0001073 unimp +800001bc: 0000 unimp +800001be: 0000 unimp +800001c0: 0000 unimp +800001c2: 0000 unimp diff --git a/VexRiscv/src/test/resources/asm/testA.asm b/VexRiscv/src/test/resources/asm/testA.asm new file mode 100644 index 0000000..2ae77ec --- /dev/null +++ b/VexRiscv/src/test/resources/asm/testA.asm @@ -0,0 +1,118 @@ + +build/testA.elf: file format elf32-littleriscv + + +Disassembly of section .yolo: + +00000000 <testA2WithNop-0x17c>: + 0: 00000013 nop + 4: 00000013 nop + 8: 00000013 nop + c: 00000013 nop + 10: 00000013 nop + 14: 00000013 nop + 18: 00000013 nop + 1c: 00a00093 li ra,10 + 20: 00000013 nop + 24: 00000013 nop + 28: 00000013 nop + 2c: 00000013 nop + 30: 00000013 nop + 34: 00000013 nop + 38: 00000013 nop + 3c: 01400113 li sp,20 + 40: 00000013 nop + 44: 00000013 nop + 48: 00000013 nop + 4c: 00000013 nop + 50: 00000013 nop + 54: 00000013 nop + 58: 00000013 nop + 5c: 01e08193 addi gp,ra,30 + 60: 00000013 nop + 64: 00000013 nop + 68: 00000013 nop + 6c: 00000013 nop + 70: 00000013 nop + 74: 00000013 nop + 78: 00000013 nop + 7c: 00218233 add tp,gp,sp + 80: 00000013 nop + 84: 00000013 nop + 88: 00000013 nop + 8c: 00000013 nop + 90: 00000013 nop + 94: 00000013 nop + 98: 00000013 nop + 9c: 00a00093 li ra,10 + a0: 01400113 li sp,20 + a4: 01e08193 addi gp,ra,30 + a8: 00218233 add tp,gp,sp + ac: 00000013 nop + b0: 00000013 nop + b4: 00000013 nop + b8: 00000013 nop + bc: 00000013 nop + c0: 00000013 nop + c4: 00000013 nop + c8: 00000013 nop + cc: 00000013 nop + d0: 00000013 nop + d4: 00000013 nop + d8: 00000013 nop + dc: 00000013 nop + e0: 00000013 nop + e4: 00000013 nop + e8: 00000013 nop + ec: 00000013 nop + f0: 00000013 nop + f4: 00000013 nop + f8: 00000013 nop + fc: 00000013 nop + 100: 00000013 nop + 104: 00000013 nop + 108: 00000013 nop + 10c: 00000013 nop + 110: 00000013 nop + 114: 00000013 nop + 118: 00000013 nop + 11c: 00100293 li t0,1 + 120: 00000013 nop + 124: 00000013 nop + 128: 00000013 nop + 12c: 00000013 nop + 130: 00000013 nop + 134: 00000013 nop + 138: 00000013 nop + 13c: 0400006f j 17c <testA2WithNop> + 140: 00000013 nop + 144: 00000013 nop + 148: 00000013 nop + 14c: 00000013 nop + 150: 00000013 nop + 154: 00000013 nop + 158: 00000013 nop + 15c: 00200313 li t1,2 + 160: 00000013 nop + 164: 00000013 nop + 168: 00000013 nop + 16c: 00000013 nop + 170: 00000013 nop + 174: 00000013 nop + 178: 00000013 nop + +0000017c <testA2WithNop>: + 17c: 00300393 li t2,3 + 180: 00000013 nop + 184: 00000013 nop + 188: 00000013 nop + 18c: 00000013 nop + 190: 00000013 nop + 194: 00000013 nop + 198: 00000013 nop + 19c: 00100293 li t0,1 + 1a0: 0080006f j 1a8 <testA2WithoutNop> + 1a4: 00200313 li t1,2 + +000001a8 <testA2WithoutNop>: + 1a8: 00300393 li t2,3 |